angular-three 1.9.2 → 1.9.3

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.
@@ -63,13 +63,10 @@ export class NgtRxStore extends RxState {
63
63
  this.cache = {};
64
64
  // set a dummy property so that initial this.get() won't return undefined
65
65
  this.set({ __ngt_dummy__: '__ngt_dummy__' });
66
- // call initialize that might be setup by derived Stores
67
- this.initialize();
68
66
  // override set so our consumers don't have to handle undefined for state that already have default values
69
67
  const originalSet = this.set.bind(this);
70
68
  Object.defineProperty(this, 'set', {
71
69
  get: () => {
72
- // Parameters type does not do well with overloads (RxState#set). So we use any[] here
73
70
  return (...args) => {
74
71
  const firstArg = args[0];
75
72
  if (is.obj(firstArg)) {
@@ -79,11 +76,22 @@ export class NgtRxStore extends RxState {
79
76
  }, {});
80
77
  return originalSet(modArgs);
81
78
  }
82
- // @ts-expect-error not sure why ...args here doesn't pass tuple check
83
79
  return originalSet(...args);
84
80
  };
85
81
  },
86
82
  });
83
+ // override get to return {} if get() returns undefined
84
+ const originalGet = this.get.bind(this);
85
+ Object.defineProperty(this, 'get', {
86
+ get: () => {
87
+ return (...args) => {
88
+ const state = originalGet(...args);
89
+ return state || {};
90
+ };
91
+ },
92
+ });
93
+ // call initialize that might be setup by derived Stores
94
+ this.initialize();
87
95
  }
