@litert/typeguard 1.3.0-dev.0 → 1.4.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 (61) hide show
  1. package/CHANGES.md +7 -1
  2. package/lib/BuiltInTypeCompiler.d.ts +1 -1
  3. package/lib/BuiltInTypeCompiler.js +4 -4
  4. package/lib/BuiltInTypeCompiler.js.map +1 -1
  5. package/lib/BuiltInTypes.d.ts +1 -1
  6. package/lib/BuiltInTypes.js +1 -1
  7. package/lib/Common.d.ts +6 -5
  8. package/lib/Common.d.ts.map +1 -1
  9. package/lib/Common.js +1 -1
  10. package/lib/Compiler.d.ts +1 -1
  11. package/lib/Compiler.d.ts.map +1 -1
  12. package/lib/Compiler.js +57 -35
  13. package/lib/Compiler.js.map +1 -1
  14. package/lib/Context.d.ts +2 -2
  15. package/lib/Context.d.ts.map +1 -1
  16. package/lib/Context.js +2 -2
  17. package/lib/Context.js.map +1 -1
  18. package/lib/FilterCompiler.d.ts +3 -3
  19. package/lib/FilterCompiler.d.ts.map +1 -1
  20. package/lib/FilterCompiler.js +4 -4
  21. package/lib/FilterCompiler.js.map +1 -1
  22. package/lib/InlineCompiler.d.ts +2 -2
  23. package/lib/InlineCompiler.d.ts.map +1 -1
  24. package/lib/InlineCompiler.js +5 -7
  25. package/lib/InlineCompiler.js.map +1 -1
  26. package/lib/Internal.d.ts +9 -4
  27. package/lib/Internal.d.ts.map +1 -1
  28. package/lib/Internal.js +45 -4
  29. package/lib/Internal.js.map +1 -1
  30. package/lib/Modifiers.d.ts +2 -1
  31. package/lib/Modifiers.d.ts.map +1 -1
  32. package/lib/Modifiers.js +3 -2
  33. package/lib/Modifiers.js.map +1 -1
  34. package/lib/index.d.ts +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/langs/JavaScript.d.ts +1 -1
  37. package/lib/langs/JavaScript.js +2 -2
  38. package/package.json +11 -13
  39. package/src/examples/quick-start.ts +5 -1
  40. package/src/lib/BuiltInTypeCompiler.ts +4 -4
  41. package/src/lib/BuiltInTypes.ts +1 -1
  42. package/src/lib/Common.ts +5 -4
  43. package/src/lib/Compiler.ts +66 -39
  44. package/src/lib/Context.ts +2 -2
  45. package/src/lib/FilterCompiler.ts +3 -3
  46. package/src/lib/InlineCompiler.ts +6 -9
  47. package/src/lib/Internal.ts +73 -4
  48. package/src/lib/Modifiers.ts +3 -1
  49. package/src/lib/index.ts +1 -1
  50. package/src/lib/langs/JavaScript.ts +2 -2
  51. package/src/test/00-all.ts +1 -1
  52. package/src/test/01-elemental-types.ts +580 -580
  53. package/src/test/02-array-and-list.ts +43 -43
  54. package/src/test/03-tuple.ts +61 -61
  55. package/src/test/04-from-string.ts +501 -501
  56. package/src/test/05-string-asserts.ts +203 -203
  57. package/src/test/06-structure.ts +71 -71
  58. package/src/test/07-modifiers.ts +297 -48
  59. package/src/test/08-map-and-dict.ts +11 -11
  60. package/src/test/09-exceptions.ts +11 -11
  61. package/src/test/abstracts.ts +57 -29
