@keymanapp/common-types 17.0.85-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 (248) hide show
  1. package/build/src/consts/virtual-key-constants.d.ts +131 -0
  2. package/build/src/consts/virtual-key-constants.d.ts.map +1 -0
  3. package/build/src/consts/virtual-key-constants.js +245 -0
  4. package/build/src/consts/virtual-key-constants.js.map +1 -0
  5. package/build/src/import/techpreview/cldr_info.json +5 -0
  6. package/build/src/import/techpreview/keys-Latn-implied.xml +80 -0
  7. package/build/src/import/techpreview/keys-Zyyy-currency.xml +22 -0
  8. package/build/src/import/techpreview/keys-Zyyy-punctuation.xml +46 -0
  9. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +7 -0
  10. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -0
  11. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +74 -0
  12. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -0
  13. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +24 -0
  14. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -0
  15. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +75 -0
  16. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -0
  17. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts +76 -0
  18. package/build/src/keyman-touch-layout/keyman-touch-layout-file.d.ts.map +1 -0
  19. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +26 -0
  20. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -0
  21. package/build/src/keyman-touch-layout.clean.spec.json +170 -0
  22. package/build/src/kmx/element-string.d.ts +19 -0
  23. package/build/src/kmx/element-string.d.ts.map +1 -0
  24. package/build/src/kmx/element-string.js +72 -0
  25. package/build/src/kmx/element-string.js.map +1 -0
  26. package/build/src/kmx/kmx-builder.d.ts +77 -0
  27. package/build/src/kmx/kmx-builder.d.ts.map +1 -0
  28. package/build/src/kmx/kmx-builder.js +193 -0
  29. package/build/src/kmx/kmx-builder.js.map +1 -0
  30. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +18 -0
  31. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -0
  32. package/build/src/kmx/kmx-plus-builder/build-disp.js +25 -0
  33. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -0
  34. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +26 -0
  35. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -0
  36. package/build/src/kmx/kmx-plus-builder/build-elem.js +78 -0
  37. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -0
  38. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +60 -0
  39. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -0
  40. package/build/src/kmx/kmx-plus-builder/build-keys.js +107 -0
  41. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -0
  42. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +54 -0
  43. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -0
  44. package/build/src/kmx/kmx-plus-builder/build-layr.js +99 -0
  45. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -0
  46. package/build/src/kmx/kmx-plus-builder/build-list.d.ts +34 -0
  47. package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +1 -0
  48. package/build/src/kmx/kmx-plus-builder/build-list.js +62 -0
  49. package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -0
  50. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +12 -0
  51. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -0
  52. package/build/src/kmx/kmx-plus-builder/build-loca.js +20 -0
  53. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -0
  54. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +17 -0
  55. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -0
  56. package/build/src/kmx/kmx-plus-builder/build-meta.js +21 -0
  57. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -0
  58. package/build/src/kmx/kmx-plus-builder/build-name.d.ts +12 -0
  59. package/build/src/kmx/kmx-plus-builder/build-name.d.ts.map +1 -0
  60. package/build/src/kmx/kmx-plus-builder/build-name.js +23 -0
  61. package/build/src/kmx/kmx-plus-builder/build-name.js.map +1 -0
  62. package/build/src/kmx/kmx-plus-builder/build-ordr.d.ts +18 -0
  63. package/build/src/kmx/kmx-plus-builder/build-ordr.d.ts.map +1 -0
  64. package/build/src/kmx/kmx-plus-builder/build-ordr.js +27 -0
  65. package/build/src/kmx/kmx-plus-builder/build-ordr.js.map +1 -0
  66. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +16 -0
  67. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -0
  68. package/build/src/kmx/kmx-plus-builder/build-sect.js +14 -0
  69. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -0
  70. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +18 -0
  71. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -0
  72. package/build/src/kmx/kmx-plus-builder/build-strs.js +34 -0
  73. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -0
  74. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +20 -0
  75. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -0
  76. package/build/src/kmx/kmx-plus-builder/build-tran.js +30 -0
  77. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -0
  78. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts +16 -0
  79. package/build/src/kmx/kmx-plus-builder/build-vkey.d.ts.map +1 -0
  80. package/build/src/kmx/kmx-plus-builder/build-vkey.js +23 -0
  81. package/build/src/kmx/kmx-plus-builder/build-vkey.js.map +1 -0
  82. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +6 -0
  83. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -0
  84. package/build/src/kmx/kmx-plus-builder/builder-section.js +3 -0
  85. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -0
  86. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +47 -0
  87. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -0
  88. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +143 -0
  89. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -0
  90. package/build/src/kmx/kmx-plus.d.ts +259 -0
  91. package/build/src/kmx/kmx-plus.d.ts.map +1 -0
  92. package/build/src/kmx/kmx-plus.js +594 -0
  93. package/build/src/kmx/kmx-plus.js.map +1 -0
  94. package/build/src/kmx/kmx.d.ts +166 -0
  95. package/build/src/kmx/kmx.d.ts.map +1 -0
  96. package/build/src/kmx/kmx.js +271 -0
  97. package/build/src/kmx/kmx.js.map +1 -0
  98. package/build/src/kmx/string-list.d.ts +29 -0
  99. package/build/src/kmx/string-list.d.ts.map +1 -0
  100. package/build/src/kmx/string-list.js +75 -0
  101. package/build/src/kmx/string-list.js.map +1 -0
  102. package/build/src/kpj/keyman-developer-project.d.ts +58 -0
  103. package/build/src/kpj/keyman-developer-project.d.ts.map +1 -0
  104. package/build/src/kpj/keyman-developer-project.js +141 -0
  105. package/build/src/kpj/keyman-developer-project.js.map +1 -0
  106. package/build/src/kpj/kpj-file-reader.d.ts +17 -0
  107. package/build/src/kpj/kpj-file-reader.d.ts.map +1 -0
  108. package/build/src/kpj/kpj-file-reader.js +92 -0
  109. package/build/src/kpj/kpj-file-reader.js.map +1 -0
  110. package/build/src/kpj/kpj-file.d.ts +39 -0
  111. package/build/src/kpj/kpj-file.d.ts.map +1 -0
  112. package/build/src/kpj/kpj-file.js +11 -0
  113. package/build/src/kpj/kpj-file.js.map +1 -0
  114. package/build/src/kpj.schema.json +127 -0
  115. package/build/src/kvk/kvk-file-reader.d.ts +5 -0
  116. package/build/src/kvk/kvk-file-reader.d.ts.map +1 -0
  117. package/build/src/kvk/kvk-file-reader.js +35 -0
  118. package/build/src/kvk/kvk-file-reader.js.map +1 -0
  119. package/build/src/kvk/kvk-file-writer.d.ts +20 -0
  120. package/build/src/kvk/kvk-file-writer.d.ts.map +1 -0
  121. package/build/src/kvk/kvk-file-writer.js +67 -0
  122. package/build/src/kvk/kvk-file-writer.js.map +1 -0
  123. package/build/src/kvk/kvk-file.d.ts +64 -0
  124. package/build/src/kvk/kvk-file.d.ts.map +1 -0
  125. package/build/src/kvk/kvk-file.js +63 -0
  126. package/build/src/kvk/kvk-file.js.map +1 -0
  127. package/build/src/kvk/kvks-file-reader.d.ts +30 -0
  128. package/build/src/kvk/kvks-file-reader.d.ts.map +1 -0
  129. package/build/src/kvk/kvks-file-reader.js +154 -0
  130. package/build/src/kvk/kvks-file-reader.js.map +1 -0
  131. package/build/src/kvk/kvks-file-writer.d.ts +6 -0
  132. package/build/src/kvk/kvks-file-writer.d.ts.map +1 -0
  133. package/build/src/kvk/kvks-file-writer.js +99 -0
  134. package/build/src/kvk/kvks-file-writer.js.map +1 -0
  135. package/build/src/kvk/kvks-file.d.ts +44 -0
  136. package/build/src/kvk/kvks-file.d.ts.map +1 -0
  137. package/build/src/kvk/kvks-file.js +10 -0
  138. package/build/src/kvk/kvks-file.js.map +1 -0
  139. package/build/src/kvk/visual-keyboard.d.ts +35 -0
  140. package/build/src/kvk/visual-keyboard.d.ts.map +1 -0
  141. package/build/src/kvk/visual-keyboard.js +61 -0
  142. package/build/src/kvk/visual-keyboard.js.map +1 -0
  143. package/build/src/kvks.schema.json +182 -0
  144. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +56 -0
  145. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -0
  146. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +20 -0
  147. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -0
  148. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +91 -0
  149. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -0
  150. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +370 -0
  151. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -0
  152. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +143 -0
  153. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -0
  154. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +34 -0
  155. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -0
  156. package/build/src/ldml-keyboard.schema.json +634 -0
  157. package/build/src/ldml-keyboardtest.schema.json +221 -0
  158. package/build/src/main.d.ts +21 -0
  159. package/build/src/main.d.ts.map +1 -0
  160. package/build/src/main.js +20 -0
  161. package/build/src/main.js.map +1 -0
  162. package/build/src/util/common-events.d.ts +49 -0
  163. package/build/src/util/common-events.d.ts.map +1 -0
  164. package/build/src/util/common-events.js +29 -0
  165. package/build/src/util/common-events.js.map +1 -0
  166. package/build/src/util/compiler-interfaces.d.ts +51 -0
  167. package/build/src/util/compiler-interfaces.d.ts.map +1 -0
  168. package/build/src/util/compiler-interfaces.js +33 -0
  169. package/build/src/util/compiler-interfaces.js.map +1 -0
  170. package/build/src/util/util.d.ts +17 -0
  171. package/build/src/util/util.d.ts.map +1 -0
  172. package/build/src/util/util.js +67 -0
  173. package/build/src/util/util.js.map +1 -0
  174. package/build/tsconfig.tsbuildinfo +1 -0
  175. package/build.sh +86 -0
  176. package/package.json +58 -0
  177. package/src/consts/virtual-key-constants.ts +257 -0
  178. package/src/keyman-touch-layout/keyman-touch-layout-file-reader.ts +81 -0
  179. package/src/keyman-touch-layout/keyman-touch-layout-file-writer.ts +84 -0
  180. package/src/keyman-touch-layout/keyman-touch-layout-file.ts +87 -0
  181. package/src/kmx/element-string.ts +79 -0
  182. package/src/kmx/kmx-builder.ts +287 -0
  183. package/src/kmx/kmx-plus-builder/build-disp.ts +46 -0
  184. package/src/kmx/kmx-plus-builder/build-elem.ts +103 -0
  185. package/src/kmx/kmx-plus-builder/build-keys.ts +175 -0
  186. package/src/kmx/kmx-plus-builder/build-layr.ts +154 -0
  187. package/src/kmx/kmx-plus-builder/build-list.ts +95 -0
  188. package/src/kmx/kmx-plus-builder/build-loca.ts +34 -0
  189. package/src/kmx/kmx-plus-builder/build-meta.ts +37 -0
  190. package/src/kmx/kmx-plus-builder/build-name.ts +37 -0
  191. package/src/kmx/kmx-plus-builder/build-ordr.ts +45 -0
  192. package/src/kmx/kmx-plus-builder/build-sect.ts +31 -0
  193. package/src/kmx/kmx-plus-builder/build-strs.ts +58 -0
  194. package/src/kmx/kmx-plus-builder/build-tran.ts +50 -0
  195. package/src/kmx/kmx-plus-builder/build-vkey.ts +43 -0
  196. package/src/kmx/kmx-plus-builder/builder-section.ts +6 -0
  197. package/src/kmx/kmx-plus-builder/kmx-plus-builder.ts +190 -0
  198. package/src/kmx/kmx-plus.ts +692 -0
  199. package/src/kmx/kmx.ts +360 -0
  200. package/src/kmx/string-list.ts +74 -0
  201. package/src/kpj/keyman-developer-project.ts +155 -0
  202. package/src/kpj/kpj-file-reader.ts +103 -0
  203. package/src/kpj/kpj-file.ts +52 -0
  204. package/src/kvk/kvk-file-reader.ts +34 -0
  205. package/src/kvk/kvk-file-writer.ts +72 -0
  206. package/src/kvk/kvk-file.ts +122 -0
  207. package/src/kvk/kvks-file-reader.ts +164 -0
  208. package/src/kvk/kvks-file-writer.ts +113 -0
  209. package/src/kvk/kvks-file.ts +53 -0
  210. package/src/kvk/visual-keyboard.ts +80 -0
  211. package/src/ldml-keyboard/ldml-keyboard-testdata-xml.ts +74 -0
  212. package/src/ldml-keyboard/ldml-keyboard-xml-reader.ts +387 -0
  213. package/src/ldml-keyboard/ldml-keyboard-xml.ts +177 -0
  214. package/src/main.ts +27 -0
  215. package/src/restructure.d.ts +2 -0
  216. package/src/util/common-events.ts +50 -0
  217. package/src/util/compiler-interfaces.ts +54 -0
  218. package/src/util/util.ts +68 -0
  219. package/test/fixtures/import-minimal.xml +8 -0
  220. package/test/fixtures/import-minimal1.xml +11 -0
  221. package/test/fixtures/import-minimal2.xml +11 -0
  222. package/test/fixtures/import-symbols.xml +13 -0
  223. package/test/fixtures/invalid-conforms-to.xml +19 -0
  224. package/test/fixtures/invalid-import-base.xml +16 -0
  225. package/test/fixtures/invalid-import-path.xml +16 -0
  226. package/test/fixtures/invalid-import-readfail.xml +16 -0
  227. package/test/fixtures/invalid-import-wrongroot.xml +16 -0
  228. package/test/fixtures/invalid-structure-per-dtd.xml +8 -0
  229. package/test/fixtures/keyman-touch-layout/khmer_angkor.keyman-touch-layout +1950 -0
  230. package/test/fixtures/keyman-touch-layout/legacy.keyman-touch-layout +36 -0
  231. package/test/fixtures/kpj/khmer_angkor.kpj +187 -0
  232. package/test/fixtures/kvk/khmer_angkor.kvk +0 -0
  233. package/test/fixtures/kvk/khmer_angkor.kvks +206 -0
  234. package/test/fixtures/test-fr.xml +22 -0
  235. package/test/helpers/index.ts +39 -0
  236. package/test/helpers/reader-callback-test.ts +199 -0
  237. package/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.ts +71 -0
  238. package/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.ts +35 -0
  239. package/test/kpj/test-kpj-file-reader.ts +123 -0
  240. package/test/kvk/test-kvk-file.ts +15 -0
  241. package/test/kvk/test-kvk-round-trip.ts +87 -0
  242. package/test/kvk/test-kvk-utils.ts +24 -0
  243. package/test/kvk/test-kvks-file.ts +45 -0
  244. package/test/ldml-keyboard/test-ldml-keyboard-testdata-reader.ts +51 -0
  245. package/test/ldml-keyboard/test-ldml-keyboard-xml-reader.ts +131 -0
  246. package/test/tsconfig.json +21 -0
  247. package/test/util/test-unescape.ts +38 -0
  248. package/tsconfig.json +17 -0
