@keymanapp/common-types 17.0.155-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.
Files changed (246) hide show
  1. package/build/src/consts/virtual-key-constants.d.ts +144 -138
  2. package/build/src/consts/virtual-key-constants.d.ts.map +1 -1
  3. package/build/src/consts/virtual-key-constants.js +258 -252
  4. package/build/src/consts/virtual-key-constants.js.map +1 -1
  5. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +8 -7
  6. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -1
  7. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +76 -74
  8. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -1
  9. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +31 -24
  10. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -1
  11. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +119 -75
  12. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -1
  13. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts +78 -76
  14. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts.map +1 -1
  15. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +28 -26
  16. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -1
  17. package/build/src/kmx/element-string.d.ts +26 -24
  18. package/build/src/kmx/element-string.d.ts.map +1 -1
  19. package/build/src/kmx/element-string.js +121 -119
  20. package/build/src/kmx/element-string.js.map +1 -1
  21. package/build/src/kmx/keyman-targets.d.ts +23 -0
  22. package/build/src/kmx/keyman-targets.d.ts.map +1 -0
  23. package/build/src/kmx/keyman-targets.js +80 -0
  24. package/build/src/kmx/keyman-targets.js.map +1 -0
  25. package/build/src/kmx/kmx-builder.d.ts +35 -33
  26. package/build/src/kmx/kmx-builder.d.ts.map +1 -1
  27. package/build/src/kmx/kmx-builder.js +190 -188
  28. package/build/src/kmx/kmx-builder.js.map +1 -1
  29. package/build/src/kmx/kmx-file-reader.d.ts +16 -7
  30. package/build/src/kmx/kmx-file-reader.d.ts.map +1 -1
  31. package/build/src/kmx/kmx-file-reader.js +135 -38
  32. package/build/src/kmx/kmx-file-reader.js.map +1 -1
  33. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +20 -18
  34. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -1
  35. package/build/src/kmx/kmx-plus-builder/build-disp.js +27 -25
  36. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -1
  37. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +31 -29
  38. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -1
  39. package/build/src/kmx/kmx-plus-builder/build-elem.js +90 -88
  40. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -1
  41. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +60 -58
  42. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -1
  43. package/build/src/kmx/kmx-plus-builder/build-keys.js +109 -107
  44. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -1
  45. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +56 -54
  46. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -1
  47. package/build/src/kmx/kmx-plus-builder/build-layr.js +101 -99
  48. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -1
  49. package/build/src/kmx/kmx-plus-builder/build-list.d.ts +38 -36
  50. package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +1 -1
  51. package/build/src/kmx/kmx-plus-builder/build-list.js +67 -65
  52. package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -1
  53. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +14 -12
  54. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -1
  55. package/build/src/kmx/kmx-plus-builder/build-loca.js +22 -20
  56. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -1
  57. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +19 -17
  58. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -1
  59. package/build/src/kmx/kmx-plus-builder/build-meta.js +23 -21
  60. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -1
  61. package/build/src/kmx/kmx-plus-builder/build-name.d.ts +14 -12
  62. package/build/src/kmx/kmx-plus-builder/build-name.d.ts.map +1 -1
  63. package/build/src/kmx/kmx-plus-builder/build-name.js +25 -23
  64. package/build/src/kmx/kmx-plus-builder/build-name.js.map +1 -1
  65. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +18 -16
  66. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -1
  67. package/build/src/kmx/kmx-plus-builder/build-sect.js +16 -14
  68. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -1
  69. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +25 -23
  70. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -1
  71. package/build/src/kmx/kmx-plus-builder/build-strs.js +47 -45
  72. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -1
  73. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +35 -33
  74. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -1
  75. package/build/src/kmx/kmx-plus-builder/build-tran.js +70 -68
  76. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -1
  77. package/build/src/kmx/kmx-plus-builder/build-uset.d.ts +33 -31
  78. package/build/src/kmx/kmx-plus-builder/build-uset.d.ts.map +1 -1
  79. package/build/src/kmx/kmx-plus-builder/build-uset.js +61 -59
  80. package/build/src/kmx/kmx-plus-builder/build-uset.js.map +1 -1
  81. package/build/src/kmx/kmx-plus-builder/build-vars.d.ts +24 -22
  82. package/build/src/kmx/kmx-plus-builder/build-vars.d.ts.map +1 -1
  83. package/build/src/kmx/kmx-plus-builder/build-vars.js +49 -47
  84. package/build/src/kmx/kmx-plus-builder/build-vars.js.map +1 -1
  85. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts +18 -16
  86. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts.map +1 -1
  87. package/build/src/kmx/kmx-plus-builder/build-vkey.js +25 -23
  88. package/build/src/kmx/kmx-plus-builder/build-vkey.js.map +1 -1
  89. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +12 -10
  90. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -1
  91. package/build/src/kmx/kmx-plus-builder/builder-section.js +5 -3
  92. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -1
  93. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +49 -47
  94. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -1
  95. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +146 -144
  96. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -1
  97. package/build/src/kmx/kmx-plus.d.ts +331 -329
  98. package/build/src/kmx/kmx-plus.d.ts.map +1 -1
  99. package/build/src/kmx/kmx-plus.js +835 -833
  100. package/build/src/kmx/kmx-plus.js.map +1 -1
  101. package/build/src/kmx/kmx.d.ts +235 -209
  102. package/build/src/kmx/kmx.d.ts.map +1 -1
  103. package/build/src/kmx/kmx.js +299 -276
  104. package/build/src/kmx/kmx.js.map +1 -1
  105. package/build/src/kmx/string-list.d.ts +36 -34
  106. package/build/src/kmx/string-list.d.ts.map +1 -1
  107. package/build/src/kmx/string-list.js +85 -83
  108. package/build/src/kmx/string-list.js.map +1 -1
  109. package/build/src/kpj/keyman-developer-project.d.ts +74 -63
  110. package/build/src/kpj/keyman-developer-project.d.ts.map +1 -1
  111. package/build/src/kpj/keyman-developer-project.js +165 -146
  112. package/build/src/kpj/keyman-developer-project.js.map +1 -1
  113. package/build/src/kpj/kpj-file-reader.d.ts +21 -19
  114. package/build/src/kpj/kpj-file-reader.d.ts.map +1 -1
  115. package/build/src/kpj/kpj-file-reader.js +110 -96
  116. package/build/src/kpj/kpj-file-reader.js.map +1 -1
  117. package/build/src/kpj/kpj-file.d.ts +41 -39
  118. package/build/src/kpj/kpj-file.d.ts.map +1 -1
  119. package/build/src/kpj/kpj-file.js +13 -11
  120. package/build/src/kpj/kpj-file.js.map +1 -1
  121. package/build/src/kvk/kvk-file-reader.d.ts +7 -5
  122. package/build/src/kvk/kvk-file-reader.d.ts.map +1 -1
  123. package/build/src/kvk/kvk-file-reader.js +38 -35
  124. package/build/src/kvk/kvk-file-reader.js.map +1 -1
  125. package/build/src/kvk/kvk-file-writer.d.ts +22 -20
  126. package/build/src/kvk/kvk-file-writer.d.ts.map +1 -1
  127. package/build/src/kvk/kvk-file-writer.js +78 -67
  128. package/build/src/kvk/kvk-file-writer.js.map +1 -1
  129. package/build/src/kvk/kvk-file.d.ts +68 -65
  130. package/build/src/kvk/kvk-file.d.ts.map +1 -1
  131. package/build/src/kvk/kvk-file.js +67 -64
  132. package/build/src/kvk/kvk-file.js.map +1 -1
  133. package/build/src/kvk/kvks-file-reader.d.ts +26 -23
  134. package/build/src/kvk/kvks-file-reader.d.ts.map +1 -1
  135. package/build/src/kvk/kvks-file-reader.js +179 -151
  136. package/build/src/kvk/kvks-file-reader.js.map +1 -1
  137. package/build/src/kvk/kvks-file-writer.d.ts +9 -6
  138. package/build/src/kvk/kvks-file-writer.d.ts.map +1 -1
  139. package/build/src/kvk/kvks-file-writer.js +107 -98
  140. package/build/src/kvk/kvks-file-writer.js.map +1 -1
  141. package/build/src/kvk/kvks-file.d.ts +46 -44
  142. package/build/src/kvk/kvks-file.d.ts.map +1 -1
  143. package/build/src/kvk/kvks-file.js +12 -10
  144. package/build/src/kvk/kvks-file.js.map +1 -1
  145. package/build/src/kvk/visual-keyboard.d.ts +47 -35
  146. package/build/src/kvk/visual-keyboard.d.ts.map +1 -1
  147. package/build/src/kvk/visual-keyboard.js +73 -61
  148. package/build/src/kvk/visual-keyboard.js.map +1 -1
  149. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +58 -56
  150. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -1
  151. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +22 -20
  152. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -1
  153. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +97 -95
  154. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -1
  155. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +387 -385
  156. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -1
  157. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +163 -161
  158. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -1
  159. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +41 -39
  160. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -1
  161. package/build/src/ldml-keyboard/pattern-parser.d.ts +138 -136
  162. package/build/src/ldml-keyboard/pattern-parser.d.ts.map +1 -1
  163. package/build/src/ldml-keyboard/pattern-parser.js +245 -243
  164. package/build/src/ldml-keyboard/pattern-parser.js.map +1 -1
  165. package/build/src/ldml-keyboard/unicodeset-parser-api.d.ts +40 -38
  166. package/build/src/ldml-keyboard/unicodeset-parser-api.d.ts.map +1 -1
  167. package/build/src/ldml-keyboard/unicodeset-parser-api.js +30 -28
  168. package/build/src/ldml-keyboard/unicodeset-parser-api.js.map +1 -1
  169. package/build/src/main.d.ts +36 -29
  170. package/build/src/main.d.ts.map +1 -1
  171. package/build/src/main.js +35 -28
  172. package/build/src/main.js.map +1 -1
  173. package/build/src/osk/osk.d.ts +25 -0
  174. package/build/src/osk/osk.d.ts.map +1 -0
  175. package/build/src/osk/osk.js +89 -0
  176. package/build/src/osk/osk.js.map +1 -0
  177. package/build/src/package/kmp-json-file.d.ts +69 -68
  178. package/build/src/package/kmp-json-file.d.ts.map +1 -1
  179. package/build/src/package/kmp-json-file.js +4 -2
  180. package/build/src/package/kmp-json-file.js.map +1 -1
  181. package/build/src/package/kps-file.d.ts +100 -98
  182. package/build/src/package/kps-file.d.ts.map +1 -1
  183. package/build/src/package/kps-file.js +18 -16
  184. package/build/src/package/kps-file.js.map +1 -1
  185. package/build/src/schemas/displaymap.schema.d.ts +60 -0
  186. package/build/src/schemas/displaymap.schema.d.ts.map +1 -0
  187. package/build/src/schemas/displaymap.schema.js +38 -0
  188. package/build/src/schemas/displaymap.schema.js.map +1 -0
  189. package/build/src/schemas/keyman-touch-layout.clean.spec.d.ts +230 -0
  190. package/build/src/schemas/keyman-touch-layout.clean.spec.d.ts.map +1 -0
  191. package/build/src/schemas/keyman-touch-layout.clean.spec.js +154 -0
  192. package/build/src/schemas/keyman-touch-layout.clean.spec.js.map +1 -0
  193. package/build/src/schemas/keyman-touch-layout.spec.d.ts +229 -0
  194. package/build/src/schemas/keyman-touch-layout.spec.d.ts.map +1 -0
  195. package/build/src/schemas/keyman-touch-layout.spec.js +142 -0
  196. package/build/src/schemas/keyman-touch-layout.spec.js.map +1 -0
  197. package/build/src/schemas/kpj-9.0.schema.d.ts +155 -0
  198. package/build/src/schemas/kpj-9.0.schema.d.ts.map +1 -0
  199. package/build/src/schemas/kpj-9.0.schema.js +134 -0
  200. package/build/src/schemas/kpj-9.0.schema.js.map +1 -0
  201. package/build/src/schemas/kpj.schema.d.ts +121 -0
  202. package/build/src/schemas/kpj.schema.d.ts.map +1 -0
  203. package/build/src/schemas/kpj.schema.js +128 -0
  204. package/build/src/schemas/kpj.schema.js.map +1 -0
  205. package/build/src/schemas/kvks.schema.d.ts +163 -0
  206. package/build/src/schemas/kvks.schema.d.ts.map +1 -0
  207. package/build/src/schemas/kvks.schema.js +185 -0
  208. package/build/src/schemas/kvks.schema.js.map +1 -0
  209. package/build/src/schemas/ldml-keyboard.schema.d.ts +634 -0
  210. package/build/src/schemas/ldml-keyboard.schema.d.ts.map +1 -0
  211. package/build/src/schemas/ldml-keyboard.schema.js +705 -0
  212. package/build/src/schemas/ldml-keyboard.schema.js.map +1 -0
  213. package/build/src/schemas/ldml-keyboardtest.schema.d.ts +191 -0
  214. package/build/src/schemas/ldml-keyboardtest.schema.d.ts.map +1 -0
  215. package/build/src/schemas/ldml-keyboardtest.schema.js +224 -0
  216. package/build/src/schemas/ldml-keyboardtest.schema.js.map +1 -0
  217. package/build/src/schemas.d.ts +1757 -0
  218. package/build/src/schemas.d.ts.map +1 -0
  219. package/build/src/schemas.js +22 -0
  220. package/build/src/schemas.js.map +1 -0
  221. package/build/src/util/common-events.d.ts +51 -49
  222. package/build/src/util/common-events.d.ts.map +1 -1
  223. package/build/src/util/common-events.js +31 -29
  224. package/build/src/util/common-events.js.map +1 -1
  225. package/build/src/util/compiler-interfaces.d.ts +296 -136
  226. package/build/src/util/compiler-interfaces.d.ts.map +1 -1
  227. package/build/src/util/compiler-interfaces.js +294 -104
  228. package/build/src/util/compiler-interfaces.js.map +1 -1
  229. package/build/src/util/errors.d.ts +8 -0
  230. package/build/src/util/errors.d.ts.map +1 -0
  231. package/build/src/util/errors.js +8 -0
  232. package/build/src/util/errors.js.map +1 -0
  233. package/build/src/util/file-types.d.ts +98 -0
  234. package/build/src/util/file-types.d.ts.map +1 -0
  235. package/build/src/util/file-types.js +117 -0
  236. package/build/src/util/file-types.js.map +1 -0
  237. package/build/src/util/util.d.ts +32 -30
  238. package/build/src/util/util.d.ts.map +1 -1
  239. package/build/src/util/util.js +98 -96
  240. package/build/src/util/util.js.map +1 -1
  241. package/package.json +23 -4
  242. package/build/src/keyman-touch-layout.clean.spec.json +0 -170
  243. package/build/src/kpj.schema.json +0 -127
  244. package/build/src/kvks.schema.json +0 -182
  245. package/build/src/ldml-keyboard.schema.json +0 -702
  246. package/build/src/ldml-keyboardtest.schema.json +0 -221
