@keymanapp/developer-utils 18.0.137-alpha → 18.0.139-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 (45) hide show
  1. package/build/src/compiler-callbacks.d.ts +145 -0
  2. package/build/src/compiler-callbacks.d.ts.map +1 -0
  3. package/build/src/compiler-callbacks.js +128 -0
  4. package/build/src/compiler-callbacks.js.map +1 -0
  5. package/build/src/compiler-interfaces.d.ts +10 -102
  6. package/build/src/compiler-interfaces.d.ts.map +1 -1
  7. package/build/src/compiler-interfaces.js +10 -86
  8. package/build/src/compiler-interfaces.js.map +1 -1
  9. package/build/src/index.d.ts +6 -2
  10. package/build/src/index.d.ts.map +1 -1
  11. package/build/src/index.js +8 -4
  12. package/build/src/index.js.map +1 -1
  13. package/build/src/source-filename-patterns.d.ts +31 -0
  14. package/build/src/source-filename-patterns.d.ts.map +1 -0
  15. package/build/src/source-filename-patterns.js +43 -0
  16. package/build/src/source-filename-patterns.js.map +1 -0
  17. package/build/src/types/kpj/keyman-developer-project.d.ts +9 -8
  18. package/build/src/types/kpj/keyman-developer-project.d.ts.map +1 -1
  19. package/build/src/types/kpj/keyman-developer-project.js +26 -22
  20. package/build/src/types/kpj/keyman-developer-project.js.map +1 -1
  21. package/build/src/types/kpj/kpj-file-reader.d.ts +3 -3
  22. package/build/src/types/kpj/kpj-file-reader.d.ts.map +1 -1
  23. package/build/src/types/kpj/kpj-file-reader.js +5 -5
  24. package/build/src/types/kpj/kpj-file-reader.js.map +1 -1
  25. package/build/src/types/kpj/kpj-file-writer.d.ts +10 -0
  26. package/build/src/types/kpj/kpj-file-writer.d.ts.map +1 -0
  27. package/build/src/types/kpj/kpj-file-writer.js +92 -0
  28. package/build/src/types/kpj/kpj-file-writer.js.map +1 -0
  29. package/build/src/types/kps/kps-file-reader.d.ts +1 -1
  30. package/build/src/types/kps/kps-file-reader.d.ts.map +1 -1
  31. package/build/src/types/ldml-keyboard/ldml-keyboard-xml-reader.d.ts +1 -1
  32. package/build/src/types/ldml-keyboard/ldml-keyboard-xml-reader.d.ts.map +1 -1
  33. package/build/src/utils/UrlSubpathCompilerCallback.d.ts +17 -0
  34. package/build/src/utils/UrlSubpathCompilerCallback.d.ts.map +1 -0
  35. package/build/src/utils/UrlSubpathCompilerCallback.js +43 -0
  36. package/build/src/utils/UrlSubpathCompilerCallback.js.map +1 -0
  37. package/build/test/kpj/test-kpj-file-reader.js +8 -8
  38. package/build/test/kpj/test-kpj-file-reader.js.map +1 -1
  39. package/build/test/kpj/test-kpj-file-writer.d.ts +2 -0
  40. package/build/test/kpj/test-kpj-file-writer.d.ts.map +1 -0
  41. package/build/test/kpj/test-kpj-file-writer.js +71 -0
  42. package/build/test/kpj/test-kpj-file-writer.js.map +1 -0
  43. package/build/test/tsconfig.tsbuildinfo +1 -1
  44. package/build/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +4 -2
@@ -2,7 +2,7 @@
2
2
  * Keyman is copyright (C) SIL Global. MIT License.
3
3
  */
4
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]="a8236871-b85c-5f4a-9542-ffb27b6e7aee")}catch(e){}}();
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]="274dd1bd-b074-57c5-8a03-4a867fec5384")}catch(e){}}();
6
6
  export { validateMITLicense } from './utils/validate-mit-license.js';
7
7
  export { KeymanSentry } from './utils/KeymanSentry.js';
8
8
  export { getOption, loadOptions, clearOptions } from './utils/options.js';
@@ -10,7 +10,8 @@ export { escapeMarkdownChar } from './utils/markdown.js';
10
10
  export { KeymanUrls } from './utils/keyman-urls.js';
11
11
  export * as KPJ from './types/kpj/kpj-file.js';
12
12
  export { KPJFileReader } from './types/kpj/kpj-file-reader.js';
13
- export { KeymanDeveloperProject, KeymanDeveloperProjectType, } from './types/kpj/keyman-developer-project.js';
13
+ export { KPJFileWriter } from './types/kpj/kpj-file-writer.js';
14
+ export { KeymanDeveloperProject, KeymanDeveloperProjectType, KeymanDeveloperProjectOptions } from './types/kpj/keyman-developer-project.js';
14
15
  export { isValidEmail } from './is-valid-email.js';
15
16
  export * as KpsFile from './types/kps/kps-file.js';
16
17
  export { KpsFileReader } from './types/kps/kps-file-reader.js';
@@ -24,8 +25,11 @@ export { default as KMXBuilder } from './types/kmx/kmx-builder.js';
24
25
  export { default as KMXPlusBuilder } from './types/kmx/kmx-plus-builder/kmx-plus-builder.js';