@@ -1 +1 @@
1
- {"version":3,"file":"Compiler.js","sourceRoot":"","sources":["../src/lib/Compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Compiler.js","sourceRoot":"","sources":["../src/lib/Compiler.ts"],"names":[],"mappings":"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"}
package/lib/Context.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -26,6 +26,6 @@ export declare class Context implements i.IContext {
26
26
  tracePath: string;
27
27
  constructor(vName: string, vTraceName: string, vTracePrefix: string, typeSlotName: string, referredTypes: Record<string, boolean>);
28
28
  trap(subjChanged?: boolean): void;
29
- untrap(): void;
29
+ popUp(): void;
30
30
  }
31
31
  //# sourceMappingURL=Context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,OAAQ,YAAW,CAAC,CAAC,QAAQ;IAW3B,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;aACX,YAAY,EAAE,MAAM;aACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAbnD,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAEpC,SAAS,EAAE,MAAM,CAAM;gBAGnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASnD,IAAI,CAAC,WAAW,GAAE,OAAe,GAAG,IAAI;IA+BxC,MAAM,IAAI,IAAI;CAaxB"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,OAAQ,YAAW,CAAC,CAAC,QAAQ;IAW3B,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;aACX,YAAY,EAAE,MAAM;aACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAbnD,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAEpC,SAAS,EAAE,MAAM,CAAM;gBAGnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASnD,IAAI,CAAC,WAAW,GAAE,OAAe,GAAG,IAAI;IA+BxC,KAAK,IAAI,IAAI;CAavB"}
package/lib/Context.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ class Context {
49
49
  }
50
50
  }
51
51
  }