@@ -1,74 +1,76 @@
1
- import { default as AjvModule } from 'ajv';
2
- const Ajv = AjvModule.default; // The actual expected Ajv type.
3
- export class TouchLayoutFileReader {
4
- read(source) {
5
- const decoder = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
6
- let sourceString;
7
- try {
8
- sourceString = decoder.decode(source);
9
- /* c8 ignore next 7 */
10
- }
11
- catch (e) {
12
- if (e instanceof TypeError) {
13
- // TODO: Do we want to do something else with this?
14
- throw e;
15
- }
16
- throw e;
17
- }
18
- let result;
19
- try {
20
- result = JSON.parse(sourceString, function (key, value) {
21
- // `row.id` should be number, but may have been stringified; we use
22
- // presence of `key` property to recognise this as a `TouchLayoutRow`.
23
- if (this.key && key == 'id' && typeof value == 'string') {
24
- let newValue = parseInt(value, 10);
25
- /* c8 ignore next 3 */
26
- if (isNaN(newValue)) {
27
- throw new TypeError(`Invalid row.id: "${value}"`);
28
- }
29
- return newValue;
30
- }
31
- // `key.width`, `key.pad`, `key.sp` should be number, but may have been
32
- // stringified
33
- if (key == 'width' || key == 'pad' || key == 'sp') {
34
- if (value === '') {
35
- // Empty string is equivalent to not present, so fall back to
36
- // default value
37
- return undefined;
38
- }
39
- let newValue = parseInt(value, 10);
40
- /* c8 ignore next 3 */
41
- if (isNaN(newValue)) {
42
- throw new TypeError(`Invalid [sub]key.${key}: "${value}"`);
43
- }
44
- return newValue;
45
- }
46
- if (Array.isArray(value) && value.length == 0) {
47
- // Delete empty arrays
48
- return undefined;
49
- }
50
- return value;
51
- });
52
- /* c8 ignore next 7 */
53
- }
54
- catch (e) {
55
- if (e instanceof SyntaxError) {
56
- // TODO: Do we want to do something else with this?
57
- throw e;
58
- }
59
- throw e;
60
- }
61
- return result;
62
- }
63
- validate(source, schemaBuffer) {
64
- const schema = JSON.parse(schemaBuffer.toString('utf8'));
65
- const ajv = new Ajv();
66
- if (!ajv.validate(schema, source))
67
- /* c8 ignore next 3 */
68
- {
69
- throw new Error(ajv.errorsText());
70
- }
71
- }
72
- }
73
- ;
74
- //# sourceMappingURL=keyman-touch-layout-file-reader.js.map
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]="b17cb898-e715-518f-b76f-4217b5b5d535")}catch(e){}}();
2
+ import { default as AjvModule } from 'ajv';
3
+ const Ajv = AjvModule.default; // The actual expected Ajv type.
4
+ import Schemas from '../../src/schemas.js';
5
+ export class TouchLayoutFileReader {
6
+ read(source) {
7
+ const decoder = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
8
+ let sourceString;
9
+ try {
10
+ sourceString = decoder.decode(source);
11
+ /* c8 ignore next 7 */
12
+ }
13
+ catch (e) {
14
+ if (e instanceof TypeError) {
15
+ // TODO: Do we want to do something else with this?
16
+ throw e;
17
+ }
18
+ throw e;
19
+ }
20
+ let result;
21
+ try {
22
+ result = JSON.parse(sourceString, function (key, value) {
23
+ // `row.id` should be number, but may have been stringified; we use
24
+ // presence of `key` property to recognise this as a `TouchLayoutRow`.
25
+ if (this.key && key == 'id' && typeof value == 'string') {
26
+ let newValue = parseInt(value, 10);
27
+ /* c8 ignore next 3 */
28
+ if (isNaN(newValue)) {
29
+ throw new TypeError(`Invalid row.id: "${value}"`);
30
+ }
31
+ return newValue;
32
+ }
33
+ // `key.width`, `key.pad`, `key.sp` should be number, but may have been
34
+ // stringified
35
+ if (key == 'width' || key == 'pad' || key == 'sp') {
36
+ if (value === '') {
37
+ // Empty string is equivalent to not present, so fall back to
38
+ // default value
39
+ return undefined;
40
+ }
41
+ let newValue = parseInt(value, 10);
42
+ /* c8 ignore next 3 */
43
+ if (isNaN(newValue)) {
44
+ throw new TypeError(`Invalid [sub]key.${key}: "${value}"`);
45
+ }
46
+ return newValue;
47
+ }
48
+ if (Array.isArray(value) && value.length == 0) {
49
+ // Delete empty arrays
50
+ return undefined;
51
+ }
52
+ return value;
53
+ });
54
+ /* c8 ignore next 7 */
55
+ }
56
+ catch (e) {
57
+ if (e instanceof SyntaxError) {
58
+ // TODO: Do we want to do something else with this?
59
+ throw e;
60
+ }
61
+ throw e;
62
+ }
63
+ return result;
64
+ }
65
+ validate(source) {
66
+ const ajv = new Ajv();
67
+ if (!ajv.validate(Schemas.touchLayoutClean, source))
68
+ /* c8 ignore next 3 */
69
+ {
70
+ throw new Error(ajv.errorsText());
71
+ }
72
+ }
73
+ }
74
+ ;
75
+ //# debugId=b17cb898-e715-518f-b76f-4217b5b5d535
76
+ //# sourceMappingURL=keyman-touch-layout-file-reader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyman-touch-layout-file-reader.js","sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,KAAK,CAAC;AAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,gCAAgC;AAG/D,MAAM,OAAO,qBAAqB;IACzB,IAAI,CAAC,MAAkB;QAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACxE,IAAI,YAAoB,CAAC;QACzB,IAAI;YACF,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,sBAAsB;SACrB;QAAC,OAAM,CAAC,EAAE;YACT,IAAG,CAAC,YAAY,SAAS,EAAE;gBACzB,mDAAmD;gBACnD,MAAM,CAAC,CAAC;aACT;YACD,MAAM,CAAC,CAAC;SACT;QAED,IAAI,MAAuB,CAAC;QAC5B,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAS,GAAG,EAAE,KAAK;gBACnD,mEAAmE;gBACnE,sEAAsE;gBACtE,IAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;oBACtD,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;qBACnD;oBACD,OAAO,QAAQ,CAAC;iBACjB;gBAED,uEAAuE;gBACvE,cAAc;gBACd,IAAG,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBAChD,IAAG,KAAK,KAAK,EAAE,EAAE;wBACf,6DAA6D;wBAC7D,gBAAgB;wBAChB,OAAO,SAAS,CAAC;qBAClB;oBAED,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC;qBAC5D;oBACD,OAAO,QAAQ,CAAC;iBACjB;gBAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC5C,sBAAsB;oBACtB,OAAO,SAAS,CAAC;iBAClB;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACL,sBAAsB;SACrB;QAAC,OAAM,CAAC,EAAE;YACT,IAAG,CAAC,YAAY,WAAW,EAAE;gBAC3B,mDAAmD;gBACnD,MAAM,CAAC,CAAC;aACT;YACD,MAAM,CAAC,CAAC;SACT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,MAAuB,EAAE,YAAoB;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAChC,sBAAsB;QACtB;YACE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;CAGF;AAAA,CAAC"}
1
+ {"debug_id":"b17cb898-e715-518f-b76f-4217b5b5d535","file":"keyman-touch-layout-file-reader.js","mappings":";AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,KAAK,CAAC;AAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,gCAAgC;AAE/D,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAE3C,MAAM,OAAO,qBAAqB;IACzB,IAAI,CAAC,MAAkB;QAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACxE,IAAI,YAAoB,CAAC;QACzB,IAAI;YACF,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,sBAAsB;SACrB;QAAC,OAAM,CAAC,EAAE;YACT,IAAG,CAAC,YAAY,SAAS,EAAE;gBACzB,mDAAmD;gBACnD,MAAM,CAAC,CAAC;aACT;YACD,MAAM,CAAC,CAAC;SACT;QAED,IAAI,MAAuB,CAAC;QAC5B,IAAI;YACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAS,GAAG,EAAE,KAAK;gBACnD,mEAAmE;gBACnE,sEAAsE;gBACtE,IAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;oBACtD,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;qBACnD;oBACD,OAAO,QAAQ,CAAC;iBACjB;gBAED,uEAAuE;gBACvE,cAAc;gBACd,IAAG,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBAChD,IAAG,KAAK,KAAK,EAAE,EAAE;wBACf,6DAA6D;wBAC7D,gBAAgB;wBAChB,OAAO,SAAS,CAAC;qBAClB;oBAED,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC;qBAC5D;oBACD,OAAO,QAAQ,CAAC;iBACjB;gBAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC5C,sBAAsB;oBACtB,OAAO,SAAS,CAAC;iBAClB;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACL,sBAAsB;SACrB;QAAC,OAAM,CAAC,EAAE;YACT,IAAG,CAAC,YAAY,WAAW,EAAE;gBAC3B,mDAAmD;gBACnD,MAAM,CAAC,CAAC;aACT;YACD,MAAM,CAAC,CAAC;SACT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,MAAuB;QACrC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClD,sBAAsB;QACtB;YACE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;CAGF;AAAA,CAAC","names":[],"sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-reader.ts"],"version":3}
@@ -1,24 +1,31 @@
1
- import { TouchLayoutFile } from "./keyman-touch-layout-file.js";
2
- export interface TouchLayoutFileWriterOptions {
3
- formatted?: boolean;
4
- }
5
- export declare class TouchLayoutFileWriter {
6
- options: TouchLayoutFileWriterOptions;
7
- constructor(options?: TouchLayoutFileWriterOptions);
8
- /**
9
- * Writes the touch layout to a .keyman-touch-layout JSON file
10
- * @param source TouchLayoutFile
11
- * @returns Uint8Array, the .keyman-touch-layout file
12
- */
13
- write(source: TouchLayoutFile): Uint8Array;
14
- /**
15
- * Compiles the touch layout file into a KeymanWeb-compatible JSON-style
16
- * object string. In the future, this may be optimized to remove unnecessary
17
- * quoting of property names, and remove unused properties, as this string
18
- * is embedded into .js code.
19
- * @param source
20
- * @returns string
21
- */
22
- compile(source: TouchLayoutFile): string;
23
- }
24
- //# sourceMappingURL=keyman-touch-layout-file-writer.d.ts.map
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]="f6699873-edc6-54b2-a91c-f12441d5e8a8")}catch(e){}}();
2
+ import { TouchLayoutFile } from "./keyman-touch-layout-file.js";
3
+ export interface TouchLayoutFileWriterOptions {
4
+ formatted?: boolean;
5
+ }
6
+ export declare class TouchLayoutFileWriter {
7
+ options: TouchLayoutFileWriterOptions;
8
+ constructor(options?: TouchLayoutFileWriterOptions);
9
+ /**
10
+ * Writes the touch layout to a .keyman-touch-layout JSON file
11
+ * @param source TouchLayoutFile
12
+ * @returns Uint8Array, the .keyman-touch-layout file
13
+ */
14
+ write(source: TouchLayoutFile): Uint8Array;
15
+ /**
16
+ * Gets the output as a JSON string
17
+ */
18
+ toJSONString(source: TouchLayoutFile): string;
19
+ /**
20
+ * Compiles the touch layout file into a KeymanWeb-compatible JSON-style
21
+ * object string. In the future, this may be optimized to remove unnecessary
22
+ * quoting of property names, and remove unused properties, as this string
23
+ * is embedded into .js code.
24
+ * @param source
25
+ * @returns string
26
+ */
27
+ compile(source: TouchLayoutFile): string;
28
+ fixup(source: TouchLayoutFile): TouchLayoutFile;
29
+ }
30
+ //# debugId=f6699873-edc6-54b2-a91c-f12441d5e8a8
31
+ //# sourceMappingURL=keyman-touch-layout-file-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyman-touch-layout-file-writer.d.ts","sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0D,MAAM,+BAA+B,CAAC;AAExH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,qBAAqB;IAEhC,OAAO,EAAE,4BAA4B,CAAC;gBAE1B,OAAO,CAAC,EAAE,4BAA4B;IAIlD;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU;IAM1C;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;CAkDzC"}
1
+ {"debug_id":"f6699873-edc6-54b2-a91c-f12441d5e8a8","file":"keyman-touch-layout-file-writer.d.ts","mappings":";AAAA,OAAO,EAAE,eAAe,EAA0D,MAAM,+BAA+B,CAAC;AAExH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,qBAAqB;IAEhC,OAAO,EAAE,4BAA4B,CAAC;gBAE1B,OAAO,CAAC,EAAE,4BAA4B;IAIlD;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU;IAMjD;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAIpD;;;;;;;OAOG;IACI,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAIxC,KAAK,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;CAkFvD","names":[],"sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-writer.ts"],"version":3}
@@ -1,75 +1,119 @@
1
- ;
2
- export class TouchLayoutFileWriter {
3
- options;
4
- constructor(options) {
5
- this.options = { ...options };
6
- }
7
- /**
8
- * Writes the touch layout to a .keyman-touch-layout JSON file
9
- * @param source TouchLayoutFile
10
- * @returns Uint8Array, the .keyman-touch-layout file
11
- */
12
- write(source) {
13
- const output = JSON.stringify(source, null, this.options?.formatted ? 2 : undefined);
14
- const encoder = new TextEncoder();
15
- return encoder.encode(output);
16
- }
17
- /**
18
- * Compiles the touch layout file into a KeymanWeb-compatible JSON-style
19
- * object string. In the future, this may be optimized to remove unnecessary
20
- * quoting of property names, and remove unused properties, as this string
21
- * is embedded into .js code.
22
- * @param source
23
- * @returns string
24
- */
25
- compile(source) {
26
- // Deep copy the source
27
- source = JSON.parse(JSON.stringify(source));
28
- // Fixup pad, width and sp to string types, as that's what KeymanWeb
29
- // currently expects
30
- const fixupKey = (key) => {
31
- if (Object.hasOwn(key, 'pad'))
32
- key.pad = key.pad.toString();
33
- if (Object.hasOwn(key, 'sp'))
34
- key.sp = key.sp.toString();
35
- if (Object.hasOwn(key, 'width'))
36
- key.width = key.width.toString();
37
- };
38
- const fixupPlatform = (platform) => {
39
- for (let layer of platform.layer) {
40
- for (let row of layer.row) {
41
- for (let key of row.key) {
42
- fixupKey(key);
43
- if (key.sk) {
44
- for (let sk of key.sk) {
45
- fixupKey(sk);
46
- }
47
- }
48
- if (key.multitap) {
49
- for (let sk of key.multitap) {
50
- fixupKey(sk);
51
- }
52
- }
53
- if (key.flick) {
54
- for (let id of Object.keys(key.flick)) {
55
- fixupKey(key.flick[id]);
56
- }
57
- }
58
- }
59
- }
60
- }
61
- };
62
- if (source.desktop) {
63
- fixupPlatform(source.desktop);
64
- }
65
- if (source.phone) {
66
- fixupPlatform(source.phone);
67
- }
68
- if (source.tablet) {
69
- fixupPlatform(source.tablet);
70
- }
71
- return JSON.stringify(source, null, this.options?.formatted ? 2 : undefined);
72
- }
73
- }
74
- ;
75
- //# sourceMappingURL=keyman-touch-layout-file-writer.js.map
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]="aefdc198-181e-584b-b310-4893f68ac054")}catch(e){}}();
2
+ ;
3
+ export class TouchLayoutFileWriter {
4
+ options;
5
+ constructor(options) {
6
+ this.options = { ...options };
7
+ }
8
+ /**
9
+ * Writes the touch layout to a .keyman-touch-layout JSON file
10
+ * @param source TouchLayoutFile
11
+ * @returns Uint8Array, the .keyman-touch-layout file
12
+ */
13
+ write(source) {
14
+ const output = this.toJSONString(source);
15
+ const encoder = new TextEncoder();
16
+ return encoder.encode(output);
17
+ }
18
+ /**
19
+ * Gets the output as a JSON string
20
+ */
21
+ toJSONString(source) {
22
+ return JSON.stringify(source, null, this.options?.formatted ? 2 : undefined);
23
+ }
24
+ /**
25
+ * Compiles the touch layout file into a KeymanWeb-compatible JSON-style
26
+ * object string. In the future, this may be optimized to remove unnecessary
27
+ * quoting of property names, and remove unused properties, as this string
28
+ * is embedded into .js code.
29
+ * @param source
30
+ * @returns string
31
+ */
32
+ compile(source) {
33
+ return this.toJSONString(this.fixup(source));
34
+ }
35
+ fixup(source) {
36
+ // Deep copy the source
37
+ source = JSON.parse(JSON.stringify(source));
38
+ // Fixup pad, width and sp to string types, as that's what KeymanWeb
39
+ // currently expects
40
+ const fixupKey = (key) => {
41
+ if (Object.hasOwn(key, 'pad')) {
42
+ if (key.pad == 0) {
43
+ delete key.pad;
44
+ }
45
+ else {
46
+ key.pad = key.pad.toString();
47
+ }
48
+ }
49
+ if (Object.hasOwn(key, 'sp')) {
50
+ if (key.sp == 0) {
51
+ delete key.sp;
52
+ }
53
+ else {
54
+ key.sp = key.sp.toString();
55
+ }
56
+ }
57
+ if (Object.hasOwn(key, 'width')) {
58
+ if (key.width == 0) {
59
+ delete key.width;
60
+ }
61
+ else {
62
+ key.width = key.width.toString();
63
+ }
64
+ }
65
+ if (Object.hasOwn(key, 'text') && key.text === '')
66
+ delete key.text;
67
+ if (Object.hasOwn(key, 'id') && key.id === '')
68
+ delete key.id;
69
+ if (Object.hasOwn(key, 'hint') && key.hint === '')
70
+ delete key.hint;
71
+ };
72
+ const fixupPlatform = (platform) => {
73
+ // font and fontsize are eliminated if nullish:
74
+ if (Object.hasOwn(platform, 'font') && platform.font == '')
75
+ delete platform.font;
76
+ if (Object.hasOwn(platform, 'fontsize') && platform.fontsize == '')
77
+ delete platform.fontsize;
78
+ // displayUnderlying is always written out by kmcomp, so we do the same for kmc:
79
+ platform.displayUnderlying = !!platform.displayUnderlying;
80
+ for (let layer of platform.layer) {
81
+ for (let row of layer.row) {
82
+ // this matches the old spec for touch layout files
83
+ row.id = row.id.toString();
84
+ for (let key of row.key) {
85
+ fixupKey(key);
86
+ if (key.sk) {
87
+ for (let sk of key.sk) {
88
+ fixupKey(sk);
89
+ }
90
+ }
91
+ if (key.multitap) {
92
+ for (let sk of key.multitap) {
93
+ fixupKey(sk);
94
+ }
95
+ }
96
+ if (key.flick) {
97
+ for (let id of Object.keys(key.flick)) {
98
+ fixupKey(key.flick[id]);
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+ };
105
+ if (source.desktop) {
106
+ fixupPlatform(source.desktop);
107
+ }
108
+ if (source.phone) {
109
+ fixupPlatform(source.phone);
110
+ }
111
+ if (source.tablet) {
112
+ fixupPlatform(source.tablet);
113
+ }
114
+ return source;
115
+ }
116
+ }
117
+ ;
118
+ //# debugId=aefdc198-181e-584b-b310-4893f68ac054
119
+ //# sourceMappingURL=keyman-touch-layout-file-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyman-touch-layout-file-writer.js","sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-writer.ts"],"names":[],"mappings":"AAIC,CAAC;AAEF,MAAM,OAAO,qBAAqB;IAEhC,OAAO,CAA+B;IAEtC,YAAY,OAAsC;QAChD,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,OAAO,EAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAuB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAuB;QAC7B,uBAAuB;QACvB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5C,oEAAoE;QACpE,oBAAoB;QAEpB,MAAM,QAAQ,GAAG,CAAC,GAAuC,EAAE,EAAE;YAC3D,IAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAAG,GAAG,CAAC,GAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACpE,IAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;gBAAG,GAAG,CAAC,EAAU,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjE,IAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC;gBAAG,GAAG,CAAC,KAAa,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5E,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,QAA6B,EAAE,EAAE;YACtD,KAAI,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAC/B,KAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;oBACxB,KAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;wBACtB,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,IAAG,GAAG,CAAC,EAAE,EAAE;4BACT,KAAI,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;gCACpB,QAAQ,CAAC,EAAE,CAAC,CAAC;6BACd;yBACF;wBACD,IAAG,GAAG,CAAC,QAAQ,EAAE;4BACf,KAAI,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE;gCAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC;6BACd;yBACF;wBACD,IAAG,GAAG,CAAC,KAAK,EAAE;4BACZ,KAAI,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gCACpC,QAAQ,CAAE,GAAG,CAAC,KAAa,CAAC,EAAE,CAAsB,CAAC,CAAC;6BACvD;yBACF;qBACF;iBACF;aACF;QACH,CAAC,CAAC;QAEF,IAAG,MAAM,CAAC,OAAO,EAAE;YACjB,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,IAAG,MAAM,CAAC,KAAK,EAAE;YACf,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,IAAG,MAAM,CAAC,MAAM,EAAE;YAChB,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;CACF;AAAA,CAAC"}
1
+ {"debug_id":"aefdc198-181e-584b-b310-4893f68ac054","file":"keyman-touch-layout-file-writer.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file-writer.ts"],"version":3}
@@ -1,76 +1,78 @@
1
- export interface TouchLayoutFile {
2
- tablet?: TouchLayoutPlatform;
3
- phone?: TouchLayoutPlatform;
4
- desktop?: TouchLayoutPlatform;
5
- }
6
- export type TouchLayoutFont = string;
7
- export type TouchLayoutFontSize = string;
8
- export type TouchLayoutDefaultHint = "none" | "dot" | "longpress" | "multitap" | "flick" | "flick-n" | "flick-ne" | "flick-e" | "flick-se" | "flick-s" | "flick-sw" | "flick-w" | "flick-nw";
9
- export interface TouchLayoutPlatform {
10
- font?: TouchLayoutFont;
11
- fontsize?: TouchLayoutFontSize;
12
- layer: TouchLayoutLayer[];
13
- displayUnderlying?: boolean;
14
- defaultHint: TouchLayoutDefaultHint;
15
- }
16
- export type TouchLayoutLayerId = string;
17
- export interface TouchLayoutLayer {
18
- id: TouchLayoutLayerId;
19
- row: TouchLayoutRow[];
20
- }
21
- export type TouchLayoutRowId = number;
22
- export interface TouchLayoutRow {
23
- id: TouchLayoutRowId;
24
- key: TouchLayoutKey[];
25
- }
26
- type Key_Type = 'T' | 'K' | 'U' | 't' | 'k' | 'u';
27
- type Key_Id = string;
28
- export type TouchLayoutKeyId = `${Key_Type}_${Key_Id}`;
29
- export interface TouchLayoutKey {
30
- id?: TouchLayoutKeyId;
31
- text?: string;
32
- layer?: TouchLayoutLayerId;
33
- nextlayer?: TouchLayoutLayerId;
34
- font?: TouchLayoutFont;
35
- fontsize?: TouchLayoutFontSize;
36
- sp?: TouchLayoutKeySp;
37
- pad?: TouchLayoutKeyPad;
38
- width?: TouchLayoutKeyWidth;
39
- sk?: TouchLayoutSubKey[];
40
- flick?: TouchLayoutFlick;
41
- multitap?: TouchLayoutSubKey[];
42
- hint?: string;
43
- }
44
- export declare enum TouchLayoutKeySp {
45
- normal = 0,
46
- special = 1,
47
- specialActive = 2,
48
- deadkey = 8,
49
- blank = 9,
50
- spacer = 10
51
- }
52
- export type TouchLayoutKeyPad = number;
53
- export type TouchLayoutKeyWidth = number;
54
- export interface TouchLayoutSubKey {
55
- id: TouchLayoutKeyId;
56
- text?: string;
57
- layer?: TouchLayoutLayerId;
58
- nextlayer?: TouchLayoutLayerId;
59
- font?: TouchLayoutFont;
60
- fontsize?: TouchLayoutFontSize;
61
- sp?: TouchLayoutKeySp;
62
- pad?: TouchLayoutKeyPad;
63
- width?: TouchLayoutKeyWidth;
64
- }
65
- export interface TouchLayoutFlick {
66
- n?: TouchLayoutSubKey;
67
- s?: TouchLayoutSubKey;
68
- e?: TouchLayoutSubKey;
69
- w?: TouchLayoutSubKey;
70
- ne?: TouchLayoutSubKey;
71
- nw?: TouchLayoutSubKey;
72
- se?: TouchLayoutSubKey;
73
- sw?: TouchLayoutSubKey;
74
- }
75
- export {};
76
- //# sourceMappingURL=keyman-touch-layout-file.d.ts.map
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]="50589f68-7aa7-597e-9e25-de42cfaded12")}catch(e){}}();
2
+ export interface TouchLayoutFile {
3
+ tablet?: TouchLayoutPlatform;
4
+ phone?: TouchLayoutPlatform;
5
+ desktop?: TouchLayoutPlatform;
6
+ }
7
+ export type TouchLayoutFont = string;
8
+ export type TouchLayoutFontSize = string;
9
+ export type TouchLayoutDefaultHint = "none" | "dot" | "longpress" | "multitap" | "flick" | "flick-n" | "flick-ne" | "flick-e" | "flick-se" | "flick-s" | "flick-sw" | "flick-w" | "flick-nw";
10
+ export interface TouchLayoutPlatform {
11
+ font?: TouchLayoutFont;
12
+ fontsize?: TouchLayoutFontSize;
13
+ layer: TouchLayoutLayer[];
14
+ displayUnderlying?: boolean;
15
+ defaultHint: TouchLayoutDefaultHint;
16
+ }
17
+ export type TouchLayoutLayerId = string;
18
+ export interface TouchLayoutLayer {
19
+ id: TouchLayoutLayerId;
20
+ row: TouchLayoutRow[];
21
+ }
22
+ export type TouchLayoutRowId = number;
23
+ export interface TouchLayoutRow {
24
+ id: TouchLayoutRowId;
25
+ key: TouchLayoutKey[];
26
+ }
27
+ type Key_Type = 'T' | 'K' | 'U' | 't' | 'k' | 'u';
28
+ type Key_Id = string;
29
+ export type TouchLayoutKeyId = `${Key_Type}_${Key_Id}`;
30
+ export interface TouchLayoutKey {
31
+ id?: TouchLayoutKeyId;
32
+ text?: string;
33
+ layer?: TouchLayoutLayerId;
34
+ nextlayer?: TouchLayoutLayerId;
35
+ font?: TouchLayoutFont;
36
+ fontsize?: TouchLayoutFontSize;
37
+ sp?: TouchLayoutKeySp;
38
+ pad?: TouchLayoutKeyPad;
39
+ width?: TouchLayoutKeyWidth;
40
+ sk?: TouchLayoutSubKey[];
41
+ flick?: TouchLayoutFlick;
42
+ multitap?: TouchLayoutSubKey[];
43
+ hint?: string;
44
+ }
45
+ export declare enum TouchLayoutKeySp {
46
+ normal = 0,
47
+ special = 1,
48
+ specialActive = 2,
49
+ deadkey = 8,
50
+ blank = 9,
51
+ spacer = 10
52
+ }
53
+ export type TouchLayoutKeyPad = number;
54
+ export type TouchLayoutKeyWidth = number;
55
+ export interface TouchLayoutSubKey {
56
+ id: TouchLayoutKeyId;
57
+ text?: string;
58
+ layer?: TouchLayoutLayerId;
59
+ nextlayer?: TouchLayoutLayerId;
60
+ font?: TouchLayoutFont;
61
+ fontsize?: TouchLayoutFontSize;
62
+ sp?: TouchLayoutKeySp;
63
+ pad?: TouchLayoutKeyPad;
64
+ width?: TouchLayoutKeyWidth;
65
+ }
66
+ export interface TouchLayoutFlick {
67
+ n?: TouchLayoutSubKey;
68
+ s?: TouchLayoutSubKey;
69
+ e?: TouchLayoutSubKey;
70
+ w?: TouchLayoutSubKey;
71
+ ne?: TouchLayoutSubKey;
72
+ nw?: TouchLayoutSubKey;
73
+ se?: TouchLayoutSubKey;
74
+ sw?: TouchLayoutSubKey;
75
+ }
76
+ export {};
77
+ //# debugId=50589f68-7aa7-597e-9e25-de42cfaded12
78
+ //# sourceMappingURL=keyman-touch-layout-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyman-touch-layout-file.d.ts","sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file.ts"],"names":[],"mappings":"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"}
1
+ {"debug_id":"50589f68-7aa7-597e-9e25-de42cfaded12","file":"keyman-touch-layout-file.d.ts","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/keyman-touch-layout/keyman-touch-layout-file.ts"],"version":3}