@keymanapp/developer-utils 18.0.41-alpha → 18.0.118-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 (238) hide show
  1. package/build/src/common-messages.d.ts +49 -0
  2. package/build/src/common-messages.d.ts.map +1 -0
  3. package/build/src/common-messages.js +35 -0
  4. package/build/src/common-messages.js.map +1 -0
  5. package/build/src/compiler-interfaces.d.ts +372 -0
  6. package/build/src/compiler-interfaces.d.ts.map +1 -0
  7. package/build/src/compiler-interfaces.js +382 -0
  8. package/build/src/compiler-interfaces.js.map +1 -0
  9. package/build/src/deps/xml2js/bom.d.ts +2 -0
  10. package/build/src/deps/xml2js/bom.d.ts.map +1 -0
  11. package/build/src/deps/xml2js/bom.js +14 -0
  12. package/build/src/deps/xml2js/bom.js.map +1 -0
  13. package/build/src/deps/xml2js/builder.d.ts +6 -0
  14. package/build/src/deps/xml2js/builder.d.ts.map +1 -0
  15. package/build/src/deps/xml2js/builder.js +133 -0
  16. package/build/src/deps/xml2js/builder.js.map +1 -0
  17. package/build/src/deps/xml2js/defaults.d.ts +69 -0
  18. package/build/src/deps/xml2js/defaults.d.ts.map +1 -0
  19. package/build/src/deps/xml2js/defaults.js +73 -0
  20. package/build/src/deps/xml2js/defaults.js.map +1 -0
  21. package/build/src/deps/xml2js/parser.d.ts +18 -0
  22. package/build/src/deps/xml2js/parser.d.ts.map +1 -0
  23. package/build/src/deps/xml2js/parser.js +395 -0
  24. package/build/src/deps/xml2js/parser.js.map +1 -0
  25. package/build/src/deps/xml2js/processors.d.ts +6 -0
  26. package/build/src/deps/xml2js/processors.d.ts.map +1 -0
  27. package/build/src/deps/xml2js/processors.js +28 -0
  28. package/build/src/deps/xml2js/processors.js.map +1 -0
  29. package/build/src/deps/xml2js/xml2js.d.ts +12 -0
  30. package/build/src/deps/xml2js/xml2js.d.ts.map +1 -0
  31. package/build/src/deps/xml2js/xml2js.js +26 -0
  32. package/build/src/deps/xml2js/xml2js.js.map +1 -0
  33. package/build/src/index.d.ts +24 -0
  34. package/build/src/index.d.ts.map +1 -0
  35. package/build/src/index.js +26 -0
  36. package/build/src/index.js.map +1 -0
  37. package/build/src/is-valid-email.d.ts +2 -0
  38. package/build/src/is-valid-email.d.ts.map +1 -0
  39. package/build/src/is-valid-email.js +20 -0
  40. package/build/src/is-valid-email.js.map +1 -0
  41. package/build/src/types/import/45/cldr_info.json +5 -0
  42. package/build/src/types/import/45/keys-Latn-implied.xml +80 -0
  43. package/build/src/types/import/45/keys-Zyyy-currency.xml +15 -0
  44. package/build/src/types/import/45/keys-Zyyy-punctuation.xml +45 -0
  45. package/build/src/types/import/45/scanCodes-implied.xml +53 -0
  46. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +7 -0
  47. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +1 -0
  48. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-reader.js +74 -0
  49. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -0
  50. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +30 -0
  51. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +1 -0
  52. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-writer.js +123 -0
  53. package/build/src/types/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -0
  54. package/build/src/types/kmx/kmx-builder.d.ts +42 -0
  55. package/build/src/types/kmx/kmx-builder.d.ts.map +1 -0
  56. package/build/src/types/kmx/kmx-builder.js +192 -0
  57. package/build/src/types/kmx/kmx-builder.js.map +1 -0
  58. package/build/src/types/kmx/kmx-plus-builder/build-disp.d.ts +20 -0
  59. package/build/src/types/kmx/kmx-plus-builder/build-disp.d.ts.map +1 -0
  60. package/build/src/types/kmx/kmx-plus-builder/build-disp.js +29 -0
  61. package/build/src/types/kmx/kmx-plus-builder/build-disp.js.map +1 -0
  62. package/build/src/types/kmx/kmx-plus-builder/build-elem.d.ts +29 -0
  63. package/build/src/types/kmx/kmx-plus-builder/build-elem.d.ts.map +1 -0
  64. package/build/src/types/kmx/kmx-plus-builder/build-elem.js +91 -0
  65. package/build/src/types/kmx/kmx-plus-builder/build-elem.js.map +1 -0
  66. package/build/src/types/kmx/kmx-plus-builder/build-keys.d.ts +59 -0
  67. package/build/src/types/kmx/kmx-plus-builder/build-keys.d.ts.map +1 -0
  68. package/build/src/types/kmx/kmx-plus-builder/build-keys.js +110 -0
  69. package/build/src/types/kmx/kmx-plus-builder/build-keys.js.map +1 -0
  70. package/build/src/types/kmx/kmx-plus-builder/build-layr.d.ts +57 -0
  71. package/build/src/types/kmx/kmx-plus-builder/build-layr.d.ts.map +1 -0
  72. package/build/src/types/kmx/kmx-plus-builder/build-layr.js +104 -0
  73. package/build/src/types/kmx/kmx-plus-builder/build-layr.js.map +1 -0
  74. package/build/src/types/kmx/kmx-plus-builder/build-list.d.ts +38 -0
  75. package/build/src/types/kmx/kmx-plus-builder/build-list.d.ts.map +1 -0
  76. package/build/src/types/kmx/kmx-plus-builder/build-list.js +69 -0
  77. package/build/src/types/kmx/kmx-plus-builder/build-list.js.map +1 -0
  78. package/build/src/types/kmx/kmx-plus-builder/build-loca.d.ts +13 -0
  79. package/build/src/types/kmx/kmx-plus-builder/build-loca.d.ts.map +1 -0
  80. package/build/src/types/kmx/kmx-plus-builder/build-loca.js +23 -0
  81. package/build/src/types/kmx/kmx-plus-builder/build-loca.js.map +1 -0
  82. package/build/src/types/kmx/kmx-plus-builder/build-meta.d.ts +18 -0
  83. package/build/src/types/kmx/kmx-plus-builder/build-meta.d.ts.map +1 -0
  84. package/build/src/types/kmx/kmx-plus-builder/build-meta.js +24 -0
  85. package/build/src/types/kmx/kmx-plus-builder/build-meta.js.map +1 -0
  86. package/build/src/types/kmx/kmx-plus-builder/build-sect.d.ts +16 -0
  87. package/build/src/types/kmx/kmx-plus-builder/build-sect.d.ts.map +1 -0
  88. package/build/src/types/kmx/kmx-plus-builder/build-sect.js +17 -0
  89. package/build/src/types/kmx/kmx-plus-builder/build-sect.js.map +1 -0
  90. package/build/src/types/kmx/kmx-plus-builder/build-strs.d.ts +25 -0
  91. package/build/src/types/kmx/kmx-plus-builder/build-strs.d.ts.map +1 -0
  92. package/build/src/types/kmx/kmx-plus-builder/build-strs.js +49 -0
  93. package/build/src/types/kmx/kmx-plus-builder/build-strs.js.map +1 -0
  94. package/build/src/types/kmx/kmx-plus-builder/build-tran.d.ts +35 -0
  95. package/build/src/types/kmx/kmx-plus-builder/build-tran.d.ts.map +1 -0
  96. package/build/src/types/kmx/kmx-plus-builder/build-tran.js +71 -0
  97. package/build/src/types/kmx/kmx-plus-builder/build-tran.js.map +1 -0
  98. package/build/src/types/kmx/kmx-plus-builder/build-uset.d.ts +34 -0
  99. package/build/src/types/kmx/kmx-plus-builder/build-uset.d.ts.map +1 -0
  100. package/build/src/types/kmx/kmx-plus-builder/build-uset.js +63 -0
  101. package/build/src/types/kmx/kmx-plus-builder/build-uset.js.map +1 -0
  102. package/build/src/types/kmx/kmx-plus-builder/build-vars.d.ts +23 -0
  103. package/build/src/types/kmx/kmx-plus-builder/build-vars.d.ts.map +1 -0
  104. package/build/src/types/kmx/kmx-plus-builder/build-vars.js +50 -0
  105. package/build/src/types/kmx/kmx-plus-builder/build-vars.js.map +1 -0
  106. package/build/src/types/kmx/kmx-plus-builder/builder-section.d.ts +10 -0
  107. package/build/src/types/kmx/kmx-plus-builder/builder-section.d.ts.map +1 -0
  108. package/build/src/types/kmx/kmx-plus-builder/builder-section.js +6 -0
  109. package/build/src/types/kmx/kmx-plus-builder/builder-section.js.map +1 -0
  110. package/build/src/types/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +44 -0
  111. package/build/src/types/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +1 -0
  112. package/build/src/types/kmx/kmx-plus-builder/kmx-plus-builder.js +139 -0
  113. package/build/src/types/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -0
  114. package/build/src/types/kpj/keyman-developer-project.d.ts +79 -0
  115. package/build/src/types/kpj/keyman-developer-project.d.ts.map +1 -0
  116. package/build/src/types/kpj/keyman-developer-project.js +197 -0
  117. package/build/src/types/kpj/keyman-developer-project.js.map +1 -0
  118. package/build/src/types/kpj/kpj-file-reader.d.ts +19 -0
  119. package/build/src/types/kpj/kpj-file-reader.d.ts.map +1 -0
  120. package/build/src/types/kpj/kpj-file-reader.js +121 -0
  121. package/build/src/types/kpj/kpj-file-reader.js.map +1 -0
  122. package/build/src/types/kpj/kpj-file.d.ts +40 -0
  123. package/build/src/types/kpj/kpj-file.d.ts.map +1 -0
  124. package/build/src/types/kpj/kpj-file.js +14 -0
  125. package/build/src/types/kpj/kpj-file.js.map +1 -0
  126. package/build/src/types/kps/kps-file.d.ts +176 -0
  127. package/build/src/types/kps/kps-file.d.ts.map +1 -0
  128. package/build/src/types/kps/kps-file.js +19 -0
  129. package/build/src/types/kps/kps-file.js.map +1 -0
  130. package/build/src/types/kvks/kvks-file-reader.d.ts +26 -0
  131. package/build/src/types/kvks/kvks-file-reader.d.ts.map +1 -0
  132. package/build/src/types/kvks/kvks-file-reader.js +181 -0
  133. package/build/src/types/kvks/kvks-file-reader.js.map +1 -0
  134. package/build/src/types/kvks/kvks-file-writer.d.ts +9 -0
  135. package/build/src/types/kvks/kvks-file-writer.d.ts.map +1 -0
  136. package/build/src/types/kvks/kvks-file-writer.js +109 -0
  137. package/build/src/types/kvks/kvks-file-writer.js.map +1 -0
  138. package/build/src/types/kvks/kvks-file.d.ts +44 -0
  139. package/build/src/types/kvks/kvks-file.d.ts.map +1 -0
  140. package/build/src/types/kvks/kvks-file.js +13 -0
  141. package/build/src/types/kvks/kvks-file.js.map +1 -0
  142. package/build/src/types/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +61 -0
  143. package/build/src/types/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +1 -0
  144. package/build/src/types/ldml-keyboard/ldml-keyboard-testdata-xml.js +23 -0
  145. package/build/src/types/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -0
  146. package/build/src/types/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +96 -0
  147. package/build/src/types/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -0
  148. package/build/src/types/ldml-keyboard/ldml-keyboard-xml-reader.js +430 -0
  149. package/build/src/types/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -0
  150. package/build/src/types/ldml-keyboard/ldml-keyboard-xml.d.ts +171 -0
  151. package/build/src/types/ldml-keyboard/ldml-keyboard-xml.d.ts.map +1 -0
  152. package/build/src/types/ldml-keyboard/ldml-keyboard-xml.js +59 -0
  153. package/build/src/types/ldml-keyboard/ldml-keyboard-xml.js.map +1 -0
  154. package/build/src/{KeymanSentry.d.ts → utils/KeymanSentry.d.ts} +11 -11
  155. package/build/src/utils/KeymanSentry.d.ts.map +1 -0
  156. package/build/src/{KeymanSentry.js → utils/KeymanSentry.js} +75 -75
  157. package/build/src/utils/KeymanSentry.js.map +1 -0
  158. package/build/src/{keyman-urls.d.ts → utils/keyman-urls.d.ts} +14 -14
  159. package/build/src/utils/keyman-urls.d.ts.map +1 -0
  160. package/build/src/{keyman-urls.js → utils/keyman-urls.js} +20 -20
  161. package/build/src/utils/keyman-urls.js.map +1 -0
  162. package/build/src/{markdown.d.ts → utils/markdown.d.ts} +1 -1
  163. package/build/src/utils/markdown.d.ts.map +1 -0
  164. package/build/src/{markdown.js → utils/markdown.js} +22 -22
  165. package/build/src/utils/markdown.js.map +1 -0
  166. package/build/src/{options.d.ts → utils/options.d.ts} +43 -43
  167. package/build/src/utils/options.d.ts.map +1 -0
  168. package/build/src/{options.js → utils/options.js} +57 -57
  169. package/build/src/utils/options.js.map +1 -0
  170. package/build/src/{validate-mit-license.d.ts → utils/validate-mit-license.d.ts} +6 -6
  171. package/build/src/utils/validate-mit-license.d.ts.map +1 -0
  172. package/build/src/{validate-mit-license.js → utils/validate-mit-license.js} +50 -50
  173. package/build/src/utils/validate-mit-license.js.map +1 -0
  174. package/build/test/helpers/index.d.ts +13 -0
  175. package/build/test/helpers/index.d.ts.map +1 -0
  176. package/build/test/helpers/index.js +42 -0
  177. package/build/test/helpers/index.js.map +1 -0
  178. package/build/test/helpers/reader-callback-test.d.ts +73 -0
  179. package/build/test/helpers/reader-callback-test.d.ts.map +1 -0
  180. package/build/test/helpers/reader-callback-test.js +108 -0
  181. package/build/test/helpers/reader-callback-test.js.map +1 -0
  182. package/build/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.d.ts +2 -0
  183. package/build/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.d.ts.map +1 -0
  184. package/build/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.js +64 -0
  185. package/build/test/keyman-touch-layout/test-keyman-touch-layout-file-reader.js.map +1 -0
  186. package/build/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.d.ts +2 -0
  187. package/build/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.d.ts.map +1 -0
  188. package/build/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.js +34 -0
  189. package/build/test/keyman-touch-layout/test-keyman-touch-layout-round-trip.js.map +1 -0
  190. package/build/test/kmx/test-ldml-keyboard-testdata-reader.d.ts +2 -0
  191. package/build/test/kmx/test-ldml-keyboard-testdata-reader.d.ts.map +1 -0
  192. package/build/test/kmx/test-ldml-keyboard-testdata-reader.js +54 -0
  193. package/build/test/kmx/test-ldml-keyboard-testdata-reader.js.map +1 -0
  194. package/build/test/kmx/test-ldml-keyboard-xml-reader.d.ts +2 -0
  195. package/build/test/kmx/test-ldml-keyboard-xml-reader.d.ts.map +1 -0
  196. package/build/test/kmx/test-ldml-keyboard-xml-reader.js +209 -0
  197. package/build/test/kmx/test-ldml-keyboard-xml-reader.js.map +1 -0
  198. package/build/test/kpj/test-kpj-file-reader.d.ts +2 -0
  199. package/build/test/kpj/test-kpj-file-reader.d.ts.map +1 -0
  200. package/build/test/kpj/test-kpj-file-reader.js +141 -0
  201. package/build/test/kpj/test-kpj-file-reader.js.map +1 -0
  202. package/build/test/kvks/test-kvk-round-trip.d.ts +2 -0
  203. package/build/test/kvks/test-kvk-round-trip.d.ts.map +1 -0
  204. package/build/test/kvks/test-kvk-round-trip.js +108 -0
  205. package/build/test/kvks/test-kvk-round-trip.js.map +1 -0
  206. package/build/test/kvks/test-kvk-utils.d.ts +6 -0
  207. package/build/test/kvks/test-kvk-utils.d.ts.map +1 -0
  208. package/build/test/kvks/test-kvk-utils.js +42 -0
  209. package/build/test/kvks/test-kvk-utils.js.map +1 -0
  210. package/build/test/kvks/test-kvks-file.d.ts +2 -0
  211. package/build/test/kvks/test-kvks-file.d.ts.map +1 -0
  212. package/build/test/kvks/test-kvks-file.js +59 -0
  213. package/build/test/kvks/test-kvks-file.js.map +1 -0
  214. package/build/test/test-is-valid-email.d.ts +2 -0
  215. package/build/test/test-is-valid-email.d.ts.map +1 -0
  216. package/build/test/test-is-valid-email.js +36 -0
  217. package/build/test/test-is-valid-email.js.map +1 -0
  218. package/build/test/test-license.d.ts +2 -0
  219. package/build/test/test-license.d.ts.map +1 -0
  220. package/build/test/test-license.js +24 -0
  221. package/build/test/test-license.js.map +1 -0
  222. package/build/test/tsconfig.tsbuildinfo +1 -0
  223. package/build/tsconfig.tsbuildinfo +1 -1
  224. package/package.json +15 -6
  225. package/build/index.d.ts +0 -6
  226. package/build/index.d.ts.map +0 -1
  227. package/build/index.js +0 -9
  228. package/build/index.js.map +0 -1
  229. package/build/src/KeymanSentry.d.ts.map +0 -1
  230. package/build/src/KeymanSentry.js.map +0 -1
  231. package/build/src/keyman-urls.d.ts.map +0 -1
  232. package/build/src/keyman-urls.js.map +0 -1
  233. package/build/src/markdown.d.ts.map +0 -1
  234. package/build/src/markdown.js.map +0 -1
  235. package/build/src/options.d.ts.map +0 -1
  236. package/build/src/options.js.map +0 -1
  237. package/build/src/validate-mit-license.d.ts.map +0 -1
  238. package/build/src/validate-mit-license.js.map +0 -1