25
26
  export * as LDMLKeyboard from './types/ldml-keyboard/ldml-keyboard-xml.js';
26
27
  export { LDMLKeyboardXMLSourceFileReader, LDMLKeyboardXMLSourceFileReaderOptions } from './types/ldml-keyboard/ldml-keyboard-xml-reader.js';
27
- export { defaultCompilerOptions, CompilerErrorNamespace, CompilerErrorSeverity, CompilerError, CompilerMessageSpec, CompilerMessageSpecWithException, compilerErrorSeverity, CompilerErrorMask, CompilerFileCallbacks, compilerErrorSeverityName, compilerErrorFormatCode, CompilerMessageDef, compilerLogLevelToSeverity, compilerEventFormat, ALL_COMPILER_LOG_LEVELS, ALL_COMPILER_LOG_FORMATS } from './compiler-interfaces.js';
28
+ export { CompilerFileCallbacks, DefaultCompilerFileSystemAsyncCallbacks, } from './compiler-callbacks.js';
29
+ export { defaultCompilerOptions, CompilerErrorNamespace, CompilerErrorSeverity, CompilerError, CompilerMessageSpec, CompilerMessageSpecWithException, compilerErrorSeverity, CompilerErrorMask, compilerErrorSeverityName, compilerErrorFormatCode, CompilerMessageDef, compilerLogLevelToSeverity, compilerEventFormat, ALL_COMPILER_LOG_LEVELS, ALL_COMPILER_LOG_FORMATS } from './compiler-interfaces.js';
30
+ export { UrlSubpathCompilerCallback } from './utils/UrlSubpathCompilerCallback.js';
28
31
  export { CommonTypesMessages } from './common-messages.js';
32
+ export * as SourceFilenamePatterns from './source-filename-patterns.js';
29
33
  export { KeymanXMLWriter, KeymanXMLReader } from './xml-utils.js';
30
34
  //# sourceMappingURL=index.js.map
