@keymanapp/common-types 17.0.154-alpha → 17.0.156-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/consts/virtual-key-constants.d.ts +144 -138
- package/build/src/consts/virtual-key-constants.d.ts.map +1 -1
- package/build/src/consts/virtual-key-constants.js +258 -252
- package/build/src/consts/virtual-key-constants.js.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +8 -7
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +76 -74
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +31 -24
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +119 -75
- package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts +78 -76
- package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts.map +1 -1
- package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +28 -26
- package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -1
- package/build/src/kmx/element-string.d.ts +26 -24
- package/build/src/kmx/element-string.d.ts.map +1 -1
- package/build/src/kmx/element-string.js +121 -119
- package/build/src/kmx/element-string.js.map +1 -1
- package/build/src/kmx/keyman-targets.d.ts +23 -0
- package/build/src/kmx/keyman-targets.d.ts.map +1 -0
- package/build/src/kmx/keyman-targets.js +80 -0
- package/build/src/kmx/keyman-targets.js.map +1 -0
- package/build/src/kmx/kmx-builder.d.ts +35 -33
- package/build/src/kmx/kmx-builder.d.ts.map +1 -1
- package/build/src/kmx/kmx-builder.js +190 -188
- package/build/src/kmx/kmx-builder.js.map +1 -1
- package/build/src/kmx/kmx-file-reader.d.ts +16 -7
- package/build/src/kmx/kmx-file-reader.d.ts.map +1 -1
- package/build/src/kmx/kmx-file-reader.js +135 -38
- package/build/src/kmx/kmx-file-reader.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +20 -18
- package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-disp.js +27 -25
- package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +31 -29
- package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-elem.js +90 -88
- package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +60 -58
- package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-keys.js +109 -107
- package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +56 -54
- package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-layr.js +101 -99
- package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-list.d.ts +38 -36
- package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-list.js +67 -65
- package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +14 -12
- package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-loca.js +22 -20
- package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +19 -17
- package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-meta.js +23 -21
- package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-name.d.ts +14 -12
- package/build/src/kmx/kmx-plus-builder/build-name.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-name.js +25 -23
- package/build/src/kmx/kmx-plus-builder/build-name.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +18 -16
- package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-sect.js +16 -14
- package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +25 -23
- package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-strs.js +47 -45
- package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +35 -33
- package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-tran.js +70 -68
- package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-uset.d.ts +33 -31
- package/build/src/kmx/kmx-plus-builder/build-uset.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-uset.js +61 -59
- package/build/src/kmx/kmx-plus-builder/build-uset.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-vars.d.ts +24 -22
- package/build/src/kmx/kmx-plus-builder/build-vars.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-vars.js +49 -47
- package/build/src/kmx/kmx-plus-builder/build-vars.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts +18 -16
- package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/build-vkey.js +25 -23
- package/build/src/kmx/kmx-plus-builder/build-vkey.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +12 -10
- package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/builder-section.js +5 -3
- package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -1
- package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +49 -47
- package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +146 -144
- package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -1
- package/build/src/kmx/kmx-plus.d.ts +331 -329
- package/build/src/kmx/kmx-plus.d.ts.map +1 -1
- package/build/src/kmx/kmx-plus.js +835 -833
- package/build/src/kmx/kmx-plus.js.map +1 -1
- package/build/src/kmx/kmx.d.ts +235 -209
- package/build/src/kmx/kmx.d.ts.map +1 -1
- package/build/src/kmx/kmx.js +299 -276
- package/build/src/kmx/kmx.js.map +1 -1
- package/build/src/kmx/string-list.d.ts +36 -34
- package/build/src/kmx/string-list.d.ts.map +1 -1
- package/build/src/kmx/string-list.js +85 -83
- package/build/src/kmx/string-list.js.map +1 -1
- package/build/src/kpj/keyman-developer-project.d.ts +74 -63
- package/build/src/kpj/keyman-developer-project.d.ts.map +1 -1
- package/build/src/kpj/keyman-developer-project.js +165 -146
- package/build/src/kpj/keyman-developer-project.js.map +1 -1
- package/build/src/kpj/kpj-file-reader.d.ts +21 -19
- package/build/src/kpj/kpj-file-reader.d.ts.map +1 -1
- package/build/src/kpj/kpj-file-reader.js +110 -96
- package/build/src/kpj/kpj-file-reader.js.map +1 -1
- package/build/src/kpj/kpj-file.d.ts +41 -39
- package/build/src/kpj/kpj-file.d.ts.map +1 -1
- package/build/src/kpj/kpj-file.js +13 -11
- package/build/src/kpj/kpj-file.js.map +1 -1
- package/build/src/kvk/kvk-file-reader.d.ts +7 -5
- package/build/src/kvk/kvk-file-reader.d.ts.map +1 -1
- package/build/src/kvk/kvk-file-reader.js +38 -35
- package/build/src/kvk/kvk-file-reader.js.map +1 -1
- package/build/src/kvk/kvk-file-writer.d.ts +22 -20
- package/build/src/kvk/kvk-file-writer.d.ts.map +1 -1
- package/build/src/kvk/kvk-file-writer.js +78 -67
- package/build/src/kvk/kvk-file-writer.js.map +1 -1
- package/build/src/kvk/kvk-file.d.ts +68 -65
- package/build/src/kvk/kvk-file.d.ts.map +1 -1
- package/build/src/kvk/kvk-file.js +67 -64
- package/build/src/kvk/kvk-file.js.map +1 -1
- package/build/src/kvk/kvks-file-reader.d.ts +26 -23
- package/build/src/kvk/kvks-file-reader.d.ts.map +1 -1
- package/build/src/kvk/kvks-file-reader.js +179 -151
- package/build/src/kvk/kvks-file-reader.js.map +1 -1
- package/build/src/kvk/kvks-file-writer.d.ts +9 -6
- package/build/src/kvk/kvks-file-writer.d.ts.map +1 -1
- package/build/src/kvk/kvks-file-writer.js +107 -98
- package/build/src/kvk/kvks-file-writer.js.map +1 -1
- package/build/src/kvk/kvks-file.d.ts +46 -44
- package/build/src/kvk/kvks-file.d.ts.map +1 -1
- package/build/src/kvk/kvks-file.js +12 -10
- package/build/src/kvk/kvks-file.js.map +1 -1
- package/build/src/kvk/visual-keyboard.d.ts +47 -35
- package/build/src/kvk/visual-keyboard.d.ts.map +1 -1
- package/build/src/kvk/visual-keyboard.js +73 -61
- package/build/src/kvk/visual-keyboard.js.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +58 -56
- package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +22 -20
- package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +97 -95
- package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +387 -385
- package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +163 -161
- package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -1
- package/build/src/ldml-keyboard/ldml-keyboard-xml.js +41 -39
- package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -1
- package/build/src/ldml-keyboard/pattern-parser.d.ts +138 -136
- package/build/src/ldml-keyboard/pattern-parser.d.ts.map +1 -1
- package/build/src/ldml-keyboard/pattern-parser.js +245 -243
- package/build/src/ldml-keyboard/pattern-parser.js.map +1 -1
- package/build/src/ldml-keyboard/unicodeset-parser-api.d.ts +40 -38
- package/build/src/ldml-keyboard/unicodeset-parser-api.d.ts.map +1 -1
- package/build/src/ldml-keyboard/unicodeset-parser-api.js +30 -28
- package/build/src/ldml-keyboard/unicodeset-parser-api.js.map +1 -1
- package/build/src/main.d.ts +36 -29
- package/build/src/main.d.ts.map +1 -1
- package/build/src/main.js +35 -28
- package/build/src/main.js.map +1 -1
- package/build/src/osk/osk.d.ts +25 -0
- package/build/src/osk/osk.d.ts.map +1 -0
- package/build/src/osk/osk.js +89 -0
- package/build/src/osk/osk.js.map +1 -0
- package/build/src/package/kmp-json-file.d.ts +69 -68
- package/build/src/package/kmp-json-file.d.ts.map +1 -1
- package/build/src/package/kmp-json-file.js +4 -2
- package/build/src/package/kmp-json-file.js.map +1 -1
- package/build/src/package/kps-file.d.ts +100 -98
- package/build/src/package/kps-file.d.ts.map +1 -1
- package/build/src/package/kps-file.js +18 -16
- package/build/src/package/kps-file.js.map +1 -1
- package/build/src/schemas/displaymap.schema.d.ts +60 -0
- package/build/src/schemas/displaymap.schema.d.ts.map +1 -0
- package/build/src/schemas/displaymap.schema.js +38 -0
- package/build/src/schemas/displaymap.schema.js.map +1 -0
- package/build/src/schemas/keyman-touch-layout.clean.spec.d.ts +230 -0
- package/build/src/schemas/keyman-touch-layout.clean.spec.d.ts.map +1 -0
- package/build/src/schemas/keyman-touch-layout.clean.spec.js +154 -0
- package/build/src/schemas/keyman-touch-layout.clean.spec.js.map +1 -0
- package/build/src/schemas/keyman-touch-layout.spec.d.ts +229 -0
- package/build/src/schemas/keyman-touch-layout.spec.d.ts.map +1 -0
- package/build/src/schemas/keyman-touch-layout.spec.js +142 -0
- package/build/src/schemas/keyman-touch-layout.spec.js.map +1 -0
- package/build/src/schemas/kpj-9.0.schema.d.ts +155 -0
- package/build/src/schemas/kpj-9.0.schema.d.ts.map +1 -0
- package/build/src/schemas/kpj-9.0.schema.js +134 -0
- package/build/src/schemas/kpj-9.0.schema.js.map +1 -0
- package/build/src/schemas/kpj.schema.d.ts +121 -0
- package/build/src/schemas/kpj.schema.d.ts.map +1 -0
- package/build/src/schemas/kpj.schema.js +128 -0
- package/build/src/schemas/kpj.schema.js.map +1 -0
- package/build/src/schemas/kvks.schema.d.ts +163 -0
- package/build/src/schemas/kvks.schema.d.ts.map +1 -0
- package/build/src/schemas/kvks.schema.js +185 -0
- package/build/src/schemas/kvks.schema.js.map +1 -0
- package/build/src/schemas/ldml-keyboard.schema.d.ts +634 -0
- package/build/src/schemas/ldml-keyboard.schema.d.ts.map +1 -0
- package/build/src/schemas/ldml-keyboard.schema.js +705 -0
- package/build/src/schemas/ldml-keyboard.schema.js.map +1 -0
- package/build/src/schemas/ldml-keyboardtest.schema.d.ts +191 -0
- package/build/src/schemas/ldml-keyboardtest.schema.d.ts.map +1 -0
- package/build/src/schemas/ldml-keyboardtest.schema.js +224 -0
- package/build/src/schemas/ldml-keyboardtest.schema.js.map +1 -0
- package/build/src/schemas.d.ts +1757 -0
- package/build/src/schemas.d.ts.map +1 -0
- package/build/src/schemas.js +22 -0
- package/build/src/schemas.js.map +1 -0
- package/build/src/util/common-events.d.ts +51 -49
- package/build/src/util/common-events.d.ts.map +1 -1
- package/build/src/util/common-events.js +31 -29
- package/build/src/util/common-events.js.map +1 -1
- package/build/src/util/compiler-interfaces.d.ts +296 -136
- package/build/src/util/compiler-interfaces.d.ts.map +1 -1
- package/build/src/util/compiler-interfaces.js +294 -104
- package/build/src/util/compiler-interfaces.js.map +1 -1
- package/build/src/util/errors.d.ts +8 -0
- package/build/src/util/errors.d.ts.map +1 -0
- package/build/src/util/errors.js +8 -0
- package/build/src/util/errors.js.map +1 -0
- package/build/src/util/file-types.d.ts +98 -0
- package/build/src/util/file-types.d.ts.map +1 -0
- package/build/src/util/file-types.js +117 -0
- package/build/src/util/file-types.js.map +1 -0
- package/build/src/util/util.d.ts +32 -30
- package/build/src/util/util.d.ts.map +1 -1
- package/build/src/util/util.js +98 -96
- package/build/src/util/util.js.map +1 -1
- package/package.json +23 -4
- package/build/src/keyman-touch-layout.clean.spec.json +0 -170
- package/build/src/kpj.schema.json +0 -127
- package/build/src/kvks.schema.json +0 -182
- package/build/src/ldml-keyboard.schema.json +0 -702
- package/build/src/ldml-keyboardtest.schema.json +0 -221
|
@@ -1,243 +1,245 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @param
|
|
10
|
-
* @
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
*
|
|
59
|
-
* @
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
*
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
*
|
|
126
|
-
* @
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
*
|
|
134
|
-
* @
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
*
|
|
142
|
-
* @
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
ElementType["
|
|
156
|
-
ElementType["
|
|
157
|
-
ElementType["
|
|
158
|
-
|
|
159
|
-
;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
* @param
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5d8d02e2-0141-5569-ac2f-c05f5d932ccf")}catch(e){}}();
|
|
2
|
+
/**
|
|
3
|
+
* Utilities for transform and marker processing
|
|
4
|
+
*/
|
|
5
|
+
import { constants } from "@keymanapp/ldml-keyboard-constants";
|
|
6
|
+
import { MATCH_QUAD_ESCAPE, isOneChar, unescapeOneQuadString, unescapeString } from "../util/util.js";
|
|
7
|
+
/**
|
|
8
|
+
* Helper function for extracting matched items
|
|
9
|
+
* @param str input string
|
|
10
|
+
* @param match global RegEx to use
|
|
11
|
+
* @returns array of matched values
|
|
12
|
+
*/
|
|
13
|
+
function matchArray(str, match) {
|
|
14
|
+
const refs = (str || '').matchAll(match);
|
|
15
|
+
return Array.from(refs).map(r => r[1]);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Common regex for an ID
|
|
19
|
+
*/
|
|
20
|
+
const COMMON_ID = /^[0-9A-Za-z_]{1,32}$/;
|
|
21
|
+
/**
|
|
22
|
+
* Class for helping with markers
|
|
23
|
+
*/
|
|
24
|
+
export class MarkerParser {
|
|
25
|
+
/**
|
|
26
|
+
* A marker id has the same constraint as a key id. TODO-LDML: Needs to be reflected in the spec
|
|
27
|
+
*/
|
|
28
|
+
static ID = COMMON_ID;
|
|
29
|
+
/**
|
|
30
|
+
* Special marker reference referring to any marker
|
|
31
|
+
*/
|
|
32
|
+
static ANY_MARKER = '\\m{.}';
|
|
33
|
+
/**
|
|
34
|
+
* id of the 'any' marker
|
|
35
|
+
*/
|
|
36
|
+
static ANY_MARKER_ID = '.';
|
|
37
|
+
/**
|
|
38
|
+
* Marker sentinel as a string - U+FFFF
|
|
39
|
+
*/
|
|
40
|
+
static SENTINEL = String.fromCodePoint(constants.uc_sentinel);
|
|
41
|
+
/**
|
|
42
|
+
* Marker code as a string - U+0008
|
|
43
|
+
*/
|
|
44
|
+
static MARKER_CODE = String.fromCodePoint(constants.marker_code);
|
|
45
|
+
/** Minimum ID (trailing code unit) */
|
|
46
|
+
static MIN_MARKER_INDEX = constants.marker_min_index;
|
|
47
|
+
/** Index meaning 'any marker' == `\m{.}` */
|
|
48
|
+
static ANY_MARKER_INDEX = constants.marker_any_index;
|
|
49
|
+
/** Maximum usable marker index */
|
|
50
|
+
static MAX_MARKER_INDEX = constants.marker_max_index;
|
|
51
|
+
/** Max count of markers */
|
|
52
|
+
static MAX_MARKER_COUNT = constants.marker_max_count;
|
|
53
|
+
/**
|
|
54
|
+
* Pattern for matching a marker reference, OR the special marker \m{.}
|
|
55
|
+
*/
|
|
56
|
+
static REFERENCE = /\\m{([0-9A-Za-z_]{1,32}|\.)}/g;
|
|
57
|
+
/**
|
|
58
|
+
* parse a string into marker references
|
|
59
|
+
* @param str input string such as "\m{a} … \m{.}"
|
|
60
|
+
* @returns `[]` or an array of all markers referenced
|
|
61
|
+
*/
|
|
62
|
+
static allReferences(str) {
|
|
63
|
+
if (!str) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
return matchArray(str, this.REFERENCE);
|
|
67
|
+
}
|
|
68
|
+
/** @returns string for marker #n */
|
|
69
|
+
static markerOutput(n) {
|
|
70
|
+
if (n < MarkerParser.MIN_MARKER_INDEX || n > MarkerParser.ANY_MARKER_INDEX) {
|
|
71
|
+
throw RangeError(`Internal Error: marker index out of range ${n}`);
|
|
72
|
+
}
|
|
73
|
+
return this.SENTINEL + this.MARKER_CODE + String.fromCharCode(n);
|
|
74
|
+
}
|
|
75
|
+
/** @returns all marker strings as sentinel values */
|
|
76
|
+
static toSentinelString(s, markers) {
|
|
77
|
+
if (!s)
|
|
78
|
+
return s;
|
|
79
|
+
return s.replaceAll(this.REFERENCE, (sub, arg) => {
|
|
80
|
+
if (arg === MarkerParser.ANY_MARKER_ID) {
|
|
81
|
+
return MarkerParser.markerOutput(MarkerParser.ANY_MARKER_INDEX);
|
|
82
|
+
}
|
|
83
|
+
if (!markers) {
|
|
84
|
+
throw RangeError(`Internal Error: Could not find marker \\m{${arg}} (no markers defined)`);
|
|
85
|
+
}
|
|
86
|
+
const order = markers.getItemOrder(arg);
|
|
87
|
+
if (order === -1) {
|
|
88
|
+
throw RangeError(`Internal Error: Could not find marker \\m{${arg}}`);
|
|
89
|
+
}
|
|
90
|
+
else if (order >= MarkerParser.MAX_MARKER_INDEX) {
|
|
91
|
+
throw RangeError(`Internal Error: marker \\m{${arg}} has out of range index ${order}`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return MarkerParser.markerOutput(order + 1);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Class for helping with markers
|
|
101
|
+
*/
|
|
102
|
+
export class VariableParser {
|
|
103
|
+
/**
|
|
104
|
+
* A marker id has the same constraint as a key id. TODO-LDML: Needs to be reflected in the spec
|
|
105
|
+
*/
|
|
106
|
+
static ID = COMMON_ID;
|
|
107
|
+
/**
|
|
108
|
+
* Pattern for matching a string reference `$(str)`
|
|
109
|
+
*/
|
|
110
|
+
static STRING_REFERENCE = /\${([0-9A-Za-z_]{1,32})}/g;
|
|
111
|
+
/**
|
|
112
|
+
* Pattern for matching a set reference `$[set]`
|
|
113
|
+
*/
|
|
114
|
+
static SET_REFERENCE = /\$\[([0-9A-Za-z_]{1,32})\]/g;
|
|
115
|
+
/**
|
|
116
|
+
* Pattern for matching a capture set reference `($[set])`
|
|
117
|
+
*/
|
|
118
|
+
static CAPTURE_SET_REFERENCE = /\(\$\[([0-9A-Za-z_]{1,32})\]\)/g;
|
|
119
|
+
/**
|
|
120
|
+
* `$[1:variable]`
|
|
121
|
+
* This regex matches the whole string.
|
|
122
|
+
*/
|
|
123
|
+
static MAPPED_SET_REFERENCE = /^\$\[1:([0-9A-Za-z_]{1,32})\]$/;
|
|
124
|
+
/**
|
|
125
|
+
* parse a string into references
|
|
126
|
+
* @param str input string
|
|
127
|
+
* @returns `[]` or an array of all string references referenced
|
|
128
|
+
*/
|
|
129
|
+
static allStringReferences(str) {
|
|
130
|
+
return matchArray(str, this.STRING_REFERENCE);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* parse a string into references
|
|
134
|
+
* @param str input string
|
|
135
|
+
* @returns `[]` or an array of all string references referenced
|
|
136
|
+
*/
|
|
137
|
+
static allSetReferences(str) {
|
|
138
|
+
return matchArray(str, this.SET_REFERENCE);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Split an input string into a proper set
|
|
142
|
+
* @param str input string
|
|
143
|
+
* @returns
|
|
144
|
+
*/
|
|
145
|
+
static setSplitter(str) {
|
|
146
|
+
const s = str?.trim();
|
|
147
|
+
if (!s)
|
|
148
|
+
return [];
|
|
149
|
+
return s.split(/\s+/);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/** for ElementParser.segment() */
|
|
153
|
+
export var ElementType;
|
|
154
|
+
(function (ElementType) {
|
|
155
|
+
ElementType["codepoint"] = ".";
|
|
156
|
+
ElementType["escaped"] = "\\";
|
|
157
|
+
ElementType["uset"] = "[";
|
|
158
|
+
ElementType["string"] = "*";
|
|
159
|
+
})(ElementType || (ElementType = {}));
|
|
160
|
+
;
|
|
161
|
+
/** one portion of a segmented element string */
|
|
162
|
+
export class ElementSegment {
|
|
163
|
+
segment;
|
|
164
|
+
type;
|
|
165
|
+
/**
|
|
166
|
+
* @param segment the string in the segment
|
|
167
|
+
* @param type type of segment. Will be calculated if not provided.
|
|
168
|
+
*/
|
|
169
|
+
constructor(segment, type) {
|
|
170
|
+
this.segment = segment;
|
|
171
|
+
if (type) {
|
|
172
|
+
this.type = type;
|
|
173
|
+
}
|
|
174
|
+
else if (ElementParser.MATCH_USET.test(segment)) {
|
|
175
|
+
this.type = ElementType.uset;
|
|
176
|
+
}
|
|
177
|
+
else if (ElementParser.MATCH_ESCAPED.test(segment)) {
|
|
178
|
+
this.type = ElementType.escaped;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
this.type = ElementType.codepoint;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** unescaped format */
|
|
185
|
+
get unescaped() {
|
|
186
|
+
if (this.type !== ElementType.escaped) {
|
|
187
|
+
return this.segment;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
if (MATCH_QUAD_ESCAPE.test(this.segment)) {
|
|
191
|
+
return unescapeOneQuadString(this.segment);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
return unescapeString(this.segment);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
;
|
|
200
|
+
/** Class for helping with Element strings (i.e. reorder) */
|
|
201
|
+
export class ElementParser {
|
|
202
|
+
/**
|
|
203
|
+
* Matches any complex UnicodeSet that would otherwise be misinterpreted
|
|
204
|
+
* by `MATCH_ELEMENT_SEGMENTS` due to nested `[]`'s.
|
|
205
|
+
* For example, `[[a-z]-[aeiou]]` could be
|
|
206
|
+
* mis-segmented into `[[a-z]`, `-`, `[aeiou]`, `]` */
|
|
207
|
+
static MATCH_NESTED_SQUARE_BRACKETS = /\[[^\]]*\[/;
|
|
208
|
+
/** Match (segment) UnicodeSets OR hex escapes OR single Unicode codepoints */
|
|
209
|
+
static MATCH_ELEMENT_SEGMENTS = /(?:\[[^\]]*\]|\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,6}\}|\\u\{(?:[0-9a-fA-F]{1,6})(?: [0-9a-fA-F]{1,6}){1,}\}|.)/gu;
|
|
210
|
+
/** Does it start with a UnicodeSet? Used to test the segments. */
|
|
211
|
+
static MATCH_USET = /^\[/;
|
|
212
|
+
/** Does it start with an escaped char? Used to test the segments. */
|
|
213
|
+
static MATCH_ESCAPED = /^\\u/;
|
|
214
|
+
/** Split a string into ElementSegments */
|
|
215
|
+
static segment(str) {
|
|
216
|
+
if (this.MATCH_NESTED_SQUARE_BRACKETS.test(str)) {
|
|
217
|
+
throw Error(`Unsupported: nested square brackets in element segment: ${str}`);
|
|
218
|
+
}
|
|
219
|
+
const list = [];
|
|
220
|
+
for (let m of str.match(ElementParser.MATCH_ELEMENT_SEGMENTS)) {
|
|
221
|
+
const e = new ElementSegment(m);
|
|
222
|
+
if (e.type === ElementType.escaped) {
|
|
223
|
+
// unescape
|
|
224
|
+
const { unescaped } = e;
|
|
225
|
+
if (isOneChar(unescaped)) {
|
|
226
|
+
list.push(e);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
// need to split the escaped segment, \u{41 42} -> \u{41}, \u{42}
|
|
230
|
+
for (let s of unescaped) {
|
|
231
|
+
list.push(new ElementSegment(`\\u{${s.codePointAt(0).toString(16)}}`));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
// all others
|
|
237
|
+
list.push(e);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return list;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
;
|
|
244
|
+
//# debugId=5d8d02e2-0141-5569-ac2f-c05f5d932ccf
|
|
245
|
+
//# sourceMappingURL=pattern-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"debug_id":"5d8d02e2-0141-5569-ac2f-c05f5d932ccf","file":"pattern-parser.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/ldml-keyboard/pattern-parser.ts"],"version":3}
|
|
@@ -1,38 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
-
* @param
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
* @
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @param
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
1
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7f8aa4e7-e8b2-5199-b918-174035f8d904")}catch(e){}}();
|
|
2
|
+
/**
|
|
3
|
+
* Abstraction for an interface capable of parsing a UnicodeSet
|
|
4
|
+
*/
|
|
5
|
+
export interface UnicodeSetParser {
|
|
6
|
+
/**
|
|
7
|
+
* Parse a UnicodeSet into ranges
|
|
8
|
+
* @param pattern string to parse such as `[a-z]`
|
|
9
|
+
* @param rangeCount number of ranges to allow for
|
|
10
|
+
*/
|
|
11
|
+
parseUnicodeSet(pattern: string, rangeCount: number): UnicodeSet | null;
|
|
12
|
+
/**
|
|
13
|
+
* Calculate the number of ranges in a UnicodeSet
|
|
14
|
+
* @param pattern string to parse such as `[a-z]`
|
|
15
|
+
* @returns number of ranges, or -1 (with callback-reported err) on err
|
|
16
|
+
*/
|
|
17
|
+
sizeUnicodeSet(pattern: string): number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parsed UnicodeSet, return value of of parseUnicodeSet()
|
|
21
|
+
*/
|
|
22
|
+
export declare class UnicodeSet {
|
|
23
|
+
pattern: string;
|
|
24
|
+
ranges: number[][];
|
|
25
|
+
/**
|
|
26
|
+
* A UnicodeSet in range form.
|
|
27
|
+
* For example, `[ħa-z]` will parse to
|
|
28
|
+
* ranges = `[[0x41, 0x7A], [0x0127, 0x0127]]` meaning `[a,z], [ħ,ħ]`
|
|
29
|
+
* @param pattern the pattern per UnicodeSet syntax such as `[a-z]`
|
|
30
|
+
* @param ranges array of 2-element arrays, 'start' and 'end'.
|
|
31
|
+
*/
|
|
32
|
+
constructor(pattern: string, ranges: number[][]);
|
|
33
|
+
/**
|
|
34
|
+
* Number of ranges
|
|
35
|
+
*/
|
|
36
|
+
get length(): number;
|
|
37
|
+
toString(): string;
|
|
38
|
+
}
|
|
39
|
+
//# debugId=7f8aa4e7-e8b2-5199-b918-174035f8d904
|
|
40
|
+
//# sourceMappingURL=unicodeset-parser-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"debug_id":"7f8aa4e7-e8b2-5199-b918-174035f8d904","file":"unicodeset-parser-api.d.ts","mappings":";AACA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAI,UAAU,GAAG,IAAI,CAAC;IACzE;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAI,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,UAAU;IAQF,OAAO,EAAE,MAAM;IAAS,MAAM,EAAE,MAAM,EAAE,EAAE;IAP7D;;;;;;OAMG;gBACgB,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,EAAE,EAAE;IAE7D;;OAEG;IACH,IAAI,MAAM,IAAK,MAAM,CAEpB;IAED,QAAQ,IAAK,MAAM;CAGpB","names":[],"sourceRoot":"","sources":["../../../src/ldml-keyboard/unicodeset-parser-api.ts"],"version":3}
|