@@ -0,0 +1,26 @@
1
+
2
+ !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]="8bdbff19-a4cf-5b63-8d69-5c96ce007c6e")}catch(e){}}();
3
+ export { validateMITLicense } from './utils/validate-mit-license.js';
4
+ export { KeymanSentry } from './utils/KeymanSentry.js';
5
+ export { getOption, loadOptions, clearOptions } from './utils/options.js';
6
+ export { escapeMarkdownChar } from './utils/markdown.js';
7
+ export { KeymanUrls } from './utils/keyman-urls.js';
8
+ export * as KPJ from './types/kpj/kpj-file.js';
9
+ export { KPJFileReader } from './types/kpj/kpj-file-reader.js';
10
+ export { KeymanDeveloperProject, KeymanDeveloperProjectType, } from './types/kpj/keyman-developer-project.js';
11
+ export { isValidEmail } from './is-valid-email.js';
12
+ export * as KpsFile from './types/kps/kps-file.js';
13
+ export { default as KvksFileReader } from './types/kvks/kvks-file-reader.js';
14
+ export { default as KvksFileWriter } from './types/kvks/kvks-file-writer.js';
15
+ export * as KvksFile from './types/kvks/kvks-file.js';
16
+ export { TouchLayoutFileReader } from './types/keyman-touch-layout/keyman-touch-layout-file-reader.js';
17
+ export { TouchLayoutFileWriter } from './types/keyman-touch-layout/keyman-touch-layout-file-writer.js';
18
+ export { default as KMXBuilder } from './types/kmx/kmx-builder.js';
19
+ export { default as KMXPlusBuilder } from './types/kmx/kmx-plus-builder/kmx-plus-builder.js';
20
+ export * as LDMLKeyboard from './types/ldml-keyboard/ldml-keyboard-xml.js';
21
+ export { LDMLKeyboardXMLSourceFileReader, LDMLKeyboardXMLSourceFileReaderOptions } from './types/ldml-keyboard/ldml-keyboard-xml-reader.js';
22
+ export { defaultCompilerOptions, CompilerErrorNamespace, CompilerErrorSeverity, CompilerError, CompilerMessageSpec, CompilerMessageSpecWithException, compilerErrorSeverity, CompilerErrorMask, CompilerFileCallbacks, compilerErrorSeverityName, compilerErrorFormatCode, CompilerMessageDef, compilerLogLevelToSeverity, compilerEventFormat, ALL_COMPILER_LOG_LEVELS, ALL_COMPILER_LOG_FORMATS } from './compiler-interfaces.js';
23
+ export { CommonTypesMessages } from './common-messages.js';
24
+ export * as xml2js from './deps/xml2js/xml2js.js';
25
+ //# sourceMappingURL=index.js.map
26
+ //# debugId=8bdbff19-a4cf-5b63-8d69-5c96ce007c6e
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourceRoot":"","names":[],"mappings":";;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAA8B,0BAA0B,GAAG,MAAM,yCAAyC,CAAC;AAC1I,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAgC,MAAM,gEAAgE,CAAC;AAErI,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAO,kDAAkD,CAAC;AAE7F,OAAO,KAAK,YAAY,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,+BAA+B,EAAE,sCAAsC,EAAE,MAAM,mDAAmD,CAAC;AAE5I,OAAO,EAAE,sBAAsB,EAA0E,sBAAsB,EAC7H,qBAAqB,EACrB,aAAa,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,yBAAyB,EAChK,uBAAuB,EAAE,kBAAkB,EAC3C,0BAA0B,EAAoB,mBAAmB,EAAE,uBAAuB,EAC1F,wBAAwB,EAUvB,MAAM,0BAA0B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC","debug_id":"8bdbff19-a4cf-5b63-8d69-5c96ce007c6e"}
@@ -0,0 +1,2 @@
1
+ export declare function isValidEmail(email: string): boolean;
2
+ //# sourceMappingURL=is-valid-email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-valid-email.d.ts","sourceRoot":"","sources":["../../src/is-valid-email.ts"],"names":[],"mappings":"AAeA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,WAEzC"}
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Keyman is copyright (C) SIL International. MIT License.
3
+ *
4
+ * Verify email address format, following WHATWG guidelines
5
+ */
6
+ // There is no "good" definition of a valid email address. Email addresses are
7
+ // horrific. They can contain comments, whitespace, and all manner of ugly
8
+ // things. Because we use AJV to verify JSON files, we use their specification
9
+ // on what is a valid email address. Some useful references:
10
+ // * https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
11
+ // * http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363
12
+ // * https://github.com/ajv-validator/ajv-formats/blob/4ca86d21bd07571a30178cbb3714133db6eada9a/src/formats.ts#L122
13
+ // * https://github.com/ajv-validator/ajv-formats/blob/4ca86d21bd07571a30178cbb3714133db6eada9a/src/formats.ts#L65
14
+
15
+ !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]="d1eaac84-9ecc-5cfd-a949-547896946cc6")}catch(e){}}();
16
+ export function isValidEmail(email) {
17
+ return /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i.test(email);
18
+ }
19
+ //# sourceMappingURL=is-valid-email.js.map
20
+ //# debugId=d1eaac84-9ecc-5cfd-a949-547896946cc6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-valid-email.js","sources":["../../src/is-valid-email.ts"],"sourceRoot":"","names":[],"mappings":"AAAA;;;;GAIG;AAEH,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,4DAA4D;AAC5D,2EAA2E;AAC3E,qHAAqH;AACrH,mHAAmH;AACnH,kHAAkH;;;AAElH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,kHAAkH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxI,CAAC","debug_id":"d1eaac84-9ecc-5cfd-a949-547896946cc6"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "sha": "dd5776f650183c9172abe2a57313ed41619d41fb",
3
+ "description": "release-45",
4
+ "date": "Fri, 19 Apr 2024 22:23:26 +0000"
5
+ }
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ Copyright © 1991-2024 Unicode, Inc.
4
+ For terms of use, see http://www.unicode.org/copyright.html
5
+ SPDX-License-Identifier: Unicode-3.0
6
+ CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
7
+ -->
8
+ <!--
9
+ This is the implied import for implied keys.
10
+ Please note that any implied keys may be overridden by keyboard layouts.
11
+ -->
12
+ <!DOCTYPE keys SYSTEM "../dtd/ldmlKeyboard3.dtd">
13
+ <keys>
14
+
15
+ <key id="gap" gap="true" width="1"/>
16
+ <key id="space" output="\u{0020}" stretch="true" width="1"/>
17
+
18
+ <key id="0" output="0"/>
19
+ <key id="1" output="1"/>
20
+ <key id="2" output="2"/>
21
+ <key id="3" output="3"/>
22
+ <key id="4" output="4"/>
23
+ <key id="5" output="5"/>
24
+ <key id="6" output="6"/>
25
+ <key id="7" output="7"/>
26
+ <key id="8" output="8"/>
27
+ <key id="9" output="9"/>
28
+ <key id="A" output="A"/>
29
+ <key id="B" output="B"/>
30
+ <key id="C" output="C"/>
31
+ <key id="D" output="D"/>
32
+ <key id="E" output="E"/>
33
+ <key id="F" output="F"/>
34
+ <key id="G" output="G"/>
35
+ <key id="H" output="H"/>
36
+ <key id="I" output="I"/>
37
+ <key id="J" output="J"/>
38
+ <key id="K" output="K"/>
39
+ <key id="L" output="L"/>
40
+ <key id="M" output="M"/>
41
+ <key id="N" output="N"/>
42
+ <key id="O" output="O"/>
43
+ <key id="P" output="P"/>
44
+ <key id="Q" output="Q"/>
45
+ <key id="R" output="R"/>
46
+ <key id="S" output="S"/>
47
+ <key id="T" output="T"/>
48
+ <key id="U" output="U"/>
49
+ <key id="V" output="V"/>
50
+ <key id="W" output="W"/>
51
+ <key id="X" output="X"/>
52
+ <key id="Y" output="Y"/>
53
+ <key id="Z" output="Z"/>
54
+ <key id="a" output="a"/>
55
+ <key id="b" output="b"/>
56
+ <key id="c" output="c"/>
57
+ <key id="d" output="d"/>
58
+ <key id="e" output="e"/>
59
+ <key id="f" output="f"/>
60
+ <key id="g" output="g"/>
61
+ <key id="h" output="h"/>
62
+ <key id="i" output="i"/>
63
+ <key id="j" output="j"/>
64
+ <key id="k" output="k"/>
65
+ <key id="l" output="l"/>
66
+ <key id="m" output="m"/>
67
+ <key id="n" output="n"/>
68
+ <key id="o" output="o"/>
69
+ <key id="p" output="p"/>
70
+ <key id="q" output="q"/>
71
+ <key id="r" output="r"/>
72
+ <key id="s" output="s"/>
73
+ <key id="t" output="t"/>
74
+ <key id="u" output="u"/>
75
+ <key id="v" output="v"/>
76
+ <key id="w" output="w"/>
77
+ <key id="x" output="x"/>
78
+ <key id="y" output="y"/>
79
+ <key id="z" output="z"/>
80
+ </keys>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ Copyright © 1991-2024 Unicode, Inc.
4
+ SPDX-License-Identifier: Unicode-3.0
5
+ CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
6
+ -->
7
+ <!DOCTYPE keys SYSTEM "../dtd/ldmlKeyboard3.dtd">
8
+ <keys>
9
+ <key id="dollar" output="$" />
10
+ <key id="euro" output="€" />
11
+ <key id="pound" output="£" />
12
+ <key id="yen" output="¥" />
13
+ <key id="cruzeiro" output="₢" />
14
+ <key id="cent" output="¢" />
15
+ </keys>
@@ -0,0 +1,45 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ Copyright © 1991-2024 Unicode, Inc.
4
+ SPDX-License-Identifier: Unicode-3.0
5
+ CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
6
+ -->
7
+ <!DOCTYPE keys SYSTEM "../dtd/ldmlKeyboard3.dtd">
8
+ <keys>
9
+ <!-- General Symbols -->
10
+ <key id="amp" output="\u{0026}" />
11
+ <key id="apos" output="'" />
12
+ <key id="asterisk" output="*" />
13
+ <key id="at" output="@" />
14
+ <key id="backslash" output="\u{005C}" />
15
+ <key id="bang" output="!" />
16
+ <key id="caret" output="^" />
17
+ <key id="close-angle" output=">" />
18
+ <key id="close-curly" output="}" />
19
+ <key id="close-paren" output=")" />
20
+ <key id="close-square" output="]" />
21
+ <key id="colon" output=":" />
22
+ <key id="comma" output="," />
23
+ <key id="degree" output="°" />
24
+ <key id="double-quote" output="\u{0022}" />
25
+ <key id="equal" output="=" />
26
+ <key id="grave" output="`" />
27
+ <key id="hash" output="#" />
28
+ <key id="hyphen" output="-" />
29
+ <key id="micro" output="µ" />
30
+ <key id="not" output="¬" />
31
+ <key id="open-angle" output="\u{003C}" />
32
+ <key id="open-curly" output="{" />
33
+ <key id="open-paren" output="(" />
34
+ <key id="open-square" output="[" />
35
+ <key id="percent" output="%" />
36
+ <key id="period" output="." />
37
+ <key id="pipe" output="|" />
38
+ <key id="plus" output="+" />
39
+ <key id="question" output="?" />
40
+ <key id="section" output="§" />
41
+ <key id="semi-colon" output=";" />
42
+ <key id="slash" output="/" />
43
+ <key id="tilde" output="~" />
44
+ <key id="underscore" output="_" />
45
+ </keys>
@@ -0,0 +1,53 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <forms>
3
+ <!--
4
+ These are the implied form values for hardware layouts.
5
+ Per the spec, this file is assumed to be imported into
6
+ every keyboard file.
7
+
8
+ Each row is a separate scanCodes element.
9
+ Values are space separated hex bytes.
10
+ Frame keys are not included.
11
+ -->
12
+
13
+ <form id="us">
14
+ <scanCodes codes="29 02 03 04 05 06 07 08 09 0A 0B 0C 0D" /> <!-- 13 keys, ` to = -->
15
+ <scanCodes codes="10 11 12 13 14 15 16 17 18 19 1A 1B 2B" /> <!-- 13 keys, Q to \ -->
16
+ <scanCodes codes="1E 1F 20 21 22 23 24 25 26 27 28" /> <!-- 11 keys, A to ' -->
17
+ <scanCodes codes="2C 2D 2E 2F 30 31 32 33 34 35" /> <!-- 10 keys, Z to / -->
18
+ <scanCodes codes="39" /> <!-- 1 key, spacebar -->
19
+ </form>
20
+ <form id="iso">
21
+ <scanCodes codes="29 02 03 04 05 06 07 08 09 0A 0B 0C 0D" /> <!-- 13 keys -->
22
+ <scanCodes codes="10 11 12 13 14 15 16 17 18 19 1A 1B" /> <!-- 12 keys -->
23
+ <scanCodes codes="1E 1F 20 21 22 23 24 25 26 27 28 2B" /> <!-- 12 keys -->
24
+ <scanCodes codes="56 2C 2D 2E 2F 30 31 32 33 34 35" /> <!-- 11 keys-->
25
+ <scanCodes codes="39" /> <!-- 1 key, spacebar -->
26
+ </form>
27
+ <form id="abnt2">
28
+ <scanCodes codes="29 02 03 04 05 06 07 08 09 0A 0B 0C 0D" /> <!-- 13 keys -->
29
+ <scanCodes codes="10 11 12 13 14 15 16 17 18 19 1A 1B" /> <!-- 12 keys -->
30
+ <scanCodes codes="1E 1F 20 21 22 23 24 25 26 27 28 2B" /> <!-- 12 keys -->
31
+ <scanCodes codes="56 2C 2D 2E 2F 30 31 32 33 34 35 73" /> <!-- 12 keys-->
32
+ <scanCodes codes="39" /> <!-- 1 key, spacebar -->
33
+ </form>
34
+ <form id="jis">
35
+ <scanCodes codes="29 02 03 04 05 06 07 08 09 0A 0B 0C 0D 7D" /> <!-- 14 keys -->
36
+ <scanCodes codes="10 11 12 13 14 15 16 17 18 19 1A 1B" /> <!-- 12 keys -->
37
+ <scanCodes codes="1E 1F 20 21 22 23 24 25 26 27 28 2B" /> <!-- 12 keys -->
38
+ <scanCodes codes="2C 2D 2E 2F 30 31 32 33 34 35 73" /> <!-- 11 keys-->
39
+ <scanCodes codes="39" /> <!-- 1 key, spacebar -->
40
+ </form>
41
+ <form id="ks">
42
+ <scanCodes codes="29 02 03 04 05 06 07 08 09 0A 0B 0C 0D 2B" /> <!-- 14 keys -->
43
+ <scanCodes codes="10 11 12 13 14 15 16 17 18 19 1A 1B" /> <!-- 12 keys -->
44
+ <scanCodes codes="1E 1F 20 21 22 23 24 25 26 27 28" /> <!-- 11 keys -->
45
+ <scanCodes codes="2C 2D 2E 2F 30 31 32 33 34 35" /> <!-- 10 keys, Z to / -->
46
+ <scanCodes codes="39" /> <!-- 1 key, spacebar -->
47
+ </form>
48
+
49
+ <!--
50
+ "touch" is not a hardware layout form, and so is not defined here.
51
+ <form id="touch"/>
52
+ -->
53
+ </forms>
@@ -0,0 +1,7 @@
1
+ import { TouchLayout } from "@keymanapp/common-types";
2
+ import TouchLayoutFile = TouchLayout.TouchLayoutFile;
3
+ export declare class TouchLayoutFileReader {
4
+ read(source: Uint8Array): TouchLayoutFile;
5
+ validate(source: TouchLayoutFile): void;
6
+ }
7
+ //# sourceMappingURL=keyman-touch-layout-file-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyman-touch-layout-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/keyman-touch-layout/keyman-touch-layout-file-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;AAGrD,qBAAa,qBAAqB;IACzB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe;IAgEzC,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAS/C"}
@@ -0,0 +1,74 @@
1
+
2
+ !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]="47ac4f55-4f75-5596-a2a0-c27fcad664f9")}catch(e){}}();
3
+ import { SchemaValidators } from '@keymanapp/common-types';
4
+ export class TouchLayoutFileReader {
5
+ read(source) {
6
+ const decoder = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
7
+ let sourceString;
8
+ try {
9
+ sourceString = decoder.decode(source);
10
+ /* c8 ignore next 7 */
11
+ }
12
+ catch (e) {
13
+ if (e instanceof TypeError) {
14
+ // TODO: Do we want to do something else with this?
15
+ throw e;
16
+ }
17
+ throw e;
18
+ }
19
+ let result;
20
+ try {
21
+ result = JSON.parse(sourceString, function (key, value) {
22
+ // `row.id` should be number, but may have been stringified; we use
23
+ // presence of `key` property to recognise this as a `TouchLayoutRow`.
24
+ if (this.key && key == 'id' && typeof value == 'string') {
25
+ const newValue = parseInt(value, 10);
26
+ /* c8 ignore next 3 */
27
+ if (isNaN(newValue)) {
28
+ throw new TypeError(`Invalid row.id: "${value}"`);
29
+ }
30
+ return newValue;
31
+ }
32
+ // `key.width`, `key.pad`, `key.sp` should be number, but may have been
33
+ // stringified
34
+ if (key == 'width' || key == 'pad' || key == 'sp') {
35
+ if (value === '') {
36
+ // Empty string is equivalent to not present, so fall back to
37
+ // default value
38
+ return undefined;
39
+ }
40
+ const newValue = parseInt(value, 10);
41
+ /* c8 ignore next 3 */
42
+ if (isNaN(newValue)) {
43
+ throw new TypeError(`Invalid [sub]key.${key}: "${value}"`);
44
+ }
45
+ return newValue;
46
+ }
47
+ if (Array.isArray(value) && value.length == 0) {
48
+ // Delete empty arrays
49
+ return undefined;
50
+ }
51
+ return value;
52
+ });
53
+ /* c8 ignore next 7 */
54
+ }
55
+ catch (e) {
56
+ if (e instanceof SyntaxError) {
57
+ // TODO: Do we want to do something else with this?
58
+ throw e;
59
+ }
60
+ throw e;
61
+ }
62
+ return result;
63
+ }
64
+ validate(source) {
65
+ if (!SchemaValidators.default.touchLayoutClean(source))
66
+ /* c8 ignore next 3 */
67
+ {
68
+ throw new Error(JSON.stringify(SchemaValidators.default.touchLayoutClean.errors));
69
+ }
70
+ }
71
+ }
72
+ ;
73
+ //# sourceMappingURL=keyman-touch-layout-file-reader.js.map
74
+ //# debugId=47ac4f55-4f75-5596-a2a0-c27fcad664f9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyman-touch-layout-file-reader.js","sources":["../../../../src/types/keyman-touch-layout/keyman-touch-layout-file-reader.ts"],"sourceRoot":"","names":[],"mappings":";;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,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,CAAC;YACH,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,sBAAsB;QACtB,CAAC;QAAC,OAAM,CAAC,EAAE,CAAC;YACV,IAAG,CAAC,YAAY,SAAS,EAAE,CAAC;gBAC1B,mDAAmD;gBACnD,MAAM,CAAC,CAAC;YACV,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,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,CAAC;oBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACrC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnB,MAAM,IAAI,SAAS,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;oBACpD,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,uEAAuE;gBACvE,cAAc;gBACd,IAAG,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBACjD,IAAG,KAAK,KAAK,EAAE,EAAE,CAAC;wBAChB,6DAA6D;wBAC7D,gBAAgB;wBAChB,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACrC,sBAAsB;oBACtB,IAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnB,MAAM,IAAI,SAAS,CAAC,oBAAoB,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC;oBAC7D,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC7C,sBAAsB;oBACtB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACL,sBAAsB;QACtB,CAAC;QAAC,OAAM,CAAC,EAAE,CAAC;YACV,IAAG,CAAC,YAAY,WAAW,EAAE,CAAC;gBAC5B,mDAAmD;gBACnD,MAAM,CAAC,CAAC;YACV,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,MAAuB;QACrC,IAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACrD,sBAAsB;QACtB,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAO,gBAAgB,CAAC,OAAO,CAAC,gBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;CAGF;AAAA,CAAC","debug_id":"47ac4f55-4f75-5596-a2a0-c27fcad664f9"}
@@ -0,0 +1,30 @@
1
+ import { TouchLayout } from "@keymanapp/common-types";
2
+ import TouchLayoutFile = TouchLayout.TouchLayoutFile;
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
+ //# sourceMappingURL=keyman-touch-layout-file-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyman-touch-layout-file-writer.d.ts","sourceRoot":"","sources":["../../../../src/types/keyman-touch-layout/keyman-touch-layout-file-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;AAKrD,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;CAmFvD"}
@@ -0,0 +1,123 @@
1
+
2
+ !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]="e61ba7c0-24c1-5a5b-b351-1f2e112b98f9")}catch(e){}}();
3
+ ;
4
+ ;
5
+ export class TouchLayoutFileWriter {
6
+ options;
7
+ constructor(options) {
8
+ this.options = { ...options };
9
+ }
10
+ /**
11
+ * Writes the touch layout to a .keyman-touch-layout JSON file
12
+ * @param source TouchLayoutFile
13
+ * @returns Uint8Array, the .keyman-touch-layout file
14
+ */
15
+ write(source) {
16
+ const output = this.toJSONString(source);
17
+ const encoder = new TextEncoder();
18
+ return encoder.encode(output);
19
+ }
20
+ /**
21
+ * Gets the output as a JSON string
22
+ */
23
+ toJSONString(source) {
24
+ return JSON.stringify(source, null, this.options?.formatted ? 2 : undefined);
25
+ }
26
+ /**
27
+ * Compiles the touch layout file into a KeymanWeb-compatible JSON-style
28
+ * object string. In the future, this may be optimized to remove unnecessary
29
+ * quoting of property names, and remove unused properties, as this string
30
+ * is embedded into .js code.
31
+ * @param source
32
+ * @returns string
33
+ */
34
+ compile(source) {
35
+ return this.toJSONString(this.fixup(source));
36
+ }
37
+ fixup(source) {
38
+ // Deep copy the source
39
+ source = JSON.parse(JSON.stringify(source));
40
+ // Fixup pad, width and sp to string types, as that's what KeymanWeb
41
+ // currently expects
42
+ const fixupKey = (key) => {
43
+ if (Object.hasOwn(key, 'pad')) {
44
+ if (key.pad == 0) {
45
+ delete key.pad;
46
+ }
47
+ else {
48
+ key.pad = key.pad.toString();
49
+ }
50
+ }
51
+ if (Object.hasOwn(key, 'sp')) {
52
+ if (key.sp == 0) {
53
+ delete key.sp;
54
+ }
55
+ else {
56
+ key.sp = key.sp.toString();
57
+ }
58
+ }
59
+ if (Object.hasOwn(key, 'width')) {
60
+ if (key.width == 0) {
61
+ delete key.width;
62
+ }
63
+ else {
64
+ key.width = key.width.toString();
65
+ }
66
+ }
67
+ if (Object.hasOwn(key, 'text') && key.text === '')
68
+ delete key.text;
69
+ if (Object.hasOwn(key, 'id') && key.id === '')
70
+ delete key.id;
71
+ if (Object.hasOwn(key, 'hint') && key.hint === '')
72
+ delete key.hint;
73
+ if (Object.hasOwn(key, 'default') && key.default === false)
74
+ delete key.default;
75
+ };
76
+ const fixupPlatform = (platform) => {
77
+ // font and fontsize are eliminated if nullish:
78
+ if (Object.hasOwn(platform, 'font') && platform.font == '')
79
+ delete platform.font;
80
+ if (Object.hasOwn(platform, 'fontsize') && platform.fontsize == '')
81
+ delete platform.fontsize;
82
+ // displayUnderlying is always written out by kmcomp, so we do the same for kmc:
83
+ platform.displayUnderlying = !!platform.displayUnderlying;
84
+ for (const layer of platform.layer) {
85
+ for (const row of layer.row) {
86
+ // this matches the old spec for touch layout files
87
+ row.id = row.id.toString();
88
+ for (const key of row.key) {
89
+ fixupKey(key);
90
+ if (key.sk) {
91
+ for (const sk of key.sk) {
92
+ fixupKey(sk);
93
+ }
94
+ }
95
+ if (key.multitap) {
96
+ for (const sk of key.multitap) {
97
+ fixupKey(sk);
98
+ }
99
+ }
100
+ if (key.flick) {
101
+ for (const id of Object.keys(key.flick)) {
102
+ fixupKey(key.flick[id]);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
108
+ };
109
+ if (source.desktop) {
110
+ fixupPlatform(source.desktop);
111
+ }
112
+ if (source.phone) {
113
+ fixupPlatform(source.phone);
114
+ }
115
+ if (source.tablet) {
116
+ fixupPlatform(source.tablet);
117
+ }
118
+ return source;
119
+ }
120
+ }
121
+ ;
122
+ //# sourceMappingURL=keyman-touch-layout-file-writer.js.map
123
+ //# debugId=e61ba7c0-24c1-5a5b-b351-1f2e112b98f9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyman-touch-layout-file-writer.js","sources":["../../../../src/types/keyman-touch-layout/keyman-touch-layout-file-writer.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"e61ba7c0-24c1-5a5b-b351-1f2e112b98f9"}
@@ -0,0 +1,42 @@
1
+ import { KMX } from '@keymanapp/common-types';
2
+ import KMXFile = KMX.KMXFile;
3
+ import GROUP = KMX.GROUP;
4
+ import KEY = KMX.KEY;
5
+ import STORE = KMX.STORE;
6
+ import BUILDER_COMP_KEYBOARD = KMX.BUILDER_COMP_KEYBOARD;
7
+ import BUILDER_COMP_KEYBOARD_KMXPLUSINFO = KMX.BUILDER_COMP_KEYBOARD_KMXPLUSINFO;
8
+ import BUILDER_COMP_STORE = KMX.BUILDER_COMP_STORE;
9
+ import BUILDER_COMP_GROUP = KMX.BUILDER_COMP_GROUP;
10
+ import BUILDER_COMP_KEY = KMX.BUILDER_COMP_KEY;
11
+ export default class KMXBuilder {
12
+ file: KMXFile;
13
+ base_keyboard: number;
14
+ base_kmxplus: number;
15
+ comp_header: BUILDER_COMP_KEYBOARD;
16
+ comp_kmxplus: BUILDER_COMP_KEYBOARD_KMXPLUSINFO;
17
+ comp_stores: {
18
+ base: number;
19
+ store: STORE;
20
+ obj: BUILDER_COMP_STORE;
21
+ }[];
22
+ comp_groups: {
23
+ base: number;
24
+ group: GROUP;
25
+ obj: BUILDER_COMP_GROUP;
26
+ keys: {
27
+ base: number;
28
+ key: KEY;
29
+ obj: BUILDER_COMP_KEY;
30
+ }[];
31
+ }[];
32
+ comp_kmxplus_data: Uint8Array;
33
+ writeDebug: boolean;
34
+ constructor(file: KMXFile, writeDebug: boolean);
35
+ calculateStringOffsetAndSize(string: string, base: number, requireString?: boolean): number[];
36
+ private build;
37
+ buildBitmap(): number;
38
+ buildKMXPlus(base: number): number;
39
+ setString(file: Uint8Array, pos: number, str: string, requireString?: boolean): void;
40
+ compile(): Uint8Array;
41
+ }
42
+ //# sourceMappingURL=kmx-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kmx-builder.d.ts","sourceRoot":"","sources":["../../../../src/types/kmx/kmx-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAKvD,OAAO,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AACrB,OAAO,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,OAAO,qBAAqB,GAAG,GAAG,CAAC,qBAAqB,CAAC;AACzD,OAAO,iCAAiC,GAAG,GAAG,CAAC,iCAAiC,CAAC;AACjF,OAAO,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACnD,OAAO,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACnD,OAAO,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,MAAM,CAAK;IAC1B,YAAY,EAAE,MAAM,CAAK;IACzB,WAAW,EAAE,qBAAqB,CAAC;IACnC,YAAY,EAAE,iCAAiC,CAAC;IAChD,WAAW,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,kBAAkB,CAAA;KAAC,EAAE,CAAM;IAC1E,WAAW,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,kBAAkB,CAAC;QAAC,IAAI,EAAE;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,GAAG,CAAC;YAAC,GAAG,EAAE,gBAAgB,CAAA;SAAC,EAAE,CAAA;KAAC,EAAE,CAAM;IACnI,iBAAiB,EAAE,UAAU,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAS;gBAEhB,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAK9C,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe;IASzF,OAAO,CAAC,KAAK;IAgHb,WAAW;IAKX,YAAY,CAAC,IAAI,EAAE,MAAM;IAezB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,IAAI;IAa3F,OAAO,IAAI,UAAU;CAmDtB"}