31
- //# debugId=a8236871-b85c-5f4a-9542-ffb27b6e7aee
35
+ //# debugId=274dd1bd-b074-57c5-8a03-4a867fec5384
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourceRoot":"","names":[],"mappings":"AAAA;;GAEG;;;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAA8B,0BAA0B,GAAG,MAAM,yCAAyC,CAAC;AAC1I,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAgC,MAAM,gEAAgE,CAAC;AAErI,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAO,kDAAkD,CAAC;AAE7F,OAAO,KAAK,YAAY,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,+BAA+B,EAAE,sCAAsC,EAAE,MAAM,mDAAmD,CAAC;AAE5I,OAAO,EAAE,sBAAsB,EAA0E,sBAAsB,EAC7H,qBAAqB,EACrB,aAAa,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,yBAAyB,EAChK,uBAAuB,EAAE,kBAAkB,EAC3C,0BAA0B,EAAoB,mBAAmB,EAAE,uBAAuB,EAC1F,wBAAwB,EAUvB,MAAM,0BAA0B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAiB,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC","debug_id":"a8236871-b85c-5f4a-9542-ffb27b6e7aee"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourceRoot":"","names":[],"mappings":"AAAA;;GAEG;;;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAA8B,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxK,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAgC,MAAM,gEAAgE,CAAC;AAErI,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAC,MAAO,kDAAkD,CAAC;AAE7F,OAAO,KAAK,YAAY,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,+BAA+B,EAAE,sCAAsC,EAAE,MAAM,mDAAmD,CAAC;AAE5I,OAAO,EAGL,qBAAqB,EAMrB,uCAAuC,GACxC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAuD,sBAAsB,EAC1G,qBAAqB,EACrB,aAAa,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,yBAAyB,EACzI,uBAAuB,EAAE,kBAAkB,EAC3C,0BAA0B,EAAoB,mBAAmB,EAAE,uBAAuB,EAC1F,wBAAwB,EAUvB,MAAM,0BAA0B,CAAC;AAEpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAiB,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC","debug_id":"274dd1bd-b074-57c5-8a03-4a867fec5384"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A keyboard package filename SHOULD adhere to this pattern (including file
3
+ * extension), lower case alphanumeric and underscore only allowed (a-z, _ only
4
+ * for first letter).
5
+ */
6
+ export declare const KEYBOARD_ID_PATTERN_PACKAGE: RegExp;
7
+ /**
8
+ * A lexical model package filename SHOULD adhere to this pattern (including
9
+ * file extension). There are three components to the filename: author, bcp47,
10
+ * and uniq, separated by period. The filename ends in .model.kps or .model.kmp.
11
+ * Each of the author, bcp47, and uniq sections may contain lowercase
12
+ * alphanumeric, underscore characters, and the bcp47 section additionally may
13
+ * contain hyphen. Digits are not permitted as first letter of each section.
14
+ *
15
+ * Despite including a bcp47 tag as part of the filename, it is informative only,
16
+ * and is not regarded as part of the metadata for the lexical model.
17
+ */
18
+ export declare const MODEL_ID_PATTERN_PACKAGE: RegExp;
19
+ /**
20
+ * Filenames of files contained in a package MAY adhere to this pattern for
21
+ * optimum cross-platform compatibility. This is the basename portion of the
22
+ * filename, and is case-insensitive.
23
+ */
24
+ export declare const CONTENT_FILE_BASENAME_PATTERN: RegExp;
25
+ /**
26
+ * Extensions of files contained in a package MAY adhere to this pattern for optimum
27
+ * cross-platform compatibility. This is the extension portion of the filename,
28
+ * and should be lower case, and may be empty.
29
+ */
30
+ export declare const CONTENT_FILE_EXTENSION_PATTERN: RegExp;
31
+ //# sourceMappingURL=source-filename-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-filename-patterns.d.ts","sourceRoot":"","sources":["../../src/source-filename-patterns.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAkC,CAAC;AAE3E;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,wBAAwB,QAA8E,CAAC;AAMpH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAAqB,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAAuB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Keyman is copyright (C) SIL International. MIT License.
3
+ *
4
+ * Keyman Developer source filename regular expressions
5
+ */
6
+ /**
7
+ * A keyboard package filename SHOULD adhere to this pattern (including file
8
+ * extension), lower case alphanumeric and underscore only allowed (a-z, _ only
9
+ * for first letter).
10
+ */
11
+
12
+ !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]="38849c42-4eae-591c-ae63-964a99c99c2c")}catch(e){}}();
13
+ export const KEYBOARD_ID_PATTERN_PACKAGE = /^[a-z_][a-z0-9_]*\.(kps|kmp)$/;
14
+ /**
15
+ * A lexical model package filename SHOULD adhere to this pattern (including
16
+ * file extension). There are three components to the filename: author, bcp47,
17
+ * and uniq, separated by period. The filename ends in .model.kps or .model.kmp.
18
+ * Each of the author, bcp47, and uniq sections may contain lowercase
19
+ * alphanumeric, underscore characters, and the bcp47 section additionally may
20
+ * contain hyphen. Digits are not permitted as first letter of each section.
21
+ *
22
+ * Despite including a bcp47 tag as part of the filename, it is informative only,
23
+ * and is not regarded as part of the metadata for the lexical model.
24
+ */
25
+ // author .bcp47 .uniq
26
+ export const MODEL_ID_PATTERN_PACKAGE = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.(kps|kmp)$/;
27
+ // const MODEL_ID_PATTERN_JS = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.js$/;
28
+ // const MODEL_ID_PATTERN_TS = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.ts$/;
29
+ // const MODEL_ID_PATTERN_PROJECT = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.kpj$/;
30
+ /**
31
+ * Filenames of files contained in a package MAY adhere to this pattern for
32
+ * optimum cross-platform compatibility. This is the basename portion of the
33
+ * filename, and is case-insensitive.
34
+ */
35
+ export const CONTENT_FILE_BASENAME_PATTERN = /^[a-z0-9_+.-]+$/i; // base names can be case insensitive
36
+ /**
37
+ * Extensions of files contained in a package MAY adhere to this pattern for optimum
38
+ * cross-platform compatibility. This is the extension portion of the filename,
39
+ * and should be lower case, and may be empty.
40
+ */
41
+ export const CONTENT_FILE_EXTENSION_PATTERN = /^(\.[a-z0-9_-]+)?$/; // extensions should be lower-case or empty
42
+ //# sourceMappingURL=source-filename-patterns.js.map
43
+ //# debugId=38849c42-4eae-591c-ae63-964a99c99c2c
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-filename-patterns.js","sources":["../../src/source-filename-patterns.ts"],"sourceRoot":"","names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;;;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AAE3E;;;;;;;;;;GAUG;AACH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,wBAAwB,GAAG,2EAA2E,CAAC;AAEpH,yGAAyG;AACzG,yGAAyG;AACzG,0GAA0G;AAE1G;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,CAAC,qCAAqC;AAEtG;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,oBAAoB,CAAC,CAAC,2CAA2C","debug_id":"38849c42-4eae-591c-ae63-964a99c99c2c"}
@@ -1,22 +1,23 @@
1
1
  import { KeymanFileTypes } from '@keymanapp/common-types';
