@keymanapp/kmc-keyboard-info 17.0.156-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,46 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ec5b9a67-c67f-5851-ae5c-2cb8c38e4e3e")}catch(e){}}();
2
+ /**
3
+ * Merges a source .keyboard_info file with metadata extracted from .kps file and
4
+ * compiled files to produce a comprehensive .keyboard_info file.
5
+ */
6
+ import { CompilerCallbacks, KmpJsonFile } from "@keymanapp/common-types";
7
+ export interface KeyboardInfoSources {
8
+ /** The identifier for the keyboard */
9
+ keyboard_id: string;
10
+ /** The data from the .kps file, transformed to kmp.json */
11
+ kmpJsonData: KmpJsonFile.KmpJsonFile;
12
+ /** The path in the keymanapp/keyboards repo where this keyboard may be found (optional) */
13
+ sourcePath?: string;
14
+ /** The full URL to the keyboard help, starting with https://help.keyman.com/keyboard/ (optional) */
15
+ helpLink?: string;
16
+ /** The compiled keyboard filename and relative path (.js only) */
17
+ keyboardFileNameJs?: string;
18
+ /** The compiled package filename and relative path (.kmp) */
19
+ kmpFileName: string;
20
+ /** The source package filename and relative path (.kps) */
21
+ kpsFileName: string;
22
+ }
23
+ export declare class KeyboardInfoCompiler {
24
+ private callbacks;
25
+ constructor(callbacks: CompilerCallbacks);
26
+ /**
27
+ * Merges source .keyboard_info file with metadata from the keyboard and package source file.
28
+ * This function is intended for use within the keyboards repository. While many of the
29
+ * parameters could be deduced from each other, they are specified here to reduce the
30
+ * number of places the filenames are constructed.
31
+ * For full documentation, see:
32
+ * https://help.keyman.com/developer/cloud/keyboard_info/
33
+ *
34
+ * @param sourceKeyboardInfoFileName Path for the source .keyboard_info file
35
+ * @param sources Details on files from which to extract metadata
36
+ */
37
+ writeMergedKeyboardInfoFile(sourceKeyboardInfoFileName: string, sources: KeyboardInfoSources): Uint8Array;
38
+ private mapKeymanTargetToPlatform;
39
+ private kmxFileVersionToString;
40
+ private setField;
41
+ private loadKmxFiles;
42
+ private loadJsFile;
43
+ private fillLanguages;
44
+ }
45
+ //# debugId=ec5b9a67-c67f-5851-ae5c-2cb8c38e4e3e
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"ec5b9a67-c67f-5851-ae5c-2cb8c38e4e3e","file":"index.d.ts","mappings":";AAAA;;;GAGG;AAIH,OAAO,EAAmB,iBAAiB,EAAE,WAAW,EAAqC,MAAM,yBAAyB,CAAC;AA8B7H,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,2DAA2D;IAC3D,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IAErC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oGAAoG;IACpG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IAEpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,qBAAa,oBAAoB;IACnB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAIhD;;;;;;;;;;OAUG;IACI,2BAA2B,CAChC,0BAA0B,EAAE,MAAM,EAClC,OAAO,EAAE,mBAAmB,GAC3B,UAAU;IAgOb,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;CA+CtB","names":[],"sourceRoot":"","sources":["../../src/index.ts"],"version":3}
@@ -0,0 +1,347 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f74b1d47-981a-571c-9647-1ae078b05fca")}catch(e){}}();
2
+ /**
3
+ * Merges a source .keyboard_info file with metadata extracted from .kps file and
4
+ * compiled files to produce a comprehensive .keyboard_info file.
5
+ */
6
+ import { minKeymanVersion } from "./min-keyman-version.js";
7
+ import { KeymanFileTypes, KmxFileReader, KeymanTargets } from "@keymanapp/common-types";
8
+ import { KeyboardInfoCompilerMessages } from "./messages.js";
9
+ import langtags from "./imports/langtags.js";
10
+ const regionNames = new Intl.DisplayNames(['en'], { type: "region" });
11
+ const scriptNames = new Intl.DisplayNames(['en'], { type: "script" });
12
+ const langtagsByTag = {};
13
+ /**
14
+ * Build a dictionary of language tags from langtags.json
15
+ */
16
+ function init() {
17
+ if (langtagsByTag['en']) {
18
+ // Already initialized, we can reasonably assume that 'en' will always be in
19
+ // langtags.json.
20
+ return;
21
+ }
22
+ for (const tag of langtags) {
23
+ langtagsByTag[tag.tag] = tag;
24
+ langtagsByTag[tag.full] = tag;
25
+ if (tag.tags) {
26
+ for (const t of tag.tags) {
27
+ langtagsByTag[t] = tag;
28
+ }
29
+ }
30
+ }
31
+ }
32
+ ;
33
+ /* c8 ignore stop */
34
+ export class KeyboardInfoCompiler {
35
+ callbacks;
36
+ constructor(callbacks) {
37
+ this.callbacks = callbacks;
38
+ init();
39
+ }
40
+ /**
41
+ * Merges source .keyboard_info file with metadata from the keyboard and package source file.
42
+ * This function is intended for use within the keyboards repository. While many of the
43
+ * parameters could be deduced from each other, they are specified here to reduce the
44
+ * number of places the filenames are constructed.
45
+ * For full documentation, see:
46
+ * https://help.keyman.com/developer/cloud/keyboard_info/
47
+ *
48
+ * @param sourceKeyboardInfoFileName Path for the source .keyboard_info file
49
+ * @param sources Details on files from which to extract metadata
50
+ */
51
+ writeMergedKeyboardInfoFile(sourceKeyboardInfoFileName, sources) {
52
+ let keyboard_info = null;
53
+ if (this.callbacks.fs.existsSync(sourceKeyboardInfoFileName)) {
54
+ const dataInput = this.callbacks.loadFile(sourceKeyboardInfoFileName);
55
+ if (!dataInput) {
56
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Error_FileDoesNotExist({ filename: sourceKeyboardInfoFileName }));
57
+ return null;
58
+ }
59
+ try {
60
+ const jsonInput = new TextDecoder('utf-8', { fatal: true }).decode(dataInput);
61
+ keyboard_info = JSON.parse(jsonInput);
62
+ }
63
+ catch (e) {
64
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Error_FileIsNotValid({ filename: sourceKeyboardInfoFileName, e }));
65
+ return null;
66
+ }
67
+ }
68
+ else {
69
+ // TODO: this code pathway is still under development and won't yet be
70
+ // called by kmc. Building metadata without a source .keyboard_info file
71
+ // is on the roadmap but more data is needed in the .kps to complete this.
72
+ if (!sources.kmpFileName) {
73
+ // We can't build any metadata without a .kmp file
74
+ return null;
75
+ }
76
+ keyboard_info = {
77
+ // Only two fields that won't be automatically filled if file is not
78
+ // present
79
+ encodings: ['unicode'],
80
+ license: 'mit'
81
+ };
82
+ }
83
+ let jsFile = null;
84
+ if (sources.keyboardFileNameJs) {
85
+ jsFile = this.loadJsFile(sources.keyboardFileNameJs);
86
+ if (!jsFile) {
87
+ return null;
88
+ }
89
+ }
90
+ const kmxFiles = this.loadKmxFiles(sources.kpsFileName, sources.kmpJsonData);
91
+ //
92
+ // Build merged .keyboard_info file
93
+ // https://api.keyman.com/schemas/keyboard_info.source.json and
94
+ // https://api.keyman.com/schemas/keyboard_info.distribution.json
95
+ // https://help.keyman.com/developer/cloud/keyboard_info/1.0
96
+ //
97
+ keyboard_info.isRTL = keyboard_info.isRTL ?? !!jsFile?.match(/this\.KRTL=1/);
98
+ if (!keyboard_info.isRTL) {
99
+ delete keyboard_info.isRTL;
100
+ }
101
+ this.setField(keyboard_info, 'id', sources.keyboard_id);
102
+ this.setField(keyboard_info, 'name', sources.kmpJsonData.info.name.description);
103
+ const author = sources.kmpJsonData.info.author;
104
+ if (author && (author.description || author.url)) {
105
+ this.setField(keyboard_info, 'authorName', author?.description);
106
+ if (author?.url) {
107
+ // we strip the mailto: from the .kps file for the .keyboard_info
108
+ const match = author.url.match(/^(mailto\:)?(.+)$/);
109
+ /* c8 ignore next 3 */
110
+ if (match === null) {
111
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Error_InvalidAuthorEmail({ email: author.url }));
112
+ return null;
113
+ }
114
+ const email = match[2];
115
+ this.setField(keyboard_info, 'authorEmail', email, false);
116
+ }
117
+ }
118
+ // extract the language identifiers from the language metadata arrays for
119
+ // each of the keyboards in the kmp.json file, and merge into a single array
120
+ // of identifiers in the .keyboard_info file.
121
+ this.fillLanguages(keyboard_info, sources.kmpJsonData);
122
+ this.setField(keyboard_info, 'lastModifiedDate', (new Date).toISOString(), false);
123
+ if (sources.kmpFileName) {
124
+ this.setField(keyboard_info, 'packageFilename', this.callbacks.path.basename(sources.kmpFileName));
125
+ // Always overwrite with actual file size
126
+ keyboard_info.packageFileSize = this.callbacks.fileSize(sources.kmpFileName);
127
+ if (keyboard_info.packageFileSize === undefined) {
128
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Error_FileDoesNotExist({ filename: sources.kmpFileName }));
129
+ return null;
130
+ }
131
+ }
132
+ else {
133
+ // TODO: warn if set in .keyboard_info?
134
+ delete keyboard_info.packageFilename;
135
+ delete keyboard_info.packageFileSize;
136
+ }
137
+ if (sources.keyboardFileNameJs) {
138
+ this.setField(keyboard_info, 'jsFilename', this.callbacks.path.basename(sources.keyboardFileNameJs));
139
+ // Always overwrite with actual file size
140
+ keyboard_info.jsFileSize = this.callbacks.fileSize(sources.keyboardFileNameJs);
141
+ if (keyboard_info.jsFileSize === undefined) {
142
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Error_FileDoesNotExist({ filename: sources.keyboardFileNameJs }));
143
+ return null;
144
+ }
145
+ }
146
+ else {
147
+ // TODO: warn if set in .keyboard_info?
148
+ delete keyboard_info.jsFilename;
149
+ delete keyboard_info.jsFileSize;
150
+ }
151
+ const includes = new Set();
152
+ keyboard_info.packageIncludes = [];
153
+ for (const file of sources.kmpJsonData.files) {
154
+ if (file.name.match(/\.(otf|ttf|ttc)$/)) {
155
+ includes.add('fonts');
156
+ }
157
+ else if (file.name.match(/welcome\.htm$/)) {
158
+ includes.add('welcome');
159
+ }
160
+ else if (file.name.match(/\.kvk$/)) {
161
+ includes.add('visualKeyboard');
162
+ }
163
+ else if (file.name.match(/\.(rtf|html|htm|pdf)$/)) {
164
+ includes.add('documentation');
165
+ }
166
+ }
167
+ keyboard_info.packageIncludes = [...includes];
168
+ // Always overwrite source data
169
+ if (sources.kmpFileName) {
170
+ this.setField(keyboard_info, 'version', sources.kmpJsonData.info.version.description);
171
+ }
172
+ else {
173
+ const m = jsFile?.match(/this\.KBVER\s*=\s*(['"])([^'"]+)(\1)/);
174
+ if (m) {
175
+ this.setField(keyboard_info, 'version', m[2]);
176
+ }
177
+ else {
178
+ keyboard_info.version = '1.0';
179
+ }
180
+ }
181
+ // The minimum Keyman version detected in the package file may be manually
182
+ // set higher by the developer
183
+ let minVersion = minKeymanVersion;
184
+ const m = jsFile?.match(/this.KMINVER\s*=\s*(['"])(.*?)\1/);
185
+ if (m) {
186
+ if (parseFloat(m[2]) > parseFloat(minVersion)) {
187
+ minVersion = m[2];
188
+ }
189
+ }
190
+ for (const file of kmxFiles) {
191
+ const v = this.kmxFileVersionToString(file.data.fileVersion);
192
+ if (parseFloat(v) > parseFloat(minVersion)) {
193
+ minVersion = v;
194
+ }
195
+ }
196
+ // Only legacy keyboards supprt non-Unicode encodings, and we no longer
197
+ // rewrite the .keyboard_info for those.
198
+ keyboard_info.encodings = ['unicode'];
199
+ // platformSupport
200
+ const platforms = new Set();
201
+ for (const file of kmxFiles) {
202
+ const targets = KeymanTargets.keymanTargetsFromString(file.data.targets, { expandTargets: true });
203
+ for (const target of targets) {
204
+ this.mapKeymanTargetToPlatform(target).forEach(platform => platforms.add(platform));
205
+ }
206
+ }
207
+ if (jsFile) {
208
+ if (platforms.size == 0) {
209
+ // In this case, there was no .kmx metadata available. We need to
210
+ // make an assumption that this keyboard is both desktop+mobile web,
211
+ // and if the .js is in the package, that it is mobile native as well,
212
+ // because the targets metadata is not available in the .js.
213
+ platforms.add('mobileWeb').add('desktopWeb');
214
+ if (sources.kmpJsonData.files.find(file => file.name.match(/\.js$/))) {
215
+ platforms.add('android').add('ios');
216
+ }
217
+ }
218
+ // Special case for determining desktopWeb and mobileWeb support: we use
219
+ // &targets to determine which platforms the .js is actually compatible
220
+ // with. The presence of the .js file itself determines whether there is
221
+ // supposed to be any web support. The presence of the .js file in the
222
+ // package (which is a separate check) does not determine whether or not
223
+ // the keyboard itself actually supports mobile, although it must be
224
+ // included in the package in order to actually be delivered to mobile
225
+ // apps.
226
+ if (platforms.has('android') || platforms.has('ios')) {
227
+ platforms.add('mobileWeb');
228
+ }
229
+ if (platforms.has('linux') || platforms.has('macos') || platforms.has('windows')) {
230
+ platforms.add('desktopWeb');
231
+ }
232
+ }
233
+ keyboard_info.platformSupport = {};
234
+ for (const platform of platforms) {
235
+ keyboard_info.platformSupport[platform] = 'full';
236
+ }
237
+ // minKeymanVersion
238
+ if (parseFloat(keyboard_info.minKeymanVersion ?? minKeymanVersion) < parseFloat(minVersion)) {
239
+ this.setField(keyboard_info, 'minKeymanVersion', minVersion, false);
240
+ }
241
+ if (sources.sourcePath) {
242
+ this.setField(keyboard_info, 'sourcePath', sources.sourcePath);
243
+ }
244
+ if (sources.helpLink) {
245
+ this.setField(keyboard_info, 'helpLink', sources.helpLink);
246
+ }
247
+ const jsonOutput = JSON.stringify(keyboard_info, null, 2);
248
+ return new TextEncoder().encode(jsonOutput);
249
+ }
250
+ mapKeymanTargetToPlatform(target) {
251
+ const map = {
252
+ any: [],
253
+ androidphone: ['android'],
254
+ androidtablet: ['android'],
255
+ desktop: [],
256
+ ipad: ['ios'],
257
+ iphone: ['ios'],
258
+ linux: ['linux'],
259
+ macosx: ['macos'],
260
+ mobile: [],
261
+ tablet: [],
262
+ web: ['desktopWeb'],
263
+ windows: ['windows']
264
+ };
265
+ return map[target] ?? [];
266
+ }
267
+ kmxFileVersionToString(version) {
268
+ return ((version & 0xFF00) >> 8).toString() + '.' + (version & 0xFF).toString();
269
+ }
270
+ setField(keyboard_info, field, expected, warn = true) {
271
+ /* c8 ignore next 4 */
272
+ if (keyboard_info[field] && keyboard_info[field] !== expected && expected !== undefined) {
273
+ if (warn ?? true) {
274
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Warn_MetadataFieldInconsistent({
275
+ field, value: keyboard_info[field], expected
276
+ }));
277
+ }
278
+ }
279
+ // TypeScript gets upset with this assignment, because it cannot deduce
280
+ // the exact type of keyboard_info[field] -- there are many possibilities!
281
+ // So we assert that it's unknown so that TypeScript can chill.
282
+ keyboard_info[field] = keyboard_info[field] || expected;
283
+ }
284
+ loadKmxFiles(kpsFilename, kmpJsonData) {
285
+ const reader = new KmxFileReader();
286
+ return kmpJsonData.files
287
+ .filter(file => KeymanFileTypes.filenameIs(file.name, ".kmx" /* KeymanFileTypes.Binary.Keyboard */))
288
+ .map(file => ({
289
+ filename: this.callbacks.path.basename(file.name),
290
+ data: reader.read(this.callbacks.loadFile(this.callbacks.resolveFilename(kpsFilename, file.name)))
291
+ }));
292
+ }
293
+ loadJsFile(filename) {
294
+ const data = this.callbacks.loadFile(filename);
295
+ if (!data) {
296
+ this.callbacks.reportMessage(KeyboardInfoCompilerMessages.Error_FileDoesNotExist({ filename }));
297
+ return null;
298
+ }
299
+ const text = new TextDecoder('utf-8', { fatal: true }).decode(data);
300
+ return text;
301
+ }
302
+ fillLanguages(keyboard_info, kmpJsonData) {
303
+ keyboard_info.languages = keyboard_info.languages ||
304
+ kmpJsonData.keyboards.reduce((a, e) => [].concat(a, e.languages.map((f) => f.id)), []);
305
+ // Transform array into object
306
+ if (Array.isArray(keyboard_info.languages)) {
307
+ const languages = {};
308
+ for (const language of keyboard_info.languages) {
309
+ languages[language] = {};
310
+ }
311
+ keyboard_info.languages = languages;
312
+ }
313
+ for (const bcp47 of Object.keys(keyboard_info.languages)) {
314
+ const language = keyboard_info.languages[bcp47];
315
+ const locale = new Intl.Locale(bcp47);
316
+ // DisplayNames.prototype.of will throw a RangeError if it doesn't understand
317
+ // the format of the bcp47 tag. This happens with Node 18.14.1, for example, with:
318
+ // new Intl.DisplayNames(['en'], {type: 'language'}).of('und-fonipa');
319
+ const mapName = (code, dict) => {
320
+ try {
321
+ return dict.of(code);
322
+ }
323
+ catch (e) {
324
+ if (e instanceof RangeError) {
325
+ return code;
326
+ }
327
+ else {
328
+ throw e;
329
+ }
330
+ }
331
+ };
332
+ const tag = langtagsByTag[bcp47] ?? langtagsByTag[locale.language];
333
+ language.languageName = tag ? tag.name : bcp47;
334
+ language.regionName = mapName(locale.region, regionNames);
335
+ language.scriptName = mapName(locale.script, scriptNames);
336
+ language.displayName = language.languageName + ((language.scriptName && language.regionName) ?
337
+ ` (${language.scriptName}, ${language.regionName})` :
338
+ language.scriptName ?
339
+ ` (${language.scriptName})` :
340
+ language.regionName ?
341
+ ` (${language.regionName})` :
342
+ '');
343
+ }
344
+ }
345
+ }
346
+ //# debugId=f74b1d47-981a-571c-9647-1ae078b05fca
347
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"f74b1d47-981a-571c-9647-1ae078b05fca","file":"index.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../src/index.ts"],"version":3}
@@ -0,0 +1,75 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c2c7392f-f2cd-5282-9a8e-dfb2f56b35ed")}catch(e){}}();
2
+ export type KeyboardInfoFileEncodings = "ansi" | "unicode";
3
+ export type KeyboardInfoFileIncludes = "welcome" | "documentation" | "fonts" | "visualKeyboard";
4
+ export type KeyboardInfoFilePlatform = "windows" | "macos" | "desktopWeb" | "ios" | "android" | "mobileWeb" | "linux";
5
+ export type KeyboardInfoFilePlatformSupport = "dictionary" | "full" | "basic" | "none";
6
+ export interface KeyboardInfoFile {
7
+ id?: string;
8
+ name?: string;
9
+ authorName?: string;
10
+ authorEmail?: string;
11
+ description?: string;
12
+ license?: "freeware" | "shareware" | "commercial" | "mit" | "other";
13
+ languages?: string[] | {
14
+ [bcp47: string]: KeyboardInfoFileLanguage;
15
+ };
16
+ lastModifiedDate?: string;
17
+ links?: KeyboardInfoFileLink[];
18
+ packageFilename?: string;
19
+ packageFileSize?: number;
20
+ jsFilename?: string;
21
+ jsFileSize?: number;
22
+ documentationFilename?: string;
23
+ documentationFileSize?: number;
24
+ isRTL?: boolean;
25
+ encodings: KeyboardInfoFileEncodings[];
26
+ packageIncludes?: KeyboardInfoFileIncludes[];
27
+ version?: string;
28
+ minKeymanVersion?: string;
29
+ helpLink?: string;
30
+ platformSupport?: {
31
+ [id in KeyboardInfoFilePlatform]?: KeyboardInfoFilePlatformSupport;
32
+ };
33
+ legacyId?: number;
34
+ sourcePath?: string;
35
+ related?: {
36
+ [id: string]: KeyboardInfoFileRelated;
37
+ };
38
+ deprecated?: boolean;
39
+ }
40
+ export interface KeyboardInfoFileLink {
41
+ name: string;
42
+ url: string;
43
+ }
44
+ export interface KeyboardInfoFileRelated {
45
+ deprecates?: string;
46
+ deprecatedBy?: string;
47
+ note?: string;
48
+ }
49
+ export interface KeyboardInfoFileLanguage {
50
+ font?: KeyboardInfoFileLanguageFont;
51
+ oskFont?: KeyboardInfoFileLanguageFont;
52
+ example?: KeyboardInfoFileExample;
53
+ displayName?: string;
54
+ languageName?: string;
55
+ scriptName?: string;
56
+ regionName?: string;
57
+ }
58
+ export interface KeyboardInfoFileLanguageFont {
59
+ family?: string;
60
+ source?: string | string[];
61
+ size?: string;
62
+ }
63
+ export interface KeyboardInfoFileExample {
64
+ keys?: string | KeyboardInfoFileExampleKey[];
65
+ text?: string;
66
+ note?: string;
67
+ }
68
+ export type KeyboardInfoFileExampleKeyId = "K_SPACE" | "K_A" | "K_B" | "K_C" | "K_D" | "K_E" | "K_F" | "K_G" | "K_H" | "K_I" | "K_J" | "K_K" | "K_L" | "K_M" | "K_N" | "K_O" | "K_P" | "K_Q" | "K_R" | "K_S" | "K_T" | "K_U" | "K_V" | "K_W" | "K_X" | "K_Y" | "K_Z" | "K_1" | "K_2" | "K_3" | "K_4" | "K_5" | "K_6" | "K_7" | "K_8" | "K_9" | "K_0" | "K_BKQUOTE" | "K_HYPHEN" | "K_EQUAL" | "K_LBRKT" | "K_RBRKT" | "K_BKSLASH" | "K_COLON" | "K_QUOTE" | "K_COMMA" | "K_PERIOD" | "K_SLASH" | "K_oE2" | "K_BKSP" | "K_TAB" | "K_ENTER" | "K_ESC" | "K_LEFT" | "K_UP" | "K_RIGHT" | "K_DOWN" | "K_PGUP" | "K_PGDN" | "K_HOME" | "K_END" | "K_INS" | "K_DEL" | "K_F1" | "K_F2" | "K_F3" | "K_F4" | "K_F5" | "K_F6" | "K_F7" | "K_F8" | "K_F9" | "K_F10" | "K_F11" | "K_F12" | "K_KP5" | "K_NP0" | "K_NP1" | "K_NP2" | "K_NP3" | "K_NP4" | "K_NP5" | "K_NP6" | "K_NP7" | "K_NP8" | "K_NP9" | "K_NPSTAR" | "K_NPPLUS" | "K_NPMINUS" | "K_NPDOT" | "K_NPSLASH" | "K_SEL" | "K_PRINT" | "K_EXEC" | "K_HELP" | "K_SEPARATOR" | "K_F13" | "K_F14" | "K_F15" | "K_F16" | "K_F17" | "K_F18" | "K_F19" | "K_F20" | "K_F21" | "K_F22" | "K_F23" | "K_F24" | "K_KANJI?15" | "K_KANJI?16" | "K_KANJI?17" | "K_KANJI?18" | "K_KANJI?19" | "K_KANJI?1C" | "K_KANJI?1D" | "K_KANJI?1E" | "K_KANJI?1F" | "K_oE0" | "K_oE1" | "K_oE3" | "K_oE4" | "K_oE6" | "K_oE9" | "K_oEA" | "K_oEB" | "K_oEC" | "K_oED" | "K_oEE" | "K_oEF" | "K_oF0" | "K_oF1" | "K_oF2" | "K_oF3" | "K_oF4" | "K_oF5" | "K_?00" | "K_?05" | "K_NPENTER" | "K_?06" | "K_?07" | "K_?0A" | "K_?0B" | "K_?0E" | "K_?0F" | "K_?1A" | "K_?3A" | "K_?3B" | "K_?3C" | "K_?3D" | "K_?3E" | "K_?3F" | "K_?40" | "K_?5B" | "K_?5C" | "K_?5D" | "K_?5E" | "K_?5F" | "K_?88" | "K_?89" | "K_?8A" | "K_?8B" | "K_?8C" | "K_?8D" | "K_?8E" | "K_?8F" | "K_?92" | "K_?94" | "K_?95" | "K_?96" | "K_?97" | "K_?98" | "K_?99" | "K_?9A" | "K_?9B" | "K_?9C" | "K_?9D" | "K_?9E" | "K_?9F" | "K_?A0" | "K_?A1" | "K_?A2" | "K_?A3" | "K_?A4" | "K_?A5" | "K_?A6" | "K_?A7" | "K_?A8" | "K_?A9" | "K_?AA" | "K_?AB" | "K_?AC" | "K_?AD" | "K_?AE" | "K_?AF" | "K_?B0" | "K_?B1" | "K_?B2" | "K_?B3" | "K_?B4" | "K_?B5" | "K_?B6" | "K_?B7" | "K_?B8" | "K_?B9" | "K_?C1" | "K_?C2" | "K_?C3" | "K_?C4" | "K_?C5" | "K_?C6" | "K_?C7" | "K_?C8" | "K_?C9" | "K_?CA" | "K_?CB" | "K_?CC" | "K_?CD" | "K_?CE" | "K_?CF" | "K_?D0" | "K_?D1" | "K_?D2" | "K_?D3" | "K_?D4" | "K_?D5" | "K_?D6" | "K_?D7" | "K_?D8" | "K_?D9" | "K_?DA" | "K_oDF" | "K_?E5" | "K_?E7" | "K_?E8" | "K_?F6" | "K_?F7" | "K_?F8" | "K_?F9" | "K_?FA" | "K_?FB" | "K_?FC" | "K_?FD" | "K_?FE" | "K_?FF";
69
+ export type KeyboardInfoFileExampleKeyModifier = "shift" | "s" | "ctrl" | "c" | "alt" | "a" | "left-ctrl" | "lc" | "right-ctrl" | "rc" | "left-alt" | "la" | "right-alt" | "ra";
70
+ export interface KeyboardInfoFileExampleKey {
71
+ key?: KeyboardInfoFileExampleKeyId;
72
+ modifiers?: KeyboardInfoFileExampleKeyModifier[];
73
+ }
74
+ //# debugId=c2c7392f-f2cd-5282-9a8e-dfb2f56b35ed
75
+ //# sourceMappingURL=keyboard-info-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"c2c7392f-f2cd-5282-9a8e-dfb2f56b35ed","file":"keyboard-info-file.d.ts","mappings":"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","names":[],"sourceRoot":"","sources":["../../src/keyboard-info-file.ts"],"version":3}
@@ -0,0 +1,4 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="48a67484-acd8-526d-9d5e-74dee8bde5ce")}catch(e){}}();
2
+ export {};
3
+ //# debugId=48a67484-acd8-526d-9d5e-74dee8bde5ce
4
+ //# sourceMappingURL=keyboard-info-file.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"48a67484-acd8-526d-9d5e-74dee8bde5ce","file":"keyboard-info-file.js","mappings":";","names":[],"sourceRoot":"","sources":["../../src/keyboard-info-file.ts"],"version":3}
@@ -0,0 +1,28 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="fabcc60c-c815-5daa-a302-368f57ed1d60")}catch(e){}}();
2
+ export declare class KeyboardInfoCompilerMessages {
3
+ static Fatal_UnexpectedException: (o: {
4
+ e: any;
5
+ }) => import("@keymanapp/common-types").CompilerEvent;
6
+ static FATAL_UnexpectedException: number;
7
+ static Error_FileDoesNotExist: (o: {
8
+ filename: string;
9
+ }) => import("@keymanapp/common-types").CompilerEvent;
10
+ static ERROR_FileDoesNotExist: number;
11
+ static Error_FileIsNotValid: (o: {
12
+ filename: string;
13
+ e: any;
14
+ }) => import("@keymanapp/common-types").CompilerEvent;
15
+ static ERROR_FileIsNotValid: number;
16
+ static Warn_MetadataFieldInconsistent: (o: {
17
+ field: string;
18
+ value: any;
19
+ expected: any;
20
+ }) => import("@keymanapp/common-types").CompilerEvent;
21
+ static WARN_MetadataFieldInconsistent: number;
22
+ static Error_InvalidAuthorEmail: (o: {
23
+ email: string;
24
+ }) => import("@keymanapp/common-types").CompilerEvent;
25
+ static ERROR_InvalidAuthorEmail: number;
26
+ }
27
+ //# debugId=fabcc60c-c815-5daa-a302-368f57ed1d60
28
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"fabcc60c-c815-5daa-a302-368f57ed1d60","file":"messages.d.ts","mappings":";AASA,qBAAa,4BAA4B;IACvC,MAAM,CAAC,yBAAyB,MAAM;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,qDACgG;IAC9I,MAAM,CAAC,yBAAyB,SAAqB;IAErD,MAAM,CAAC,sBAAsB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,qDAA0E;IAC/H,MAAM,CAAC,sBAAsB,SAAqB;IAElD,MAAM,CAAC,oBAAoB,MAAM;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,GAAG,CAAA;KAAC,qDAC0B;IACrF,MAAM,CAAC,oBAAoB,SAAqB;IAEhD,MAAM,CAAC,8BAA8B,MAAM;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,KAAK,EAAC,GAAG,CAAC;QAAC,QAAQ,EAAC,GAAG,CAAA;KAAC,qDAC8B;IAChH,MAAM,CAAC,8BAA8B,SAAoB;IAEzD,MAAM,CAAC,wBAAwB,MAAM;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,qDACb;IACtC,MAAM,CAAC,wBAAwB,SAAqB;CAErD","names":[],"sourceRoot":"","sources":["../../src/messages.ts"],"version":3}
@@ -0,0 +1,22 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="54cb1bba-3afe-57e0-b904-c881996d17e3")}catch(e){}}();
2
+ import { CompilerErrorNamespace, CompilerErrorSeverity, CompilerMessageSpec as m } from "@keymanapp/common-types";
3
+ const Namespace = CompilerErrorNamespace.KeyboardInfoCompiler;
4
+ // const SevInfo = CompilerErrorSeverity.Info | Namespace;
5
+ // const SevHint = CompilerErrorSeverity.Hint | Namespace;
6
+ const SevWarn = CompilerErrorSeverity.Warn | Namespace;
7
+ const SevError = CompilerErrorSeverity.Error | Namespace;
8
+ const SevFatal = CompilerErrorSeverity.Fatal | Namespace;
9
+ export class KeyboardInfoCompilerMessages {
10
+ static Fatal_UnexpectedException = (o) => m(this.FATAL_UnexpectedException, `Unexpected exception: ${(o.e ?? 'unknown error').toString()}\n\nCall stack:\n${(o.e instanceof Error ? o.e.stack : (new Error()).stack)}`);
11
+ static FATAL_UnexpectedException = SevFatal | 0x0001;
12
+ static Error_FileDoesNotExist = (o) => m(this.ERROR_FileDoesNotExist, `File ${o.filename} does not exist.`);
13
+ static ERROR_FileDoesNotExist = SevError | 0x0002;
14
+ static Error_FileIsNotValid = (o) => m(this.ERROR_FileIsNotValid, `File ${o.filename} could not be parsed: ${(o.e ?? 'unknown error').toString()}.`);
15
+ static ERROR_FileIsNotValid = SevError | 0x0003;
16
+ static Warn_MetadataFieldInconsistent = (o) => m(this.WARN_MetadataFieldInconsistent, `Warning: field ${o.field} value "${o.value}" does not match "${o.expected}" found in source file metadata.`);
17
+ static WARN_MetadataFieldInconsistent = SevWarn | 0x0004;
18
+ static Error_InvalidAuthorEmail = (o) => m(this.ERROR_InvalidAuthorEmail, `Invalid author email: ${o.email}`);
19
+ static ERROR_InvalidAuthorEmail = SevError | 0x0005;
20
+ }
21
+ //# debugId=54cb1bba-3afe-57e0-b904-c881996d17e3
22
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"54cb1bba-3afe-57e0-b904-c881996d17e3","file":"messages.js","mappings":";AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,IAAI,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAElH,MAAM,SAAS,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;AAC9D,0DAA0D;AAC1D,0DAA0D;AAC1D,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC;AACvD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,GAAG,SAAS,CAAC;AACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,GAAG,SAAS,CAAC;AAEzD,MAAM,OAAO,4BAA4B;IACvC,MAAM,CAAC,yBAAyB,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,EACjF,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9I,MAAM,CAAC,yBAAyB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAErD,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,QAAQ,kBAAkB,CAAC,CAAC;IAC/H,MAAM,CAAC,sBAAsB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAElD,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EACzF,QAAQ,CAAC,CAAC,QAAQ,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrF,MAAM,CAAC,oBAAoB,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEhD,MAAM,CAAC,8BAA8B,GAAG,CAAC,CAAyC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAC1H,kBAAkB,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,QAAQ,kCAAkC,CAAC,CAAC;IAChH,MAAM,CAAC,8BAA8B,GAAG,OAAO,GAAG,MAAM,CAAC;IAEzD,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,EACrF,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,wBAAwB,GAAG,QAAQ,GAAG,MAAM,CAAC","names":[],"sourceRoot":"","sources":["../../src/messages.ts"],"version":3}
@@ -0,0 +1,8 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5a9db92b-2081-57fe-97cf-8a0940e17fc8")}catch(e){}}();
2
+ /**
3
+ * Minimum Keyman version that will be supplied for a .keyboard_info
4
+ * if a compiled keyboard does not list a minimum version itself.
5
+ */
6
+ export declare const minKeymanVersion = "5.0";
7
+ //# debugId=5a9db92b-2081-57fe-97cf-8a0940e17fc8
8
+ //# sourceMappingURL=min-keyman-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"5a9db92b-2081-57fe-97cf-8a0940e17fc8","file":"min-keyman-version.d.ts","mappings":";AAAA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC","names":[],"sourceRoot":"","sources":["../../src/min-keyman-version.ts"],"version":3}
@@ -0,0 +1,8 @@
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="01ff05b5-adfe-5087-9ee3-2b78e5fc4b61")}catch(e){}}();
2
+ /**
3
+ * Minimum Keyman version that will be supplied for a .keyboard_info
4
+ * if a compiled keyboard does not list a minimum version itself.
5
+ */
6
+ export const minKeymanVersion = '5.0';
7
+ //# debugId=01ff05b5-adfe-5087-9ee3-2b78e5fc4b61
8
+ //# sourceMappingURL=min-keyman-version.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"01ff05b5-adfe-5087-9ee3-2b78e5fc4b61","file":"min-keyman-version.js","mappings":";AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC","names":[],"sourceRoot":"","sources":["../../src/min-keyman-version.ts"],"version":3}