treedoc 0.3.24 → 0.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,7 +26,7 @@ const o1 = TDJSONParser.get().parse(new TDJSONParserOption(jsonStr)).toObject();
26
26
 
27
27
  ### Advanced Usage
28
28
 
29
- Please refer to the test class [TDJsonParser.spec.ts](src/__tests__/json/TDJsonParser.spec.ts) for more details.
29
+ Please refer to the test class [TDJsonParser.spec.ts](src/json/__test__/TDJsonParser.spec.ts) for more details.
30
30
 
31
31
  ## Live Demo
32
32
 
@@ -34,7 +34,7 @@ Please refer to the test class [TDJsonParser.spec.ts](src/__tests__/json/TDJsonP
34
34
 
35
35
  ## License
36
36
 
37
- Copyright 2019-2020 Jianwu Chen <BR>
37
+ Copyright 2019-2022 Treedoc.org <BR>
38
38
  Author/Developer: Jianwu Chen
39
39
 
40
40
  Use of this source code is governed by an MIT-style license that can be found in the LICENSE file or at <https://opensource.org/licenses/MIT>.
package/lib/TDNode.d.ts CHANGED
@@ -59,6 +59,7 @@ export declare class TDNode {
59
59
  isRoot(): boolean;
60
60
  /** JS specific logic */
61
61
  toObject(includePosition?: boolean, useCache?: boolean): any;
62
+ private toObjectMap;
62
63
  toProxy(useCache?: boolean): TDNode;
63
64
  get pathAsString(): string;
64
65
  get path(): string[];
@@ -67,6 +68,6 @@ export declare class TDNode {
67
68
  toString(): string;
68
69
  /** method specific for JSON.stringify() */
69
70
  toJSON(): string;
70
- toStringInternal(sb: string, includeRootKey?: boolean, includeReservedKeys?: boolean, limit?: number): string;
71
+ toStringInternal(sb?: string, includeRootKey?: boolean, includeReservedKeys?: boolean, limit?: number): string;
71
72
  freeze(): void;
72
73
  }
package/lib/TDNode.js CHANGED
@@ -184,18 +184,7 @@ var TDNode = /** @class */ (function () {
184
184
  return this.value;
185
185
  case TDNodeType.MAP: {
186
186
  this.tData.obj = includePosition ? { $: $ } : {};
187
- var refVal = this.getChildValue(KEY_REF);
188
- if (typeof refVal === 'string') {
189
- var target = this.getByPath(refVal);
190
- if (target == null)
191
- throw new Error("Reference is not found: ref:" + refVal + "; current Node:" + this.pathAsString);
192
- this.tData.obj = target.toObject(includePosition);
193
- }
194
- else {
195
- if (this.children)
196
- this.children.forEach(function (c) { return c.key && (_this.tData.obj[c.key] = c.toObject(includePosition)); });
197
- }
198
- return this.tData.obj;
187
+ return this.toObjectMap(includePosition);
199
188
  }
200
189
  case TDNodeType.ARRAY: {
201
190
  this.tData.obj = [];
@@ -209,6 +198,19 @@ var TDNode = /** @class */ (function () {
209
198
  throw new Error('Unknown type');
210
199
  }
211
200
  };
201
+ TDNode.prototype.toObjectMap = function (includePosition) {
202
+ var _this = this;
203
+ var _a;
204
+ var refVal = this.getChildValue(KEY_REF);
205
+ if (typeof refVal === 'string') {
206
+ var target = this.getByPath(refVal);
207
+ if (target !== null)
208
+ return this.tData.obj = target.toObject(includePosition);
209
+ console.warn("Reference is not found: ref:" + refVal + "; current Node:" + this.pathAsString);
210
+ }
211
+ (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (c) { return c.key && (_this.tData.obj[c.key] = c.toObject(includePosition)); });
212
+ return this.tData.obj;
213
+ };
212
214
  TDNode.prototype.toProxy = function (useCache) {
213
215
  if (useCache === void 0) { useCache = true; }
214
216
  if (useCache && this.tData.proxy)
@@ -251,8 +253,9 @@ var TDNode = /** @class */ (function () {
251
253
  return this.tData.str;
252
254
  };
253
255
  /** method specific for JSON.stringify() */
254
- TDNode.prototype.toJSON = function () { return toString(); };
256
+ TDNode.prototype.toJSON = function () { return this.toString(); };
255
257
  TDNode.prototype.toStringInternal = function (sb, includeRootKey, includeReservedKeys, limit) {
258
+ if (sb === void 0) { sb = ''; }
256
259
  if (includeRootKey === void 0) { includeRootKey = true; }
257
260
  if (includeReservedKeys === void 0) { includeReservedKeys = true; }
258
261
  if (limit === void 0) { limit = 100000; }
package/lib/TDNode.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"TDNode.js","sourceRoot":"","sources":["../src/TDNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TDNode.js","sourceRoot":"","sources":["../src/TDNode.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,mCAAsD;AACtD,gDAA+C;AAC/C,2DAA0D;AAG1D,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAAG,CAAA;IACH,6CAAK,CAAA;IACL,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAID,IAAM,OAAO,GAAG,MAAM,CAAC;AAEvB;IAAA;IAMA,CAAC;IAAD,oBAAC;AAAD,CAAC,AAND,IAMC;AANY,sCAAa;AAQ1B;IAoBE,4CAA4C;IAC5C,gBAA0B,GAAY,EAAS,GAAY;QAAjC,QAAG,GAAH,GAAG,CAAS;QAAS,QAAG,GAAH,GAAG,CAAS;QAhBpD,SAAI,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,2DAA2D;QACnD,WAAM,GAAc,IAAI,CAAC;QAOjC,4FAA4F;QACrF,YAAO,GAAG,KAAK,CAAC;QAEvB,uBAAuB;QACP,UAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAGkB,CAAC;IAExD,sBAAK,GAAZ;QACE,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,kCAAiB,GAAxB,UAAyB,KAAgB,IAAY,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAExJ,0BAAS,GAAhB,UAAiB,MAAe,IAAY,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjF,uBAAM,GAAb,UAAc,GAAY,IAAY,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrE,yBAAQ,GAAf,UAAgB,GAAe,IAAY,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpF,sBAAW,yBAAK;aAAhB,cAAqB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1C,UAAiB,KAAgB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;;;OADjB;IAEnC,wBAAO,GAAd,UAAe,IAAgB,IAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACpE,yBAAQ,GAAf,UAAgB,KAAe,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA,CAAC;IAC7D,uBAAM,GAAb,UAAc,GAAa,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAA,CAAC;IAErD,4BAAW,GAAlB,UAAmB,IAAa;QAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;SACd;QAED,oFAAoF;QACpF,IAAI,SAAS,GAAG,IAAI,CAAC,QAAS,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACtB,IAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;YACvB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;YAEjC,IAAI,CAAC,QAAS,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;YACtC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;YACpB,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,sCAAsC;YACxE,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;YAC7B,SAAS,GAAG,QAAQ,CAAC;SACtB;QAED,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAEM,yBAAQ,GAAf,UAAgB,IAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAG,4BAA4B;YACjD,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEM,yBAAQ,GAAf,UAAgB,IAAqB;QACnC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAEM,wBAAO,GAAd,UAAe,IAAa;QAC1B,iGAAiG;QACjG,0FAA0F;QAC1F,6EAA6E;QAC7E,+CAA+C;QAC/C,+DAA+D;QAC/D,+CAA+C;QAC/C,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI;YAC3B,OAAO,CAAC,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;YACtC,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG;gBAC1B,OAAO,CAAC,CAAC;QACb,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAEM,8BAAa,GAApB,UAAqB,IAAY;QAC/B,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACtC,CAAC;IAEM,4BAAW,GAAlB;QACE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,CAAC;IACM,gCAAe,GAAtB;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACnD,CAAC;IAEM,+BAAc,GAArB,UAAsB,IAAqB;QACzC,IAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,8DAA8D;IACvD,0BAAS,GAAhB,UAAiB,IAAgC,EAAE,MAAc,EAAE,GAAO;QAAvB,uBAAA,EAAA,cAAc;QAAE,oBAAA,EAAA,OAAO;QACxE,IAAI,CAAC,CAAC,IAAI,YAAY,eAAM,CAAC;YAC3B,IAAI,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAC3B,OAAO,IAAI,CAAC;QAEd,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,IAAI,IAAI;YACd,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEM,4BAAW,GAAlB,UAAmB,IAAU;QAC3B,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,qBAAY,CAAC,IAAI;gBACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACvB,KAAK,qBAAY,CAAC,WAAW;gBAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;YAC9D,KAAK,qBAAY,CAAC,QAAQ;gBACxB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;YACvC,KAAK,qBAAY,CAAC,KAAK;gBACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC;YAClC;gBACE,OAAO,IAAI,CAAC,CAAC,aAAa;SAC7B;IACH,CAAC;IAEM,4BAAW,GAAlB,UAAmB,KAAa;QAC9B,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI;YAC9E,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,wBAAO,GAAd,UAAe,MAA2B;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAjB,CAAiB,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,uBAAM,GAAb;QACE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,wBAAwB;IACjB,yBAAQ,GAAf,UAAgB,eAAuB,EAAE,QAAe;QAAxD,iBA2BC;QA3Be,gCAAA,EAAA,uBAAuB;QAAE,yBAAA,EAAA,eAAe;QACtD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAExB,IAAM,CAAC,GAAG;YACR,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;QAEF,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aAC1C;YACD,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;gBACpB,IAAI,eAAe;oBAChB,IAAI,CAAC,KAAK,CAAC,GAAW,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,QAAQ;oBACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAhD,CAAgD,CAAC,CAAC;gBAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aACvB;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACnC;IACH,CAAC;IAEO,4BAAW,GAAnB,UAAoB,eAAwB;QAA5C,iBAUC;;QATC,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,MAAM,KAAK,IAAI;gBACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,iCAA+B,MAAM,uBAAkB,IAAI,CAAC,YAAc,CAAC,CAAC;SAC1F;QACD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAA9D,CAA8D,EAAE;QAC5F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC;IAEM,wBAAO,GAAd,UAAe,QAAe;QAAf,yBAAA,EAAA,eAAe;QAC5B,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,uCAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,kFAAkF;QAClF,IAAI,QAAQ;YACV,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,sBAAW,gCAAY;aAAvB;YACE,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;;;OAAA;IACD,sBAAW,wBAAI;aAAf;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAK,IAAI,CAAC,MAAM,CAAC,IAAI,GAAE,IAAI,CAAC,GAAI,GAAE,CAAC,CAAC,EAAE,CAAC;QAC7D,CAAC;;;OAAA;IACM,uBAAM,GAAb;QACE,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAEO,sBAAK,GAAb;QACE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,yBAAQ,GAAf;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,2CAA2C;IACpC,uBAAM,GAAb,cAAkB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEpC,iCAAgB,GAAvB,UAAwB,EAAe,EAAE,cAAqB,EAAE,mBAA0B,EAAE,KAAc;QAAlF,mBAAA,EAAA,OAAe;QAAE,+BAAA,EAAA,qBAAqB;QAAE,oCAAA,EAAA,0BAA0B;QAAE,sBAAA,EAAA,cAAc;QACxG,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,GAAG,IAAI,cAAc;YAC9E,EAAE,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAGxB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACnD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAClC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC;aAClB;iBAAM;gBACL,IAAI,GAAG,GAAG,uBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAE,CAAC;gBAChD,IAAM,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC;gBACpC,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS;oBACxB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC5C,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;aACzB;SACF;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACvB,OAAO,EAAE,CAAC;QAEZ,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjD,KAAgB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;YAA1B,IAAM,CAAC,SAAA;YACV,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxD,SAAS;YAEX,IAAI,EAAE,CAAC,MAAM,GAAG,KAAK,EAAE;gBACrB,EAAE,IAAI,KAAK,CAAC;gBACZ,MAAM;aACP;YAED,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,EAAE,IAAI,IAAI,CAAC;SAEd;QACD,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,uBAAM,GAAb;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,EAAE;YACZ,KAAgB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ;gBAAnB,IAAM,CAAC,iBAAA;gBACV,CAAC,CAAC,MAAM,EAAE,CAAC;aAAA;SACd;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IA3SsB,aAAM,GAAG,KAAK,CAAC;IACf,cAAO,GAAG,MAAM,CAAC;IA2S1C,aAAC;CAAA,AA7SD,IA6SC;AA7SY,wBAAM"}
@@ -3,5 +3,11 @@ export declare const TRANSIENT_DATA_KEY_EXTENDED_FIELDS = "$extendedFields";
3
3
  export declare class TDNodeProxyHandler<T extends TDNode> implements ProxyHandler<T> {
4
4
  useCache: boolean;
5
5
  constructor(useCache: boolean);
6
- get?(target: T, prop: string | symbol, receiver: any): any;
6
+ get(target: T, prop: string | symbol, receiver: any): any;
7
+ ownKeys(target: T): Array<string | symbol>;
8
+ getOwnPropertyDescriptor(target: T, key: string | symbol): {
9
+ value: any;
10
+ enumerable: boolean;
11
+ configurable: boolean;
12
+ };
7
13
  }
@@ -44,6 +44,21 @@ var TDNodeProxyHandler = /** @class */ (function () {
44
44
  // console.log(`prop: ${prop}, res:${res}, typeof res=${typeof res}`);
45
45
  return (typeof res === 'function') ? res.bind(target) : res;
46
46
  };
47
+ // https://stackoverflow.com/questions/38586471/how-to-control-property-enumeration-for-in-with-proxy-objects
48
+ // Use Object.keys() go get the key names
49
+ TDNodeProxyHandler.prototype.ownKeys = function (target) {
50
+ // console.log(`ownKeys: target=${target.pathAsString}`);
51
+ var res = [TARGET, KEY];
52
+ if (target.type === TDNode_1.TDNodeType.MAP)
53
+ target.children.forEach(function (n) { return res.push(n.key); });
54
+ else if (target.type === TDNode_1.TDNodeType.ARRAY)
55
+ res.push("length");
56
+ return res;
57
+ };
58
+ TDNodeProxyHandler.prototype.getOwnPropertyDescriptor = function (target, key) {
59
+ // console.log(`getOwnPropertyDescriptor: key: ${String(key)}, target=${target.pathAsString}`);
60
+ return { value: this.get(target, key, this), enumerable: true, configurable: true };
61
+ };
47
62
  return TDNodeProxyHandler;
48
63
  }());
49
64
  exports.TDNodeProxyHandler = TDNodeProxyHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"TDNodeProxyHandler.js","sourceRoot":"","sources":["../src/TDNodeProxyHandler.ts"],"names":[],"mappings":";;;AACA,4CAAiE;AACjE,mCAAsC;AAEtC,IAAM,MAAM,GAAG,SAAS,CAAC;AACzB,IAAM,GAAG,GAAG,MAAM,CAAC;AACN,QAAA,kCAAkC,GAAG,iBAAiB,CAAC;AAEpE;IACE,4BAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IAAG,CAAC;IAExC,gCAAG,GAAH,UAAK,MAAS,EAAE,IAAqB,EAAE,QAAa;QAClD,2CAA2C;QAE3C,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE;YAC/B,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC1B;QAED,IAAI,OAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,8BAA4B,IAAI,CAAC,QAAQ,EAAI,CAAC,CAAC;YAC3D,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,6DAA6D;QAC7D,IAAI,IAAI,KAAK,QAAQ;YACnB,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;QAElC,IAAI,IAAI,KAAK,MAAM;YACjB,OAAO,MAAM,CAAC;QAEhB,IAAI,IAAI,KAAK,GAAG;YACd,OAAO,MAAM,CAAC,GAAG,CAAC;QAEpB,IAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,0CAAkC,CAAmB,CAAC;QAC1F,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC;YACxC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAM,CAAC,GAAG,mBAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAU,CAAC,MAAM;gBAC9B,OAAO,CAAC,CAAC,KAAK,CAAC;YACjB,0CAA0C;YAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,6CAA6C;QAC7C,8EAA8E;QAC9E,IAAM,GAAG,GAAI,MAAc,CAAC,IAAI,CAAC,CAAC;QAClC,cAAc;QACd,sEAAsE;QACtE,OAAO,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAC7D,CAAC;IAYH,yBAAC;AAAD,CAAC,AAxDD,IAwDC;AAxDY,gDAAkB"}
1
+ {"version":3,"file":"TDNodeProxyHandler.js","sourceRoot":"","sources":["../src/TDNodeProxyHandler.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var TDNode_1 = require("../TDNode");
5
5
  var TestObject = /** @class */ (function () {
6
6
  function TestObject(title) {
7
7
  this.title = title;
8
+ this.nullObj = null;
8
9
  }
9
10
  TestObject.prototype.functionObj = function (num) {
10
11
  console.log(num);
@@ -1 +1 @@
1
- {"version":3,"file":"TD.spec.js","sourceRoot":"","sources":["../../src/__tests__/TD.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TD.spec.js","sourceRoot":"","sources":["../../src/__tests__/TD.spec.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var __1 = require("..");
4
4
  var TDJSONParser_1 = require("../json/TDJSONParser");
5
5
  describe('TDNode', function () {
6
- var testData = "\n {\n \"a\": 1\n \"b\": [1,2,3]\n \"c\": \"str\"\n }\n ";
6
+ var testData = "\n {\n \"a\": 1\n \"b\": [1,2,3]\n \"c\": \"str\",\n \"validRef\": {$ref: /a},\n \"invalidRef\": {$ref: abc}\n }\n ";
7
7
  var testData1 = "\n {\n \"log\": {\n \"version\": \"1.2\",\n \"creator\": {\n \"name\": \"WebInspector\",\n \"version\": \"537.36\"\n }\n }\n }";
8
8
  var testJson = __1.TD.parse(testData);
9
9
  test('testToObject', function () {
@@ -15,12 +15,12 @@ describe('TDNode', function () {
15
15
  test('testToProxy', function () {
16
16
  var node = TDJSONParser_1.TDJSONParser.get().parse(testData);
17
17
  var proxy = node.toProxy();
18
- expect(proxy.length).toBe(3);
18
+ expect(proxy.length).toBe(5);
19
19
  expect(proxy.a).toBe(1);
20
20
  expect(proxy.b.length).toBe(testJson.b.length);
21
21
  expect(proxy.b[2]).toBe(3);
22
22
  expect(proxy.c).toBe('str');
23
- expect(proxy.toString()).toMatchInlineSnapshot("\"{a: 1, b: [1, 2, 3], c: 'str'}\"");
23
+ expect(proxy.toString()).toMatchInlineSnapshot("\"{a: 1, b: [1, 2, 3], c: 'str', validRef: {$ref: '/a'}, invalidRef: {$ref: 'abc'}}\"");
24
24
  // expect(Object.keys(proxy.b)).toBe(["@target"]);
25
25
  expect(__1.TD.stringify(proxy, { jsonOption: { quoteChar: "'" } })).toMatchSnapshot();
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TDNode.spec.js","sourceRoot":"","sources":["../../src/__tests__/TDNode.spec.ts"],"names":[],"mappings":";;AAAA,wBAAwB;AACxB,qDAAoD;AAEpD,QAAQ,CAAC,QAAQ,EAAE;IACjB,IAAM,QAAQ,GAAG,sEAMhB,CAAC;IAEF,IAAM,SAAS,GAAG,qKAShB,CAAC;IAEH,IAAM,QAAQ,GAAG,MAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,cAAc,EAAE;QACnB,IAAM,IAAI,GAAG,2BAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpF,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAClF,CAAC,CAAC;QACA,IAAI,CAAC,aAAa,EAAE;YAClB,IAAM,IAAI,GAAG,2BAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAS,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,CAAC,oCAAkC,CAAC,CAAC;YAEnF,kDAAkD;YAClD,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,cAAc,EAAE;QACnB,IAAM,IAAI,GAAG,2BAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC,OAAO,EAAS,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,CAAC,wDAAsD,CAAC,CAAC;QACvG,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"TDNode.spec.js","sourceRoot":"","sources":["../../src/__tests__/TDNode.spec.ts"],"names":[],"mappings":";;AAAA,wBAAwB;AACxB,qDAAoD;AAEpD,QAAQ,CAAC,QAAQ,EAAE;IACjB,IAAM,QAAQ,GAAG,uIAQhB,CAAC;IAEF,IAAM,SAAS,GAAG,qKAShB,CAAC;IAEH,IAAM,QAAQ,GAAG,MAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,cAAc,EAAE;QACnB,IAAM,IAAI,GAAG,2BAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpF,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAClF,CAAC,CAAC;QACA,IAAI,CAAC,aAAa,EAAE;YAClB,IAAM,IAAI,GAAG,2BAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAS,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,CAC5C,uFAAqF,CACtF,CAAC;YAEF,kDAAkD;YAClD,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,cAAc,EAAE;QACnB,IAAM,IAAI,GAAG,2BAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAE,CAAC,OAAO,EAAS,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,qBAAqB,CAAC,wDAAsD,CAAC,CAAC;QACvG,MAAM,CAAC,MAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,10 @@
1
1
  export declare class ListUtil {
2
2
  static exists<V>(source: V[], pred: (t: V) => boolean): boolean;
3
3
  static first<V>(source: V[], pred: (t: V) => boolean): V | undefined;
4
+ /**
5
+ * convert a Map to another Map by applying keyFunc and valFunc to convert key and values. If converted key is null
6
+ * the entry will be removed
7
+ */
4
8
  static map<V, TV>(source: {
5
9
  [key: string]: V;
6
10
  } | null, keyFunc: (k: string) => string, valFunc: (v: V) => TV): {
@@ -16,13 +16,19 @@ var ListUtil = /** @class */ (function () {
16
16
  }
17
17
  return undefined;
18
18
  };
19
+ /**
20
+ * convert a Map to another Map by applying keyFunc and valFunc to convert key and values. If converted key is null
21
+ * the entry will be removed
22
+ */
19
23
  ListUtil.map = function (source, keyFunc, valFunc) {
20
24
  if (source == null)
21
25
  return null;
22
26
  var result = {};
23
27
  for (var _i = 0, _a = Object.keys(source); _i < _a.length; _i++) {
24
28
  var k = _a[_i];
25
- result[keyFunc(k)] = valFunc(source[k]);
29
+ var key = keyFunc(k);
30
+ if (key)
31
+ result[keyFunc(k)] = valFunc(source[k]);
26
32
  }
27
33
  return result;
28
34
  };
@@ -1 +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"}
1
+ {"version":3,"file":"ListUtil.js","sourceRoot":"","sources":["../../src/core/ListUtil.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAoCA,CAAC;IAnCe,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;IAED;;;OAGG;IACW,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,EAAE;YAAhC,IAAM,CAAC,SAAA;YACV,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG;gBACL,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,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,AApCD,IAoCC;AApCY,4BAAQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "treedoc",
3
- "version": "0.3.24",
3
+ "version": "0.3.27",
4
4
  "description": "JSONex TreeDoc Json Parser",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",