node-llama-cpp 2.6.2 → 2.7.0

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 (96) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/ChatCommand.d.ts +2 -0
  3. package/dist/cli/commands/ChatCommand.js +32 -8
  4. package/dist/cli/commands/ChatCommand.js.map +1 -1
  5. package/dist/cli/commands/ClearCommand.js +1 -1
  6. package/dist/cli/commands/ClearCommand.js.map +1 -1
  7. package/dist/index.d.ts +5 -2
  8. package/dist/index.js +3 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/llamaEvaluator/LlamaChatSession.d.ts +52 -41
  11. package/dist/llamaEvaluator/LlamaChatSession.js +24 -3
  12. package/dist/llamaEvaluator/LlamaChatSession.js.map +1 -1
  13. package/dist/llamaEvaluator/LlamaGrammar.d.ts +2 -0
  14. package/dist/llamaEvaluator/LlamaGrammar.js +5 -0
  15. package/dist/llamaEvaluator/LlamaGrammar.js.map +1 -1
  16. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.d.ts +7 -0
  17. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js +21 -0
  18. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +1 -0
  19. package/dist/utils/clearLlamaBuild.js +1 -1
  20. package/dist/utils/clearLlamaBuild.js.map +1 -1
  21. package/dist/utils/clearTempFolder.js +1 -1
  22. package/dist/utils/clearTempFolder.js.map +1 -1
  23. package/dist/utils/cmake.js +19 -2
  24. package/dist/utils/cmake.js.map +1 -1
  25. package/dist/utils/compileLLamaCpp.js +2 -0
  26. package/dist/utils/compileLLamaCpp.js.map +1 -1
  27. package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +5 -0
  28. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +10 -0
  29. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -0
  30. package/dist/utils/gbnfJson/GbnfTerminal.d.ts +7 -0
  31. package/dist/utils/gbnfJson/GbnfTerminal.js +17 -0
  32. package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -0
  33. package/dist/utils/gbnfJson/terminals/GbnfArray.d.ts +7 -0
  34. package/dist/utils/gbnfJson/terminals/GbnfArray.js +29 -0
  35. package/dist/utils/gbnfJson/terminals/GbnfArray.js.map +1 -0
  36. package/dist/utils/gbnfJson/terminals/GbnfBoolean.d.ts +6 -0
  37. package/dist/utils/gbnfJson/terminals/GbnfBoolean.js +16 -0
  38. package/dist/utils/gbnfJson/terminals/GbnfBoolean.js.map +1 -0
  39. package/dist/utils/gbnfJson/terminals/GbnfBooleanValue.d.ts +7 -0
  40. package/dist/utils/gbnfJson/terminals/GbnfBooleanValue.js +17 -0
  41. package/dist/utils/gbnfJson/terminals/GbnfBooleanValue.js.map +1 -0
  42. package/dist/utils/gbnfJson/terminals/GbnfGrammar.d.ts +6 -0
  43. package/dist/utils/gbnfJson/terminals/GbnfGrammar.js +16 -0
  44. package/dist/utils/gbnfJson/terminals/GbnfGrammar.js.map +1 -0
  45. package/dist/utils/gbnfJson/terminals/GbnfNull.d.ts +5 -0
  46. package/dist/utils/gbnfJson/terminals/GbnfNull.js +11 -0
  47. package/dist/utils/gbnfJson/terminals/GbnfNull.js.map +1 -0
  48. package/dist/utils/gbnfJson/terminals/GbnfNumber.d.ts +9 -0
  49. package/dist/utils/gbnfJson/terminals/GbnfNumber.js +21 -0
  50. package/dist/utils/gbnfJson/terminals/GbnfNumber.js.map +1 -0
  51. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.d.ts +7 -0
  52. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js +15 -0
  53. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js.map +1 -0
  54. package/dist/utils/gbnfJson/terminals/GbnfObjectMap.d.ts +17 -0
  55. package/dist/utils/gbnfJson/terminals/GbnfObjectMap.js +25 -0
  56. package/dist/utils/gbnfJson/terminals/GbnfObjectMap.js.map +1 -0
  57. package/dist/utils/gbnfJson/terminals/GbnfOr.d.ts +8 -0
  58. package/dist/utils/gbnfJson/terminals/GbnfOr.js +30 -0
  59. package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -0
  60. package/dist/utils/gbnfJson/terminals/GbnfString.d.ts +5 -0
  61. package/dist/utils/gbnfJson/terminals/GbnfString.js +15 -0
  62. package/dist/utils/gbnfJson/terminals/GbnfString.js.map +1 -0
  63. package/dist/utils/gbnfJson/terminals/GbnfStringValue.d.ts +6 -0
  64. package/dist/utils/gbnfJson/terminals/GbnfStringValue.js +21 -0
  65. package/dist/utils/gbnfJson/terminals/GbnfStringValue.js.map +1 -0
  66. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.d.ts +9 -0
  67. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js +20 -0
  68. package/dist/utils/gbnfJson/terminals/GbnfWhitespace.js.map +1 -0
  69. package/dist/utils/gbnfJson/terminals/gbnfConsts.d.ts +14 -0
  70. package/dist/utils/gbnfJson/terminals/gbnfConsts.js +15 -0
  71. package/dist/utils/gbnfJson/terminals/gbnfConsts.js.map +1 -0
  72. package/dist/utils/gbnfJson/types.d.ts +41 -0
  73. package/dist/utils/gbnfJson/types.js +21 -0
  74. package/dist/utils/gbnfJson/types.js.map +1 -0
  75. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.d.ts +4 -0
  76. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +48 -0
  77. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -0
  78. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForLiteral.d.ts +5 -0
  79. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForLiteral.js +16 -0
  80. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForLiteral.js.map +1 -0
  81. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +7 -0
  82. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +122 -0
  83. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -0
  84. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.d.ts +2 -0
  85. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +23 -0
  86. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -0
  87. package/llama/CMakeLists.txt +1 -1
  88. package/llama/binariesGithubRelease.json +1 -1
  89. package/llama/gitRelease.bundle +0 -0
  90. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  91. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  92. package/llamaBins/linux-x64/llama-addon.node +0 -0
  93. package/llamaBins/mac-arm64/llama-addon.node +0 -0
  94. package/llamaBins/mac-x64/llama-addon.node +0 -0
  95. package/llamaBins/win-x64/llama-addon.node +0 -0
  96. package/package.json +9 -4