2
- import { CompilerCallbacks } from '../../compiler-interfaces.js';
2
+ import { CompilerAsyncCallbacks, CompilerPathCallbacks } from "../../compiler-callbacks.js";
3
3
  export declare class KeymanDeveloperProject {
4
4
  private _projectFilename;
5
- private callbacks;
5
+ protected callbacks: CompilerAsyncCallbacks;
6
6
  options: KeymanDeveloperProjectOptions;
7
7
  files: KeymanDeveloperProjectFile[];
8
8
  projectPath: string;
9
9
  readonly projectFile: KeymanDeveloperProjectFile;
10
10
  get projectFilename(): string;
11
- constructor(_projectFilename: string, version: KeymanDeveloperProjectVersion, callbacks: CompilerCallbacks);
11
+ constructor(_projectFilename: string, version: KeymanDeveloperProjectVersion, callbacks: CompilerAsyncCallbacks);
12
12
  /**
13
13
  * Adds .kmn, .xml, .kps to project based on options.sourcePath
14
14
  * @param projectFilename Full path to project.kpj (even if the file doesn't exist)
15
15
  */
16
- populateFiles(): boolean;
16
+ populateFiles(): Promise<boolean>;
17
17
  isKeyboardProject(): boolean;
18
18
  isLexicalModelProject(): boolean;
19
19
  private resolveProjectPath;
20
+ resolveBuildPath(): string;
20
21
  getOutputFilePath(type: KeymanFileTypes.Binary): string;
21
22
  resolveInputFilePath(file: KeymanDeveloperProjectFile): string;
22
23
  resolveOutputFilePath(file: KeymanDeveloperProjectFile, sourceExt: string, targetExt: string): string;
@@ -51,20 +52,20 @@ export declare class KeymanDeveloperProjectFile10 implements KeymanDeveloperProj
51
52
  readonly id: string;
52
53
  readonly filePath: string;
53
54
  readonly fileVersion: string;
54
- private readonly callbacks;
55
+ private path;
55
56
  get filename(): string;
56
57
  get fileType(): string;
57
58
  details: KeymanDeveloperProjectFileDetail_Kmn & KeymanDeveloperProjectFileDetail_Kps;
58
59
  childFiles: KeymanDeveloperProjectFile[];
59
- constructor(id: string, filePath: string, fileVersion: string, callbacks: CompilerCallbacks);
60
+ constructor(id: string, filePath: string, fileVersion: string, path: CompilerPathCallbacks);
60
61
  }
61
62
  export type KeymanDeveloperProjectFileType20 = KeymanFileTypes.Source;
62
63
  export declare class KeymanDeveloperProjectFile20 implements KeymanDeveloperProjectFile {
63
64
  readonly filePath: string;
64
- private readonly callbacks;
65
+ private path;
65
66
  get filename(): string;
66
67
  get fileType(): string;
67
- constructor(filePath: string, callbacks: CompilerCallbacks);
68
+ constructor(filePath: string, path: CompilerPathCallbacks);
68
69
  }
69
70
  export declare class KeymanDeveloperProjectFileDetail_Kps {
70
71
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"keyman-developer-project.d.ts","sourceRoot":"","sources":["../../../../src/types/kpj/keyman-developer-project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,qBAAa,sBAAsB;IAUrB,OAAO,CAAC,gBAAgB;IAAkD,OAAO,CAAC,SAAS;IATvG,OAAO,EAAE,6BAA6B,CAAC;IACvC,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAM;IACzB,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;IAEjD,IAAI,eAAe,WAElB;gBAEmB,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAU,SAAS,EAAE,iBAAiB;IAM1H;;;OAGG;IACH,aAAa;IAiCN,iBAAiB;IAIjB,qBAAqB;IAI5B,OAAO,CAAC,kBAAkB;IAK1B,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM;IAmB9C,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,GAAG,MAAM;IAI9D,qBAAqB,CAAC,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAmBtG;AAED,oBAAY,0BAA0B;IACpC,QAAQ,IAAA;IACR,YAAY,IAAA;CACb;AAED,MAAM,MAAM,6BAA6B,GACvC,KAAK,GAAK,uDAAuD;AACjE,KAAK,CAAC;AAER,qBAAa,6BAA6B;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,OAAO,CAAS;IAC1C,kBAAkB,EAAE,OAAO,CAAQ;IACnC,wBAAwB,EAAE,OAAO,CAAS;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,0BAA0B,CAAuC;IAC9E,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;gBACpC,OAAO,EAAE,6BAA6B;CAiBnD;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,QAAQ,IAAI,MAAM,CAAC;IACvB,IAAI,QAAQ,IAAI,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,4BAA6B,YAAW,0BAA0B;aAUjD,EAAE,EAAE,MAAM;aAAkB,QAAQ,EAAE,MAAM;aAAkB,WAAW,EAAC,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;IATxI,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,OAAO,EAAE,oCAAoC,GAAG,oCAAoC,CAAC;IACrF,UAAU,EAAE,0BAA0B,EAAE,CAAC;gBAEb,EAAE,EAAE,MAAM,EAAkB,QAAQ,EAAE,MAAM,EAAkB,WAAW,EAAC,MAAM,EAAmB,SAAS,EAAE,iBAAiB;CAI5J;AAED,MAAM,MAAM,gCAAgC,GAAG,eAAe,CAAC,MAAM,CAAC;AAEtE,qBAAa,4BAA6B,YAAW,0BAA0B;aAOjD,QAAQ,EAAE,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;IANxE,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,QAAQ,WAEX;gBAC2B,QAAQ,EAAE,MAAM,EAAmB,SAAS,EAAE,iBAAiB;CAE5F;AAED,qBAAa,oCAAoC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oCAAoC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"keyman-developer-project.d.ts","sourceRoot":"","sources":["../../../../src/types/kpj/keyman-developer-project.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  // Version 1.0 and 2.0 of Keyman Developer Project .kpj file
3
3
  //
4
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]="f5f9e7bb-a463-5cb7-9f2c-8a63df7a8c69")}catch(e){}}();
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]="c85911cf-30b8-53b3-9742-a2ef65160d59")}catch(e){}}();
6
6
  import { KeymanFileTypes } from '@keymanapp/common-types';
