szczanieckiej.git

commit 2fa53c118ee9cedabab8bd3e14469638c0217731

Author: Adam Evyčędo <git@apiote.xyz>

add transformers for stib-mivb

 traffic/brussels_stib_mivb.go | 2 
 transformers/fr.go | 57 ++++++++++++++++++++++++++++++++++++
 transformers/nl.go | 17 +++++++++++


diff --git a/traffic/brussels_stib_mivb.go b/traffic/brussels_stib_mivb.go
index 57ac89ac5446d129a9872f29f0051301d45304d9..07a9d7567e5b4d67266e9babbcbfb6729fc2f868 100644
--- a/traffic/brussels_stib_mivb.go
+++ b/traffic/brussels_stib_mivb.go
@@ -65,7 +65,7 @@ 	return []string{}
 }
 
 func (z StibMivbBrussels) Transformer() transform.Transformer {
-	return transform.Chain(transformers.TransformerFR) // TODO add transformerNL
+	return transform.Chain(transformers.TransformerFR, transformers.TransformerNL)
 }
 
 func (z StibMivbBrussels) Name() string {




diff --git a/transformers/fr.go b/transformers/fr.go
index 47277dccde0e5497dc0818cf2a37f99712cfc188..db8af3c2871b00f28b7fabd9b7c8125e8d5d7805 100644
--- a/transformers/fr.go
+++ b/transformers/fr.go
@@ -7,6 +7,22 @@
 //nolint:gochecknoglobals
 var TransformerFR transform.Transformer = Replace(func(r rune) []rune {
 	switch r {
+	case 'à':
+		return []rune{'a'}
+	case 'À':
+		return []rune{'A'}
+	case 'â':
+		return []rune{'a'}
+	case 'Â':
+		return []rune{'A'}
+	case 'æ':
+		return []rune{'a', 'e'}
+	case 'Æ':
+		return []rune{'A', 'E'}
+	case 'ç':
+		return []rune{'c'}
+	case 'Ç':
+		return []rune{'C'}
 	case 'è':
 		return []rune{'e'}
 	case 'È':
@@ -15,7 +31,46 @@ 	case 'é':
 		return []rune{'e'}
 	case 'É':
 		return []rune{'E'}
-	// TODO add runes from STIB-MIVB
+	case 'ë':
+		return []rune{'e'}
+	case 'Ë':
+		return []rune{'E'}
+	case 'ê':
+		return []rune{'e'}
+	case 'Ê':
+		return []rune{'E'}
+	case 'î':
+		return []rune{'i'}
+	case 'Î':
+		return []rune{'I'}
+	case 'ï':
+		return []rune{'i'}
+	case 'Ï':
+		return []rune{'I'}
+	case 'ô':
+		return []rune{'o'}
+	case 'Ô':
+		return []rune{'O'}
+	case 'œ':
+		return []rune{'o', 'e'}
+	case 'Œ':
+		return []rune{'O', 'E'}
+	case 'û':
+		return []rune{'u'}
+	case 'Û':
+		return []rune{'U'}
+	case 'ù':
+		return []rune{'u'}
+	case 'Ù':
+		return []rune{'U'}
+	case 'ú':
+		return []rune{'u'}
+	case 'Ú':
+		return []rune{'U'}
+	case 'ÿ':
+		return []rune{'y'}
+	case 'Ÿ':
+		return []rune{'Y'}
 	default:
 		return []rune{r}
 	}




diff --git a/transformers/nl.go b/transformers/nl.go
new file mode 100644
index 0000000000000000000000000000000000000000..40b69b77bacd1a2eac522c7e87b3f515b860c76f
--- /dev/null
+++ b/transformers/nl.go
@@ -0,0 +1,17 @@
+package transformers
+
+import (
+	"golang.org/x/text/transform"
+)
+
+//nolint:gochecknoglobals
+var TransformerNL transform.Transformer = Replace(func(r rune) []rune {
+	switch r {
+	case 'IJ':
+		return []rune{'I', 'J'}
+	case 'ij':
+		return []rune{'i', 'j'}
+	default:
+		return []rune{r}
+	}
+})