@@ -1 +1 @@
1
- {"version":3,"file":"cmake.js","sourceRoot":"","sources":["../../src/utils/cmake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmake.js","sourceRoot":"","sources":["../../src/utils/cmake.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export async function compileLlamaCpp({ arch = process.arch, nodeTarget = proces
23
23
  cmakeCustomOptions.push("LLAMA_METAL=OFF");
24
24
  if (cuda || process.env.LLAMA_CUBLAS === "1")
25
25
  cmakeCustomOptions.push("LLAMA_CUBLAS=1");
26
+ if (cuda && process.env.CUDA_PATH != null && await fs.pathExists(process.env.CUDA_PATH))
27
+ cmakeCustomOptions.push("CMAKE_GENERATOR_TOOLSET=" + process.env.CUDA_PATH);
26
28
  if (process.env.LLAMA_MPI === "1")
27
29
  cmakeCustomOptions.push("LLAMA_MPI=1");
28
30
  if (process.env.LLAMA_OPENBLAS === "1")
@@ -1 +1 @@
1
- {"version":3,"file":"compileLLamaCpp.js","sourceRoot":"","sources":["../../src/utils/compileLLamaCpp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compileLLamaCpp.js","sourceRoot":"","sources":["../../src/utils/compileLLamaCpp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class GbnfGrammarGenerator {
2
+ rules: Map<string, string | null>;
3
+ private ruleId;
4
+ generateRuleName(): string;
5
+ }
@@ -0,0 +1,10 @@
1
+ export class GbnfGrammarGenerator {
2
+ rules = new Map();
3
+ ruleId = 0;
4
+ generateRuleName() {
5
+ const ruleId = this.ruleId;
6
+ this.ruleId++;
7
+ return `rule${ruleId}`;
8
+ }
9
+ }
10
+ //# sourceMappingURL=GbnfGrammarGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfGrammarGenerator.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/GbnfGrammarGenerator.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IACtB,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IACxC,MAAM,GAAW,CAAC,CAAC;IAEpB,gBAAgB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,OAAO,OAAO,MAAM,EAAE,CAAC;IAC3B,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { GbnfGrammarGenerator } from "./GbnfGrammarGenerator.js";
2
+ export declare abstract class GbnfTerminal {
3
+ private _ruleName;
4
+ getRuleName(grammarGenerator: GbnfGrammarGenerator): string;
5
+ abstract getGrammar(grammarGenerator: GbnfGrammarGenerator): string;
6
+ resolve(grammarGenerator: GbnfGrammarGenerator): string;
7
+ }
@@ -0,0 +1,17 @@
1
+ export class GbnfTerminal {
2
+ _ruleName = null;
3
+ getRuleName(grammarGenerator) {
4
+ if (this._ruleName != null)
5
+ return this._ruleName;
6
+ const ruleName = grammarGenerator.generateRuleName();
7
+ this._ruleName = ruleName;
8
+ return ruleName;
9
+ }
10
+ resolve(grammarGenerator) {
11
+ const ruleName = this.getRuleName(grammarGenerator);
12
+ if (!grammarGenerator.rules.has(ruleName))
13
+ grammarGenerator.rules.set(ruleName, this.getGrammar(grammarGenerator));
14
+ return ruleName;
15
+ }
16
+ }
17
+ //# sourceMappingURL=GbnfTerminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfTerminal.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/GbnfTerminal.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,YAAY;IACtB,SAAS,GAAkB,IAAI,CAAC;IAEjC,WAAW,CAAC,gBAAsC;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC;QAE1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAIM,OAAO,CAAC,gBAAsC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAEpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE5E,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfGrammarGenerator } from "../GbnfGrammarGenerator.js";
3
+ export declare class GbnfArray extends GbnfTerminal {
4
+ readonly items: GbnfTerminal;
5
+ constructor(items: GbnfTerminal);
6
+ getGrammar(grammarGenerator: GbnfGrammarGenerator): string;
7
+ }
@@ -0,0 +1,29 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfWhitespace } from "./GbnfWhitespace.js";
3
+ import { GbnfGrammar } from "./GbnfGrammar.js";
4
+ import { GbnfOr } from "./GbnfOr.js";
5
+ export class GbnfArray extends GbnfTerminal {
6
+ items;
7
+ constructor(items) {
8
+ super();
9
+ this.items = items;
10
+ }
11
+ getGrammar(grammarGenerator) {
12
+ const whitespaceRuleName = new GbnfWhitespace().resolve(grammarGenerator);
13
+ const itemsGrammarRuleName = this.items.resolve(grammarGenerator);
14
+ return new GbnfGrammar([
15
+ '"["', whitespaceRuleName,
16
+ new GbnfOr([
17
+ new GbnfGrammar([
18
+ "(", itemsGrammarRuleName, ")",
19
+ "(", '","', whitespaceRuleName, itemsGrammarRuleName, ")*"
20
+ ]),
21
+ new GbnfGrammar([
22
+ "(", itemsGrammarRuleName, ")?"
23
+ ])
24
+ ]).getGrammar(grammarGenerator),
25
+ whitespaceRuleName, '"]"'
26
+ ]).getGrammar();
27
+ }
28
+ }
29
+ //# sourceMappingURL=GbnfArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfArray.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAGnC,MAAM,OAAO,SAAU,SAAQ,YAAY;IACvB,KAAK,CAAe;IAEpC,YAAmB,KAAmB;QAClC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,gBAAsC;QAC7C,MAAM,kBAAkB,GAAG,IAAI,cAAc,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1E,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAElE,OAAO,IAAI,WAAW,CAAC;YACnB,KAAK,EAAE,kBAAkB;YACzB,IAAI,MAAM,CAAC;gBACP,IAAI,WAAW,CAAC;oBACZ,GAAG,EAAE,oBAAoB,EAAE,GAAG;oBAC9B,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,IAAI;iBAC7D,CAAC;gBACF,IAAI,WAAW,CAAC;oBACZ,GAAG,EAAE,oBAAoB,EAAE,IAAI;iBAClC,CAAC;aACL,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC/B,kBAAkB,EAAE,KAAK;SAC5B,CAAC,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfGrammarGenerator } from "../GbnfGrammarGenerator.js";
3
+ export declare class GbnfBoolean extends GbnfTerminal {
4
+ getGrammar(grammarGenerator: GbnfGrammarGenerator): string;
5
+ getRuleName(): string;
6
+ }
@@ -0,0 +1,16 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfOr } from "./GbnfOr.js";
3
+ import { GbnfGrammar } from "./GbnfGrammar.js";
4
+ import { reservedRuleNames } from "./gbnfConsts.js";
5
+ export class GbnfBoolean extends GbnfTerminal {
6
+ getGrammar(grammarGenerator) {
7
+ return new GbnfOr([
8
+ new GbnfGrammar('"true"'),
9
+ new GbnfGrammar('"false"')
10
+ ]).getGrammar(grammarGenerator);
11
+ }
12
+ getRuleName() {
13
+ return reservedRuleNames.boolean;
14
+ }
15
+ }
16
+ //# sourceMappingURL=GbnfBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfBoolean.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,OAAO,WAAY,SAAQ,YAAY;IACzC,UAAU,CAAC,gBAAsC;QAC7C,OAAO,IAAI,MAAM,CAAC;YACd,IAAI,WAAW,CAAC,QAAQ,CAAC;YACzB,IAAI,WAAW,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAEQ,WAAW;QAChB,OAAO,iBAAiB,CAAC,OAAO,CAAC;IACrC,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfBooleanValue extends GbnfTerminal {
3
+ readonly value: boolean;
4
+ constructor(value: boolean);
5
+ getGrammar(): string;
6
+ resolve(): string;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export class GbnfBooleanValue extends GbnfTerminal {
3
+ value;
4
+ constructor(value) {
5
+ super();
6
+ this.value = value;
7
+ }
8
+ getGrammar() {
9
+ if (this.value)
10
+ return '"true"';
11
+ return '"false"';
12
+ }
13
+ resolve() {
14
+ return this.getGrammar();
15
+ }
16
+ }
17
+ //# sourceMappingURL=GbnfBooleanValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfBooleanValue.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfBooleanValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9B,KAAK,CAAU;IAE/B,YAAmB,KAAc;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,KAAK;YACV,OAAO,QAAQ,CAAC;QAEpB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEe,OAAO;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfGrammar extends GbnfTerminal {
3
+ readonly grammar: string | string[];
4
+ constructor(grammar: string | string[]);
5
+ getGrammar(): string;
6
+ }
@@ -0,0 +1,16 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export class GbnfGrammar extends GbnfTerminal {
3
+ grammar;
4
+ constructor(grammar) {
5
+ super();
6
+ this.grammar = grammar;
7
+ }
8
+ getGrammar() {
9
+ if (this.grammar instanceof Array)
10
+ return this.grammar
11
+ .filter((item) => item !== "")
12
+ .join(" ");
13
+ return this.grammar;
14
+ }
15
+ }
16
+ //# sourceMappingURL=GbnfGrammar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfGrammar.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfGrammar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,WAAY,SAAQ,YAAY;IACzB,OAAO,CAAoB;IAE3C,YAAmB,OAA0B;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,OAAO,YAAY,KAAK;YAC7B,OAAO,IAAI,CAAC,OAAO;iBACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;iBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ"}
@@ -0,0 +1,5 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfNull extends GbnfTerminal {
3
+ getGrammar(): string;
4
+ getRuleName(): string;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { reservedRuleNames } from "./gbnfConsts.js";
3
+ export class GbnfNull extends GbnfTerminal {
4
+ getGrammar() {
5
+ return '"null"';
6
+ }
7
+ getRuleName() {
8
+ return reservedRuleNames.null;
9
+ }
10
+ }
11
+ //# sourceMappingURL=GbnfNull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfNull.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfNull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,OAAO,QAAS,SAAQ,YAAY;IACtC,UAAU;QACN,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEQ,WAAW;QAChB,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAClC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfNumber extends GbnfTerminal {
3
+ readonly allowFractional: boolean;
4
+ constructor({ allowFractional }: {
5
+ allowFractional: boolean;
6
+ });
7
+ getGrammar(): string;
8
+ getRuleName(): string;
9
+ }
@@ -0,0 +1,21 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { reservedRuleNames } from "./gbnfConsts.js";
3
+ export class GbnfNumber extends GbnfTerminal {
4
+ allowFractional;
5
+ constructor({ allowFractional = true }) {
6
+ super();
7
+ this.allowFractional = allowFractional;
8
+ }
9
+ getGrammar() {
10
+ const numberGrammar = '("-"? ([0-9] | [1-9] [0-9]*))';
11
+ if (this.allowFractional)
12
+ return numberGrammar + ' ("." [0-9]+)? ([eE] [-+]? [0-9]+)?';
13
+ return numberGrammar;
14
+ }
15
+ getRuleName() {
16
+ if (this.allowFractional)
17
+ return reservedRuleNames.number.fractional;
18
+ return reservedRuleNames.number.integer;
19
+ }
20
+ }
21
+ //# sourceMappingURL=GbnfNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfNumber.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,OAAO,UAAW,SAAQ,YAAY;IACxB,eAAe,CAAU;IAEzC,YAAmB,EAAC,eAAe,GAAG,IAAI,EAA+B;QACrE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,UAAU;QACN,MAAM,aAAa,GAAG,+BAA+B,CAAC;QAEtD,IAAI,IAAI,CAAC,eAAe;YACpB,OAAO,aAAa,GAAG,qCAAqC,CAAC;QAEjE,OAAO,aAAa,CAAC;IACzB,CAAC;IAEQ,WAAW;QAChB,IAAI,IAAI,CAAC,eAAe;YACpB,OAAO,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC;QAE/C,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;IAC5C,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfNumberValue extends GbnfTerminal {
3
+ readonly value: number;
4
+ constructor(value: number);
5
+ getGrammar(): string;
6
+ resolve(): string;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export class GbnfNumberValue extends GbnfTerminal {
3
+ value;
4
+ constructor(value) {
5
+ super();
6
+ this.value = value;
7
+ }
8
+ getGrammar() {
9
+ return '"' + JSON.stringify(this.value) + '"';
10
+ }
11
+ resolve() {
12
+ return this.getGrammar();
13
+ }
14
+ }
15
+ //# sourceMappingURL=GbnfNumberValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfNumberValue.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfNumberValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7B,KAAK,CAAS;IAE9B,YAAmB,KAAa;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEQ,UAAU;QACf,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IAClD,CAAC;IAEe,OAAO;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfGrammarGenerator } from "../GbnfGrammarGenerator.js";
3
+ import { GbnfString } from "./GbnfString.js";
4
+ import { GbnfStringValue } from "./GbnfStringValue.js";
5
+ export declare class GbnfObjectMap extends GbnfTerminal {
6
+ readonly fields: Array<Readonly<{
7
+ key: GbnfString | GbnfStringValue;
8
+ value: GbnfTerminal;
9
+ required: true;
10
+ }>>;
11
+ constructor(fields: Array<Readonly<{
12
+ key: GbnfString | GbnfStringValue;
13
+ value: GbnfTerminal;
14
+ required: true;
15
+ }>>);
16
+ getGrammar(grammarGenerator: GbnfGrammarGenerator): string;
17
+ }
@@ -0,0 +1,25 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfWhitespace } from "./GbnfWhitespace.js";
3
+ import { GbnfGrammar } from "./GbnfGrammar.js";
4
+ export class GbnfObjectMap extends GbnfTerminal {
5
+ fields;
6
+ constructor(fields) {
7
+ super();
8
+ this.fields = fields;
9
+ }
10
+ getGrammar(grammarGenerator) {
11
+ const whitespaceRuleName = new GbnfWhitespace().resolve(grammarGenerator);
12
+ return new GbnfGrammar([
13
+ '"{"', whitespaceRuleName,
14
+ ...this.fields.map(({ key, value }, index) => {
15
+ return new GbnfGrammar([
16
+ key.getGrammar(), '":"', "[ ]?", value.resolve(grammarGenerator),
17
+ index < this.fields.length - 1 ? '","' : "",
18
+ whitespaceRuleName
19
+ ]).getGrammar();
20
+ }),
21
+ '"}"'
22
+ ]).getGrammar();
23
+ }
24
+ }
25
+ //# sourceMappingURL=GbnfObjectMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfObjectMap.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfObjectMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC3B,MAAM,CAA8F;IAEpH,YAAmB,MAAmG;QAClH,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,gBAAsC;QAC7C,MAAM,kBAAkB,GAAG,IAAI,cAAc,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE1E,OAAO,IAAI,WAAW,CAAC;YACnB,KAAK,EAAE,kBAAkB;YACzB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,IAAI,WAAW,CAAC;oBACnB,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAChE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC3C,kBAAkB;iBACrB,CAAC,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC,CAAC;YACF,KAAK;SACR,CAAC,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { GbnfGrammarGenerator } from "../GbnfGrammarGenerator.js";
3
+ export declare class GbnfOr extends GbnfTerminal {
4
+ readonly values: readonly GbnfTerminal[];
5
+ constructor(values: readonly GbnfTerminal[]);
6
+ getGrammar(grammarGenerator: GbnfGrammarGenerator): string;
7
+ resolve(grammarGenerator: GbnfGrammarGenerator): string;
8
+ }
@@ -0,0 +1,30 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { grammarNoValue } from "./gbnfConsts.js";
3
+ export class GbnfOr extends GbnfTerminal {
4
+ values;
5
+ constructor(values) {
6
+ super();
7
+ this.values = values;
8
+ }
9
+ getGrammar(grammarGenerator) {
10
+ const mappedValues = this.values
11
+ .map(v => v.resolve(grammarGenerator))
12
+ .filter(value => value !== "" && value !== grammarNoValue);
13
+ if (mappedValues.length === 0)
14
+ return grammarNoValue;
15
+ else if (mappedValues.length === 1)
16
+ return mappedValues[0];
17
+ return "( " + mappedValues.join(" | ") + " )";
18
+ }
19
+ resolve(grammarGenerator) {
20
+ const mappedValues = this.values
21
+ .map(v => v.resolve(grammarGenerator))
22
+ .filter(value => value !== "" && value !== grammarNoValue);
23
+ if (mappedValues.length === 0)
24
+ return grammarNoValue;
25
+ else if (mappedValues.length === 1)
26
+ return mappedValues[0];
27
+ return super.resolve(grammarGenerator);
28
+ }
29
+ }
30
+ //# sourceMappingURL=GbnfOr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfOr.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfOr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAG/C,MAAM,OAAO,MAAO,SAAQ,YAAY;IACpB,MAAM,CAA0B;IAEhD,YAAmB,MAA+B;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,gBAAsC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,cAAc,CAAC,CAAC;QAE/D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,cAAc,CAAC;aACrB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAE3B,OAAO,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClD,CAAC;IAEQ,OAAO,CAAC,gBAAsC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,cAAc,CAAC,CAAC;QAE/D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YACzB,OAAO,cAAc,CAAC;aACrB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;CACJ"}
@@ -0,0 +1,5 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfString extends GbnfTerminal {
3
+ getGrammar(): string;
4
+ getRuleName(): string;
5
+ }
@@ -0,0 +1,15 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { reservedRuleNames } from "./gbnfConsts.js";
3
+ export class GbnfString extends GbnfTerminal {
4
+ getGrammar() {
5
+ return '"\\"" ( ' +
6
+ '[^"\\\\]' +
7
+ " | " +
8
+ '"\\\\" (["\\\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F])' + // escape sequences
9
+ ')* "\\""';
10
+ }
11
+ getRuleName() {
12
+ return reservedRuleNames.string;
13
+ }
14
+ }
15
+ //# sourceMappingURL=GbnfString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfString.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,OAAO,UAAW,SAAQ,YAAY;IACxC,UAAU;QACN,OAAO,UAAU;YACb,UAAU;YACV,KAAK;YACL,8EAA8E,GAAG,mBAAmB;YACpG,UAAU,CAAC;IACnB,CAAC;IAEQ,WAAW;QAChB,OAAO,iBAAiB,CAAC,MAAM,CAAC;IACpC,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfStringValue extends GbnfTerminal {
3
+ readonly value: string;
4
+ constructor(value: string);
5
+ getGrammar(): string;
6
+ }
@@ -0,0 +1,21 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export class GbnfStringValue extends GbnfTerminal {
3
+ value;
4
+ constructor(value) {
5
+ super();
6
+ this.value = value;
7
+ }
8
+ getGrammar() {
9
+ return [
10
+ "\"",
11
+ this.value
12
+ .replaceAll("\\", "\\\\")
13
+ .replaceAll("\t", "\\t")
14
+ .replaceAll("\r", "\\r")
15
+ .replaceAll("\n", "\\n")
16
+ .replaceAll('"', "\\\\" + '\\"'),
17
+ "\""
18
+ ].join("");
19
+ }
20
+ }
21
+ //# sourceMappingURL=GbnfStringValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfStringValue.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfStringValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7B,KAAK,CAAS;IAE9B,YAAmB,KAAa;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEQ,UAAU;QACf,OAAO;YACH,IAAI;YACJ,IAAI,CAAC,KAAK;iBACL,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;iBACxB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;iBACvB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;iBACvB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;iBACvB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;YACpC,IAAI;SACP,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfWhitespace extends GbnfTerminal {
3
+ readonly newLinesAllowed: boolean;
4
+ constructor({ newLinesAllowed }?: {
5
+ newLinesAllowed?: boolean;
6
+ });
7
+ getGrammar(): string;
8
+ getRuleName(): string;
9
+ }
@@ -0,0 +1,20 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ import { reservedRuleNames } from "./gbnfConsts.js";
3
+ export class GbnfWhitespace extends GbnfTerminal {
4
+ newLinesAllowed;
5
+ constructor({ newLinesAllowed = true } = {}) {
6
+ super();
7
+ this.newLinesAllowed = newLinesAllowed;
8
+ }
9
+ getGrammar() {
10
+ if (this.newLinesAllowed)
11
+ return "[\\n]? [ \\t]* [\\n]?";
12
+ return "[ \\t]*";
13
+ }
14
+ getRuleName() {
15
+ if (this.newLinesAllowed)
16
+ return reservedRuleNames.whitespace.withNewLines;
17
+ return reservedRuleNames.whitespace.withoutNewLines;
18
+ }
19
+ }
20
+ //# sourceMappingURL=GbnfWhitespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfWhitespace.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfWhitespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC5B,eAAe,CAAU;IAEzC,YAAmB,EAAC,eAAe,GAAG,IAAI,KAAmC,EAAE;QAC3E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,eAAe;YACpB,OAAO,uBAAuB,CAAC;QAEnC,OAAO,SAAS,CAAC;IACrB,CAAC;IAEQ,WAAW;QAChB,IAAI,IAAI,CAAC,eAAe;YACpB,OAAO,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC;QAErD,OAAO,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC;IACxD,CAAC;CACJ"}
@@ -0,0 +1,14 @@
1
+ export declare const grammarNoValue = "\"\"";
2
+ export declare const reservedRuleNames: {
3
+ readonly null: "null-rule";
4
+ readonly boolean: "boolean-rule";
5
+ readonly number: {
6
+ readonly fractional: "fractional-number-rule";
7
+ readonly integer: "integer-number-rule";
8
+ };
9
+ readonly string: "string-rule";
10
+ readonly whitespace: {
11
+ readonly withNewLines: "whitespace-new-lines-rule";
12
+ readonly withoutNewLines: "whitespace-no-new-lines-rule";
13
+ };
14
+ };
@@ -0,0 +1,15 @@
1
+ export const grammarNoValue = '""';
2
+ export const reservedRuleNames = {
3
+ null: "null-rule",
4
+ boolean: "boolean-rule",
5
+ number: {
6
+ fractional: "fractional-number-rule",
7
+ integer: "integer-number-rule"
8
+ },
9
+ string: "string-rule",
10
+ whitespace: {
11
+ withNewLines: "whitespace-new-lines-rule",
12
+ withoutNewLines: "whitespace-no-new-lines-rule"
13
+ }
14
+ };
15
+ //# sourceMappingURL=gbnfConsts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gbnfConsts.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/gbnfConsts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE;QACJ,UAAU,EAAE,wBAAwB;QACpC,OAAO,EAAE,qBAAqB;KACjC;IACD,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE;QACR,YAAY,EAAE,2BAA2B;QACzC,eAAe,EAAE,8BAA8B;KAClD;CACK,CAAC"}
@@ -0,0 +1,41 @@
1
+ export type GbnfJsonSchemaImmutableType = "string" | "number" | "integer" | "boolean" | "null";
2
+ export type GbnfJsonSchema = GbnfJsonBasicSchema | GbnfJsonConstSchema | GbnfJsonEnumSchema | GbnfJsonOneOfSchema | GbnfJsonObjectSchema | GbnfJsonArraySchema;
3
+ export type GbnfJsonBasicSchema = {
4
+ type: GbnfJsonSchemaImmutableType | readonly GbnfJsonSchemaImmutableType[];
5
+ };
6
+ export type GbnfJsonConstSchema = {
7
+ const: string | number | boolean | null;
8
+ };
9
+ export type GbnfJsonEnumSchema = {
10
+ enum: readonly (string | number | boolean | null)[];
11
+ };
12
+ export type GbnfJsonOneOfSchema = {
13
+ oneOf: readonly GbnfJsonSchema[];
14
+ };
15
+ export type GbnfJsonObjectSchema<Keys extends string = string> = {
16
+ type: "object";
17
+ properties: Readonly<{
18
+ [key in Keys]: GbnfJsonSchema;
19
+ }>;
20
+ required?: readonly Keys[];
21
+ };
22
+ export type GbnfJsonArraySchema = {
23
+ type: "array";
24
+ items: GbnfJsonSchema;
25
+ };
26
+ export type GbnfJsonSchemaToType<T> = GbnfJsonSchemaToTSType<T>;
27
+ export type GbnfJsonSchemaToTSType<T> = T extends GbnfJsonBasicSchema ? GbnfJsonBasicSchemaToType<T["type"]> : T extends GbnfJsonConstSchema ? T["const"] : T extends GbnfJsonEnumSchema ? T["enum"][number] : T extends GbnfJsonOneOfSchema ? GbnfJsonSchemaToType<T["oneOf"][number]> : T extends GbnfJsonObjectSchema ? GbnfJsonObjectSchemaToType<T["properties"]> : T extends GbnfJsonArraySchema ? GbnfJsonSchemaToType<T["items"]>[] : never;
28
+ type GbnfJsonBasicSchemaToType<T> = T extends GbnfJsonSchemaImmutableType ? ImmutableTypeToType<T> : T extends GbnfJsonSchemaImmutableType[] ? ImmutableTypeToType<T[number]> : never;
29
+ type ImmutableTypeToType<T> = T extends "string" ? string : T extends "number" ? number : T extends "integer" ? number : T extends "boolean" ? boolean : T extends "null" ? null : never;
30
+ type GbnfJsonObjectSchemaToType<Props> = {
31
+ [P in keyof Props]: GbnfJsonSchemaToType<Props[P]>;
32
+ };
33
+ export declare function isGbnfJsonConstSchema(schema: GbnfJsonSchema): schema is GbnfJsonConstSchema;
34
+ export declare function isGbnfJsonEnumSchema(schema: GbnfJsonSchema): schema is GbnfJsonEnumSchema;
35
+ export declare function isGbnfJsonOneOfSchema(schema: GbnfJsonSchema): schema is GbnfJsonOneOfSchema;
36
+ export declare function isGbnfJsonObjectSchema(schema: GbnfJsonSchema): schema is GbnfJsonObjectSchema;
37
+ export declare function isGbnfJsonArraySchema(schema: GbnfJsonSchema): schema is GbnfJsonArraySchema;
38
+ export declare function isGbnfJsonBasicSchemaIncludesType<T extends GbnfJsonSchemaImmutableType>(schema: GbnfJsonBasicSchema, type: T): schema is GbnfJsonBasicSchema & {
39
+ type: T | (T | GbnfJsonSchemaImmutableType)[];
40
+ };
41
+ export {};