Example #1
0
func inLineUnMask(m *mask.Mask, text string) (string, error) {
	for _, v := range newInLineRegexp().FindAllStringSubmatch(text, -1) {
		umLine, err := m.UnMask(v[1])

		if err != nil {
			continue
		}

		text = replaceInLine(text, v[0], umLine)
	}

	return text, nil
}
Example #2
0
func TryMask(m *mask.Mask, text string) (string, error) {
	mText, err := inLineMask(m, text)

	if err != nil {
		return "", err
	}

	if mText != text {
		return mText, nil
	}

	mText, err = m.Mask(text)

	if err != nil {
		return "", err
	}

	return mText, nil
}
Example #3
0
func TryUnMask(m *mask.Mask, text string) (string, error) {
	umText, err := inLineUnMask(m, text)

	if err != nil {
		return "", err
	}

	if umText != text {
		return umText, nil
	}

	if !newInLineRegexp().MatchString(umText) {
		umText, err = m.UnMask(text)

		if err != nil {
			return "", err
		}
	}

	return umText, nil
}