@keymanapp/common-types 18.0.83-alpha → 18.0.86-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 (169) hide show
  1. package/build/src/kmx/kmx-plus/element-string.d.ts.map +1 -0
  2. package/build/src/kmx/{element-string.js → kmx-plus/element-string.js} +6 -5
  3. package/build/src/kmx/kmx-plus/element-string.js.map +1 -0
  4. package/build/src/kmx/{kmx-plus.d.ts → kmx-plus/kmx-plus.d.ts} +4 -3
  5. package/build/src/kmx/kmx-plus/kmx-plus.d.ts.map +1 -0
  6. package/build/src/kmx/{kmx-plus.js → kmx-plus/kmx-plus.js} +12 -7
  7. package/build/src/kmx/kmx-plus/kmx-plus.js.map +1 -0
  8. package/build/src/{kmx → ldml-keyboard}/string-list.d.ts +2 -2
  9. package/build/src/ldml-keyboard/string-list.d.ts.map +1 -0
  10. package/build/src/{kmx → ldml-keyboard}/string-list.js +2 -2
  11. package/build/src/ldml-keyboard/string-list.js.map +1 -0
  12. package/build/src/main.d.ts +4 -20
  13. package/build/src/main.d.ts.map +1 -1
  14. package/build/src/main.js +7 -21
  15. package/build/src/main.js.map +1 -1
  16. package/build/src/util/file-types.d.ts +1 -1
  17. package/package.json +4 -11
  18. package/build/src/deps/xml2js/bom.d.ts +0 -2
  19. package/build/src/deps/xml2js/bom.d.ts.map +0 -1
  20. package/build/src/deps/xml2js/bom.js +0 -14
  21. package/build/src/deps/xml2js/bom.js.map +0 -1
  22. package/build/src/deps/xml2js/builder.d.ts +0 -6
  23. package/build/src/deps/xml2js/builder.d.ts.map +0 -1
  24. package/build/src/deps/xml2js/builder.js +0 -133
  25. package/build/src/deps/xml2js/builder.js.map +0 -1
  26. package/build/src/deps/xml2js/defaults.d.ts +0 -69
  27. package/build/src/deps/xml2js/defaults.d.ts.map +0 -1
  28. package/build/src/deps/xml2js/defaults.js +0 -73
  29. package/build/src/deps/xml2js/defaults.js.map +0 -1
  30. package/build/src/deps/xml2js/parser.d.ts +0 -18
  31. package/build/src/deps/xml2js/parser.d.ts.map +0 -1
  32. package/build/src/deps/xml2js/parser.js +0 -395
  33. package/build/src/deps/xml2js/parser.js.map +0 -1
  34. package/build/src/deps/xml2js/processors.d.ts +0 -6
  35. package/build/src/deps/xml2js/processors.d.ts.map +0 -1
  36. package/build/src/deps/xml2js/processors.js +0 -28
  37. package/build/src/deps/xml2js/processors.js.map +0 -1
  38. package/build/src/deps/xml2js/xml2js.d.ts +0 -12
  39. package/build/src/deps/xml2js/xml2js.d.ts.map +0 -1
  40. package/build/src/deps/xml2js/xml2js.js +0 -26
  41. package/build/src/deps/xml2js/xml2js.js.map +0 -1
  42. package/build/src/import/45/cldr_info.json +0 -5
  43. package/build/src/import/45/keys-Latn-implied.xml +0 -80
  44. package/build/src/import/45/keys-Zyyy-currency.xml +0 -15
  45. package/build/src/import/45/keys-Zyyy-punctuation.xml +0 -45
  46. package/build/src/import/45/scanCodes-implied.xml +0 -53
  47. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts +0 -6
  48. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.d.ts.map +0 -1
  49. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +0 -74
  50. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +0 -1
  51. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts +0 -29
  52. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.d.ts.map +0 -1
  53. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +0 -122
  54. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +0 -1
  55. package/build/src/kmx/element-string.d.ts.map +0 -1
  56. package/build/src/kmx/element-string.js.map +0 -1
  57. package/build/src/kmx/kmx-builder.d.ts +0 -33
  58. package/build/src/kmx/kmx-builder.d.ts.map +0 -1
  59. package/build/src/kmx/kmx-builder.js +0 -191
  60. package/build/src/kmx/kmx-builder.js.map +0 -1
  61. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts +0 -19
  62. package/build/src/kmx/kmx-plus-builder/build-disp.d.ts.map +0 -1
  63. package/build/src/kmx/kmx-plus-builder/build-disp.js +0 -29
  64. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +0 -1
  65. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts +0 -29
  66. package/build/src/kmx/kmx-plus-builder/build-elem.d.ts.map +0 -1
  67. package/build/src/kmx/kmx-plus-builder/build-elem.js +0 -91
  68. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +0 -1
  69. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts +0 -57
  70. package/build/src/kmx/kmx-plus-builder/build-keys.d.ts.map +0 -1
  71. package/build/src/kmx/kmx-plus-builder/build-keys.js +0 -109
  72. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +0 -1
  73. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts +0 -54
  74. package/build/src/kmx/kmx-plus-builder/build-layr.d.ts.map +0 -1
  75. package/build/src/kmx/kmx-plus-builder/build-layr.js +0 -103
  76. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +0 -1
  77. package/build/src/kmx/kmx-plus-builder/build-list.d.ts +0 -36
  78. package/build/src/kmx/kmx-plus-builder/build-list.d.ts.map +0 -1
  79. package/build/src/kmx/kmx-plus-builder/build-list.js +0 -68
  80. package/build/src/kmx/kmx-plus-builder/build-list.js.map +0 -1
  81. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts +0 -12
  82. package/build/src/kmx/kmx-plus-builder/build-loca.d.ts.map +0 -1
  83. package/build/src/kmx/kmx-plus-builder/build-loca.js +0 -23
  84. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +0 -1
  85. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts +0 -17
  86. package/build/src/kmx/kmx-plus-builder/build-meta.d.ts.map +0 -1
  87. package/build/src/kmx/kmx-plus-builder/build-meta.js +0 -24
  88. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +0 -1
  89. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts +0 -16
  90. package/build/src/kmx/kmx-plus-builder/build-sect.d.ts.map +0 -1
  91. package/build/src/kmx/kmx-plus-builder/build-sect.js +0 -17
  92. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +0 -1
  93. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts +0 -23
  94. package/build/src/kmx/kmx-plus-builder/build-strs.d.ts.map +0 -1
  95. package/build/src/kmx/kmx-plus-builder/build-strs.js +0 -48
  96. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +0 -1
  97. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts +0 -33
  98. package/build/src/kmx/kmx-plus-builder/build-tran.d.ts.map +0 -1
  99. package/build/src/kmx/kmx-plus-builder/build-tran.js +0 -71
  100. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +0 -1
  101. package/build/src/kmx/kmx-plus-builder/build-uset.d.ts +0 -31
  102. package/build/src/kmx/kmx-plus-builder/build-uset.d.ts.map +0 -1
  103. package/build/src/kmx/kmx-plus-builder/build-uset.js +0 -62
  104. package/build/src/kmx/kmx-plus-builder/build-uset.js.map +0 -1
  105. package/build/src/kmx/kmx-plus-builder/build-vars.d.ts +0 -22
  106. package/build/src/kmx/kmx-plus-builder/build-vars.d.ts.map +0 -1
  107. package/build/src/kmx/kmx-plus-builder/build-vars.js +0 -50
  108. package/build/src/kmx/kmx-plus-builder/build-vars.js.map +0 -1
  109. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts +0 -10
  110. package/build/src/kmx/kmx-plus-builder/builder-section.d.ts.map +0 -1
  111. package/build/src/kmx/kmx-plus-builder/builder-section.js +0 -6
  112. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +0 -1
  113. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts +0 -43
  114. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.d.ts.map +0 -1
  115. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +0 -139
  116. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +0 -1
  117. package/build/src/kmx/kmx-plus.d.ts.map +0 -1
  118. package/build/src/kmx/kmx-plus.js.map +0 -1
  119. package/build/src/kmx/string-list.d.ts.map +0 -1
  120. package/build/src/kmx/string-list.js.map +0 -1
  121. package/build/src/kpj/keyman-developer-project.d.ts +0 -79
  122. package/build/src/kpj/keyman-developer-project.d.ts.map +0 -1
  123. package/build/src/kpj/keyman-developer-project.js +0 -197
  124. package/build/src/kpj/keyman-developer-project.js.map +0 -1
  125. package/build/src/kpj/kpj-file-reader.d.ts +0 -19
  126. package/build/src/kpj/kpj-file-reader.d.ts.map +0 -1
  127. package/build/src/kpj/kpj-file-reader.js +0 -121
  128. package/build/src/kpj/kpj-file-reader.js.map +0 -1
  129. package/build/src/kpj/kpj-file.d.ts +0 -40
  130. package/build/src/kpj/kpj-file.d.ts.map +0 -1
  131. package/build/src/kpj/kpj-file.js +0 -14
  132. package/build/src/kpj/kpj-file.js.map +0 -1
  133. package/build/src/kvk/kvks-file-reader.d.ts +0 -24
  134. package/build/src/kvk/kvks-file-reader.d.ts.map +0 -1
  135. package/build/src/kvk/kvks-file-reader.js +0 -177
  136. package/build/src/kvk/kvks-file-reader.js.map +0 -1
  137. package/build/src/kvk/kvks-file-writer.d.ts +0 -7
  138. package/build/src/kvk/kvks-file-writer.d.ts.map +0 -1
  139. package/build/src/kvk/kvks-file-writer.js +0 -108
  140. package/build/src/kvk/kvks-file-writer.js.map +0 -1
  141. package/build/src/kvk/kvks-file.d.ts +0 -44
  142. package/build/src/kvk/kvks-file.d.ts.map +0 -1
  143. package/build/src/kvk/kvks-file.js +0 -13
  144. package/build/src/kvk/kvks-file.js.map +0 -1
  145. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts +0 -61
  146. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.d.ts.map +0 -1
  147. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +0 -23
  148. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +0 -1
  149. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +0 -96
  150. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +0 -1
  151. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +0 -411
  152. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +0 -1
  153. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts +0 -171
  154. package/build/src/ldml-keyboard/ldml-keyboard-xml.d.ts.map +0 -1
  155. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +0 -59
  156. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +0 -1
  157. package/build/src/package/kps-file.d.ts +0 -176
  158. package/build/src/package/kps-file.d.ts.map +0 -1
  159. package/build/src/package/kps-file.js +0 -19
  160. package/build/src/package/kps-file.js.map +0 -1
  161. package/build/src/util/common-events.d.ts +0 -45
  162. package/build/src/util/common-events.d.ts.map +0 -1
  163. package/build/src/util/common-events.js +0 -30
  164. package/build/src/util/common-events.js.map +0 -1
  165. package/build/src/util/compiler-interfaces.d.ts +0 -372
  166. package/build/src/util/compiler-interfaces.d.ts.map +0 -1
  167. package/build/src/util/compiler-interfaces.js +0 -382
  168. package/build/src/util/compiler-interfaces.js.map +0 -1
  169. /package/build/src/kmx/{element-string.d.ts → kmx-plus/element-string.d.ts} +0 -0