7
7
  export class KeymanDeveloperProject {
8
8
  _projectFilename;
@@ -20,26 +20,26 @@ export class KeymanDeveloperProject {
20
20
  this.projectPath = this.callbacks.path.dirname(this._projectFilename);
21
21
  this.options = new KeymanDeveloperProjectOptions(version);
22
22
  this.files = [];
23
- this.projectFile = new KeymanDeveloperProjectFile20(_projectFilename, callbacks);
23
+ this.projectFile = new KeymanDeveloperProjectFile20(_projectFilename, this.callbacks.path);
24
24
  }
25
25
  /**
26
26
  * Adds .kmn, .xml, .kps to project based on options.sourcePath
27
27
  * @param projectFilename Full path to project.kpj (even if the file doesn't exist)
28
28
  */
29
- populateFiles() {
29
+ async populateFiles() {
30
30
  if (this.options.version != '2.0') {
31
31
  throw new Error('populateFiles can only be called on a v2.0 project');
32
32
  }
33
33
  const sourcePath = this.resolveProjectPath(this.options.sourcePath);
34
- if (!this.callbacks.fs.existsSync(sourcePath)) {
34
+ if (!await this.callbacks.fsAsync.exists(sourcePath)) {
35
35
  return false;
36
36
  }
37
- const files = this.callbacks.fs.readdirSync(sourcePath);
38
- for (const filename of files) {
39
- const fullPath = this.callbacks.path.join(sourcePath, filename);
40
- if (KeymanFileTypes.filenameIs(filename, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */)) {
37
+ const files = await this.callbacks.fsAsync.readdir(sourcePath);
38
+ for (const file of files.filter(file => file.type == 'file')) {
39
+ const fullPath = this.callbacks.path.join(sourcePath, file.filename);
40
+ if (KeymanFileTypes.filenameIs(file.filename, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */)) {
41
41
  try {
42
- const data = this.callbacks.loadFile(fullPath);
42
+ const data = await this.callbacks.fsAsync.readFile(fullPath);
43
43
  const text = new TextDecoder().decode(data);
44
44
  if (!text?.match(/<keyboard3/)) {
45
45
  // Skip this .xml because we assume it isn't really a keyboard .xml
@@ -52,8 +52,8 @@ export class KeymanDeveloperProject {
52
52
  continue;
53
53
  }
54
54
  }
55
- if (KeymanFileTypes.sourceTypeFromFilename(filename) !== null) {
56
- const file = new KeymanDeveloperProjectFile20(fullPath, this.callbacks);
55
+ if (KeymanFileTypes.sourceTypeFromFilename(file.filename) !== null) {
56
+ const file = new KeymanDeveloperProjectFile20(fullPath, this.callbacks.path);
57
57
  this.files.push(file);
58
58
  }
59
59
  }
@@ -69,7 +69,7 @@ export class KeymanDeveloperProject {
69
69
  // Replace placeholders in the target path
70
70
  return p.replace('$PROJECTPATH', this.projectPath);
71
71
  }
72
- getOutputFilePath(type) {
72
+ resolveBuildPath() {
73
73
  // Roughly corresponds to Delphi TProject.GetTargetFileName
74
74
  let p = this.options.version == '1.0' ?
75
75
  this.options.buildPath || '$SOURCEPATH' :
@@ -81,11 +81,15 @@ export class KeymanDeveloperProject {
81
81
  p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this._projectFilename));
82
82
  }
83
83
  p = this.resolveProjectPath(p);
84
+ return p;
85
+ }
86
+ getOutputFilePath(type) {
87
+ const p = this.resolveBuildPath();
84
88
  const f = this.callbacks.path.basename(this._projectFilename, ".kpj" /* KeymanFileTypes.Source.Project */) + type;
85
89
  return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
86
90
  }
87
91
  resolveInputFilePath(file) {
88
- return this.callbacks.resolveFilename(this._projectFilename, file.filePath);
92
+ return this.callbacks.fsAsync.resolveFilename(this._projectFilename, file.filePath);
89
93
  }
90
94
  resolveOutputFilePath(file, sourceExt, targetExt) {
91
95
  // Roughly corresponds to Delphi TProject.GetTargetFileName
@@ -147,20 +151,20 @@ export class KeymanDeveloperProjectFile10 {
147
151
  id;
148
152
  filePath;
149
153
  fileVersion;
150
- callbacks;
154
+ path;
151
155
  get filename() {
152
- return this.callbacks.path.basename(this.filePath);
156
+ return this.path.basename(this.filePath);
153
157
  }
154
158
  get fileType() {
155
159
  return KeymanFileTypes.fromFilename(this.filename);
156
160
  }
157
161
  details; // 1.0 only
158
162
  childFiles; // 1.0 only
159
- constructor(id, filePath, fileVersion, callbacks) {
163
+ constructor(id, filePath, fileVersion, path) {
160
164
  this.id = id;
161
165
  this.filePath = filePath;
162
166
  this.fileVersion = fileVersion;
163
- this.callbacks = callbacks;
167
+ this.path = path;
164
168
  this.details = {};
165
169
  this.childFiles = [];
166
170
  }
@@ -168,16 +172,16 @@ export class KeymanDeveloperProjectFile10 {
168
172
  ;
169
173
  export class KeymanDeveloperProjectFile20 {
170
174
  filePath;
171
- callbacks;
175
+ path;
172
176
  get filename() {
173
- return this.callbacks.path.basename(this.filePath);
177
+ return this.path.basename(this.filePath);
174
178
  }
175
179
  get fileType() {
176
180
  return KeymanFileTypes.fromFilename(this.filename);
177
181
  }
178
- constructor(filePath, callbacks) {
182
+ constructor(filePath, path) {
179
183
  this.filePath = filePath;
180
- this.callbacks = callbacks;
184
+ this.path = path;
181
185
  }
182
186
  }
183
187
  ;
@@ -194,4 +198,4 @@ export class KeymanDeveloperProjectFileDetail_Kmn {
194
198
  }
195
199
  ;
196
200
  //# sourceMappingURL=keyman-developer-project.js.map
197
- //# debugId=f5f9e7bb-a463-5cb7-9f2c-8a63df7a8c69
201
+ //# debugId=c85911cf-30b8-53b3-9742-a2ef65160d59
@@ -1 +1 @@
1
- {"version":3,"file":"keyman-developer-project.js","sources":["../../../../src/types/kpj/keyman-developer-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"f5f9e7bb-a463-5cb7-9f2c-8a63df7a8c69"}
1
+ {"version":3,"file":"keyman-developer-project.js","sources":["../../../../src/types/kpj/keyman-developer-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"c85911cf-30b8-53b3-9742-a2ef65160d59"}
@@ -1,13 +1,13 @@
1
1
  import { KPJFile } from './kpj-file.js';
2
2
  import { KeymanDeveloperProject } from './keyman-developer-project.js';
3
- import { CompilerCallbacks } from '../../compiler-interfaces.js';
3
+ import { CompilerAsyncCallbacks } from "../../compiler-callbacks.js";
4
4
  export declare class KPJFileReader {
5
5
  private callbacks;
6
- constructor(callbacks: CompilerCallbacks);
6
+ constructor(callbacks: CompilerAsyncCallbacks);
7
7
  read(file: Uint8Array): KPJFile;
8
8
  validate(source: KPJFile): void;
9
9
  private boolFromString;
10
- transform(projectFilename: string, source: KPJFile): KeymanDeveloperProject;
10
+ transform(projectFilename: string, source: KPJFile): Promise<KeymanDeveloperProject>;
11
11
  private transformFilesVersion10;
12
12
  /**
13
13
  * xml2js will not place single-entry objects into arrays.
@@ -1 +1 @@
1
- {"version":3,"file":"kpj-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/kpj/kpj-file-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAA4D,MAAM,+BAA+B,CAAC;AAEjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAIzC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAkB/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
+ {"version":3,"file":"kpj-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/kpj/kpj-file-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAA4D,MAAM,+BAA+B,CAAC;AAEjI,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,sBAAsB;IAG9C,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAkB/B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAUtC,OAAO,CAAC,cAAc;IAOT,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+BjG,OAAO,CAAC,uBAAuB;IAwB/B;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAUlB"}
@@ -1,5 +1,5 @@
1
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]="d0fc5399-3c90-5e3f-96fd-3f0bd2e37741")}catch(e){}}();
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]="efaa4781-b440-5af8-b7a6-b7ac6531f982")}catch(e){}}();
3
3
  import { KeymanXMLReader } from '../../index.js';
4
4
  import { util } from '@keymanapp/common-types';
5
5
  import { KeymanDeveloperProject, KeymanDeveloperProjectFile10, KeymanDeveloperProjectType } from './keyman-developer-project.js';
@@ -41,7 +41,7 @@ export class KPJFileReader {
41
41
  return false;
42
42
  return def;
43
43
  }
44
- transform(projectFilename, source) {
44
+ async transform(projectFilename, source) {
45
45
  // NOTE: at this point, the xml should have been validated
46
46
  // and matched the schema result so we can assume the source
47
47
  // is a valid shape
@@ -67,14 +67,14 @@ export class KPJFileReader {
67
67
  this.transformFilesVersion10(project, result);
68
68
  }
69
69
  else {
70
- result.populateFiles();
70
+ await result.populateFiles();
71
71
  }
72
72
  return result;
73
73
  }
74
74
  transformFilesVersion10(project, result) {
75
75
  const ids = {};
76
76
  for (const sourceFile of project.Files?.File) {
77
- const file = new KeymanDeveloperProjectFile10(sourceFile.ID || '', (sourceFile.Filepath || '').replace(/\\/g, '/'), sourceFile.FileVersion || '', this.callbacks);
77
+ const file = new KeymanDeveloperProjectFile10(sourceFile.ID || '', (sourceFile.Filepath || '').replace(/\\/g, '/'), sourceFile.FileVersion || '', this.callbacks.path);
78
78
  if (sourceFile.Details) {
79
79
  file.details.copyright = sourceFile.Details.Copyright;
80
80
  file.details.name = sourceFile.Details.Name;
@@ -107,4 +107,4 @@ export class KPJFileReader {
107
107
  }
108
108
  }
109
109
  //# sourceMappingURL=kpj-file-reader.js.map
110
- //# debugId=d0fc5399-3c90-5e3f-96fd-3f0bd2e37741
110
+ //# debugId=efaa4781-b440-5af8-b7a6-b7ac6531f982
@@ -1 +1 @@
1
- {"version":3,"file":"kpj-file-reader.js","sources":["../../../../src/types/kpj/kpj-file-reader.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"d0fc5399-3c90-5e3f-96fd-3f0bd2e37741"}
1
+ {"version":3,"file":"kpj-file-reader.js","sources":["../../../../src/types/kpj/kpj-file-reader.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"efaa4781-b440-5af8-b7a6-b7ac6531f982"}
@@ -0,0 +1,10 @@
1
+ import { KeymanDeveloperProject } from './keyman-developer-project.js';
2
+ export declare class KPJFileWriter {
3
+ write(project: KeymanDeveloperProject): string;
4
+ private normalizePath;
5
+ private boolToString;
6
+ private stripEmptyMembers;
7
+ private isEmptyObject;
8
+ private isEmpty;
9
+ }
10
+ //# sourceMappingURL=kpj-file-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpj-file-writer.d.ts","sourceRoot":"","sources":["../../../../src/types/kpj/kpj-file-writer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAA4F,MAAM,+BAA+B,CAAC;AAEjK,qBAAa,aAAa;IACjB,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM;IAsCrD,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,OAAO;CAShB"}
@@ -0,0 +1,92 @@
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]="b0a9a1be-9420-562e-9cf7-99f4c1175514")}catch(e){}}();
3
+ import { KeymanXMLWriter } from '../../index.js';
4
+ import { KeymanDeveloperProjectOptions, KeymanDeveloperProjectType } from './keyman-developer-project.js';
5
+ export class KPJFileWriter {
6
+ write(project) {
7
+ const defaultOptions = new KeymanDeveloperProjectOptions(project.options.version);
8
+ const kpj = {
9
+ KeymanDeveloperProject: {
10
+ Options: {
11
+ BuildPath: project.options.buildPath === defaultOptions.buildPath ? null : this.normalizePath(project.options.buildPath, project.options.version),
12
+ CheckFilenameConventions: project.options.checkFilenameConventions === defaultOptions.checkFilenameConventions ? null : this.boolToString(project.options.checkFilenameConventions),
13
+ CompilerWarningsAsErrors: project.options.compilerWarningsAsErrors === defaultOptions.compilerWarningsAsErrors ? null : this.boolToString(project.options.compilerWarningsAsErrors),
14
+ ProjectType: project.options.projectType == KeymanDeveloperProjectType.LexicalModel ? 'lexicalmodel' : 'keyboard',
15
+ SkipMetadataFiles: project.options.skipMetadataFiles === defaultOptions.skipMetadataFiles ? null : this.boolToString(project.options.skipMetadataFiles),
16
+ SourcePath: project.options.sourcePath === defaultOptions.sourcePath ? null : this.normalizePath(project.options.sourcePath, project.options.version),
17
+ Version: project.options.version == '1.0' ? null : project.options.version,
18
+ WarnDeprecatedCode: project.options.warnDeprecatedCode === defaultOptions.warnDeprecatedCode ? null : this.boolToString(project.options.warnDeprecatedCode),
19
+ },
20
+ }
21
+ };
22
+ if (project.options.version == '1.0') {
23
+ kpj.KeymanDeveloperProject.Files = { File: [] };
24
+ for (const file of project.files) {
25
+ // we skip any parented files, and any file details
26
+ const File = {
27
+ ID: file.filename,
28
+ Filename: file.filename,
29
+ Filepath: this.normalizePath(file.filePath, project.options.version),
30
+ FileType: file.fileType,
31
+ };
32
+ kpj.KeymanDeveloperProject.Files.File.push(File);
33
+ }
34
+ }
35
+ this.stripEmptyMembers(kpj);
36
+ const result = new KeymanXMLWriter('kpj').write(kpj);
37
+ return result;
38
+ }
39
+ normalizePath(path, version) {
40
+ return version == '1.0'
41
+ ? path?.replaceAll(/\//g, '\\')
42
+ : path?.replaceAll(/\\/g, '/');
43
+ }
44
+ boolToString(b) {
45
+ if (b === null || b === undefined) {
46
+ return null;
47
+ }
48
+ // .kpj expects title case True/False
49
+ return b ? 'True' : 'False';
50
+ }
51
+ stripEmptyMembers(o) {
52
+ for (const p of Object.keys(o)) {
53
+ if (typeof o[p] === 'undefined' || o[p] === null) {
54
+ delete o[p];
55
+ }
56
+ else if (this.isEmptyObject(o[p])) {
57
+ delete o[p];
58
+ }
59
+ else if (typeof o[p] == 'object') {
60
+ this.stripEmptyMembers(o[p]);
61
+ }
62
+ }
63
+ }
64
+ isEmptyObject(value) {
65
+ // https://stackoverflow.com/a/32108184/1836776
66
+ if (value == null) {
67
+ // null or undefined
68
+ return false;
69
+ }
70
+ if (typeof value !== 'object') {
71
+ // boolean, number, string, function, etc.
72
+ return false;
73
+ }
74
+ const proto = Object.getPrototypeOf(value);
75
+ // consider `Object.create(null)`, commonly used as a safe map
76
+ // before `Map` support, an empty object as well as `{}`
77
+ if (proto !== null && proto !== Object.prototype) {
78
+ return false;
79
+ }
80
+ return this.isEmpty(value);
81
+ }
82
+ isEmpty(obj) {
83
+ for (const prop in obj) {
84
+ if (Object.hasOwn(obj, prop)) {
85
+ return false;
86
+ }
87
+ }
88
+ return true;
89
+ }
90
+ }
91
+ //# sourceMappingURL=kpj-file-writer.js.map
92
+ //# debugId=b0a9a1be-9420-562e-9cf7-99f4c1175514
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpj-file-writer.js","sources":["../../../../src/types/kpj/kpj-file-writer.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"b0a9a1be-9420-562e-9cf7-99f4c1175514"}
@@ -1,4 +1,4 @@
1
- import { CompilerCallbacks } from "../../compiler-interfaces.js";
1
+ import { CompilerCallbacks } from "../../compiler-callbacks.js";
2
2
  import { KpsPackage } from "./kps-file.js";
3
3
  export declare class KpsFileReader {
4
4
  private callbacks;
@@ -1 +1 @@
1
- {"version":3,"file":"kps-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/kps/kps-file-reader.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAIzC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAsBzC,OAAO,CAAC,SAAS;CA2BlB"}
1
+ {"version":3,"file":"kps-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/kps/kps-file-reader.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAIzC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAsBzC,OAAO,CAAC,SAAS;CA2BlB"}
@@ -1,4 +1,4 @@
1
- import { CompilerCallbacks } from '../../compiler-interfaces.js';
1
+ import { CompilerCallbacks } from "../../compiler-callbacks.js";
2
2
  import { LDMLKeyboardXMLSourceFile } from './ldml-keyboard-xml.js';
3
3
  import { LDMLKeyboardTestDataXMLSourceFile } from './ldml-keyboard-testdata-xml.js';
4
4
  interface NameAndProps {
@@ -1 +1 @@
1
- {"version":3,"file":"ldml-keyboard-xml-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/ldml-keyboard/ldml-keyboard-xml-reader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAA0B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,iCAAiC,EAAqB,MAAM,iCAAiC,CAAC;AAIvG,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,sCAAsC;IACjD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,+BAA+B;IAC9B,OAAO,CAAC,OAAO;IAA0C,OAAO,CAAC,SAAS;gBAAlE,OAAO,EAAE,sCAAsC,EAAU,SAAS,EAAG,iBAAiB;IAG1G,MAAM,KAAK,iBAAiB,IAAI,CAAC,MAAM,EAAC,MAAM,CAAC,CAE9C;IAED,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAK5D;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAyEjB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgCtB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAiDxB;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,iCAAiC,GAAG,OAAO;IAe/F,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,yBAAyB;IAOxD;;;OAGG;IACI,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,yBAAyB,GAAG,IAAI;IAqB/D,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG;IAM1C;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAIvE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAYvE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAS,YAAY,KAAK,+BAA+B,SAAW;IAEjG;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,+BAA+B,KAAK,GAAG;IAYrJ,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAI,iCAAiC,GAAG,IAAI;IAuCtE;;;OAGG;IACI,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,iCAAiC,GAAG,IAAI;CAOhF"}
1
+ {"version":3,"file":"ldml-keyboard-xml-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/ldml-keyboard/ldml-keyboard-xml-reader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAA0B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,iCAAiC,EAAqB,MAAM,iCAAiC,CAAC;AAIvG,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,sCAAsC;IACjD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,+BAA+B;IAC9B,OAAO,CAAC,OAAO;IAA0C,OAAO,CAAC,SAAS;gBAAlE,OAAO,EAAE,sCAAsC,EAAU,SAAS,EAAG,iBAAiB;IAG1G,MAAM,KAAK,iBAAiB,IAAI,CAAC,MAAM,EAAC,MAAM,CAAC,CAE9C;IAED,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAK5D;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAyEjB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgCtB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAiDxB;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,iCAAiC,GAAG,OAAO;IAe/F,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,yBAAyB;IAOxD;;;OAGG;IACI,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,yBAAyB,GAAG,IAAI;IAqB/D,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG;IAM1C;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAIvE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAYvE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAS,YAAY,KAAK,+BAA+B,SAAW;IAEjG;;;;;;OAMG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,+BAA+B,KAAK,GAAG;IAYrJ,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAI,iCAAiC,GAAG,IAAI;IAuCtE;;;OAGG;IACI,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,iCAAiC,GAAG,IAAI;CAOhF"}
@@ -0,0 +1,17 @@
1
+ import { CompilerPathCallbacks } from "../compiler-callbacks.js";
2
+ /**
3
+ * Helper to replace all backslashes with forward slashes,
4
+ * before passing to posix path module
5
+ */
6
+ export declare class UrlSubpathCompilerCallback implements CompilerPathCallbacks {
7
+ private normalizeSlashes;
8
+ dirname(name: string): string;
9
+ extname(name: string): string;
10
+ basename(name: string, ext?: string): string;
11
+ isAbsolute(name: string): boolean;
12
+ join(...paths: string[]): string;
13
+ normalize(p: string): string;
14
+ relative(from: string, to: string): string;
15
+ resolve(...args: string[]): string;
16
+ }
17
+ //# sourceMappingURL=UrlSubpathCompilerCallback.d.ts.map