88
96
  initialize() {
89
97
  return;
@@ -117,4 +125,4 @@ NgtRxStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
117
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtRxStore, decorators: [{
118
126
  type: Injectable
119
127
  }], ctorParameters: function () { return []; } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi9zdG9yZXMvcngtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQXdDLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFakMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBbUMsRUFBRSxDQUFDLFNBQVMsQ0FBSSxTQUFlLENBQUMsQ0FBQztBQU10Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQVMsUUFBMEI7SUFDeEQsSUFBSSxTQUFTLEdBQTZGLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNuSCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQXVCLFNBQVMsQ0FBQztJQUV6QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sR0FBRyxFQUFFO1lBQ1IsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUM5QztRQUNMLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFTO1FBQ2YsSUFBSSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxTQUFTLElBQUksUUFBUSxFQUFFO2dCQUN2QixTQUFTLENBQUMsRUFBRSxJQUFJ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QUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNkLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBVUQsSUFBSSxDQUFDLEdBQUcsSUFBYztRQUNsQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFJLElBQWMsQ0FBQyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBSSxJQUFjLENBQUMsSUFBSSxTQUFTLENBQUMsRUFDcEQsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFUSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt1R0F6RVEsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSeFN0YXRlIH0gZnJvbSAnQHJ4LWFuZ3VsYXIvc3RhdGUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuLi91dGlscy9pcyc7XG5cbmV4cG9ydCBjb25zdCBzdGFydFdpdGhVbmRlZmluZWQgPSA8VD4oKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+ID0+IHN0YXJ0V2l0aDxUPih1bmRlZmluZWQhIGFzIFQpO1xuXG50eXBlIEVmZmVjdEZuPFRWYWx1ZT4gPSAoXG4gICAgdmFsdWU6IFRWYWx1ZVxuKSA9PiB2b2lkIHwgdW5kZWZpbmVkIHwgKChjbGVhblVwUGFyYW1zOiB7IHByZXY6IFRWYWx1ZSB8IHVuZGVmaW5lZDsgY29tcGxldGU6IGJvb2xlYW47IGVycm9yOiBib29sZWFuIH0pID0+IHZvaWQpO1xuXG4vKipcbiAqIEFuIGV4dGVuZGVkIGB0YXBgIG9wZXJhdG9yIHRoYXQgYWNjZXB0cyBhbiBgZWZmZWN0Rm5gIHdoaWNoOlxuICogLSBydW5zIG9uIGV2ZXJ5IGBuZXh0YCBub3RpZmljYXRpb24gZnJvbSBgc291cmNlJGBcbiAqIC0gY2FuIG9wdGlvbmFsbHkgcmV0dXJuIGEgYGNsZWFuVXBgIGZ1bmN0aW9uIHRoYXRcbiAqIGludm9rZXMgZnJvbSB0aGUgMm5kIGBuZXh0YCBub3RpZmljYXRpb24gb253YXJkIGFuZCBvbiBgdW5zdWJzY3JpYmVgIChkZXN0cm95ZWQpXG4gKlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzb3VyY2UkLnBpcGUoXG4gKiAgdGFwRWZmZWN0KChzb3VyY2VWYWx1ZSkgPSB7XG4gKiAgICBjb25zdCBjYiA9ICgpID0+IHtcbiAqICAgICAgZG9TdHVmZihzb3VyY2VWYWx1ZSk7XG4gKiAgICB9O1xuICogICAgYWRkTGlzdGVuZXIoJ2V2ZW50JywgY2IpO1xuICpcbiAqICAgIHJldHVybiAoKSA9PiB7XG4gKiAgICAgIHJlbW92ZUxpc3RlbmVyKCdldmVudCcsIGNiKTtcbiAqICAgIH1cbiAqICB9KVxuICogKVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXBFZmZlY3Q8VFZhbHVlPihlZmZlY3RGbjogRWZmZWN0Rm48VFZhbHVlPik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUVmFsdWU+IHtcbiAgICBsZXQgY2xlYW51cEZuOiAoY2xlYW5VcFBhcmFtczogeyBwcmV2OiBUVmFsdWUgfCB1bmRlZmluZWQ7IGNvbXBsZXRlOiBib29sZWFuOyBlcnJvcjogYm9vbGVhbiB9KSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgbGV0IGZpcnN0UnVuID0gZmFsc2U7XG4gICAgbGV0IHByZXY6IFRWYWx1ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHRlYXJkb3duID0gKGVycm9yOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2xlYW51cEZuKSB7XG4gICAgICAgICAgICAgICAgY2xlYW51cEZuKHsgcHJldiwgY29tcGxldGU6IHRydWUsIGVycm9yIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICByZXR1cm4gdGFwPFRWYWx1ZT4oe1xuICAgICAgICBuZXh0OiAodmFsdWU6IFRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGNsZWFudXBGbiAmJiBmaXJzdFJ1bikge1xuICAgICAgICAgICAgICAgIGNsZWFudXBGbih7IHByZXYsIGNvbXBsZXRlOiBmYWxzZSwgZXJyb3I6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjbGVhblVwT3JWb2lkID0gZWZmZWN0Rm4odmFsdWUpO1xuICAgICAgICAgICAgaWYgKGNsZWFuVXBPclZvaWQpIHtcbiAgICAgICAgICAgICAgICBjbGVhbnVwRm4gPSBjbGVhblVwT3JWb2lkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcmV2ID0gdmFsdWU7XG5cbiAgICAgICAgICAgIGlmICghZmlyc3RSdW4pIHtcbiAgICAgICAgICAgICAgICBmaXJzdFJ1biA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlOiB0ZWFyZG93bihmYWxzZSksXG4gICAgICAgIHVuc3Vic2NyaWJlOiB0ZWFyZG93bihmYWxzZSksXG4gICAgICAgIGVycm9yOiB0ZWFyZG93bih0cnVlKSxcbiAgICB9KTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5ndFJ4U3RvcmU8VFN0YXRlIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBUUnhTdGF0ZSBleHRlbmRzIG9iamVjdCA9IFRTdGF0ZSAmIFJlY29yZDxzdHJpbmcsIGFueT4+XG4gICAgZXh0ZW5kcyBSeFN0YXRlPFRSeFN0YXRlPlxuICAgIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8vIHNldCBhIGR1bW15IHByb3BlcnR5IHNvIHRoYXQgaW5pdGlhbCB0aGlzLmdldCgpIHdvbid0IHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgdGhpcy5zZXQoeyBfX25ndF9kdW1teV9fOiAnX19uZ3RfZHVtbXlfXycgfSBhcyBUUnhTdGF0ZSk7XG4gICAgICAgIC8vIGNhbGwgaW5pdGlhbGl6ZSB0aGF0IG1pZ2h0IGJlIHNldHVwIGJ5IGRlcml2ZWQgU3RvcmVzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAvLyBvdmVycmlkZSBzZXQgc28gb3VyIGNvbnN1bWVycyBkb24ndCBoYXZlIHRvIGhhbmRsZSB1bmRlZmluZWQgZm9yIHN0YXRlIHRoYXQgYWxyZWFkeSBoYXZlIGRlZmF1bHQgdmFsdWVzXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsU2V0ID0gdGhpcy5zZXQuYmluZCh0aGlzKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzZXQnLCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBQYXJhbWV0ZXJzIHR5cGUgZG9lcyBub3QgZG8gd2VsbCB3aXRoIG92ZXJsb2FkcyAoUnhTdGF0ZSNzZXQpLiBTbyB3ZSB1c2UgYW55W10gaGVyZVxuICAgICAgICAgICAgICAgIHJldHVybiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RBcmcgPSBhcmdzWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXMub2JqKGZpcnN0QXJnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kQXJncyA9IE9iamVjdC5lbnRyaWVzKGZpcnN0QXJnKS5yZWR1Y2UoKG1vZGRlZCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZGVkW2tleV0gPSB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5nZXQoa2V5IGFzIGtleW9mIFRSeFN0YXRlKSA6IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2RkZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB7fSBhcyBOZ3RBbnlSZWNvcmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsU2V0KG1vZEFyZ3MgYXMgUGFydGlhbDxUUnhTdGF0ZT4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igbm90IHN1cmUgd2h5IC4uLmFyZ3MgaGVyZSBkb2Vzbid0IHBhc3MgdHVwbGUgY2hlY2tcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsU2V0KC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVmZmVjdDxTPihvYnM6IE9ic2VydmFibGU8Uz4sIHNpZGVFZmZlY3RGbjogRWZmZWN0Rm48Uz4pOiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9sZChvYnMucGlwZSh0YXBFZmZlY3Qoc2lkZUVmZmVjdEZuKSkpO1xuICAgIH1cblxuICAgIHRyaWdnZXJDaGFuZ2VEZXRlY3Rpb24oY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwga2V5czogQXJyYXk8a2V5b2YgVFJ4U3RhdGU+ID0gW10pIHtcbiAgICAgICAgbGV0ICQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuJDtcblxuICAgICAgICBpZiAoa2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICQgPSBjb21iaW5lTGF0ZXN0KGtleXMubWFwKChrZXkpID0+IHRoaXMuc2VsZWN0KGtleSkucGlwZShzdGFydFdpdGgodGhpcy5nZXQoa2V5KSA/PyB1bmRlZmluZWQpKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ob2xkKCQsICgpID0+IHtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB2b2lkIGNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBPYnNlcnZhYmxlPGFueT4+ID0ge307XG4gICAga2V5JDxLIGV4dGVuZHMga2V5b2YgVFJ4U3RhdGU+KGtleTogSyk6IE9ic2VydmFibGU8VFJ4U3RhdGVbS10+O1xuICAgIGtleSQ8SzEgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZSwgSzIgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZVtLMV0+KGtleTE6IEsxLCBrZXkyOiBLMik6IE9ic2VydmFibGU8VFJ4U3RhdGVbSzFdW0syXT47XG4gICAga2V5JDxLMSBleHRlbmRzIGtleW9mIFRSeFN0YXRlLCBLMiBleHRlbmRzIGtleW9mIFRSeFN0YXRlW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZVtLMV1bSzJdPihcbiAgICAgICAga2V5MTogSzEsXG4gICAgICAgIGtleTI6IEsyLFxuICAgICAgICBrZXkzOiBLM1xuICAgICk6IE9ic2VydmFibGU8VFJ4U3RhdGVbSzFdW0syXVtLM10+O1xuICAgIGtleSQoLi4ua2V5czogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5cy5qb2luKCcuJyk7XG4gICAgICAgIGlmICghdGhpcy5jYWNoZVtrZXldKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlW2tleV0gPSB0aGlzLnNlbGVjdCguLi4oa2V5cyBhcyBbYW55XSkpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZ2V0KC4uLihrZXlzIGFzIFthbnldKSkgPz8gdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlW2tleV07XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSB7fTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi9zdG9yZXMvcngtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQXdDLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakgsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFakMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBbUMsRUFBRSxDQUFDLFNBQVMsQ0FBSSxTQUFlLENBQUMsQ0FBQztBQU10Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQVMsUUFBMEI7SUFDeEQsSUFBSSxTQUFTLEdBQTZGLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNuSCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQXVCLFNBQVMsQ0FBQztJQUV6QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sR0FBRyxFQUFFO1lBQ1IsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUM5QztRQUNMLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFTO1FBQ2YsSUFBSSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxTQUFTLElBQUksUUFBUSxFQUFFO2dCQUN2QixTQUFTLENBQUMsRUFBRSxJQUFJ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QVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUnhTdGF0ZSB9IGZyb20gJ0ByeC1hbmd1bGFyL3N0YXRlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHN0YXJ0V2l0aCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi4vdXRpbHMvaXMnO1xuXG5leHBvcnQgY29uc3Qgc3RhcnRXaXRoVW5kZWZpbmVkID0gPFQ+KCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiA9PiBzdGFydFdpdGg8VD4odW5kZWZpbmVkISBhcyBUKTtcblxudHlwZSBFZmZlY3RGbjxUVmFsdWU+ID0gKFxuICAgIHZhbHVlOiBUVmFsdWVcbikgPT4gdm9pZCB8IHVuZGVmaW5lZCB8ICgoY2xlYW5VcFBhcmFtczogeyBwcmV2OiBUVmFsdWUgfCB1bmRlZmluZWQ7IGNvbXBsZXRlOiBib29sZWFuOyBlcnJvcjogYm9vbGVhbiB9KSA9PiB2b2lkKTtcblxuLyoqXG4gKiBBbiBleHRlbmRlZCBgdGFwYCBvcGVyYXRvciB0aGF0IGFjY2VwdHMgYW4gYGVmZmVjdEZuYCB3aGljaDpcbiAqIC0gcnVucyBvbiBldmVyeSBgbmV4dGAgbm90aWZpY2F0aW9uIGZyb20gYHNvdXJjZSRgXG4gKiAtIGNhbiBvcHRpb25hbGx5IHJldHVybiBhIGBjbGVhblVwYCBmdW5jdGlvbiB0aGF0XG4gKiBpbnZva2VzIGZyb20gdGhlIDJuZCBgbmV4dGAgbm90aWZpY2F0aW9uIG9ud2FyZCBhbmQgb24gYHVuc3Vic2NyaWJlYCAoZGVzdHJveWVkKVxuICpcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc291cmNlJC5waXBlKFxuICogIHRhcEVmZmVjdCgoc291cmNlVmFsdWUpID0ge1xuICogICAgY29uc3QgY2IgPSAoKSA9PiB7XG4gKiAgICAgIGRvU3R1ZmYoc291cmNlVmFsdWUpO1xuICogICAgfTtcbiAqICAgIGFkZExpc3RlbmVyKCdldmVudCcsIGNiKTtcbiAqXG4gKiAgICByZXR1cm4gKCkgPT4ge1xuICogICAgICByZW1vdmVMaXN0ZW5lcignZXZlbnQnLCBjYik7XG4gKiAgICB9XG4gKiAgfSlcbiAqIClcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFwRWZmZWN0PFRWYWx1ZT4oZWZmZWN0Rm46IEVmZmVjdEZuPFRWYWx1ZT4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VFZhbHVlPiB7XG4gICAgbGV0IGNsZWFudXBGbjogKGNsZWFuVXBQYXJhbXM6IHsgcHJldjogVFZhbHVlIHwgdW5kZWZpbmVkOyBjb21wbGV0ZTogYm9vbGVhbjsgZXJyb3I6IGJvb2xlYW4gfSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIGxldCBmaXJzdFJ1biA9IGZhbHNlO1xuICAgIGxldCBwcmV2OiBUVmFsdWUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB0ZWFyZG93biA9IChlcnJvcjogYm9vbGVhbikgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNsZWFudXBGbikge1xuICAgICAgICAgICAgICAgIGNsZWFudXBGbih7IHByZXYsIGNvbXBsZXRlOiB0cnVlLCBlcnJvciB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRhcDxUVmFsdWU+KHtcbiAgICAgICAgbmV4dDogKHZhbHVlOiBUVmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChjbGVhbnVwRm4gJiYgZmlyc3RSdW4pIHtcbiAgICAgICAgICAgICAgICBjbGVhbnVwRm4oeyBwcmV2LCBjb21wbGV0ZTogZmFsc2UsIGVycm9yOiBmYWxzZSB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2xlYW5VcE9yVm9pZCA9IGVmZmVjdEZuKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChjbGVhblVwT3JWb2lkKSB7XG4gICAgICAgICAgICAgICAgY2xlYW51cEZuID0gY2xlYW5VcE9yVm9pZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJldiA9IHZhbHVlO1xuXG4gICAgICAgICAgICBpZiAoIWZpcnN0UnVuKSB7XG4gICAgICAgICAgICAgICAgZmlyc3RSdW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb21wbGV0ZTogdGVhcmRvd24oZmFsc2UpLFxuICAgICAgICB1bnN1YnNjcmliZTogdGVhcmRvd24oZmFsc2UpLFxuICAgICAgICBlcnJvcjogdGVhcmRvd24odHJ1ZSksXG4gICAgfSk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3RSeFN0b3JlPFRTdGF0ZSBleHRlbmRzIG9iamVjdCA9IGFueSwgVFJ4U3RhdGUgZXh0ZW5kcyBvYmplY3QgPSBUU3RhdGUgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+PlxuICAgIGV4dGVuZHMgUnhTdGF0ZTxUUnhTdGF0ZT5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICAvLyBzZXQgYSBkdW1teSBwcm9wZXJ0eSBzbyB0aGF0IGluaXRpYWwgdGhpcy5nZXQoKSB3b24ndCByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIHRoaXMuc2V0KHsgX19uZ3RfZHVtbXlfXzogJ19fbmd0X2R1bW15X18nIH0gYXMgVFJ4U3RhdGUpO1xuICAgICAgICAvLyBvdmVycmlkZSBzZXQgc28gb3VyIGNvbnN1bWVycyBkb24ndCBoYXZlIHRvIGhhbmRsZSB1bmRlZmluZWQgZm9yIHN0YXRlIHRoYXQgYWxyZWFkeSBoYXZlIGRlZmF1bHQgdmFsdWVzXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsU2V0ID0gdGhpcy5zZXQuYmluZCh0aGlzKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzZXQnLCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKC4uLmFyZ3M6IFBhcmFtZXRlcnM8UnhTdGF0ZTxUUnhTdGF0ZT5bJ3NldCddPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEFyZyA9IGFyZ3NbMF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpcy5vYmooZmlyc3RBcmcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RBcmdzID0gT2JqZWN0LmVudHJpZXMoZmlyc3RBcmcpLnJlZHVjZSgobW9kZGVkLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RkZWRba2V5XSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyB0aGlzLmdldChrZXkgYXMga2V5b2YgVFJ4U3RhdGUpIDogdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZGRlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHt9IGFzIE5ndEFueVJlY29yZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxTZXQobW9kQXJncyBhcyBQYXJ0aWFsPFRSeFN0YXRlPik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsU2V0KC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBvdmVycmlkZSBnZXQgdG8gcmV0dXJuIHt9IGlmIGdldCgpIHJldHVybnMgdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsR2V0ID0gdGhpcy5nZXQuYmluZCh0aGlzKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdnZXQnLCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKC4uLmFyZ3M6IFBhcmFtZXRlcnM8UnhTdGF0ZTxUUnhTdGF0ZT5bJ2dldCddPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0ZSA9IG9yaWdpbmFsR2V0KC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGUgfHwge307XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGNhbGwgaW5pdGlhbGl6ZSB0aGF0IG1pZ2h0IGJlIHNldHVwIGJ5IGRlcml2ZWQgU3RvcmVzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplKCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZWZmZWN0PFM+KG9iczogT2JzZXJ2YWJsZTxTPiwgc2lkZUVmZmVjdEZuOiBFZmZlY3RGbjxTPik6IHZvaWQge1xuICAgICAgICByZXR1cm4gdGhpcy5ob2xkKG9icy5waXBlKHRhcEVmZmVjdChzaWRlRWZmZWN0Rm4pKSk7XG4gICAgfVxuXG4gICAgdHJpZ2dlckNoYW5nZURldGVjdGlvbihjZHI6IENoYW5nZURldGVjdG9yUmVmLCBrZXlzOiBBcnJheTxrZXlvZiBUUnhTdGF0ZT4gPSBbXSkge1xuICAgICAgICBsZXQgJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy4kO1xuXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgJCA9IGNvbWJpbmVMYXRlc3Qoa2V5cy5tYXAoKGtleSkgPT4gdGhpcy5zZWxlY3Qoa2V5KS5waXBlKHN0YXJ0V2l0aCh0aGlzLmdldChrZXkpID8/IHVuZGVmaW5lZCkpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvbGQoJCwgKCkgPT4ge1xuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHZvaWQgY2RyLmRldGVjdENoYW5nZXMoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FjaGU6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4gPSB7fTtcbiAgICBrZXkkPEsgZXh0ZW5kcyBrZXlvZiBUUnhTdGF0ZT4oa2V5OiBLKTogT2JzZXJ2YWJsZTxUUnhTdGF0ZVtLXT47XG4gICAga2V5JDxLMSBleHRlbmRzIGtleW9mIFRSeFN0YXRlLCBLMiBleHRlbmRzIGtleW9mIFRSeFN0YXRlW0sxXT4oa2V5MTogSzEsIGtleTI6IEsyKTogT2JzZXJ2YWJsZTxUUnhTdGF0ZVtLMV1bSzJdPjtcbiAgICBrZXkkPEsxIGV4dGVuZHMga2V5b2YgVFJ4U3RhdGUsIEsyIGV4dGVuZHMga2V5b2YgVFJ4U3RhdGVbSzFdLCBLMyBleHRlbmRzIGtleW9mIFRSeFN0YXRlW0sxXVtLMl0+KFxuICAgICAgICBrZXkxOiBLMSxcbiAgICAgICAga2V5MjogSzIsXG4gICAgICAgIGtleTM6IEszXG4gICAgKTogT2JzZXJ2YWJsZTxUUnhTdGF0ZVtLMV1bSzJdW0szXT47XG4gICAga2V5JCguLi5rZXlzOiBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBrZXkgPSBrZXlzLmpvaW4oJy4nKTtcbiAgICAgICAgaWYgKCF0aGlzLmNhY2hlW2tleV0pIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVba2V5XSA9IHRoaXMuc2VsZWN0KC4uLihrZXlzIGFzIFthbnldKSkucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5nZXQoLi4uKGtleXMgYXMgW2FueV0pKSA/PyB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVba2V5XTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jYWNoZSA9IHt9O1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -511,13 +511,10 @@ class NgtRxStore extends RxState {
511
511
  this.cache = {};
512
512
  // set a dummy property so that initial this.get() won't return undefined
513
513
  this.set({ __ngt_dummy__: '__ngt_dummy__' });
514
- // call initialize that might be setup by derived Stores
515
- this.initialize();
516
514
  // override set so our consumers don't have to handle undefined for state that already have default values
517
515
  const originalSet = this.set.bind(this);
518
516
  Object.defineProperty(this, 'set', {
519
517
  get: () => {
520
- // Parameters type does not do well with overloads (RxState#set). So we use any[] here
521
518
  return (...args) => {
522
519
  const firstArg = args[0];
523
520
  if (is.obj(firstArg)) {
@@ -527,11 +524,22 @@ class NgtRxStore extends RxState {
527
524
  }, {});
528
525
  return originalSet(modArgs);
529
526
  }
530
- // @ts-expect-error not sure why ...args here doesn't pass tuple check
531
527
  return originalSet(...args);
532
528
  };
533
529
  },
534
530
  });
531
+ // override get to return {} if get() returns undefined
532
+ const originalGet = this.get.bind(this);
533
+ Object.defineProperty(this, 'get', {
534
+ get: () => {
535
+ return (...args) => {
536
+ const state = originalGet(...args);
537
+ return state || {};
538
+ };
539
+ },
540
+ });
541
+ // call initialize that might be setup by derived Stores
542
+ this.initialize();
535
543
  }
536
544
  initialize() {
537
545
  return;