@@ -1,197 +0,0 @@
1
- //
2
- // Version 1.0 and 2.0 of Keyman Developer Project .kpj file
3
- //
4
-
5
- !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]="ffb6f33c-4d59-5feb-b67e-f39c63733abe")}catch(e){}}();
6
- import { KeymanFileTypes } from '../main.js';
7
- export class KeymanDeveloperProject {
8
- _projectFilename;
9
- callbacks;
10
- options;
11
- files;
12
- projectPath = '';
13
- projectFile;
14
- get projectFilename() {
15
- return this._projectFilename;
16
- }
17
- constructor(_projectFilename, version, callbacks) {
18
- this._projectFilename = _projectFilename;
19
- this.callbacks = callbacks;
20
- this.projectPath = this.callbacks.path.dirname(this._projectFilename);
21
- this.options = new KeymanDeveloperProjectOptions(version);
22
- this.files = [];
23
- this.projectFile = new KeymanDeveloperProjectFile20(_projectFilename, callbacks);
24
- }
25
- /**
26
- * Adds .kmn, .xml, .kps to project based on options.sourcePath
27
- * @param projectFilename Full path to project.kpj (even if the file doesn't exist)
28
- */
29
- populateFiles() {
30
- if (this.options.version != '2.0') {
31
- throw new Error('populateFiles can only be called on a v2.0 project');
32
- }
33
- let sourcePath = this.resolveProjectPath(this.options.sourcePath);
34
- if (!this.callbacks.fs.existsSync(sourcePath)) {
35
- return false;
36
- }
37
- let files = this.callbacks.fs.readdirSync(sourcePath);
38
- for (let filename of files) {
39
- let fullPath = this.callbacks.path.join(sourcePath, filename);
40
- if (KeymanFileTypes.filenameIs(filename, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */)) {
41
- try {
42
- const data = this.callbacks.loadFile(fullPath);
43
- const text = new TextDecoder().decode(data);
44
- if (!text?.match(/<keyboard3/)) {
45
- // Skip this .xml because we assume it isn't really a keyboard .xml
46
- continue;
47
- }
48
- }
49
- catch (e) {
50
- // We'll just silently skip this file because we were not able to load it,
51
- // so let's hope it wasn't a real LDML keyboard XML :-)
52
- continue;
53
- }
54
- }
55
- if (KeymanFileTypes.sourceTypeFromFilename(filename) !== null) {
56
- let file = new KeymanDeveloperProjectFile20(fullPath, this.callbacks);
57
- this.files.push(file);
58
- }
59
- }
60
- return this.files.length > 0;
61
- }
62
- isKeyboardProject() {
63
- return !!this.files.find(file => file.fileType == ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */ || file.fileType == ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */);
64
- }
65
- isLexicalModelProject() {
66
- return !!this.files.find(file => file.fileType == ".model.ts" /* KeymanFileTypes.Source.Model */);
67
- }
68
- resolveProjectPath(p) {
69
- // Replace placeholders in the target path
70
- return p.replace('$PROJECTPATH', this.projectPath);
71
- }
72
- getOutputFilePath(type) {
73
- // Roughly corresponds to Delphi TProject.GetTargetFileName
74
- let p = this.options.version == '1.0' ?
75
- this.options.buildPath || '$SOURCEPATH' :
76
- this.options.buildPath;
77
- // Replace placeholders in the target path
78
- if (this.options.version == '1.0') {
79
- // TODO: do we need to support $VERSION?
80
- // $SOURCEPATH only supported in 1.0 projects
81
- p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this._projectFilename));
82
- }
83
- p = this.resolveProjectPath(p);
84
- const f = this.callbacks.path.basename(this._projectFilename, ".kpj" /* KeymanFileTypes.Source.Project */) + type;
85
- return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
86
- }
87
- resolveInputFilePath(file) {
88
- return this.callbacks.resolveFilename(this._projectFilename, file.filePath);
89
- }
90
- resolveOutputFilePath(file, sourceExt, targetExt) {
91
- // Roughly corresponds to Delphi TProject.GetTargetFileName
92
- let p = this.options.version == '1.0' ?
93
- this.options.buildPath || '$SOURCEPATH' :
94
- this.options.buildPath;
95
- // Replace placeholders in the target path
96
- if (this.options.version == '1.0') {
97
- // TODO: do we need to support $VERSION?
98
- // $SOURCEPATH only supported in 1.0 projects
99
- p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this.resolveInputFilePath(file)));
100
- }
101
- p = this.resolveProjectPath(p);
102
- let f = file.filename.replace(new RegExp(`\\${sourceExt}$`, 'i'), targetExt);
103
- return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
104
- }
105
- }
106
- ;
107
- export var KeymanDeveloperProjectType;
108
- (function (KeymanDeveloperProjectType) {
109
- KeymanDeveloperProjectType[KeymanDeveloperProjectType["Keyboard"] = 0] = "Keyboard";
110
- KeymanDeveloperProjectType[KeymanDeveloperProjectType["LexicalModel"] = 1] = "LexicalModel";
111
- })(KeymanDeveloperProjectType || (KeymanDeveloperProjectType = {}));
112
- ;
113
- export class KeymanDeveloperProjectOptions {
114
- buildPath;
115
- sourcePath;
116
- compilerWarningsAsErrors = false;
117
- warnDeprecatedCode = true;
118
- checkFilenameConventions = false; // missing option defaults to False
119
- /**
120
- * Skip building .keyboard_info and .model_info files, for example in
121
- * unit tests or for legacy keyboards
122
- */
123
- skipMetadataFiles;
124
- projectType = KeymanDeveloperProjectType.Keyboard;
125
- version;
126
- constructor(version) {
127
- this.version = version;
128
- switch (version) {
129
- case "1.0":
130
- this.buildPath = '';
131
- this.sourcePath = '';
132
- this.skipMetadataFiles = true;
133
- break;
134
- case "2.0":
135
- this.buildPath = '$PROJECTPATH/build';
136
- this.sourcePath = '$PROJECTPATH/source';
137
- this.skipMetadataFiles = false;
138
- break;
139
- default:
140
- throw new Error('Invalid version');
141
- }
142
- }
143
- }
144
- ;
145
- ;
146
- export class KeymanDeveloperProjectFile10 {
147
- id;
148
- filePath;
149
- fileVersion;
150
- callbacks;
151
- get filename() {
152
- return this.callbacks.path.basename(this.filePath);
153
- }
154
- get fileType() {
155
- return KeymanFileTypes.fromFilename(this.filename);
156
- }
157
- details; // 1.0 only
158
- childFiles; // 1.0 only
159
- constructor(id, filePath, fileVersion, callbacks) {
160
- this.id = id;
161
- this.filePath = filePath;
162
- this.fileVersion = fileVersion;
163
- this.callbacks = callbacks;
164
- this.details = {};
165
- this.childFiles = [];
166
- }
167
- }
168
- ;
169
- export class KeymanDeveloperProjectFile20 {
170
- filePath;
171
- callbacks;
172
- get filename() {
173
- return this.callbacks.path.basename(this.filePath);
174
- }
175
- get fileType() {
176
- return KeymanFileTypes.fromFilename(this.filename);
177
- }
178
- constructor(filePath, callbacks) {
179
- this.filePath = filePath;
180
- this.callbacks = callbacks;
181
- }
182
- }
183
- ;
184
- export class KeymanDeveloperProjectFileDetail_Kps {
185
- name;
186
- copyright;
187
- version;
188
- }
189
- ;
190
- export class KeymanDeveloperProjectFileDetail_Kmn {
191
- name;
192
- copyright;
193
- message;
194
- }
195
- ;
196
- //# sourceMappingURL=keyman-developer-project.js.map
197
- //# debugId=ffb6f33c-4d59-5feb-b67e-f39c63733abe
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyman-developer-project.js","sources":["../../../src/kpj/keyman-developer-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"ffb6f33c-4d59-5feb-b67e-f39c63733abe"}
@@ -1,19 +0,0 @@
1
- import { KPJFile } from './kpj-file.js';
2
- import { KeymanDeveloperProject } from './keyman-developer-project.js';
3
- import { CompilerCallbacks } from '../util/compiler-interfaces.js';
4
- export declare class KPJFileReader {
5
- private callbacks;
6
- constructor(callbacks: CompilerCallbacks);
7
- read(file: Uint8Array): KPJFile;
8
- validate(source: KPJFile): void;
9
- private boolFromString;
10
- transform(projectFilename: string, source: KPJFile): KeymanDeveloperProject;
11
- private transformFilesVersion10;
12
- /**
13
- * xml2js will not place single-entry objects into arrays.
14
- * Easiest way to fix this is to box them ourselves as needed
15
- * @param source KVKSourceFile
16
- */
17
- private boxArrays;
18
- }
19
- //# sourceMappingURL=kpj-file-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kpj-file-reader.d.ts","sourceRoot":"","sources":["../../../src/kpj/kpj-file-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAA4D,MAAM,+BAA+B,CAAC;AACjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAIzC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IA6B/B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAUtC,OAAO,CAAC,cAAc;IAOf,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,sBAAsB;IA+BlF,OAAO,CAAC,uBAAuB;IAwB/B;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAUlB"}
@@ -1,121 +0,0 @@
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]="829a4204-f1e2-509c-ad8f-0899dbe465c9")}catch(e){}}();
3
- import * as xml2js from '../deps/xml2js/xml2js.js';
4
- import { boxXmlArray } from '../util/util.js';
5
- import { KeymanDeveloperProject, KeymanDeveloperProjectFile10, KeymanDeveloperProjectType } from './keyman-developer-project.js';
6
- import SchemaValidators from '../schema-validators.js';
7
- export class KPJFileReader {
8
- callbacks;
9
- constructor(callbacks) {
10
- this.callbacks = callbacks;
11
- }
12
- read(file) {
13
- let data;
14
- const parser = new xml2js.Parser({
15
- explicitArray: false,
16
- mergeAttrs: false,
17
- includeWhiteChars: false,
18
- normalize: false,
19
- emptyTag: ''
20
- });
21
- parser.parseString(file, (e, r) => {
22
- if (e) {
23
- throw e;
24
- }
25
- data = r;
26
- });
27
- data = this.boxArrays(data);
28
- if (data.KeymanDeveloperProject?.Files?.File?.length) {
29
- for (let file of data.KeymanDeveloperProject?.Files?.File) {
30
- // xml2js imports <Details/> as '' so we will just delete the empty string
31
- if (typeof file.Details == 'string') {
32
- delete file.Details;
33
- }
34
- }
35
- }
36
- return data;
37
- }
38
- validate(source) {
39
- if (!SchemaValidators.kpj(source)) {
40
- if (!SchemaValidators.kpj90(source)) {
41
- // If the legacy schema also does not validate, then we will only report
42
- // the errors against the modern schema
43
- throw new Error(JSON.stringify(SchemaValidators.kpj.errors));
44
- }
45
- }
46
- }
47
- boolFromString(value, def) {
48
- value = (value || '').toLowerCase();
49
- if (value === 'true')
50
- return true;
51
- if (value === 'false')
52
- return false;
53
- return def;
54
- }
55
- transform(projectFilename, source) {
56
- // NOTE: at this point, the xml should have been validated
57
- // and matched the schema result so we can assume the source
58
- // is a valid shape
59
- let project = source.KeymanDeveloperProject;
60
- let result = new KeymanDeveloperProject(projectFilename, project.Options?.Version || "1.0", this.callbacks);
61
- if (result.options.version == '2.0') {
62
- result.options.buildPath = (project.Options?.BuildPath || result.options.buildPath).replace(/\\/g, '/');
63
- result.options.sourcePath = (project.Options?.SourcePath || result.options.sourcePath).replace(/\\/g, '/');
64
- result.options.skipMetadataFiles = this.boolFromString(project.Options?.SkipMetadataFiles, false);
65
- }
66
- else {
67
- result.options.buildPath = (project.Options?.BuildPath || '').replace(/\\/g, '/');
68
- result.options.skipMetadataFiles = this.boolFromString(project.Options?.SkipMetadataFiles, true);
69
- }
70
- result.options.checkFilenameConventions = this.boolFromString(project.Options?.CheckFilenameConventions, false);
71
- result.options.compilerWarningsAsErrors = this.boolFromString(project.Options?.CompilerWarningsAsErrors, false);
72
- result.options.warnDeprecatedCode = this.boolFromString(project.Options?.WarnDeprecatedCode, true);
73
- result.options.projectType =
74
- project.Options?.ProjectType == 'keyboard' ? KeymanDeveloperProjectType.Keyboard :
75
- project.Options?.ProjectType == 'lexicalmodel' ? KeymanDeveloperProjectType.LexicalModel :
76
- KeymanDeveloperProjectType.Keyboard; // Default is keyboard if missing
77
- if (result.options.version == '1.0') {
78
- this.transformFilesVersion10(project, result);
79
- }
80
- else {
81
- result.populateFiles();
82
- }
83
- return result;
84
- }
85
- transformFilesVersion10(project, result) {
86
- let ids = {};
87
- for (let sourceFile of project.Files?.File) {
88
- let file = new KeymanDeveloperProjectFile10(sourceFile.ID || '', (sourceFile.Filepath || '').replace(/\\/g, '/'), sourceFile.FileVersion || '', this.callbacks);
89
- if (sourceFile.Details) {
90
- file.details.copyright = sourceFile.Details.Copyright;
91
- file.details.name = sourceFile.Details.Name;
92
- file.details.message = sourceFile.Details.Message;
93
- file.details.version = sourceFile.Details.Version;
94
- }
95
- if (sourceFile.ParentFileID && ids[sourceFile.ParentFileID]) {
96
- ids[sourceFile.ParentFileID].childFiles.push(file);
97
- }
98
- else {
99
- result.files.push(file);
100
- ids[file.id] = file;
101
- }
102
- }
103
- }
104
- /**
105
- * xml2js will not place single-entry objects into arrays.
106
- * Easiest way to fix this is to box them ourselves as needed
107
- * @param source KVKSourceFile
108
- */
109
- boxArrays(source) {
110
- if (!source.KeymanDeveloperProject) {
111
- return source;
112
- }
113
- if (!source.KeymanDeveloperProject.Files || typeof source.KeymanDeveloperProject.Files == 'string') {
114
- source.KeymanDeveloperProject.Files = { File: [] };
115
- }
116
- boxXmlArray(source.KeymanDeveloperProject.Files, 'File');
117
- return source;
118
- }
119
- }
120
- //# sourceMappingURL=kpj-file-reader.js.map
121
- //# debugId=829a4204-f1e2-509c-ad8f-0899dbe465c9
@@ -1 +0,0 @@
1
- {"version":3,"file":"kpj-file-reader.js","sources":["../../../src/kpj/kpj-file-reader.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"829a4204-f1e2-509c-ad8f-0899dbe465c9"}
@@ -1,40 +0,0 @@
1
- export interface KPJFile {
2
- KeymanDeveloperProject: KPJFileProject;
3
- }
4
- export interface KPJFileProject {
5
- Options?: KPJFileOptions;
6
- Files?: KPJFileFiles;
7
- }
8
- export interface KPJFileOptions {
9
- BuildPath?: string;
10
- SourcePath?: string;
11
- CompilerWarningsAsErrors?: string;
12
- WarnDeprecatedCode?: string;
13
- SkipMetadataFiles?: string;
14
- CheckFilenameConventions?: string;
15
- ProjectType?: 'keyboard' | 'lexicalmodel';
16
- Version?: '1.0' | '2.0';
17
- }
18
- export interface KPJFileFiles {
19
- File?: KPJFileFile[];
20
- }
21
- export interface KPJFileFile {
22
- ID?: string;
23
- Filename?: string;
24
- Filepath?: string;
25
- FileVersion?: string;
26
- FileType?: string;
27
- Details?: KPJFileFileDetail_Kmn & KPJFileFileDetail_Kps;
28
- ParentFileID?: string;
29
- }
30
- export interface KPJFileFileDetail_Kmn {
31
- Name?: string;
32
- Copyright?: string;
33
- Message?: string;
34
- }
35
- export interface KPJFileFileDetail_Kps {
36
- Name?: string;
37
- Copyright?: string;
38
- Version?: string;
39
- }
40
- //# sourceMappingURL=kpj-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kpj-file.d.ts","sourceRoot":"","sources":["../../../src/kpj/kpj-file.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,OAAO;IACtB,sBAAsB,EAAE,cAAc,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IAC1C,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1,14 +0,0 @@
1
- /*
2
- * Keyman Developer Project File
3
- */
4
-
5
- !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]="834d9296-d0ce-510c-8dae-d4720d3aea8d")}catch(e){}}();
6
- ;
7
- ;
8
- ;
9
- ;
10
- ;
11
- ;
12
- export {};
13
- //# sourceMappingURL=kpj-file.js.map
14
- //# debugId=834d9296-d0ce-510c-8dae-d4720d3aea8d
@@ -1 +0,0 @@
1
- {"version":3,"file":"kpj-file.js","sources":["../../../src/kpj/kpj-file.ts"],"sourceRoot":"","names":[],"mappings":"AAAA;;GAEG;;;AAaF,CAAC;AAWD,CAAC;AAID,CAAC;AAUD,CAAC;AAMD,CAAC;AAMD,CAAC","debug_id":"834d9296-d0ce-510c-8dae-d4720d3aea8d"}
@@ -1,24 +0,0 @@
1
- import KVKSourceFile from './kvks-file.js';
2
- import { VisualKeyboard, VisualKeyboardShiftState } from './visual-keyboard.js';
3
- export default class KVKSFileReader {
4
- read(file: Uint8Array): KVKSourceFile;
5
- private cleanupFlags;
6
- /**
7
- * The only element that allows spaces is <key>. Remove
8
- * all other empty whitespace-only values.
9
- * @param root
10
- * @param source
11
- */
12
- private cleanupUnderscore;
13
- validate(source: KVKSourceFile): void;
14
- transform(source: KVKSourceFile, invalidVkeys?: string[]): VisualKeyboard;
15
- private base64ToArray;
16
- /**
17
- * xml2js will not place single-entry objects into arrays.
18
- * Easiest way to fix this is to box them ourselves as needed
19
- * @param source KVKSourceFile
20
- */
21
- private boxArrays;
22
- kvksShiftToKvkShift(shift: string): VisualKeyboardShiftState;
23
- }
24
- //# sourceMappingURL=kvks-file-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kvks-file-reader.d.ts","sourceRoot":"","sources":["../../../src/kvk/kvks-file-reader.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAoB,cAAc,EAAwG,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAMxM,MAAM,CAAC,OAAO,OAAO,cAAc;IAC1B,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa;IAoC5C,OAAO,CAAC,YAAY;IAMpB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA0BlB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAMrC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,cAAc;IA+DhF,OAAO,CAAC,aAAa;IASrB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAYV,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB;CAWpE"}
@@ -1,177 +0,0 @@
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]="3531943c-5023-538f-85b7-4ef848385cef")}catch(e){}}();
3
- import * as xml2js from '../deps/xml2js/xml2js.js';
4
- import { boxXmlArray } from '../util/util.js';
5
- import { DEFAULT_KVK_FONT, VisualKeyboardLegalShiftStates } from './visual-keyboard.js';
6
- import { USVirtualKeyCodes } from '../consts/virtual-key-constants.js';
7
- import { BUILDER_KVK_HEADER_VERSION, KVK_HEADER_IDENTIFIER_BYTES } from './kvk-file.js';
8
- import SchemaValidators from '../schema-validators.js';
9
- export default class KVKSFileReader {
10
- read(file) {
11
- let source;
12
- const parser = new xml2js.Parser({
13
- explicitArray: false,
14
- mergeAttrs: false,
15
- includeWhiteChars: true,
16
- normalize: false,
17
- emptyTag: {}
18
- // Why "as any"? xml2js is broken:
19
- // https://github.com/Leonidas-from-XIV/node-xml2js/issues/648 means
20
- // that an old version of `emptyTag` is used which doesn't support
21
- // functions, but DefinitelyTyped is requiring use of function or a
22
- // string. See also notes at
23
- // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59259#issuecomment-1254405470
24
- // An alternative fix would be to pull xml2js directly from github
25
- // rather than using the version tagged on npmjs.com.
26
- });
27
- parser.parseString(file, (e, r) => {
28
- if (e) {
29
- if (file.byteLength > 4 && file.subarray(0, 3).every((v, i) => v == KVK_HEADER_IDENTIFIER_BYTES[i])) {
30
- throw new Error('File appears to be a binary .kvk file', { cause: e });
31
- }
32
- throw e;
33
- }
34
- ;
35
- source = r;
36
- });
37
- if (source) {
38
- source = this.boxArrays(source);
39
- this.cleanupFlags(source);
40
- this.cleanupUnderscore('visualkeyboard', source.visualkeyboard);
41
- }
42
- return source;
43
- }
44
- cleanupFlags(source) {
45
- if (source.visualkeyboard?.header?.flags === '') {
46
- source.visualkeyboard.header.flags = {};
47
- }
48
- }
49
- /**
50
- * The only element that allows spaces is <key>. Remove
51
- * all other empty whitespace-only values.
52
- * @param root
53
- * @param source
54
- */
55
- cleanupUnderscore(root, source) {
56
- if (root != 'key') {
57
- if (source?.['_']?.trim() === '') {
58
- delete source['_'];
59
- }
60
- }
61
- else {
62
- // If key text is pure whitespace, replace with empty string,
63
- // which matches kmcomp reader
64
- if (source?.['_']?.match(/^( +)$/)) {
65
- source['_'] = '';
66
- }
67
- }
68
- for (let key of Object.keys(source)) {
69
- if (Array.isArray(source[key])) {
70
- for (let item of source[key]) {
71
- if (typeof (item) === 'object') {
72
- this.cleanupUnderscore(key, item);
73
- }
74
- }
75
- }
76
- else if (typeof source[key] === 'object') {
77
- this.cleanupUnderscore(key, source[key]);
78
- }
79
- }
80
- }
81
- validate(source) {
82
- if (!SchemaValidators.kvks(source)) {
83
- throw new Error(JSON.stringify(SchemaValidators.kvks.errors));
84
- }
85
- }
86
- transform(source, invalidVkeys) {
87
- // NOTE: at this point, the xml should have been validated
88
- // and matched the schema result so we can assume properties exist
89
- let result = {
90
- header: {
91
- version: BUILDER_KVK_HEADER_VERSION,
92
- flags: 0,
93
- ansiFont: { ...DEFAULT_KVK_FONT },
94
- unicodeFont: { ...DEFAULT_KVK_FONT },
95
- associatedKeyboard: source.visualkeyboard?.header?.kbdname,
96
- underlyingLayout: source.visualkeyboard?.header?.layout,
97
- },
98
- keys: []
99
- };
100
- if (source.visualkeyboard?.header?.flags?.displayunderlying !== undefined) {
101
- result.header.flags |= 2 /* VisualKeyboardHeaderFlags.kvkhDisplayUnderlying */;
102
- }
103
- if (source.visualkeyboard?.header?.flags?.key102 !== undefined) {
104
- result.header.flags |= 1 /* VisualKeyboardHeaderFlags.kvkh102 */;
105
- }
106
- if (source.visualkeyboard?.header?.flags?.usealtgr !== undefined) {
107
- result.header.flags |= 8 /* VisualKeyboardHeaderFlags.kvkhAltGr */;
108
- }
109
- if (source.visualkeyboard?.header?.flags?.useunderlying !== undefined) {
110
- result.header.flags |= 4 /* VisualKeyboardHeaderFlags.kvkhUseUnderlying */;
111
- }
112
- for (let encoding of source.visualkeyboard.encoding) {
113
- let isUnicode = (encoding.$?.name == 'unicode'), font = isUnicode ? result.header.unicodeFont : result.header.ansiFont;
114
- font.name = encoding.$?.fontname ?? DEFAULT_KVK_FONT.name;
115
- font.size = parseInt(encoding.$?.fontsize ?? DEFAULT_KVK_FONT.size.toString(), 10);
116
- for (let layer of encoding.layer) {
117
- let shift = this.kvksShiftToKvkShift(layer.$?.shift);
118
- for (let sourceKey of layer.key) {
119
- let vkey = USVirtualKeyCodes[sourceKey.$?.vkey];
120
- if (!vkey) {
121
- if (typeof invalidVkeys !== 'undefined') {
122
- invalidVkeys.push(sourceKey.$?.vkey);
123
- }
124
- continue;
125
- }
126
- let key = {
127
- flags: (isUnicode ? 2 /* VisualKeyboardKeyFlags.kvkkUnicode */ : 0) |
128
- (sourceKey.bitmap ? 1 /* VisualKeyboardKeyFlags.kvkkBitmap */ : 0),
129
- shift: shift,
130
- text: sourceKey.bitmap ? '' : (sourceKey._ ?? ''),
131
- vkey: vkey
132
- };
133
- if (sourceKey.bitmap) {
134
- key.bitmap = this.base64ToArray(sourceKey.bitmap);
135
- }
136
- result.keys.push(key);
137
- }
138
- }
139
- }
140
- return result;
141
- }
142
- base64ToArray(source) {
143
- const binary = atob(source);
144
- const bytes = new Uint8Array(binary.length);
145
- for (let i = 0; i < binary.length; i++) {
146
- bytes[i] = binary.charCodeAt(i);
147
- }
148
- return bytes;
149
- }
150
- /**
151
- * xml2js will not place single-entry objects into arrays.
152
- * Easiest way to fix this is to box them ourselves as needed
153
- * @param source KVKSourceFile
154
- */
155
- boxArrays(source) {
156
- boxXmlArray(source.visualkeyboard, 'encoding');
157
- for (let encoding of source.visualkeyboard.encoding) {
158
- boxXmlArray(encoding, 'layer');
159
- for (let layer of encoding.layer) {
160
- boxXmlArray(layer, 'key');
161
- }
162
- }
163
- return source;
164
- }
165
- kvksShiftToKvkShift(shift) {
166
- shift = shift.toUpperCase();
167
- // TODO-LDML(lowpri): make a map of this?
168
- for (let state of VisualKeyboardLegalShiftStates) {
169
- if (state.name == shift) {
170
- return state.shift;
171
- }
172
- }
173
- return 0;
174
- }
175
- }
176
- //# sourceMappingURL=kvks-file-reader.js.map
177
- //# debugId=3531943c-5023-538f-85b7-4ef848385cef
@@ -1 +0,0 @@
1
- {"version":3,"file":"kvks-file-reader.js","sources":["../../../src/kvk/kvks-file-reader.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"3531943c-5023-538f-85b7-4ef848385cef"}
@@ -1,7 +0,0 @@
1
- import { VisualKeyboard, VisualKeyboardShiftState } from './visual-keyboard.js';
2
- export default class KVKSFileWriter {
3
- write(vk: VisualKeyboard): string;
4
- private arrayToBase64;
5
- kvkShiftToKvksShift(shift: VisualKeyboardShiftState): string;
6
- }
7
- //# sourceMappingURL=kvks-file-writer.d.ts.map