52
- untrap() {
52
+ popUp() {
53
53
  const prev = this.stack.pop();
54
54
  if (!prev) {
55
55
  throw new Error('Failed to pop stack.');
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAEhC,MAAa,OAAO;IAUhB,YACW,KAAa,EACb,UAAkB,EAClB,YAAoB,EACX,YAAoB,EACpB,aAAsC;QAJ/C,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACX,iBAAY,GAAZ,YAAY,CAAQ;QACpB,kBAAa,GAAb,aAAa,CAAyB;QAPnD,cAAS,GAAW,EAAE,CAAC;QAS1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,IAAI,CAAC,cAAuB,KAAK;QAEpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAEzB,IAAI,WAAW,EAAE;gBAEb,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE;oBAEjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;iBACpC;aACJ;iBACI,IACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO;gBACvC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EACjD;gBAEE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;IACL,CAAC;IAEM,MAAM;QAET,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,EAAE;YAEP,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;CACJ;AApED,0BAoEC"}
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../src/lib/Context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAEhC,MAAa,OAAO;IAUhB,YACW,KAAa,EACb,UAAkB,EAClB,YAAoB,EACX,YAAoB,EACpB,aAAsC;QAJ/C,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACX,iBAAY,GAAZ,YAAY,CAAQ;QACpB,kBAAa,GAAb,aAAa,CAAyB;QAPnD,cAAS,GAAW,EAAE,CAAC;QAS1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,IAAI,CAAC,cAAuB,KAAK;QAEpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAEzB,IAAI,WAAW,EAAE;gBAEb,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE;oBAEjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;iBACpC;aACJ;iBACI,IACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO;gBACvC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EACjD;gBAEE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;aACpC;SACJ;IACL,CAAC;IAEM,KAAK;QAER,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,EAAE;YAEP,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;CACJ;AApED,0BAoEC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -17,8 +17,8 @@ import * as C from './Common';
17
17
  import * as I from './Internal';
18
18
  export declare class FilterCompiler implements I.IFilterCompiler {
19
19
  private readonly _lang;
20
- private readonly _bitc;
21
- constructor(_lang: C.ILanguageBuilder, _bitc: I.IBuiltInTypeCompiler);
20
+ private readonly _memCompiler;
21
+ constructor(_lang: C.ILanguageBuilder, _memCompiler: I.IBuiltInTypeCompiler);
22
22
  compile(rule: string, ctx: I.IContext): string;
23
23
  }
24
24
  //# sourceMappingURL=FilterCompiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterCompiler.d.ts","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,cACb,YAAW,CAAC,CAAC,eAAe;IAGpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,KAAK,EAAE,CAAC,CAAC,gBAAgB,EACzB,KAAK,EAAE,CAAC,CAAC,oBAAoB;IAG3C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM;CAkIxD"}
1
+ {"version":3,"file":"FilterCompiler.d.ts","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,qBAAa,cACb,YAAW,CAAC,CAAC,eAAe;IAGpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,KAAK,EAAE,CAAC,CAAC,gBAAgB,EACzB,YAAY,EAAE,CAAC,CAAC,oBAAoB;IAGlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM;CAkIxD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -17,9 +17,9 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.FilterCompiler = void 0;
19
19
  class FilterCompiler {
20
- constructor(_lang, _bitc) {
20
+ constructor(_lang, _memCompiler) {
21
21
  this._lang = _lang;
22
- this._bitc = _bitc;
22
+ this._memCompiler = _memCompiler;
23
23
  }
24
24
  compile(rule, ctx) {
25
25
  let vName = ctx.vName;
@@ -41,7 +41,7 @@ class FilterCompiler {
41
41
  ret.push(this._lang.isNumber(vName, true));
42
42
  break;
43
43
  default:
44
- ret.push(this._bitc.compile(filter[0], ctx, []));
44
+ ret.push(this._memCompiler.compile(filter[0], ctx, []));
45
45
  break;
46
46
  }
47
47
  switch (filter[1]) {
@@ -1 +1 @@
1
- {"version":3,"file":"FilterCompiler.js","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterCompiler.js","sourceRoot":"","sources":["../src/lib/FilterCompiler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -40,7 +40,7 @@ export interface IInlineCompiler {
40
40
  * @param name The name of the pre-defined type (without prefix `@`)
41
41
  * @param checker The checker callback of the pre-defined type.
42
42
  */
43
- addPredefinedType<T>(name: string, checker: C.ITypeChecker<T>): this;
43
+ addPredefinedType<T>(name: string, checker: C.IPreDefinedTypeChecker<T>): this;
44
44
  /**
45
45
  * Check if a pre-defined type is compiled.
46
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"InlineCompiler.d.ts","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAG9B,MAAM,WAAW,qBAAsB,SAAQ,CAAC,CAAC,eAAe;IAE5D;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9D;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAErE;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE,CAAC;CACpC;AAmHD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAGtD"}
1
+ {"version":3,"file":"InlineCompiler.d.ts","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAG9B,MAAM,WAAW,qBAAsB,SAAQ,CAAC,CAAC,eAAe;IAE5D;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9D;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/E;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE,CAAC;CACpC;AAgHD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAGtD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -28,10 +28,10 @@ class InlineCompiler {
28
28
  }
29
29
  compile(options) {
30
30
  const result = this._compiler.compile(options);
31
- this._preapreDefinedTypes(result.referredTypes, options.stopOnEntry);
31
+ this._prepareDefinedTypes(result.referredTypes, options.stopOnEntry);
32
32
  return this._wrapCheckerCode(result, options.stopOnEntry);
33
33
  }
34
- _preapreDefinedTypes(types, stopOnEntry) {
34
+ _prepareDefinedTypes(types, stopOnEntry) {
35
35
  for (const x of types) {
36
36
  if (this._defTypes[x]) {
37
37
  continue;
@@ -42,14 +42,12 @@ class InlineCompiler {
42
42
  continue;
43
43
  }
44
44
  this._defTypes[x] = this._wrapCheckerCode(info, stopOnEntry);
45
- this._preapreDefinedTypes(info.referredTypes);
45
+ this._prepareDefinedTypes(info.referredTypes);
46
46
  delete this._missingTypes[x];
47
47
  }
48
48
  }
49
49
  addPredefinedType(name, checker) {
50
- if (!I.RE_VALID_CUSTOM_TYPE_NAME.test(name)) {
51
- throw new TypeError(`Invalid name ${JSON.stringify(name)} for a pre-defined type.`);
52
- }
50
+ I.validateTypeName(name);
53
51
  this._defTypes[name] = checker;
54
52
  return this;
55
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InlineCompiler.js","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InlineCompiler.js","sourceRoot":"","sources":["../src/lib/InlineCompiler.ts"],"names":[],"mappings":"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"}
package/lib/Internal.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@ export declare const LIST_SUFFIX = "[]";
18
18
  export declare const MODIFIER_PREFIX = "$.";
19
19
  export declare const FILTER_PREFIX = "|";
20
20
  export declare const IMPLICIT_SYMBOL = "?";
21
- export declare const PREDEF_TYPE_SYMBOL = "@";
21
+ export declare const PRE_DEF_TYPE_SYMBOL = "@";
22
22
  export declare const NEGATIVE_SYMBOL = "!";
23
23
  export declare const KEY_MAP_SUFFIX: string;
24
24
  export declare const KEY_LIST_SUFFIX: string;
@@ -63,7 +63,7 @@ export interface IContext extends IContextData {
63
63
  readonly typeSlotName: string;
64
64
  readonly referredTypes: Record<string, boolean>;
65
65
  trap(subjChanged?: boolean): void;
66
- untrap(): void;
66
+ popUp(): void;
67
67
  }
68
68
  export interface IFilterCompiler {
69
69
  compile(rule: string, ctx: IContext): string;
@@ -85,5 +85,10 @@ export interface IBuiltInTypeCompiler {
85
85
  isConstructed(type: string): boolean;
86
86
  isElemental(type: string): boolean;
87
87
  }
88
- export declare const RE_VALID_CUSTOM_TYPE_NAME: RegExp;
88
+ export interface IPreDefinedCallExpr {
89
+ name: string;
90
+ args: any[];
91
+ }
92
+ export declare function validateTypeName(name: string): void;
93
+ export declare function decodePreDefinedCallExpr(input: string): IPreDefinedCallExpr;
89
94
  //# sourceMappingURL=Internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Internal.d.ts","sourceRoot":"","sources":["../src/lib/Internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,eAAO,MAAM,eAAe,QAAqB,CAAC;AAElD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,oBAAY,MAAM;IAEd,WAAW,IAAA;IACX,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,KAAK,IAAA;CACR;AAED,oBAAY,UAAU;IAElB;;OAEG;IACH,EAAE,IAAA;IAEF;;OAEG;IACH,GAAG,IAAA;IAEH;;OAEG;IACH,OAAO,IAAA;IAEP;;OAEG;IACH,eAAe,IAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAEzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAE1C,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAE/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAElC,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAE5B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IAEjC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE7D;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,yBAAyB,QAAe,CAAC"}
1
+ {"version":3,"file":"Internal.d.ts","sourceRoot":"","sources":["../src/lib/Internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,eAAO,MAAM,eAAe,QAAqB,CAAC;AAElD,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,oBAAY,MAAM;IAEd,WAAW,IAAA;IACX,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,KAAK,IAAA;CACR;AAED,oBAAY,UAAU;IAElB;;OAEG;IACH,EAAE,IAAA;IAEF;;OAEG;IACH,GAAG,IAAA;IAEH;;OAEG;IACH,OAAO,IAAA;IAEP;;OAEG;IACH,eAAe,IAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAEzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAE1C,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAE/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAElC,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAE5B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IAEjC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE7D;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAID,MAAM,WAAW,mBAAmB;IAEhC,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,GAAG,EAAE,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQnD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAkD3E"}
package/lib/Internal.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -15,13 +15,13 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.RE_VALID_CUSTOM_TYPE_NAME = exports.EFlagValue = exports.EFlags = exports.KEY_EQUAL_SUFFIX = exports.KEY_STRICT_SUFFIX = exports.KEY_ARRAY_SUFFIX = exports.KEY_LIST_SUFFIX = exports.KEY_MAP_SUFFIX = exports.NEGATIVE_SYMBOL = exports.PREDEF_TYPE_SYMBOL = exports.IMPLICIT_SYMBOL = exports.FILTER_PREFIX = exports.MODIFIER_PREFIX = exports.LIST_SUFFIX = exports.MAP_SUFFIX = void 0;
18
+ exports.decodePreDefinedCallExpr = exports.validateTypeName = exports.EFlagValue = exports.EFlags = exports.KEY_EQUAL_SUFFIX = exports.KEY_STRICT_SUFFIX = exports.KEY_ARRAY_SUFFIX = exports.KEY_LIST_SUFFIX = exports.KEY_MAP_SUFFIX = exports.NEGATIVE_SYMBOL = exports.PRE_DEF_TYPE_SYMBOL = exports.IMPLICIT_SYMBOL = exports.FILTER_PREFIX = exports.MODIFIER_PREFIX = exports.LIST_SUFFIX = exports.MAP_SUFFIX = void 0;
19
19
  exports.MAP_SUFFIX = '{}';
20
20
  exports.LIST_SUFFIX = '[]';
21
21
  exports.MODIFIER_PREFIX = '$.';
22
22
  exports.FILTER_PREFIX = '|';
23
23
  exports.IMPLICIT_SYMBOL = '?';
24
- exports.PREDEF_TYPE_SYMBOL = '@';
24
+ exports.PRE_DEF_TYPE_SYMBOL = '@';
25
25
  exports.NEGATIVE_SYMBOL = '!';
26
26
  exports.KEY_MAP_SUFFIX = `->${exports.MAP_SUFFIX}`;
27
27
  exports.KEY_LIST_SUFFIX = `->${exports.LIST_SUFFIX}`;
@@ -55,5 +55,46 @@ var EFlagValue;
55
55
  */
56
56
  EFlagValue[EFlagValue["ELEMENT_INHERIT"] = 3] = "ELEMENT_INHERIT";
57
57
  })(EFlagValue = exports.EFlagValue || (exports.EFlagValue = {}));
58
- exports.RE_VALID_CUSTOM_TYPE_NAME = /^[-:.\w]+$/;
58
+ const RE_VALID_CUSTOM_TYPE_NAME = /^[-:.\w]+$/;
59
+ function validateTypeName(name) {
60
+ if (typeof name !== 'string' || !RE_VALID_CUSTOM_TYPE_NAME.test(name)) {
61
+ throw new TypeError(`Invalid name ${JSON.stringify(name)} for a pre-defined type.`);
62
+ }
63
+ }
64
+ exports.validateTypeName = validateTypeName;
65
+ function decodePreDefinedCallExpr(input) {
66
+ let expr = input;
67
+ expr = expr.replace(/\\['"]/g, (i) => `\\u00${i.charCodeAt(1).toString(16)}`);
68
+ const r = /^([-:.\w]+)\s*(\((.*)\))?$/.exec(expr);
69
+ if (!r) {
70
+ throw new SyntaxError(`Invalid type expression: ${input}`);
71
+ }
72
+ const fn = r[1];
73
+ expr = r[3];
74
+ if (!expr) {
75
+ return { name: fn, args: [] };
76
+ }
77
+ const args = [];
78
+ while (expr) {
79
+ const m = /^\s*([-]?\d+(\.\d+)?|[-]?0x[a-fA-F0-9]+|true|false|null|"[^"]+"|'[^']+')\s*(,|$)/i.exec(expr);
80
+ if (!m) {
81
+ throw new SyntaxError(`Invalid type expression "${expr}" in "${input}"`);
82
+ }
83
+ expr = expr.slice(m[0].length);
84
+ if (m[1].startsWith("'") && m[1].endsWith("'")) {
85
+ args.push(JSON.parse(`"${m[1].slice(1, -1)}"`));
86
+ }
87
+ else if (m[1].startsWith('0x')) {
88
+ args.push(parseInt(m[1].slice(2), 16));
89
+ }
90
+ else if (m[1].startsWith('-0x')) {
91
+ args.push(-parseInt(m[1].slice(3), 16));
92
+ }
93
+ else {
94
+ args.push(JSON.parse(m[1]));
95
+ }
96
+ }
97
+ return { name: fn, args };
98
+ }
99
+ exports.decodePreDefinedCallExpr = decodePreDefinedCallExpr;
59
100
  //# sourceMappingURL=Internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Internal.js","sourceRoot":"","sources":["../src/lib/Internal.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEU,QAAA,UAAU,GAAG,IAAI,CAAC;AAElB,QAAA,WAAW,GAAG,IAAI,CAAC;AAEnB,QAAA,eAAe,GAAG,IAAI,CAAC;AAEvB,QAAA,aAAa,GAAG,GAAG,CAAC;AAEpB,QAAA,eAAe,GAAG,GAAG,CAAC;AAEtB,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEzB,QAAA,eAAe,GAAG,GAAG,CAAC;AAEtB,QAAA,cAAc,GAAG,KAAK,kBAAU,EAAE,CAAC;AAEnC,QAAA,eAAe,GAAG,KAAK,mBAAW,EAAE,CAAC;AAErC,QAAA,gBAAgB,GAAG,oCAAoC,CAAC;AAExD,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAE3B,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAExC,IAAY,MAOX;AAPD,WAAY,MAAM;IAEd,iDAAW,CAAA;IACX,uCAAM,CAAA;IACN,2CAAQ,CAAA;IACR,2CAAQ,CAAA;IACR,qCAAK,CAAA;AACT,CAAC,EAPW,MAAM,GAAN,cAAM,KAAN,cAAM,QAOjB;AAED,IAAY,UAqBX;AArBD,WAAY,UAAU;IAElB;;OAEG;IACH,uCAAE,CAAA;IAEF;;OAEG;IACH,yCAAG,CAAA;IAEH;;OAEG;IACH,iDAAO,CAAA;IAEP;;OAEG;IACH,iEAAe,CAAA;AACnB,CAAC,EArBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAqBrB;AA0DY,QAAA,yBAAyB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"Internal.js","sourceRoot":"","sources":["../src/lib/Internal.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -27,4 +27,5 @@ export declare const TUPLE: string;
27
27
  export declare const EQUAL: string;
28
28
  export declare const TAG: string;
29
29
  export declare const TYPE: string;
30
+ export declare const ENUM: string;
30
31
  //# sourceMappingURL=Modifiers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modifiers.d.ts","sourceRoot":"","sources":["../src/lib/Modifiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,MAAM,EAAE,MAA0B,CAAC;AAEhD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,EAAE,EAAE,MAAiC,CAAC;AAEnD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC;AAEvD,eAAO,MAAM,KAAK,EAAE,MAAoC,CAAC;AAEzD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC;AAEvD,eAAO,MAAM,MAAM,EAAE,MAAqC,CAAC;AAE3D,eAAO,MAAM,MAAM,EAAE,MAAqC,CAAC;AAE3D,eAAO,MAAM,KAAK,EAAE,MAAoC,CAAC;AAEzD,eAAO,MAAM,KAAK,EAAE,MAAoC,CAAC;AAEzD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC"}
1
+ {"version":3,"file":"Modifiers.d.ts","sourceRoot":"","sources":["../src/lib/Modifiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,MAAM,EAAE,MAA0B,CAAC;AAEhD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,EAAE,EAAE,MAAiC,CAAC;AAEnD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC;AAEvD,eAAO,MAAM,KAAK,EAAE,MAAoC,CAAC;AAEzD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC;AAEvD,eAAO,MAAM,MAAM,EAAE,MAAqC,CAAC;AAE3D,eAAO,MAAM,MAAM,EAAE,MAAqC,CAAC;AAE3D,eAAO,MAAM,KAAK,EAAE,MAAoC,CAAC;AAEzD,eAAO,MAAM,KAAK,EAAE,MAAoC,CAAC;AAEzD,eAAO,MAAM,GAAG,EAAE,MAAkC,CAAC;AAErD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC;AAEvD,eAAO,MAAM,IAAI,EAAE,MAAmC,CAAC"}
package/lib/Modifiers.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TYPE = exports.TAG = exports.EQUAL = exports.TUPLE = exports.STRING = exports.STRICT = exports.DICT = exports.ARRAY = exports.LIST = exports.MAP = exports.AND = exports.OR = exports.NOT = exports.PREFIX = void 0;
18
+ exports.ENUM = exports.TYPE = exports.TAG = exports.EQUAL = exports.TUPLE = exports.STRING = exports.STRICT = exports.DICT = exports.ARRAY = exports.LIST = exports.MAP = exports.AND = exports.OR = exports.NOT = exports.PREFIX = void 0;
19
19
  const I = require("./Internal");
20
20
  exports.PREFIX = I.MODIFIER_PREFIX;
21
21
  exports.NOT = `${I.MODIFIER_PREFIX}not`;
@@ -31,4 +31,5 @@ exports.TUPLE = `${I.MODIFIER_PREFIX}tuple`;
31
31
  exports.EQUAL = `${I.MODIFIER_PREFIX}equal`;
32
32
  exports.TAG = `${I.MODIFIER_PREFIX}tag`;
33
33
  exports.TYPE = `${I.MODIFIER_PREFIX}type`;
34
+ exports.ENUM = `${I.MODIFIER_PREFIX}enum`;
34
35
  //# sourceMappingURL=Modifiers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modifiers.js","sourceRoot":"","sources":["../src/lib/Modifiers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAEnB,QAAA,MAAM,GAAW,CAAC,CAAC,eAAe,CAAC;AAEnC,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,EAAE,GAAW,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC;AAEtC,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC;AAE1C,QAAA,KAAK,GAAW,GAAG,CAAC,CAAC,eAAe,OAAO,CAAC;AAE5C,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC;AAE1C,QAAA,MAAM,GAAW,GAAG,CAAC,CAAC,eAAe,QAAQ,CAAC;AAE9C,QAAA,MAAM,GAAW,GAAG,CAAC,CAAC,eAAe,QAAQ,CAAC;AAE9C,QAAA,KAAK,GAAW,GAAG,CAAC,CAAC,eAAe,OAAO,CAAC;AAE5C,QAAA,KAAK,GAAW,GAAG,CAAC,CAAC,eAAe,OAAO,CAAC;AAE5C,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Modifiers.js","sourceRoot":"","sources":["../src/lib/Modifiers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAEnB,QAAA,MAAM,GAAW,CAAC,CAAC,eAAe,CAAC;AAEnC,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,EAAE,GAAW,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC;AAEtC,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC;AAE1C,QAAA,KAAK,GAAW,GAAG,CAAC,CAAC,eAAe,OAAO,CAAC;AAE5C,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC;AAE1C,QAAA,MAAM,GAAW,GAAG,CAAC,CAAC,eAAe,QAAQ,CAAC;AAE9C,QAAA,MAAM,GAAW,GAAG,CAAC,CAAC,eAAe,QAAQ,CAAC;AAE9C,QAAA,KAAK,GAAW,GAAG,CAAC,CAAC,eAAe,OAAO,CAAC;AAE5C,QAAA,KAAK,GAAW,GAAG,CAAC,CAAC,eAAe,OAAO,CAAC;AAE5C,QAAA,GAAG,GAAW,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC;AAExC,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC;AAE1C,QAAA,IAAI,GAAW,GAAG,CAAC,CAAC,eAAe,MAAM,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright 2022 Angus Fenying <fenying@litert.org>
2
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright 2022 Angus Fenying <fenying@litert.org>
3
+ * Copyright 2023 Angus Fenying <fenying@litert.org>
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -133,7 +133,7 @@ class JavaScriptLanguage {
133
133
  isString(vn, positive = true) {
134
134
  return `typeof ${vn} ${this._equal(positive)} "string"`;
135
135
  }
136
- isStrucutre(vn, positive = true) {
136
+ isStructure(vn, positive = true) {
137
137
  return positive ?
138
138
  `(typeof ${vn} === "object" && ${vn} !== null && !Array.isArray(${vn}))` :
139
139
  `(typeof ${vn} !== "object" || ${vn} === null || Array.isArray(${vn}))`;