Ejemplo n.º 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
}
Ejemplo n.º 2
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
}