@@ -0,0 +1,166 @@
1
+ export declare class KEYBOARD {
2
+ groups: GROUP[];
3
+ stores: STORE[];
4
+ }
5
+ export declare class STORE {
6
+ dwSystemID: number;
7
+ dpName: string;
8
+ dpString: string;
9
+ }
10
+ export declare class GROUP {
11
+ dpName: string;
12
+ keys: KEY[];
13
+ dpMatch: string;
14
+ dpNoMatch: string;
15
+ fUsingKeys: boolean;
16
+ }
17
+ export declare class KEY {
18
+ Key: number;
19
+ Line: number;
20
+ ShiftFlags: number;
21
+ dpOutput: string;
22
+ dpContext: string;
23
+ }
24
+ export declare class KMXFile {
25
+ readonly COMP_STORE: any;
26
+ readonly COMP_KEY: any;
27
+ readonly COMP_GROUP: any;
28
+ readonly COMP_KEYBOARD_KMXPLUSINFO: any;
29
+ readonly COMP_KEYBOARD: any;
30
+ static readonly FILEID_COMPILED = 1398036555;
31
+ static readonly VERSION_30 = 768;
32
+ static readonly VERSION_31 = 769;
33
+ static readonly VERSION_32 = 770;
34
+ static readonly VERSION_40 = 1024;
35
+ static readonly VERSION_50 = 1280;
36
+ static readonly VERSION_501 = 1281;
37
+ static readonly VERSION_60 = 1536;
38
+ static readonly VERSION_70 = 1792;
39
+ static readonly VERSION_80 = 2048;
40
+ static readonly VERSION_90 = 2304;
41
+ static readonly VERSION_100 = 2560;
42
+ static readonly VERSION_140 = 3584;
43
+ static readonly VERSION_150 = 3840;
44
+ static readonly VERSION_160 = 4096;
45
+ static readonly VERSION_MIN = 1280;
46
+ static readonly VERSION_MAX = 4096;
47
+ static readonly BK_DEFAULT = 0;
48
+ static readonly BK_DEADKEY = 1;
49
+ static readonly BEGIN_ANSI = 0;
50
+ static readonly BEGIN_UNICODE = 1;
51
+ static readonly TSS_NONE = 0;
52
+ static readonly TSS_BITMAP = 1;
53
+ static readonly TSS_COPYRIGHT = 2;
54
+ static readonly TSS_HOTKEY = 3;
55
+ static readonly TSS_LANGUAGE = 4;
56
+ static readonly TSS_LAYOUT = 5;
57
+ static readonly TSS_MESSAGE = 6;
58
+ static readonly TSS_NAME = 7;
59
+ static readonly TSS_VERSION = 8;
60
+ static readonly TSS_CAPSONONLY = 9;
61
+ static readonly TSS_CAPSALWAYSOFF = 10;
62
+ static readonly TSS_SHIFTFREESCAPS = 11;
63
+ static readonly TSS_LANGUAGENAME = 12;
64
+ static readonly TSS_CALLDEFINITION = 13;
65
+ static readonly TSS_CALLDEFINITION_LOADFAILED = 14;
66
+ static readonly TSS_ETHNOLOGUECODE = 15;
67
+ static readonly TSS_DEBUG_LINE = 16;
68
+ static readonly TSS_MNEMONIC = 17;
69
+ static readonly TSS_INCLUDECODES = 18;
70
+ static readonly TSS_OLDCHARPOSMATCHING = 19;
71
+ static readonly TSS_COMPILEDVERSION = 20;
72
+ static readonly TSS_KEYMANCOPYRIGHT = 21;
73
+ static readonly TSS_CUSTOMKEYMANEDITION = 22;
74
+ static readonly TSS_CUSTOMKEYMANEDITIONNAME = 23;
75
+ static readonly TSS__KEYMAN_60_MAX = 23;
76
+ static readonly TSS_VISUALKEYBOARD = 24;
77
+ static readonly TSS_KMW_RTL = 25;
78
+ static readonly TSS_KMW_HELPFILE = 26;
79
+ static readonly TSS_KMW_HELPTEXT = 27;
80
+ static readonly TSS_KMW_EMBEDJS = 28;
81
+ static readonly TSS_WINDOWSLANGUAGES = 29;
82
+ static readonly TSS__KEYMAN_70_MAX = 29;
83
+ static readonly TSS_COMPARISON = 30;
84
+ static readonly TSS__KEYMAN_80_MAX = 30;
85
+ static readonly TSS_PLATFORM = 31;
86
+ static readonly TSS_BASELAYOUT = 32;
87
+ static readonly TSS_LAYER = 33;
88
+ static readonly TSS_PLATFORM_NOMATCH = 32769;
89
+ static readonly TSS_PLATFORM_MATCH = 32770;
90
+ static readonly TSS_VKDICTIONARY = 34;
91
+ static readonly TSS_LAYOUTFILE = 35;
92
+ static readonly TSS_KEYBOARDVERSION = 36;
93
+ static readonly TSS_KMW_EMBEDCSS = 37;
94
+ static readonly TSS_TARGETS = 38;
95
+ static readonly TSS__KEYMAN_90_MAX = 38;
96
+ static readonly TSS_CASEDKEYS = 39;
97
+ static readonly TSS__KEYMAN_140_MAX = 39;
98
+ static readonly TSS_BEGIN_NEWCONTEXT = 40;
99
+ static readonly TSS_BEGIN_POSTKEYSTROKE = 41;
100
+ static readonly TSS_NEWLAYER = 42;
101
+ static readonly TSS_OLDLAYER = 43;
102
+ static readonly TSS__KEYMAN_150_MAX = 43;
103
+ static readonly TSS__MAX = 43;
104
+ static readonly UC_SENTINEL = 65535;
105
+ static readonly UC_SENTINEL_EXTENDEDEND = 16;
106
+ static readonly U_UC_SENTINEL = "\uFFFF";
107
+ static readonly VK__MAX = 255;
108
+ static readonly CODE_ANY = 1;
109
+ static readonly CODE_INDEX = 2;
110
+ static readonly CODE_CONTEXT = 3;
111
+ static readonly CODE_NUL = 4;
112
+ static readonly CODE_USE = 5;
113
+ static readonly CODE_RETURN = 6;
114
+ static readonly CODE_BEEP = 7;
115
+ static readonly CODE_DEADKEY = 8;
116
+ static readonly CODE_EXTENDED = 10;
117
+ static readonly CODE_SWITCH = 12;
118
+ static readonly CODE_KEY = 13;
119
+ static readonly CODE_CLEARCONTEXT = 14;
120
+ static readonly CODE_CALL = 15;
121
+ static readonly CODE_CONTEXTEX = 17;
122
+ static readonly CODE_NOTANY = 18;
123
+ static readonly CODE_KEYMAN70_LASTCODE = 18;
124
+ static readonly CODE_SETOPT = 19;
125
+ static readonly CODE_IFOPT = 20;
126
+ static readonly CODE_SAVEOPT = 21;
127
+ static readonly CODE_RESETOPT = 22;
128
+ static readonly CODE_KEYMAN80_LASTCODE = 22;
129
+ static readonly CODE_IFSYSTEMSTORE = 23;
130
+ static readonly CODE_SETSYSTEMSTORE = 24;
131
+ static readonly CODE_LASTCODE = 24;
132
+ static readonly KF_SHIFTFREESCAPS = 1;
133
+ static readonly KF_CAPSONONLY = 2;
134
+ static readonly KF_CAPSALWAYSOFF = 4;
135
+ static readonly KF_LOGICALLAYOUT = 8;
136
+ static readonly KF_AUTOMATICVERSION = 16;
137
+ static readonly KF_KMXPLUS = 32;
138
+ static readonly HK_ALT = 65536;
139
+ static readonly HK_CTRL = 131072;
140
+ static readonly HK_SHIFT = 262144;
141
+ static readonly LCTRLFLAG = 1;
142
+ static readonly RCTRLFLAG = 2;
143
+ static readonly LALTFLAG = 4;
144
+ static readonly RALTFLAG = 8;
145
+ static readonly K_SHIFTFLAG = 16;
146
+ static readonly K_CTRLFLAG = 32;
147
+ static readonly K_ALTFLAG = 64;
148
+ static readonly CAPITALFLAG = 256;
149
+ static readonly NOTCAPITALFLAG = 512;
150
+ static readonly NUMLOCKFLAG = 1024;
151
+ static readonly NOTNUMLOCKFLAG = 2048;
152
+ static readonly SCROLLFLAG = 4096;
153
+ static readonly NOTSCROLLFLAG = 8192;
154
+ static readonly ISVIRTUALKEY = 16384;
155
+ static readonly VIRTUALCHARKEY = 32768;
156
+ static readonly K_MODIFIERFLAG = 127;
157
+ static readonly K_NOTMODIFIERFLAG = 65280;
158
+ static readonly COMP_KEYBOARD_SIZE = 64;
159
+ static readonly COMP_KEYBOARD_KMXPLUSINFO_SIZE = 8;
160
+ static readonly COMP_STORE_SIZE = 12;
161
+ static readonly COMP_GROUP_SIZE = 24;
162
+ static readonly COMP_KEY_SIZE = 20;
163
+ keyboard: KEYBOARD;
164
+ constructor();
165
+ }
166
+ //# sourceMappingURL=kmx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kmx.d.ts","sourceRoot":"","sources":["../../../src/kmx/kmx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,271 @@
1
+ import * as r from 'restructure';
2
+ /* Definitions from kmx_file.h. Must be kept in sync */
3
+ // TODO: split kmx-file from kmx in-memory, similar to what I've done for kvk (keep restructure decl + BUILDER_ interfaces together)
4
+ // In memory representations of KMX structures
5
+ // kmx-builder will transform these to the corresponding COMP_xxxx
6
+ export class KEYBOARD {
7
+ //TODO: additional header fields
8
+ groups;
9
+ stores;
10
+ }
11
+ ;
12
+ export class STORE {
13
+ dwSystemID;
14
+ dpName;
15
+ dpString;
16
+ }
17
+ ;
18
+ export class GROUP {
19
+ dpName;
20
+ keys;
21
+ dpMatch;
22
+ dpNoMatch;
23
+ fUsingKeys;
24
+ }
25
+ ;
26
+ export class KEY {
27
+ Key;
28
+ Line;
29
+ ShiftFlags;
30
+ dpOutput;
31
+ dpContext;
32
+ }
33
+ ;
34
+ export class KMXFile {
35
+ /* KMX file structures */
36
+ COMP_STORE;
37
+ COMP_KEY;
38
+ COMP_GROUP;
39
+ COMP_KEYBOARD_KMXPLUSINFO;
40
+ COMP_KEYBOARD;
41
+ static FILEID_COMPILED = 0x5354584B; // 'KXTS'
42
+ //
43
+ // File version identifiers (COMP_KEYBOARD.dwFileVersion)
44
+ //
45
+ static VERSION_30 = 0x00000300;
46
+ static VERSION_31 = 0x00000301;
47
+ static VERSION_32 = 0x00000302;
48
+ static VERSION_40 = 0x00000400;
49
+ static VERSION_50 = 0x00000500;
50
+ static VERSION_501 = 0x00000501;
51
+ static VERSION_60 = 0x00000600;
52
+ static VERSION_70 = 0x00000700;
53
+ static VERSION_80 = 0x00000800;
54
+ static VERSION_90 = 0x00000900;
55
+ static VERSION_100 = 0x00000A00;
56
+ static VERSION_140 = 0x00000E00;
57
+ static VERSION_150 = 0x00000F00;
58
+ static VERSION_160 = 0x00001000;
59
+ static VERSION_MIN = this.VERSION_50;
60
+ static VERSION_MAX = this.VERSION_160;
61
+ //
62
+ // Backspace types
63
+ //
64
+ static BK_DEFAULT = 0;
65
+ static BK_DEADKEY = 1;
66
+ // Different begin types (COMP_STORE.StartGroup_*)
67
+ static BEGIN_ANSI = 0;
68
+ static BEGIN_UNICODE = 1;
69
+ //
70
+ // System Store values (COMP_STORE.dwSystemID)
71
+ //
72
+ static TSS_NONE = 0;
73
+ static TSS_BITMAP = 1;
74
+ static TSS_COPYRIGHT = 2;
75
+ static TSS_HOTKEY = 3;
76
+ static TSS_LANGUAGE = 4;
77
+ static TSS_LAYOUT = 5;
78
+ static TSS_MESSAGE = 6;
79
+ static TSS_NAME = 7;
80
+ static TSS_VERSION = 8;
81
+ static TSS_CAPSONONLY = 9;
82
+ static TSS_CAPSALWAYSOFF = 10;
83
+ static TSS_SHIFTFREESCAPS = 11;
84
+ static TSS_LANGUAGENAME = 12;
85
+ static TSS_CALLDEFINITION = 13;
86
+ static TSS_CALLDEFINITION_LOADFAILED = 14;
87
+ static TSS_ETHNOLOGUECODE = 15;
88
+ static TSS_DEBUG_LINE = 16;
89
+ static TSS_MNEMONIC = 17;
90
+ static TSS_INCLUDECODES = 18;
91
+ static TSS_OLDCHARPOSMATCHING = 19;
92
+ static TSS_COMPILEDVERSION = 20;
93
+ static TSS_KEYMANCOPYRIGHT = 21;
94
+ static TSS_CUSTOMKEYMANEDITION = 22;
95
+ static TSS_CUSTOMKEYMANEDITIONNAME = 23;
96
+ /* Keyman 7.0 system stores */
97
+ static TSS__KEYMAN_60_MAX = 23;
98
+ static TSS_VISUALKEYBOARD = 24;
99
+ static TSS_KMW_RTL = 25;
100
+ static TSS_KMW_HELPFILE = 26;
101
+ static TSS_KMW_HELPTEXT = 27;
102
+ static TSS_KMW_EMBEDJS = 28;
103
+ static TSS_WINDOWSLANGUAGES = 29;
104
+ static TSS__KEYMAN_70_MAX = 29;
105
+ /* Keyman 8.0 system stores */
106
+ static TSS_COMPARISON = 30;
107
+ static TSS__KEYMAN_80_MAX = 30;
108
+ /* Keyman 9.0 system stores */
109
+ static TSS_PLATFORM = 31;
110
+ static TSS_BASELAYOUT = 32;
111
+ static TSS_LAYER = 33;
112
+ static TSS_PLATFORM_NOMATCH = 0x8001; // Reserved for internal use - after platform statement is run, set to either TSS_PLATFORM_NOMATCH or TSS_PLATFORM_MATCH
113
+ static TSS_PLATFORM_MATCH = 0x8002; // Reserved for internal use - as the result will never change for the lifetime of the process.
114
+ static TSS_VKDICTIONARY = 34; // Dictionary of virtual key names for v9 dynamic layouts
115
+ static TSS_LAYOUTFILE = 35; // Keyman 9 layer-based JSON OSK
116
+ static TSS_KEYBOARDVERSION = 36; // &keyboardversion system store // I4140
117
+ static TSS_KMW_EMBEDCSS = 37;
118
+ static TSS_TARGETS = 38;
119
+ static TSS__KEYMAN_90_MAX = 38;
120
+ /* Keyman 14.0 system stores */
121
+ static TSS_CASEDKEYS = 39;
122
+ static TSS__KEYMAN_140_MAX = 39;
123
+ /* Keyman 15.0 system stores */
124
+ static TSS_BEGIN_NEWCONTEXT = 40;
125
+ static TSS_BEGIN_POSTKEYSTROKE = 41;
126
+ static TSS_NEWLAYER = 42;
127
+ static TSS_OLDLAYER = 43;
128
+ static TSS__KEYMAN_150_MAX = 43;
129
+ static TSS__MAX = 43;
130
+ static UC_SENTINEL = 0xFFFF;
131
+ static UC_SENTINEL_EXTENDEDEND = 0x10;
132
+ static U_UC_SENTINEL = "\uFFFF";
133
+ //
134
+ // VK__MAX defines the highest virtual key code defined in the system = 0xFF. Custom VK codes start at 256
135
+ //
136
+ static VK__MAX = 255;
137
+ //
138
+ // Extended String CODE_ values
139
+ //
140
+ static CODE_ANY = 0x01;
141
+ static CODE_INDEX = 0x02;
142
+ static CODE_CONTEXT = 0x03;
143
+ static CODE_NUL = 0x04;
144
+ static CODE_USE = 0x05;
145
+ static CODE_RETURN = 0x06;
146
+ static CODE_BEEP = 0x07;
147
+ static CODE_DEADKEY = 0x08;
148
+ // 0x09 = bkspace.-- we don't need to keep this separate though with UC_SENTINEL
149
+ static CODE_EXTENDED = 0x0A;
150
+ //public static readonly CODE_EXTENDEDEND = 0x0B; deprecated
151
+ static CODE_SWITCH = 0x0C;
152
+ static CODE_KEY = 0x0D;
153
+ static CODE_CLEARCONTEXT = 0x0E;
154
+ static CODE_CALL = 0x0F;
155
+ // UC_SENTINEL_EXTENDEDEND 0x10
156
+ static CODE_CONTEXTEX = 0x11;
157
+ static CODE_NOTANY = 0x12;
158
+ static CODE_KEYMAN70_LASTCODE = 0x12;
159
+ static CODE_SETOPT = 0x13;
160
+ static CODE_IFOPT = 0x14;
161
+ static CODE_SAVEOPT = 0x15;
162
+ static CODE_RESETOPT = 0x16;
163
+ static CODE_KEYMAN80_LASTCODE = 0x16;
164
+ /* Keyman 9.0 codes */
165
+ static CODE_IFSYSTEMSTORE = 0x17;
166
+ static CODE_SETSYSTEMSTORE = 0x18;
167
+ static CODE_LASTCODE = 0x18;
168
+ static KF_SHIFTFREESCAPS = 0x0001;
169
+ static KF_CAPSONONLY = 0x0002;
170
+ static KF_CAPSALWAYSOFF = 0x0004;
171
+ static KF_LOGICALLAYOUT = 0x0008;
172
+ static KF_AUTOMATICVERSION = 0x0010;
173
+ // 16.0: Support for LDML Keyboards in KMXPlus file format
174
+ static KF_KMXPLUS = 0x0020;
175
+ static HK_ALT = 0x00010000;
176
+ static HK_CTRL = 0x00020000;
177
+ static HK_SHIFT = 0x00040000;
178
+ static LCTRLFLAG = 0x0001; // Left Control flag
179
+ static RCTRLFLAG = 0x0002; // Right Control flag
180
+ static LALTFLAG = 0x0004; // Left Alt flag
181
+ static RALTFLAG = 0x0008; // Right Alt flag
182
+ static K_SHIFTFLAG = 0x0010; // Either shift flag
183
+ static K_CTRLFLAG = 0x0020; // Either ctrl flag
184
+ static K_ALTFLAG = 0x0040; // Either alt flag
185
+ //public static readonly K_METAFLAG = 0x0080; // Either Meta-key flag (tentative). Not usable in keyboard rules;
186
+ // Used internally (currently, only by KMW) to ensure Meta-key
187
+ // shortcuts safely bypass rules
188
+ // Meta key = Command key on macOS, Windows key on Windows
189
+ static CAPITALFLAG = 0x0100; // Caps lock on
190
+ static NOTCAPITALFLAG = 0x0200; // Caps lock NOT on
191
+ static NUMLOCKFLAG = 0x0400; // Num lock on
192
+ static NOTNUMLOCKFLAG = 0x0800; // Num lock NOT on
193
+ static SCROLLFLAG = 0x1000; // Scroll lock on
194
+ static NOTSCROLLFLAG = 0x2000; // Scroll lock NOT on
195
+ static ISVIRTUALKEY = 0x4000; // It is a Virtual Key Sequence
196
+ static VIRTUALCHARKEY = 0x8000; // Keyman 6.0: Virtual Key Cap Sequence NOT YET
197
+ static K_MODIFIERFLAG = 0x007F;
198
+ static K_NOTMODIFIERFLAG = 0xFF00; // I4548
199
+ static COMP_KEYBOARD_SIZE = 64;
200
+ static COMP_KEYBOARD_KMXPLUSINFO_SIZE = 8;
201
+ static COMP_STORE_SIZE = 12;
202
+ static COMP_GROUP_SIZE = 24;
203
+ static COMP_KEY_SIZE = 20;
204
+ /* In-memory representation of the keyboard */
205
+ keyboard = {
206
+ groups: [],
207
+ stores: []
208
+ };
209
+ constructor() {
210
+ // Binary-correct structures matching kmx_file.h
211
+ this.COMP_STORE = new r.Struct({
212
+ dwSystemID: r.uint32le,
213
+ dpName: r.uint32le,
214
+ dpString: r.uint32le
215
+ });
216
+ if (this.COMP_STORE.size() != KMXFile.COMP_STORE_SIZE) {
217
+ throw "COMP_STORE size is " + this.COMP_STORE.size() + " but should be " + KMXFile.COMP_STORE_SIZE + " bytes";
218
+ }
219
+ this.COMP_KEY = new r.Struct({
220
+ Key: r.uint16le,
221
+ _padding: new r.Reserved(r.uint16le),
222
+ Line: r.uint32le,
223
+ ShiftFlags: r.uint32le,
224
+ dpOutput: r.uint32le,
225
+ dpContext: r.uint32le
226
+ });
227
+ if (this.COMP_KEY.size() != KMXFile.COMP_KEY_SIZE) {
228
+ throw "COMP_KEY size is " + this.COMP_KEY.size() + " but should be " + KMXFile.COMP_KEY_SIZE + " bytes";
229
+ }
230
+ this.COMP_GROUP = new r.Struct({
231
+ dpName: r.uint32le,
232
+ dpKeyArray: r.uint32le,
233
+ dpMatch: r.uint32le,
234
+ dpNoMatch: r.uint32le,
235
+ cxKeyArray: r.uint32le,
236
+ fUsingKeys: r.uint32le // group(xx) [using keys] <-- specified or not
237
+ });
238
+ if (this.COMP_GROUP.size() != KMXFile.COMP_GROUP_SIZE) {
239
+ throw "COMP_GROUP size is " + this.COMP_GROUP.size() + " but should be " + KMXFile.COMP_GROUP_SIZE + " bytes";
240
+ }
241
+ this.COMP_KEYBOARD_KMXPLUSINFO = new r.Struct({
242
+ dpKMXPlus: r.uint32le,
243
+ dwKMXPlusSize: r.uint32le // 0044 size in bytes of entire KMXPlus data
244
+ });
245
+ if (this.COMP_KEYBOARD_KMXPLUSINFO.size() != KMXFile.COMP_KEYBOARD_KMXPLUSINFO_SIZE) {
246
+ throw "COMP_KEYBOARD_KMXPLUSINFO size is " + this.COMP_KEYBOARD_KMXPLUSINFO.size() + " but should be " + KMXFile.COMP_KEYBOARD_KMXPLUSINFO_SIZE + " bytes";
247
+ }
248
+ this.COMP_KEYBOARD = new r.Struct({
249
+ dwIdentifier: r.uint32le,
250
+ dwFileVersion: r.uint32le,
251
+ dwCheckSum: r.uint32le,
252
+ KeyboardID: r.uint32le,
253
+ IsRegistered: r.uint32le,
254
+ version: r.uint32le,
255
+ cxStoreArray: r.uint32le,
256
+ cxGroupArray: r.uint32le,
257
+ dpStoreArray: r.uint32le,
258
+ dpGroupArray: r.uint32le,
259
+ StartGroup_ANSI: r.uint32le,
260
+ StartGroup_Unicode: r.uint32le,
261
+ dwFlags: r.uint32le,
262
+ dwHotKey: r.uint32le,
263
+ dpBitmapOffset: r.uint32le,
264
+ dwBitmapSize: r.uint32le // 003C size in bytes of the bitmaps
265
+ });
266
+ if (this.COMP_KEYBOARD.size() != KMXFile.COMP_KEYBOARD_SIZE) {
267
+ throw "COMP_KEYBOARD size is " + this.COMP_KEYBOARD.size() + " but should be " + KMXFile.COMP_KEYBOARD_SIZE + " bytes";
268
+ }
269
+ }
270
+ }
271
+ //# sourceMappingURL=kmx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kmx.js","sourceRoot":"","sources":["../../../src/kmx/kmx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Strs, StrsItem } from './kmx-plus.js';
2
+ /**
3
+ * A single entry in a ListItem.
4
+ * Contains a StrsItem as its value.
5
+ */
6
+ export declare class ListIndex {
7
+ readonly value: StrsItem;
8
+ constructor(value: StrsItem);
9
+ isEqual(a: ListIndex | string): boolean;
10
+ toString(): string;
11
+ }
12
+ /**
13
+ * A string list in memory. This will be replaced with an index
14
+ * into the string table at finalization.
15
+ */
16
+ export declare class ListItem extends Array<ListIndex> {
17
+ /**
18
+ * Construct a new list from an array of strings.
19
+ * Use List. This is meant to be called by the List.allocString*() functions.
20
+ * @param strs the Strs section is needed to construct this object.
21
+ * @param source array of strings
22
+ * @returns
23
+ */
24
+ constructor(strs: Strs, source: Array<string>);
25
+ isEqual(a: ListItem | string[]): boolean;
26
+ compareTo(o: ListItem): number;
27
+ toString(): string;
28
+ }
29
+ //# sourceMappingURL=string-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-list.d.ts","sourceRoot":"","sources":["../../../src/kmx/string-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/C;;;GAGG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;gBACb,KAAK,EAAE,QAAQ;IAG3B,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM;IAI7B,QAAQ,IAAI,MAAM;CAGnB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC5C;;;;;;OAMG;gBACS,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAW7C,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,OAAO;IAWxC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM;IAgB9B,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * A single entry in a ListItem.
3
+ * Contains a StrsItem as its value.
4
+ */
5
+ export class ListIndex {
6
+ value; // will become index into Strs table
7
+ constructor(value) {
8
+ this.value = value;
9
+ }
10
+ isEqual(a) {
11
+ // so we can compare this to a string
12
+ return a.toString() === this.toString();
13
+ }
14
+ toString() {
15
+ return this.value.value;
16
+ }
17
+ }
18
+ ;
19
+ /**
20
+ * A string list in memory. This will be replaced with an index
21
+ * into the string table at finalization.
22
+ */
23
+ export class ListItem extends Array {
24
+ /**
25
+ * Construct a new list from an array of strings.
26
+ * Use List. This is meant to be called by the List.allocString*() functions.
27
+ * @param strs the Strs section is needed to construct this object.
28
+ * @param source array of strings
29
+ * @returns
30
+ */
31
+ constructor(strs, source) {
32
+ super();
33
+ if (!source) {
34
+ return;
35
+ }
36
+ for (const str of source) {
37
+ let index = new ListIndex(strs.allocString(str));
38
+ this.push(index);
39
+ }
40
+ }
41
+ isEqual(a) {
42
+ if (a.length != this.length) {
43
+ return false;
44
+ }
45
+ for (let i = 0; i < a.length; i++) {
46
+ if (!this[i].isEqual(a[i])) {
47
+ return false;
48
+ }
49
+ }
50
+ return true;
51
+ }
52
+ compareTo(o) {
53
+ for (let i = 0; i < Math.min(this.length, o.length); i++) {
54
+ const r = this[i].value.compareTo(o[i].value);
55
+ if (r !== 0) {
56
+ return r;
57
+ }
58
+ }
59
+ // prefix is the same, so go by length: shortest is first.
60
+ if (this.length < o.length) {
61
+ return -1;
62
+ }
63
+ else if (this.length > o.length) {
64
+ return 1;
65
+ }
66
+ else {
67
+ return 0;
68
+ }
69
+ }
70
+ toString() {
71
+ return this.map(v => v.value.value).join(' ');
72
+ }
73
+ }
74
+ ;
75
+ //# sourceMappingURL=string-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-list.js","sourceRoot":"","sources":["../../../src/kmx/string-list.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,SAAS;IACX,KAAK,CAAW,CAAC,oCAAoC;IAC9D,YAAY,KAAe;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAqB;QAC3B,qCAAqC;QACrC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF;AAAA,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAgB;IAC5C;;;;;;OAMG;IACH,YAAY,IAAU,EAAE,MAAqB;QAC3C,KAAK,EAAE,CAAC;QACR,IAAG,CAAC,MAAM,EAAE;YACV,OAAO;SACR;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC;IACD,OAAO,CAAC,CAAsB;QAC5B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,OAAO,KAAK,CAAC;SACd;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC1B,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,SAAS,CAAC,CAAW;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;YACxD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,OAAO,CAAC,CAAC;aACV;SACF;QACD,0DAA0D;QAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE;YAC1B,OAAO,CAAC,CAAC,CAAC;SACX;aAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE;YACjC,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF;AAAA,CAAC"}
@@ -0,0 +1,58 @@
1
+ export declare class KeymanDeveloperProject {
2
+ options: KeymanDeveloperProjectOptions;
3
+ files: KeymanDeveloperProjectFile[];
4
+ constructor(version: KeymanDeveloperProjectVersion);
5
+ /**
6
+ * Adds .kmn, .xml, .kps to project based on options.sourcePath
7
+ * @param projectPath Full path to project.kpj (even if the file doesn't exist)
8
+ */
9
+ populateFiles(projectPath: string): void;
10
+ resolveProjectPath(projectPath: string, p: string): string;
11
+ resolveInputFilePath(projectPath: string, file: KeymanDeveloperProjectFile): string;
12
+ resolveOutputFilePath(projectPath: string, file: KeymanDeveloperProjectFile, sourceExt: string, targetExt: string): string;
13
+ }
14
+ export declare enum KeymanDeveloperProjectType {
15
+ Keyboard = 0,
16
+ LexicalModel = 1
17
+ }
18
+ export type KeymanDeveloperProjectVersion = "1.0" | // Keyman Developer <17.0: All files referenced in .kpj
19
+ "2.0";
20
+ export declare class KeymanDeveloperProjectOptions {
21
+ buildPath: string;
22
+ sourcePath: string;
23
+ compilerWarningsAsErrors: boolean;
24
+ warnDeprecatedCode: boolean;
25
+ checkFilenameConventions: boolean;
26
+ projectType: KeymanDeveloperProjectType;
27
+ readonly version: KeymanDeveloperProjectVersion;
28
+ constructor(version: KeymanDeveloperProjectVersion);
29
+ }
30
+ export type KeymanDeveloperProjectFile = KeymanDeveloperProjectFile10 | KeymanDeveloperProjectFile20;
31
+ export declare class KeymanDeveloperProjectFile10 {
32
+ readonly id: string;
33
+ readonly filename: string;
34
+ readonly filePath: string;
35
+ readonly fileVersion: string;
36
+ readonly fileType: string;
37
+ details: KeymanDeveloperProjectFileDetail_Kmn & KeymanDeveloperProjectFileDetail_Kps;
38
+ childFiles: KeymanDeveloperProjectFile[];
39
+ constructor(id: string, filename: string, filePath: string, fileVersion: string, fileType: string);
40
+ }
41
+ export type KeymanDeveloperProjectFileType20 = '.model.ts' | '.kmn' | '.xml' | '.kps';
42
+ export declare class KeymanDeveloperProjectFile20 {
43
+ readonly filename: string;
44
+ readonly filePath: string;
45
+ readonly fileType: string;
46
+ constructor(filePath: string);
47
+ }
48
+ export declare class KeymanDeveloperProjectFileDetail_Kps {
49
+ name?: string;
50
+ copyright?: string;
51
+ version?: string;
52
+ }
53
+ export declare class KeymanDeveloperProjectFileDetail_Kmn {
54
+ name?: string;
55
+ copyright?: string;
56
+ message?: string;
57
+ }
58
+ //# sourceMappingURL=keyman-developer-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyman-developer-project.d.ts","sourceRoot":"","sources":["../../../src/kpj/keyman-developer-project.ts"],"names":[],"mappings":"AAOA,qBAAa,sBAAsB;IACjC,OAAO,EAAE,6BAA6B,CAAC;IACvC,KAAK,EAAE,0BAA0B,EAAE,CAAC;gBACxB,OAAO,EAAE,6BAA6B;IAIlD;;;OAGG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM;IAsBjC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAK1D,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,MAAM;IAKnF,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAmB3H;AAED,oBAAY,0BAA0B;IACpC,QAAQ,IAAA;IACR,YAAY,IAAA;CACb;AAED,MAAM,MAAM,6BAA6B,GACvC,KAAK,GAAK,uDAAuD;AACjE,KAAK,CAAC;AAER,qBAAa,6BAA6B;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,OAAO,CAAS;IAC1C,kBAAkB,EAAE,OAAO,CAAQ;IACnC,wBAAwB,EAAE,OAAO,CAAQ;IACzC,WAAW,EAAE,0BAA0B,CAAuC;IAC9E,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;gBACpC,OAAO,EAAE,6BAA6B;CAenD;AAED,MAAM,MAAM,0BAA0B,GAAG,4BAA4B,GAAG,4BAA4B,CAAC;AAErG,qBAAa,4BAA4B;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,oCAAoC,GAAG,oCAAoC,CAAC;IACrF,UAAU,EAAE,0BAA0B,EAAE,CAAC;gBAC7B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM;CASjG;AAED,MAAM,MAAM,gCAAgC,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtF,qBAAa,4BAA4B;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACd,QAAQ,EAAE,MAAM;CAU7B;AAED,qBAAa,oCAAoC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oCAAoC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}