treedoc 0.3.49 → 0.3.50

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 (176) hide show
  1. package/lib/Bookmark.js +1 -1
  2. package/lib/Bookmark.js.map +1 -1
  3. package/lib/TD.d.ts +2 -2
  4. package/lib/TD.js +8 -6
  5. package/lib/TD.js.map +1 -1
  6. package/lib/TDNode.d.ts +1 -1
  7. package/lib/TDNode.js +11 -9
  8. package/lib/TDNode.js.map +1 -1
  9. package/lib/TDNodeProxyHandler.js +1 -1
  10. package/lib/TDNodeProxyHandler.js.map +1 -1
  11. package/lib/TDPath.js +1 -1
  12. package/lib/TDPath.js.map +1 -1
  13. package/lib/TreeDoc.js +4 -4
  14. package/lib/TreeDoc.js.map +1 -1
  15. package/lib/core/CharSource.js +1 -1
  16. package/lib/core/CharSource.js.map +1 -1
  17. package/lib/core/ClassUtil.js.map +1 -1
  18. package/lib/core/EOFRuntimeException.js +2 -0
  19. package/lib/core/EOFRuntimeException.js.map +1 -1
  20. package/lib/core/LangUtil.d.ts +8 -8
  21. package/lib/core/LangUtil.js +11 -9
  22. package/lib/core/LangUtil.js.map +1 -1
  23. package/lib/core/ParseRuntimeException.js +2 -0
  24. package/lib/core/ParseRuntimeException.js.map +1 -1
  25. package/lib/core/StringBuilder.js.map +1 -1
  26. package/lib/core/StringCharSource.js +2 -0
  27. package/lib/core/StringCharSource.js.map +1 -1
  28. package/lib/core/StringUtil.js.map +1 -1
  29. package/lib/csv/CSVParser.js.map +1 -1
  30. package/lib/csv/CSVWriter.js.map +1 -1
  31. package/lib/index.js +5 -1
  32. package/lib/index.js.map +1 -1
  33. package/lib/json/JSONPointer.js.map +1 -1
  34. package/lib/json/NodeFilter.js +12 -8
  35. package/lib/json/NodeFilter.js.map +1 -1
  36. package/lib/json/TDJSONOption.js.map +1 -1
  37. package/lib/json/TDJSONParser.js +5 -5
  38. package/lib/json/TDJSONParser.js.map +1 -1
  39. package/lib/json/TDJSONParserOption.js +2 -0
  40. package/lib/json/TDJSONParserOption.js.map +1 -1
  41. package/lib/json/TDJSONWriter.js.map +1 -1
  42. package/lib/json/TDJSONWriterOption.js +3 -1
  43. package/lib/json/TDJSONWriterOption.js.map +1 -1
  44. package/lib/objcoder/TDObjectCoder.d.ts +1 -1
  45. package/lib/objcoder/TDObjectCoder.js +2 -2
  46. package/lib/objcoder/TDObjectCoder.js.map +1 -1
  47. package/lib/src/Bookmark.d.ts +9 -0
  48. package/lib/src/Bookmark.js +31 -0
  49. package/lib/src/Bookmark.js.map +1 -0
  50. package/lib/src/TD.d.ts +20 -0
  51. package/lib/src/TD.js +53 -0
  52. package/lib/src/TD.js.map +1 -0
  53. package/lib/src/TDNode.d.ts +84 -0
  54. package/lib/src/TDNode.js +378 -0
  55. package/lib/src/TDNode.js.map +1 -0
  56. package/lib/src/TDNodeProxyHandler.d.ts +7 -0
  57. package/lib/src/TDNodeProxyHandler.js +50 -0
  58. package/lib/src/TDNodeProxyHandler.js.map +1 -0
  59. package/lib/src/TDPath.d.ts +31 -0
  60. package/lib/src/TDPath.js +87 -0
  61. package/lib/src/TDPath.js.map +1 -0
  62. package/lib/src/TreeDoc.d.ts +27 -0
  63. package/lib/src/TreeDoc.js +93 -0
  64. package/lib/src/TreeDoc.js.map +1 -0
  65. package/lib/src/__tests__/TD.spec.d.ts +1 -0
  66. package/lib/src/__tests__/TD.spec.js +90 -0
  67. package/lib/src/__tests__/TD.spec.js.map +1 -0
  68. package/lib/src/__tests__/TDNode.spec.d.ts +1 -0
  69. package/lib/src/__tests__/TDNode.spec.js +49 -0
  70. package/lib/src/__tests__/TDNode.spec.js.map +1 -0
  71. package/lib/src/__tests__/TDPath.spec.d.ts +1 -0
  72. package/lib/src/__tests__/TDPath.spec.js +15 -0
  73. package/lib/src/__tests__/TDPath.spec.js.map +1 -0
  74. package/lib/src/core/Appendable.d.ts +3 -0
  75. package/lib/src/core/Appendable.js +3 -0
  76. package/lib/src/core/Appendable.js.map +1 -0
  77. package/lib/src/core/CharSource.d.ts +47 -0
  78. package/lib/src/core/CharSource.js +199 -0
  79. package/lib/src/core/CharSource.js.map +1 -0
  80. package/lib/src/core/ClassUtil.d.ts +9 -0
  81. package/lib/src/core/ClassUtil.js +34 -0
  82. package/lib/src/core/ClassUtil.js.map +1 -0
  83. package/lib/src/core/EOFRuntimeException.d.ts +5 -0
  84. package/lib/src/core/EOFRuntimeException.js +32 -0
  85. package/lib/src/core/EOFRuntimeException.js.map +1 -0
  86. package/lib/src/core/LangUtil.d.ts +38 -0
  87. package/lib/src/core/LangUtil.js +110 -0
  88. package/lib/src/core/LangUtil.js.map +1 -0
  89. package/lib/src/core/ListUtil.d.ts +19 -0
  90. package/lib/src/core/ListUtil.js +38 -0
  91. package/lib/src/core/ListUtil.js.map +1 -0
  92. package/lib/src/core/ParseRuntimeException.d.ts +11 -0
  93. package/lib/src/core/ParseRuntimeException.js +40 -0
  94. package/lib/src/core/ParseRuntimeException.js.map +1 -0
  95. package/lib/src/core/StringBuilder.d.ts +9 -0
  96. package/lib/src/core/StringBuilder.js +30 -0
  97. package/lib/src/core/StringBuilder.js.map +1 -0
  98. package/lib/src/core/StringCharSource.d.ts +11 -0
  99. package/lib/src/core/StringCharSource.js +60 -0
  100. package/lib/src/core/StringCharSource.js.map +1 -0
  101. package/lib/src/core/StringUtil.d.ts +16 -0
  102. package/lib/src/core/StringUtil.js +75 -0
  103. package/lib/src/core/StringUtil.js.map +1 -0
  104. package/lib/src/core/__test__/ClassUtil.spec.d.ts +1 -0
  105. package/lib/src/core/__test__/ClassUtil.spec.js +16 -0
  106. package/lib/src/core/__test__/ClassUtil.spec.js.map +1 -0
  107. package/lib/src/core/__test__/StringCharSource.spec.d.ts +1 -0
  108. package/lib/src/core/__test__/StringCharSource.spec.js +18 -0
  109. package/lib/src/core/__test__/StringCharSource.spec.js.map +1 -0
  110. package/lib/src/core/__test__/StringUtil.spec.d.ts +1 -0
  111. package/lib/src/core/__test__/StringUtil.spec.js +23 -0
  112. package/lib/src/core/__test__/StringUtil.spec.js.map +1 -0
  113. package/lib/src/csv/CSV.spec.d.ts +1 -0
  114. package/lib/src/csv/CSV.spec.js +45 -0
  115. package/lib/src/csv/CSV.spec.js.map +1 -0
  116. package/lib/src/csv/CSVOption.d.ts +12 -0
  117. package/lib/src/csv/CSVOption.js +23 -0
  118. package/lib/src/csv/CSVOption.js.map +1 -0
  119. package/lib/src/csv/CSVParser.d.ts +13 -0
  120. package/lib/src/csv/CSVParser.js +133 -0
  121. package/lib/src/csv/CSVParser.js.map +1 -0
  122. package/lib/src/csv/CSVWriter.d.ts +14 -0
  123. package/lib/src/csv/CSVWriter.js +77 -0
  124. package/lib/src/csv/CSVWriter.js.map +1 -0
  125. package/lib/src/index.d.ts +21 -0
  126. package/lib/src/index.js +34 -0
  127. package/lib/src/index.js.map +1 -0
  128. package/lib/src/json/JSONPointer.d.ts +30 -0
  129. package/lib/src/json/JSONPointer.js +87 -0
  130. package/lib/src/json/JSONPointer.js.map +1 -0
  131. package/lib/src/json/NodeFilter.d.ts +25 -0
  132. package/lib/src/json/NodeFilter.js +115 -0
  133. package/lib/src/json/NodeFilter.js.map +1 -0
  134. package/lib/src/json/TDJSONOption.d.ts +26 -0
  135. package/lib/src/json/TDJSONOption.js +56 -0
  136. package/lib/src/json/TDJSONOption.js.map +1 -0
  137. package/lib/src/json/TDJSONParser.d.ts +19 -0
  138. package/lib/src/json/TDJSONParser.js +233 -0
  139. package/lib/src/json/TDJSONParser.js.map +1 -0
  140. package/lib/src/json/TDJSONParserOption.d.ts +24 -0
  141. package/lib/src/json/TDJSONParserOption.js +50 -0
  142. package/lib/src/json/TDJSONParserOption.js.map +1 -0
  143. package/lib/src/json/TDJSONWriter.d.ts +17 -0
  144. package/lib/src/json/TDJSONWriter.js +143 -0
  145. package/lib/src/json/TDJSONWriter.js.map +1 -0
  146. package/lib/src/json/TDJSONWriterOption.d.ts +36 -0
  147. package/lib/src/json/TDJSONWriterOption.js +88 -0
  148. package/lib/src/json/TDJSONWriterOption.js.map +1 -0
  149. package/lib/src/json/__test__/CharSource.spec.d.ts +1 -0
  150. package/lib/src/json/__test__/CharSource.spec.js +58 -0
  151. package/lib/src/json/__test__/CharSource.spec.js.map +1 -0
  152. package/lib/src/json/__test__/JSONPointer.spec.d.ts +1 -0
  153. package/lib/src/json/__test__/JSONPointer.spec.js +16 -0
  154. package/lib/src/json/__test__/JSONPointer.spec.js.map +1 -0
  155. package/lib/src/json/__test__/TDJsonParser.spec.d.ts +1 -0
  156. package/lib/src/json/__test__/TDJsonParser.spec.js +183 -0
  157. package/lib/src/json/__test__/TDJsonParser.spec.js.map +1 -0
  158. package/lib/src/json/__test__/TDJsonWriter.spec.d.ts +1 -0
  159. package/lib/src/json/__test__/TDJsonWriter.spec.js +71 -0
  160. package/lib/src/json/__test__/TDJsonWriter.spec.js.map +1 -0
  161. package/lib/src/json/__test__/TDNode.spec.d.ts +1 -0
  162. package/lib/src/json/__test__/TDNode.spec.js +17 -0
  163. package/lib/src/json/__test__/TDNode.spec.js.map +1 -0
  164. package/lib/src/json/__test__/TestData.d.ts +7 -0
  165. package/lib/src/json/__test__/TestData.js +15 -0
  166. package/lib/src/json/__test__/TestData.js.map +1 -0
  167. package/lib/src/objcoder/CustomCoder.d.ts +7 -0
  168. package/lib/src/objcoder/CustomCoder.js +27 -0
  169. package/lib/src/objcoder/CustomCoder.js.map +1 -0
  170. package/lib/src/objcoder/TDObjectCoder.d.ts +35 -0
  171. package/lib/src/objcoder/TDObjectCoder.js +141 -0
  172. package/lib/src/objcoder/TDObjectCoder.js.map +1 -0
  173. package/lib/vitest.config.d.ts +2 -0
  174. package/lib/vitest.config.js +10 -0
  175. package/lib/vitest.config.js.map +1 -0
  176. package/package.json +10 -12
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.EOFRuntimeException = void 0;
17
+ var EOFRuntimeException = /** @class */ (function (_super) {
18
+ __extends(EOFRuntimeException, _super);
19
+ function EOFRuntimeException(message) {
20
+ if (message === void 0) { message = ''; }
21
+ var _this = _super.call(this, message) || this;
22
+ _this._type = 'EOFRuntimeException';
23
+ Object.setPrototypeOf(_this, EOFRuntimeException.prototype);
24
+ return _this;
25
+ }
26
+ EOFRuntimeException.is = function (e) {
27
+ return e != null && e._type === 'EOFRuntimeException';
28
+ };
29
+ return EOFRuntimeException;
30
+ }(Error));
31
+ exports.EOFRuntimeException = EOFRuntimeException;
32
+ //# sourceMappingURL=EOFRuntimeException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EOFRuntimeException.js","sourceRoot":"","sources":["../../../src/core/EOFRuntimeException.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;IAAyC,uCAAK;IAG5C,6BAAmB,OAAY;QAAZ,wBAAA,EAAA,YAAY;QAA/B,YACE,kBAAM,OAAO,CAAC,SAEf;QALQ,WAAK,GAAG,qBAAqB,CAAC;QAIrC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;;IAC7D,CAAC;IAEM,sBAAE,GAAT,UAAU,CAAM;QACd,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,qBAAqB,CAAC;IACxD,CAAC;IACH,0BAAC;AAAD,CAAC,AAXD,CAAyC,KAAK,GAW7C;AAXY,kDAAmB"}
@@ -0,0 +1,38 @@
1
+ export declare type Constructor = (...args: any[]) => any;
2
+ export declare class LangUtil {
3
+ static doIfNotNull<T>(obj: T | undefined, action: (obj: T) => void): void;
4
+ static doIfNotNullOrElse<T>(obj: T | undefined, action: (obj: T) => void, elseAction: () => void): void;
5
+ static doIf(condition: boolean, action: () => void): void;
6
+ static doIfOrElse(condition: boolean, action: () => void, elseAction: () => void): void;
7
+ static orElse<T>(value: T | null | undefined, fullBack: T): T;
8
+ static EnumValues(enumType: any): string[];
9
+ staticEnumsValueOf(enumType: any, value: number | string): any;
10
+ /**
11
+ * Deep merge two objects.
12
+ * Reference: https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge
13
+ */
14
+ static mergeDeep<T>(target: T, ...sources: any): T;
15
+ static isObject(item: any): any;
16
+ static isNumber(value: any): boolean;
17
+ /**
18
+ * It will do eval first, if it returns function, that's it.
19
+ * otherwise wrap it in `(${args}) => ${script}` or `(${args}) => {${script}}`
20
+ */
21
+ static evalAsFunction(script: string, args: string): Function;
22
+ static tryEval(script: string): Function | undefined;
23
+ static compare(o1: any, o2: any): number;
24
+ static get<V, F>(o: V, identifier: Identifier<V, F>): F;
25
+ static enumValues(enumType: any): string[];
26
+ static enumValueOf(enumType: any, value: number | string): any;
27
+ }
28
+ export declare type RecursivePartial<T> = {
29
+ [P in keyof T]?: T[P] extends Array<(infer U)> ? Array<RecursivePartial<U>> : T[P] extends object ? RecursivePartial<T[P]> : T[P];
30
+ };
31
+ export declare type Predicate<T = any> = (i: T) => boolean;
32
+ export declare type Comparator<T = any> = (o1: T, o2: T) => number;
33
+ export declare type Identifier<V = any, F = any> = string | Func<V, F>;
34
+ export declare type Func<TI, TO> = (o: TI) => TO;
35
+ export declare const identity: (o: any) => any;
36
+ export declare class ExtendedFields {
37
+ [key: string]: Func<any, any>;
38
+ }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
3
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
+ r[k] = a[j];
7
+ return r;
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ExtendedFields = exports.identity = exports.LangUtil = void 0;
11
+ var LangUtil = /** @class */ (function () {
12
+ function LangUtil() {
13
+ }
14
+ LangUtil.doIfNotNull = function (obj, action) { if (obj !== undefined && obj !== null)
15
+ action(obj); };
16
+ LangUtil.doIfNotNullOrElse = function (obj, action, elseAction) {
17
+ obj !== undefined && obj !== null ? action(obj) : elseAction();
18
+ };
19
+ LangUtil.doIf = function (condition, action) { if (condition)
20
+ action(); };
21
+ LangUtil.doIfOrElse = function (condition, action, elseAction) { condition ? action() : elseAction(); };
22
+ LangUtil.orElse = function (value, fullBack) {
23
+ return value === null || value === undefined ? fullBack : value;
24
+ };
25
+ // TS_SPECIFIC
26
+ LangUtil.EnumValues = function (enumType) {
27
+ return Object.keys(enumType).filter(function (key) { return !isNaN(Number(enumType[key])); });
28
+ };
29
+ LangUtil.prototype.staticEnumsValueOf = function (enumType, value) {
30
+ return enumType[value];
31
+ };
32
+ /**
33
+ * Deep merge two objects.
34
+ * Reference: https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge
35
+ */
36
+ LangUtil.mergeDeep = function (target) {
37
+ var _a, _b;
38
+ var sources = [];
39
+ for (var _i = 1; _i < arguments.length; _i++) {
40
+ sources[_i - 1] = arguments[_i];
41
+ }
42
+ if (!sources.length)
43
+ return target;
44
+ var source = sources.shift();
45
+ if (LangUtil.isObject(target) && LangUtil.isObject(source)) {
46
+ for (var key in source) {
47
+ if (LangUtil.isObject(source[key])) {
48
+ if (!target[key])
49
+ Object.assign(target, (_a = {}, _a[key] = {}, _a));
50
+ LangUtil.mergeDeep(target[key], source[key]);
51
+ }
52
+ else {
53
+ Object.assign(target, (_b = {}, _b[key] = source[key], _b));
54
+ }
55
+ }
56
+ }
57
+ return LangUtil.mergeDeep.apply(LangUtil, __spreadArrays([target], sources));
58
+ };
59
+ LangUtil.isObject = function (item) {
60
+ return (item && typeof item === 'object' && !Array.isArray(item));
61
+ };
62
+ LangUtil.isNumber = function (value) {
63
+ return typeof value === 'number' && isFinite(value);
64
+ };
65
+ /**
66
+ * It will do eval first, if it returns function, that's it.
67
+ * otherwise wrap it in `(${args}) => ${script}` or `(${args}) => {${script}}`
68
+ */
69
+ LangUtil.evalAsFunction = function (script, args) {
70
+ var res = LangUtil.tryEval(script);
71
+ if (typeof (res) === 'function')
72
+ return res;
73
+ res = LangUtil.tryEval("(" + args + ") => " + script);
74
+ if (typeof (res) === 'function')
75
+ return res;
76
+ return eval("(" + args + ") => {" + script + "}");
77
+ };
78
+ LangUtil.tryEval = function (script) {
79
+ try {
80
+ return eval(script);
81
+ }
82
+ catch (e) {
83
+ return undefined;
84
+ }
85
+ };
86
+ LangUtil.compare = function (o1, o2) {
87
+ return o1 > o2 ? 1 : (o1 < o2 ? -1 : 0);
88
+ };
89
+ LangUtil.get = function (o, identifier) {
90
+ return typeof (identifier) === 'function' ? identifier(o) : o[identifier];
91
+ };
92
+ // TS_SPECIFIC
93
+ LangUtil.enumValues = function (enumType) {
94
+ return Object.keys(enumType).filter(function (key) { return !isNaN(Number(enumType[key])); });
95
+ };
96
+ LangUtil.enumValueOf = function (enumType, value) {
97
+ return enumType[value];
98
+ };
99
+ return LangUtil;
100
+ }());
101
+ exports.LangUtil = LangUtil;
102
+ var identity = function (o) { return o; };
103
+ exports.identity = identity;
104
+ var ExtendedFields = /** @class */ (function () {
105
+ function ExtendedFields() {
106
+ }
107
+ return ExtendedFields;
108
+ }());
109
+ exports.ExtendedFields = ExtendedFields;
110
+ //# sourceMappingURL=LangUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LangUtil.js","sourceRoot":"","sources":["../../../src/core/LangUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare class ListUtil {
2
+ static exists<V>(source: V[], pred: (t: V) => boolean): boolean;
3
+ static first<V>(source: V[], pred: (t: V) => boolean): V | undefined;
4
+ static map<V, TV>(source: {
5
+ [key: string]: V;
6
+ } | null, keyFunc: (k: string) => string, valFunc: (v: V) => TV): {
7
+ [key: string]: TV;
8
+ } | null;
9
+ static mapKeys<V>(source: {
10
+ [key: string]: V;
11
+ } | null, keyFunc: (k: string) => string): {
12
+ [key: string]: V;
13
+ } | null;
14
+ static mapValues<V>(source: {
15
+ [key: string]: V;
16
+ } | null, keyFunc: (k: string) => string): {
17
+ [key: string]: V;
18
+ } | null;
19
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListUtil = void 0;
4
+ var ListUtil = /** @class */ (function () {
5
+ function ListUtil() {
6
+ }
7
+ ListUtil.exists = function (source, pred) {
8
+ return source == null ? false : this.first(source, pred) !== undefined;
9
+ };
10
+ ListUtil.first = function (source, pred) {
11
+ if (source != null)
12
+ for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {
13
+ var s = source_1[_i];
14
+ if (pred(s))
15
+ return s;
16
+ }
17
+ return undefined;
18
+ };
19
+ ListUtil.map = function (source, keyFunc, valFunc) {
20
+ if (source == null)
21
+ return null;
22
+ var result = {};
23
+ for (var _i = 0, _a = Object.keys(source); _i < _a.length; _i++) {
24
+ var k = _a[_i];
25
+ result[keyFunc(k)] = valFunc(source[k]);
26
+ }
27
+ return result;
28
+ };
29
+ ListUtil.mapKeys = function (source, keyFunc) {
30
+ return this.map(source, keyFunc, function (v) { return v; });
31
+ };
32
+ ListUtil.mapValues = function (source, keyFunc) {
33
+ return this.map(source, keyFunc, function (v) { return v; });
34
+ };
35
+ return ListUtil;
36
+ }());
37
+ exports.ListUtil = ListUtil;
38
+ //# sourceMappingURL=ListUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListUtil.js","sourceRoot":"","sources":["../../../src/core/ListUtil.ts"],"names":[],"mappings":";;;AAAA;IAAA;IA6BA,CAAC;IA5Be,eAAM,GAApB,UAAwB,MAAW,EAAE,IAAuB;QAC1D,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC;IACzE,CAAC;IAEa,cAAK,GAAnB,UAAuB,MAAW,EAAE,IAAuB;QACzD,IAAI,MAAM,IAAI,IAAI;YAChB,KAAgB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAM,CAAC,eAAA;gBACV,IAAI,IAAI,CAAC,CAAC,CAAC;oBACT,OAAO,CAAC,CAAC;aAAA;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAEa,YAAG,GAAjB,UAAyB,MAAmC,EAAE,OAA8B,EAAE,OAAqB;QACjH,IAAI,MAAM,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC;QACd,IAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,KAAgB,UAAmB,EAAnB,KAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAnB,cAAmB,EAAnB,IAAmB;YAA9B,IAAM,CAAC,SAAA;YACV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAAA;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEa,gBAAO,GAArB,UAAyB,MAAmC,EAAE,OAA8B;QAC1F,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEa,kBAAS,GAAvB,UAA2B,MAAmC,EAAE,OAA8B;QAC5F,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAAC,CAAC;IAC3C,CAAC;IACH,eAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,4BAAQ"}
@@ -0,0 +1,11 @@
1
+ import { Bookmark } from '../Bookmark';
2
+ export declare class ParseRuntimeException extends Error {
3
+ readonly bookmark: Bookmark;
4
+ readonly digest: string;
5
+ readonly _type = "ParseRuntimeException";
6
+ readonly partialObject?: any;
7
+ readonly causedBy?: Error;
8
+ static is(e: any): e is ParseRuntimeException;
9
+ constructor(message: string, bookmark: Bookmark, digest: string, cause?: Error, partialObject?: any);
10
+ getBookmark(): Bookmark;
11
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ParseRuntimeException = void 0;
17
+ var ParseRuntimeException = /** @class */ (function (_super) {
18
+ __extends(ParseRuntimeException, _super);
19
+ function ParseRuntimeException(message, bookmark, digest, cause, partialObject) {
20
+ var _this = _super.call(this, message + ', ' + bookmark + ', digest:' + digest) || this;
21
+ _this.bookmark = bookmark;
22
+ _this.digest = digest;
23
+ _this._type = 'ParseRuntimeException';
24
+ Object.setPrototypeOf(_this, ParseRuntimeException.prototype);
25
+ _this.bookmark = bookmark;
26
+ _this.digest = digest;
27
+ _this.partialObject = partialObject;
28
+ _this.causedBy = cause;
29
+ return _this;
30
+ }
31
+ ParseRuntimeException.is = function (e) {
32
+ return e != null && e._type === 'ParseRuntimeException';
33
+ };
34
+ ParseRuntimeException.prototype.getBookmark = function () {
35
+ return this.bookmark.clone();
36
+ };
37
+ return ParseRuntimeException;
38
+ }(Error));
39
+ exports.ParseRuntimeException = ParseRuntimeException;
40
+ //# sourceMappingURL=ParseRuntimeException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParseRuntimeException.js","sourceRoot":"","sources":["../../../src/core/ParseRuntimeException.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA;IAA2C,yCAAK;IAS9C,+BACE,OAAe,EACC,QAAkB,EAClB,MAAc,EAC9B,KAAa,EACb,aAAmB;QALrB,YAOE,kBAAM,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC,SAMxD;QAXiB,cAAQ,GAAR,QAAQ,CAAU;QAClB,YAAM,GAAN,MAAM,CAAQ;QAXvB,WAAK,GAAG,uBAAuB,CAAC;QAgBvC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC7D,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;;IACxB,CAAC;IAjBM,wBAAE,GAAT,UAAU,CAAM;QACd,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,uBAAuB,CAAC;IAC1D,CAAC;IAiBM,2CAAW,GAAlB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACH,4BAAC;AAAD,CAAC,AA3BD,CAA2C,KAAK,GA2B/C;AA3BY,sDAAqB"}
@@ -0,0 +1,9 @@
1
+ import { Appendable } from './Appendable';
2
+ export declare class StringBuilder implements Appendable {
3
+ private s;
4
+ private readonly strs;
5
+ private dirty;
6
+ constructor(s?: string);
7
+ append(s: string): this;
8
+ toString(): string;
9
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringBuilder = void 0;
4
+ var StringBuilder = /** @class */ (function () {
5
+ function StringBuilder(s) {
6
+ if (s === void 0) { s = ''; }
7
+ this.s = s;
8
+ this.strs = new Array();
9
+ this.dirty = false;
10
+ if (s)
11
+ this.strs.push(s);
12
+ }
13
+ StringBuilder.prototype.append = function (s) {
14
+ if (s) {
15
+ this.strs.push(s);
16
+ this.dirty = true;
17
+ }
18
+ return this;
19
+ };
20
+ StringBuilder.prototype.toString = function () {
21
+ if (this.dirty) {
22
+ this.s = this.strs.join('');
23
+ this.dirty = false;
24
+ }
25
+ return this.s;
26
+ };
27
+ return StringBuilder;
28
+ }());
29
+ exports.StringBuilder = StringBuilder;
30
+ //# sourceMappingURL=StringBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringBuilder.js","sourceRoot":"","sources":["../../../src/core/StringBuilder.ts"],"names":[],"mappings":";;;AAEA;IAGE,uBAA2B,CAAM;QAAN,kBAAA,EAAA,MAAM;QAAN,MAAC,GAAD,CAAC,CAAK;QAFhB,SAAI,GAAG,IAAI,KAAK,EAAU,CAAC;QACpC,UAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAEM,8BAAM,GAAb,UAAc,CAAS;QACrB,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gCAAQ,GAAf;QACE,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IACH,oBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,sCAAa"}
@@ -0,0 +1,11 @@
1
+ import { CharSource } from './CharSource';
2
+ import { Predicate } from './LangUtil';
3
+ import { StringBuilder } from './StringBuilder';
4
+ export declare class StringCharSource extends CharSource {
5
+ readonly str: string;
6
+ constructor(str: string);
7
+ read(): string;
8
+ peek(i?: number): string;
9
+ isEof(idx?: number): boolean;
10
+ readUntil(target: StringBuilder | null, predicate: Predicate<CharSource>, minLen?: number, maxLen?: number): boolean;
11
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.StringCharSource = void 0;
17
+ var CharSource_1 = require("./CharSource");
18
+ var EOFRuntimeException_1 = require("./EOFRuntimeException");
19
+ var StringCharSource = /** @class */ (function (_super) {
20
+ __extends(StringCharSource, _super);
21
+ function StringCharSource(str) {
22
+ var _this = _super.call(this) || this;
23
+ _this.str = str;
24
+ return _this;
25
+ }
26
+ StringCharSource.prototype.read = function () {
27
+ if (this.isEof(0))
28
+ throw new EOFRuntimeException_1.EOFRuntimeException();
29
+ return this.bookmark.append(this.str.charAt(this.bookmark.pos));
30
+ };
31
+ StringCharSource.prototype.peek = function (i) {
32
+ if (i === void 0) { i = 0; }
33
+ if (this.isEof(i))
34
+ throw new EOFRuntimeException_1.EOFRuntimeException();
35
+ return this.str.charAt(this.bookmark.pos + i);
36
+ };
37
+ StringCharSource.prototype.isEof = function (idx) {
38
+ if (idx === void 0) { idx = 0; }
39
+ return this.bookmark.pos + idx >= this.str.length;
40
+ };
41
+ StringCharSource.prototype.readUntil = function (target, predicate, minLen, maxLen) {
42
+ if (minLen === void 0) { minLen = 0; }
43
+ if (maxLen === void 0) { maxLen = Number.MAX_VALUE; }
44
+ var startPos = this.bookmark.pos;
45
+ var len = 0;
46
+ var matched = false;
47
+ for (; len < maxLen && !this.isEof(); len++) {
48
+ matched = len >= minLen && predicate(this);
49
+ if (matched)
50
+ break;
51
+ this.read();
52
+ }
53
+ if (target != null)
54
+ target.append(this.str.substr(startPos, len));
55
+ return matched;
56
+ };
57
+ return StringCharSource;
58
+ }(CharSource_1.CharSource));
59
+ exports.StringCharSource = StringCharSource;
60
+ //# sourceMappingURL=StringCharSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringCharSource.js","sourceRoot":"","sources":["../../../src/core/StringCharSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C,6DAA4D;AAI5D;IAAsC,oCAAU;IAC9C,0BAAmC,GAAW;QAA9C,YACE,iBAAO,SACR;QAFkC,SAAG,GAAH,GAAG,CAAQ;;IAE9C,CAAC;IAEM,+BAAI,GAAX;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,yCAAmB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,+BAAI,GAAX,UAAY,CAAK;QAAL,kBAAA,EAAA,KAAK;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,yCAAmB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAEM,gCAAK,GAAZ,UAAa,GAAO;QAAP,oBAAA,EAAA,OAAO;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACpD,CAAC;IAEM,oCAAS,GAAhB,UAAiB,MAA4B,EAAE,SAAgC,EAAE,MAAU,EAAE,MAAyB;QAArC,uBAAA,EAAA,UAAU;QAAE,uBAAA,EAAA,SAAS,MAAM,CAAC,SAAS;QACpH,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;YAC3C,OAAO,GAAG,GAAG,IAAI,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,OAAO;gBACT,MAAM;YACR,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QACD,IAAI,MAAM,IAAI,IAAI;YAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IACH,uBAAC;AAAD,CAAC,AAnCD,CAAsC,uBAAU,GAmC/C;AAnCY,4CAAgB"}
@@ -0,0 +1,16 @@
1
+ export declare class StringUtil {
2
+ static isJavaIdentifier(str?: string | null): boolean;
3
+ /**
4
+ * Escape a String using the C style
5
+ * e.g. for string "It's a example" escape to "It\'s a example");
6
+ * This is used by (Java/Javascript/C/C++)Code generator
7
+ *
8
+ * @param str the string to be escaped
9
+ * @param quoteChar The quote char
10
+ * @return The escaped String
11
+ */
12
+ static cEscape(str?: string | null, quoteChar?: string): typeof str;
13
+ static repeat(str: string, times: number): string;
14
+ static contains(str: string, pattern: string): boolean;
15
+ static indexOfAnyChar(str: string, toMatch: string): number;
16
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringUtil = void 0;
4
+ var StringBuilder_1 = require("./StringBuilder");
5
+ var C_ESC_CHAR = '\'"`\\\b\f\n\r\t';
6
+ var C_ESC_SYMB = '\'"`\\bfnrt';
7
+ var MIN_PRINTABLE_CHAR = ' ';
8
+ var StringUtil = /** @class */ (function () {
9
+ function StringUtil() {
10
+ }
11
+ StringUtil.isJavaIdentifier = function (str) {
12
+ if (str == null || str.length < 1)
13
+ return false;
14
+ return !!str.match('^[a-zA-Z_$][0-9a-zA-Z_$]*$');
15
+ };
16
+ /**
17
+ * Escape a String using the C style
18
+ * e.g. for string "It's a example" escape to "It\'s a example");
19
+ * This is used by (Java/Javascript/C/C++)Code generator
20
+ *
21
+ * @param str the string to be escaped
22
+ * @param quoteChar The quote char
23
+ * @return The escaped String
24
+ */
25
+ StringUtil.cEscape = function (str, quoteChar) {
26
+ if (str === void 0) { str = ''; }
27
+ if (quoteChar === void 0) { quoteChar = '"'; }
28
+ if (!str)
29
+ return str;
30
+ // First scan to check if it needs escape just to avoid create new String object for better performance.
31
+ for (var i = 0;; i++) {
32
+ if (i === str.length)
33
+ return str;
34
+ var c = str.charAt(i);
35
+ if (c < MIN_PRINTABLE_CHAR || C_ESC_CHAR.indexOf(c) >= 0)
36
+ break;
37
+ }
38
+ // Second scan, Do escape
39
+ var result = new StringBuilder_1.StringBuilder();
40
+ for (var i = 0; i < str.length; i++) {
41
+ var c = str.charAt(i);
42
+ // check if it's a special printable char
43
+ var idx = C_ESC_CHAR.indexOf(c);
44
+ if (idx >= 3 || quoteChar === c) {
45
+ // first 3 chars are quote chars
46
+ result.append('\\');
47
+ result.append(C_ESC_SYMB.charAt(idx));
48
+ }
49
+ else if (c < MIN_PRINTABLE_CHAR) {
50
+ // check if it's a un-printable char
51
+ result.append('\\u');
52
+ result.append(c.charCodeAt(0).toString(16).padStart(4, '0'));
53
+ }
54
+ else
55
+ result.append(c);
56
+ }
57
+ return result.toString();
58
+ };
59
+ StringUtil.repeat = function (str, times) {
60
+ return ''.padEnd(str.length * times, str);
61
+ };
62
+ StringUtil.contains = function (str, pattern) {
63
+ return str.indexOf(pattern) >= 0;
64
+ };
65
+ StringUtil.indexOfAnyChar = function (str, toMatch) {
66
+ for (var i = 0; i < str.length; i++) {
67
+ if (toMatch.indexOf(str.charAt(i)) >= 0)
68
+ return i;
69
+ }
70
+ return -1;
71
+ };
72
+ return StringUtil;
73
+ }());
74
+ exports.StringUtil = StringUtil;
75
+ //# sourceMappingURL=StringUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../../src/core/StringUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ClassUtil_1 = require("../ClassUtil");
4
+ describe('ClassUtil', function () {
5
+ test('testToSimpleObjectWithoutType', function () {
6
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("1")).toBe(1);
7
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("1000000000000")).toBe(1000000000000);
8
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("1.0")).toBe(1.0);
9
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("true")).toBe(true);
10
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("false")).toBe(false);
11
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("0x11")).toBe(0x11);
12
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("0X11")).toBe(0X11);
13
+ expect(ClassUtil_1.ClassUtil.toSimpleObject("1.1.1.1")).toBe("1.1.1.1");
14
+ });
15
+ });
16
+ //# sourceMappingURL=ClassUtil.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassUtil.spec.js","sourceRoot":"","sources":["../../../../src/core/__test__/ClassUtil.spec.ts"],"names":[],"mappings":";;AAAA,0CAAyC;AAEzC,QAAQ,CAAC,WAAW,EAAE;IAEpB,IAAI,CAAC,+BAA+B,EAAE;QACpC,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtE,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,qBAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var StringCharSource_1 = require("../StringCharSource");
4
+ describe('StringCharSource', function () {
5
+ test('testReadQuotedStringError', function () {
6
+ var cs = new StringCharSource_1.StringCharSource("'Missing closing quote");
7
+ var c = cs.read(); // skip first quote
8
+ try {
9
+ cs.readQuotedString(c);
10
+ fail("Should throw error");
11
+ }
12
+ catch (e) {
13
+ expect(e.message).toBe("Can't find matching quote at position:1;line:0;col:1");
14
+ // e.printStackTrace();
15
+ }
16
+ });
17
+ });
18
+ //# sourceMappingURL=StringCharSource.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringCharSource.spec.js","sourceRoot":"","sources":["../../../../src/core/__test__/StringCharSource.spec.ts"],"names":[],"mappings":";;AAAA,wDAAuD;AAEvD,QAAQ,CAAC,kBAAkB,EAAE;IAE3B,IAAI,CAAC,2BAA2B,EAAE;QAChC,IAAM,EAAE,GAAG,IAAI,mCAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC1D,IAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAE,mBAAmB;QACzC,IAAI;YACF,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC5B;QAAC,OAAM,CAAM,EAAE;YACd,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YAC/E,uBAAuB;SACxB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var StringUtil_1 = require("../StringUtil");
4
+ test('testIsJavaIdentifier', function () {
5
+ expect(StringUtil_1.StringUtil.isJavaIdentifier('Abcd')).toBeTruthy();
6
+ expect(StringUtil_1.StringUtil.isJavaIdentifier('1Abcd')).toBeFalsy();
7
+ expect(StringUtil_1.StringUtil.isJavaIdentifier('Ab+cd')).toBeFalsy();
8
+ });
9
+ test('testCEscape', function () {
10
+ var org1 = 'a"\n\t\u0001';
11
+ var dest = 'a\\"\\n\\t\\u0001';
12
+ expect(StringUtil_1.StringUtil.cEscape(org1, '"')).toBe(dest);
13
+ var org2 = "'test'";
14
+ var des2 = "\\'test\\'";
15
+ expect(StringUtil_1.StringUtil.cEscape(org2, "'")).toBe(des2);
16
+ expect(StringUtil_1.StringUtil.cEscape(null, '"')).toBe(null);
17
+ expect(StringUtil_1.StringUtil.cEscape('abc', '"')).toBe('abc');
18
+ });
19
+ test('testIndexOfAnyChar', function () {
20
+ expect(StringUtil_1.StringUtil.indexOfAnyChar("1234", "234")).toBe(1);
21
+ expect(StringUtil_1.StringUtil.indexOfAnyChar("1234", "567")).toBe(-1);
22
+ });
23
+ //# sourceMappingURL=StringUtil.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtil.spec.js","sourceRoot":"","sources":["../../../../src/core/__test__/StringUtil.spec.ts"],"names":[],"mappings":";;AAAA,4CAA2C;AAE3C,IAAI,CAAC,sBAAsB,EAAE;IAC3B,MAAM,CAAC,uBAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACzD,MAAM,CAAC,uBAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzD,MAAM,CAAC,uBAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,aAAa,EAAE;IAClB,IAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,IAAM,IAAI,GAAG,mBAAmB,CAAC;IACjC,MAAM,CAAC,uBAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjD,IAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,IAAM,IAAI,GAAG,YAAY,CAAC;IAC1B,MAAM,CAAC,uBAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,CAAC,uBAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,CAAC,uBAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE;IACzB,MAAM,CAAC,uBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,uBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};