]> gitweb.factorcode.org Git - factor.git/commitdiff
unicode.flags.images: cartesian product for aa..zz
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 28 Jan 2022 23:23:45 +0000 (17:23 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 28 Jan 2022 23:30:39 +0000 (17:30 -0600)
extra/countries/countries.factor
extra/unicode/flags/images/images-tests.factor
extra/unicode/flags/images/images.factor

index 319268d89a63702d55dc1e476091ec71df456bd9..ced63b06b69868a6a05c0b0a37f775e899ac7dce 100644 (file)
@@ -265,6 +265,7 @@ CONSTANT: alpha-2 H{
     { "VU" "Vanuatu" }
     { "WF" "Wallis and Futuna" }
     { "WS" "Samoa" }
+    { "XK" "Kosovo" }
     { "YE" "Yemen" }
     { "YT" "Mayotte" }
     { "YU" "Yugoslavia" }
index 9305545ffcc1c74e0f23652da7db46112e7e2758..63367b21fb5a25f82534bdb6e1bf7a47f18e7d70 100644 (file)
@@ -1,6 +1,12 @@
 ! Copyright (C) 2022 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel tools.test unicode.flags.images ;
+USING: assocs countries kernel sets tools.test unicode.flags
+unicode.flags.images ;
 IN: unicode.flags.images.tests
 
-{ } [ valid-flag-biassoc drop ] unit-test
\ No newline at end of file
+{ } [ valid-flag-biassoc drop ] unit-test
+
+{ { } } [
+    valid-flag-names alpha-2 keys diff
+    [ dup unicode>flag ] { } map>assoc
+] unit-test
index 5dc86f41265c6ecc21350acebcea827f03e97a4d..0ff28d36cefb13b28d2879b217cab4625909a191 100644 (file)
@@ -1,12 +1,16 @@
 ! Copyright (C) 2022 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs biassocs fonts kernel math.combinatorics
-ranges sequences sequences.extras strings ui.text unicode.flags ;
+USING: accessors arrays assocs biassocs fonts kernel ranges
+sequences sequences.extras sequences.product strings ui.text
+unicode.flags ;
 IN: unicode.flags.images
 
+: two-char-combinations ( -- seq )
+    CHAR: a CHAR: z [a..b] dup 2array [ >string ] product-map ;
+
 MEMO: valid-flags ( -- flags )
-    CHAR: a CHAR: z [a..b] 2 all-combinations-with-replacement
-    [ >string unicode>flag ]
+    two-char-combinations
+    [ unicode>flag ]
     [ monospace-font swap string>image drop dim>> first2 = ] map-filter ;
 
 : valid-flag-names ( -- seq )