@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.
- package/build/src/imports/langtags.d.ts +5 -0
- package/build/src/imports/langtags.d.ts.map +1 -0
- package/build/src/imports/langtags.js +141003 -0
- package/build/src/imports/langtags.js.map +1 -0
- package/build/src/index.d.ts +46 -0
- package/build/src/index.d.ts.map +1 -0
- package/build/src/index.js +347 -0
- package/build/src/index.js.map +1 -0
- package/build/src/keyboard-info-file.d.ts +75 -0
- package/build/src/keyboard-info-file.d.ts.map +1 -0
- package/build/src/keyboard-info-file.js +4 -0
- package/build/src/keyboard-info-file.js.map +1 -0
- package/build/src/messages.d.ts +28 -0
- package/build/src/messages.d.ts.map +1 -0
- package/build/src/messages.js +22 -0
- package/build/src/messages.js.map +1 -0
- package/build/src/min-keyman-version.d.ts +8 -0
- package/build/src/min-keyman-version.d.ts.map +1 -0
- package/build/src/min-keyman-version.js +8 -0
- package/build/src/min-keyman-version.js.map +1 -0
- package/package.json +51 -0
|
@@ -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}
|