@kaspernj/api-maker 1.0.2021 → 1.0.2023

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/build/config.js CHANGED
@@ -1,6 +1,7 @@
1
+ import EventEmitter from "events";
1
2
  import * as inflection from "inflection";
2
3
  const accessors = {
3
- breakPoints: {
4
+ breakpoints: {
4
5
  default: [["xxl", 1400], ["xl", 1200], ["lg", 992], ["md", 768], ["sm", 576], ["xs", 0]],
5
6
  required: true
6
7
  },
@@ -39,13 +40,23 @@ class ApiMakerConfig {
39
40
  constructor() {
40
41
  if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {};
41
42
  this.global = globalThis.apiMakerConfigGlobal;
43
+ this.events = new EventEmitter();
44
+ this.events.setMaxListeners(Infinity);
42
45
  }
46
+ getEvents = () => this.events;
43
47
  }
44
48
  for (const accessorName in accessors) {
45
49
  const accessorData = accessors[accessorName];
46
50
  const camelizedAccessor = inflection.camelize(accessorName);
47
51
  ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) {
52
+ const oldValue = this.global[accessorName];
48
53
  this.global[accessorName] = newValue;
54
+ if (oldValue !== newValue) {
55
+ this.events.emit(`on${camelizedAccessor}Change`, {
56
+ oldValue,
57
+ newValue
58
+ });
59
+ }
49
60
  };
50
61
  ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {
51
62
  if (!this.global[accessorName]) {
@@ -59,4 +70,4 @@ for (const accessorName in accessors) {
59
70
  }
60
71
  const apiMakerConfig = new ApiMakerConfig();
61
72
  export default apiMakerConfig;
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiYWNjZXNzb3JzIiwiYnJlYWtQb2ludHMiLCJkZWZhdWx0IiwicmVxdWlyZWQiLCJjYWJsZVVybCIsInJlcXVpcmUiLCJjdXJyZW5jaWVzQ29sbGVjdGlvbiIsImhpc3RvcnkiLCJob3N0IiwiaTE4biIsImxpbmtUbyIsIm1vZGFsIiwibmF2aWdhdGlvbiIsInJvdXRlcyIsInJvdXRlRGVmaW5pdGlvbnMiLCJBcGlNYWtlckNvbmZpZyIsImNvbnN0cnVjdG9yIiwiZ2xvYmFsVGhpcyIsImFwaU1ha2VyQ29uZmlnR2xvYmFsIiwiZ2xvYmFsIiwiYWNjZXNzb3JOYW1lIiwiYWNjZXNzb3JEYXRhIiwiY2FtZWxpemVkQWNjZXNzb3IiLCJjYW1lbGl6ZSIsInByb3RvdHlwZSIsIm5ld1ZhbHVlIiwiYXJncyIsIkVycm9yIiwidmFsdWUiLCJhcGlNYWtlckNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmNvbnN0IGFjY2Vzc29ycyA9IHtcbiAgYnJlYWtQb2ludHM6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICBbXCJ4eGxcIiwgMTQwMF0sXG4gICAgICBbXCJ4bFwiLCAxMjAwXSxcbiAgICAgIFtcImxnXCIsIDk5Ml0sXG4gICAgICBbXCJtZFwiLCA3NjhdLFxuICAgICAgW1wic21cIiwgNTc2XSxcbiAgICAgIFtcInhzXCIsIDBdXG4gICAgXSxcbiAgICByZXF1aXJlZDogdHJ1ZVxuICB9LFxuICBjYWJsZVVybDoge3JlcXVpcmU6IGZhbHNlfSxcbiAgY3VycmVuY2llc0NvbGxlY3Rpb246IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIGhpc3Rvcnk6IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIGhvc3Q6IHtyZXF1aXJlZDogZmFsc2V9LFxuICBpMThuOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgbGlua1RvOiB7cmVxdWlyZWQ6IHRydWV9LFxuICBtb2RhbDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIG5hdmlnYXRpb246IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIHJvdXRlczoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIHJvdXRlRGVmaW5pdGlvbnM6IHtyZXF1aXJlZDogZmFsc2V9XG59XG5cbmNsYXNzIEFwaU1ha2VyQ29uZmlnIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsKSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsID0ge31cblxuICAgIHRoaXMuZ2xvYmFsID0gZ2xvYmFsVGhpcy5hcGlNYWtlckNvbmZpZ0dsb2JhbFxuICB9XG59XG5cbmZvciAoY29uc3QgYWNjZXNzb3JOYW1lIGluIGFjY2Vzc29ycykge1xuICBjb25zdCBhY2Nlc3NvckRhdGEgPSBhY2Nlc3NvcnNbYWNjZXNzb3JOYW1lXVxuICBjb25zdCBjYW1lbGl6ZWRBY2Nlc3NvciA9IGluZmxlY3Rpb24uY2FtZWxpemUoYWNjZXNzb3JOYW1lKVxuXG4gIEFwaU1ha2VyQ29uZmlnLnByb3RvdHlwZVtgc2V0JHtjYW1lbGl6ZWRBY2Nlc3Nvcn1gXSA9IGZ1bmN0aW9uIChuZXdWYWx1ZSkgeyB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdID0gbmV3VmFsdWUgfVxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYGdldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5nbG9iYWxbYWNjZXNzb3JOYW1lXSkge1xuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5kZWZhdWx0KSByZXR1cm4gYWNjZXNzb3JEYXRhLmRlZmF1bHRcbiAgICAgIGlmIChhY2Nlc3NvckRhdGEucmVxdWlyZWQpIHRocm93IG5ldyBFcnJvcihgJHthY2Nlc3Nvck5hbWV9IGhhc24ndCBiZWVuIHNldGApXG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHZhbHVlKC4uLmFyZ3MpXG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5jb25zdCBhcGlNYWtlckNvbmZpZyA9IG5ldyBBcGlNYWtlckNvbmZpZygpXG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyQ29uZmlnXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsVUFBVSxNQUFNLFlBQVk7QUFFeEMsTUFBTUMsU0FBUyxHQUFHO0VBQ2hCQyxXQUFXLEVBQUU7SUFDWEMsT0FBTyxFQUFFLENBQ1AsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQ2IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQ1osQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ1gsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ1gsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQ1gsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ1Y7SUFDREMsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNEQyxRQUFRLEVBQUU7SUFBQ0MsT0FBTyxFQUFFO0VBQUssQ0FBQztFQUMxQkMsb0JBQW9CLEVBQUU7SUFBQ0gsUUFBUSxFQUFFO0VBQUksQ0FBQztFQUN0Q0ksT0FBTyxFQUFFO0lBQUNKLFFBQVEsRUFBRTtFQUFJLENBQUM7RUFDekJLLElBQUksRUFBRTtJQUFDTCxRQUFRLEVBQUU7RUFBSyxDQUFDO0VBQ3ZCTSxJQUFJLEVBQUU7SUFBQ04sUUFBUSxFQUFFO0VBQUssQ0FBQztFQUN2Qk8sTUFBTSxFQUFFO0lBQUNQLFFBQVEsRUFBRTtFQUFJLENBQUM7RUFDeEJRLEtBQUssRUFBRTtJQUFDUixRQUFRLEVBQUU7RUFBSyxDQUFDO0VBQ3hCUyxVQUFVLEVBQUU7SUFBQ1QsUUFBUSxFQUFFO0VBQUksQ0FBQztFQUM1QlUsTUFBTSxFQUFFO0lBQUNWLFFBQVEsRUFBRTtFQUFLLENBQUM7RUFDekJXLGdCQUFnQixFQUFFO0lBQUNYLFFBQVEsRUFBRTtFQUFLO0FBQ3BDLENBQUM7QUFFRCxNQUFNWSxjQUFjLENBQUM7RUFDbkJDLFdBQVdBLENBQUEsRUFBRztJQUNaLElBQUksQ0FBQ0MsVUFBVSxDQUFDQyxvQkFBb0IsRUFBRUQsVUFBVSxDQUFDQyxvQkFBb0IsR0FBRyxDQUFDLENBQUM7SUFFMUUsSUFBSSxDQUFDQyxNQUFNLEdBQUdGLFVBQVUsQ0FBQ0Msb0JBQW9CO0VBQy9DO0FBQ0Y7QUFFQSxLQUFLLE1BQU1FLFlBQVksSUFBSXBCLFNBQVMsRUFBRTtFQUNwQyxNQUFNcUIsWUFBWSxHQUFHckIsU0FBUyxDQUFDb0IsWUFBWSxDQUFDO0VBQzVDLE1BQU1FLGlCQUFpQixHQUFHdkIsVUFBVSxDQUFDd0IsUUFBUSxDQUFDSCxZQUFZLENBQUM7RUFFM0RMLGNBQWMsQ0FBQ1MsU0FBUyxDQUFDLE1BQU1GLGlCQUFpQixFQUFFLENBQUMsR0FBRyxVQUFVRyxRQUFRLEVBQUU7SUFBRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLEdBQUdLLFFBQVE7RUFBQyxDQUFDO0VBQ2xIVixjQUFjLENBQUNTLFNBQVMsQ0FBQyxNQUFNRixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsVUFBVSxHQUFHSSxJQUFJLEVBQUU7SUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQ1AsTUFBTSxDQUFDQyxZQUFZLENBQUMsRUFBRTtNQUM5QixJQUFJQyxZQUFZLENBQUNuQixPQUFPLEVBQUUsT0FBT21CLFlBQVksQ0FBQ25CLE9BQU87TUFDckQsSUFBSW1CLFlBQVksQ0FBQ2xCLFFBQVEsRUFBRSxNQUFNLElBQUl3QixLQUFLLENBQUMsR0FBR1AsWUFBWSxrQkFBa0IsQ0FBQztJQUMvRTtJQUVBLE1BQU1RLEtBQUssR0FBRyxJQUFJLENBQUNULE1BQU0sQ0FBQ0MsWUFBWSxDQUFDO0lBRXZDLElBQUksT0FBT1EsS0FBSyxJQUFJLFVBQVUsRUFBRSxPQUFPQSxLQUFLLENBQUMsR0FBR0YsSUFBSSxDQUFDO0lBRXJELE9BQU9FLEtBQUs7RUFDZCxDQUFDO0FBQ0g7QUFFQSxNQUFNQyxjQUFjLEdBQUcsSUFBSWQsY0FBYyxDQUFDLENBQUM7QUFFM0MsZUFBZWMsY0FBYyIsImlnbm9yZUxpc3QiOltdfQ==
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJpbmZsZWN0aW9uIiwiYWNjZXNzb3JzIiwiYnJlYWtwb2ludHMiLCJkZWZhdWx0IiwicmVxdWlyZWQiLCJjYWJsZVVybCIsInJlcXVpcmUiLCJjdXJyZW5jaWVzQ29sbGVjdGlvbiIsImhpc3RvcnkiLCJob3N0IiwiaTE4biIsImxpbmtUbyIsIm1vZGFsIiwibmF2aWdhdGlvbiIsInJvdXRlcyIsInJvdXRlRGVmaW5pdGlvbnMiLCJBcGlNYWtlckNvbmZpZyIsImNvbnN0cnVjdG9yIiwiZ2xvYmFsVGhpcyIsImFwaU1ha2VyQ29uZmlnR2xvYmFsIiwiZ2xvYmFsIiwiZXZlbnRzIiwic2V0TWF4TGlzdGVuZXJzIiwiSW5maW5pdHkiLCJnZXRFdmVudHMiLCJhY2Nlc3Nvck5hbWUiLCJhY2Nlc3NvckRhdGEiLCJjYW1lbGl6ZWRBY2Nlc3NvciIsImNhbWVsaXplIiwicHJvdG90eXBlIiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsImVtaXQiLCJhcmdzIiwiRXJyb3IiLCJ2YWx1ZSIsImFwaU1ha2VyQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCJldmVudHNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmNvbnN0IGFjY2Vzc29ycyA9IHtcbiAgYnJlYWtwb2ludHM6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICBbXCJ4eGxcIiwgMTQwMF0sXG4gICAgICBbXCJ4bFwiLCAxMjAwXSxcbiAgICAgIFtcImxnXCIsIDk5Ml0sXG4gICAgICBbXCJtZFwiLCA3NjhdLFxuICAgICAgW1wic21cIiwgNTc2XSxcbiAgICAgIFtcInhzXCIsIDBdXG4gICAgXSxcbiAgICByZXF1aXJlZDogdHJ1ZVxuICB9LFxuICBjYWJsZVVybDoge3JlcXVpcmU6IGZhbHNlfSxcbiAgY3VycmVuY2llc0NvbGxlY3Rpb246IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIGhpc3Rvcnk6IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIGhvc3Q6IHtyZXF1aXJlZDogZmFsc2V9LFxuICBpMThuOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgbGlua1RvOiB7cmVxdWlyZWQ6IHRydWV9LFxuICBtb2RhbDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIG5hdmlnYXRpb246IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIHJvdXRlczoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIHJvdXRlRGVmaW5pdGlvbnM6IHtyZXF1aXJlZDogZmFsc2V9XG59XG5cbmNsYXNzIEFwaU1ha2VyQ29uZmlnIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsKSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsID0ge31cblxuICAgIHRoaXMuZ2xvYmFsID0gZ2xvYmFsVGhpcy5hcGlNYWtlckNvbmZpZ0dsb2JhbFxuXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgICB0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMoSW5maW5pdHkpXG4gIH1cblxuICBnZXRFdmVudHMgPSAoKSA9PiB0aGlzLmV2ZW50c1xufVxuXG5mb3IgKGNvbnN0IGFjY2Vzc29yTmFtZSBpbiBhY2Nlc3NvcnMpIHtcbiAgY29uc3QgYWNjZXNzb3JEYXRhID0gYWNjZXNzb3JzW2FjY2Vzc29yTmFtZV1cbiAgY29uc3QgY2FtZWxpemVkQWNjZXNzb3IgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGFjY2Vzc29yTmFtZSlcblxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYHNldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAobmV3VmFsdWUpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV1cblxuICAgIHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV0gPSBuZXdWYWx1ZVxuXG4gICAgaWYgKG9sZFZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ldmVudHMuZW1pdChgb24ke2NhbWVsaXplZEFjY2Vzc29yfUNoYW5nZWAsIHtvbGRWYWx1ZSwgbmV3VmFsdWV9KVxuICAgIH1cbiAgfVxuXG4gIEFwaU1ha2VyQ29uZmlnLnByb3RvdHlwZVtgZ2V0JHtjYW1lbGl6ZWRBY2Nlc3Nvcn1gXSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgaWYgKCF0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdKSB7XG4gICAgICBpZiAoYWNjZXNzb3JEYXRhLmRlZmF1bHQpIHJldHVybiBhY2Nlc3NvckRhdGEuZGVmYXVsdFxuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5yZXF1aXJlZCkgdGhyb3cgbmV3IEVycm9yKGAke2FjY2Vzc29yTmFtZX0gaGFzbid0IGJlZW4gc2V0YClcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdmFsdWUoLi4uYXJncylcblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG59XG5cbmNvbnN0IGFwaU1ha2VyQ29uZmlnID0gbmV3IEFwaU1ha2VyQ29uZmlnKClcblxuZXhwb3J0IGRlZmF1bHQgYXBpTWFrZXJDb25maWdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxNQUFNLFFBQVE7QUFDakMsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUV4QyxNQUFNQyxTQUFTLEdBQUc7RUFDaEJDLFdBQVcsRUFBRTtJQUNYQyxPQUFPLEVBQUUsQ0FDUCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFDYixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFDWixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDWCxD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
@@ -1,19 +1,21 @@
1
- import { useCallback, useLayoutEffect } from "react";
1
+ import { useCallback } from "react";
2
2
  import config from "./config";
3
3
  import { Dimensions } from "react-native";
4
4
  import * as inflection from "inflection";
5
5
  import isExpo from "./is-expo";
6
+ import useEventEmitter from "./use-event-emitter";
7
+ import useEventListener from "./use-event-listener";
6
8
  import useShape from "set-state-compare/src/use-shape";
7
- const calculateBreakPoint = windowObject => {
9
+ const calculateBreakPoint = breakpoints => {
8
10
  let windowWidth;
9
11
  if (isExpo) {
10
- windowWidth = windowObject.width;
12
+ windowWidth = Dimensions.get("window").width;
11
13
  } else {
12
14
  // Use 'window.innerWidth' outside Expo because sometimes window width excludes scroll
13
15
  windowWidth = window.innerWidth;
14
16
  }
15
17
  const result = {};
16
- for (const breakpointData of config.getBreakPoints()) {
18
+ for (const breakpointData of breakpoints) {
17
19
  const breakpoint = breakpointData[0];
18
20
  const width = breakpointData[1];
19
21
  if (!result.name && windowWidth >= width) {
@@ -30,24 +32,32 @@ const calculateBreakPoint = windowObject => {
30
32
  throw new Error(`Couldn't not find breakpoint from window width: ${windowWidth}`);
31
33
  };
32
34
  const sizeTypes = ["down", "up"];
33
- const useBreakpoint = () => {
34
- const s = useShape();
35
- const onCalled = useCallback(({
36
- window: windowObject
37
- }) => {
38
- const breakpoint = calculateBreakPoint(windowObject);
35
+ const useBreakpoint = (args = {}) => {
36
+ const s = useShape(args);
37
+ s.meta.breakpoints ||= config.getBreakpoints();
38
+ const checkAndUpdateBreakpoint = useCallback(() => {
39
+ const breakpoint = calculateBreakPoint(s.m.breakpoints);
39
40
  if (breakpoint.name != s.s.breakpoint.name) {
40
41
  s.set({
41
42
  breakpoint
42
43
  });
43
44
  }
44
45
  }, []);
46
+ const onDimensionsChange = useCallback(() => {
47
+ checkAndUpdateBreakpoint();
48
+ }, []);
49
+ const onBreakpointsChange = useCallback(({
50
+ newValue
51
+ }) => {
52
+ s.meta.breakpoints = newValue;
53
+ checkAndUpdateBreakpoint();
54
+ }, []);
45
55
  s.useStates({
46
- breakpoint: () => calculateBreakPoint(Dimensions.get("window"))
56
+ breakpoint: () => calculateBreakPoint(s.m.breakpoints)
47
57
  });
48
58
  const styling = useCallback(args => {
49
59
  const style = Object.assign({}, args.base);
50
- for (const breakpointData of apiMakerConfig.getBreakPoints()) {
60
+ for (const breakpointData of s.m.breakpoints) {
51
61
  const breakpoint = breakpointData[0];
52
62
  for (const sizeType of sizeTypes) {
53
63
  const breakpointWithSizeType = `${breakpoint}${inflection.camelize(sizeType)}`;
@@ -58,14 +68,12 @@ const useBreakpoint = () => {
58
68
  }
59
69
  return style;
60
70
  }, []);
61
- useLayoutEffect(() => {
62
- const subscription = Dimensions.addEventListener("change", onCalled);
63
- return () => subscription?.remove();
64
- });
71
+ useEventEmitter(config.getEvents(), "onBreakpointsChange", onBreakpointsChange);
72
+ useEventListener(Dimensions, "change", onDimensionsChange);
65
73
  return {
66
74
  styling,
67
75
  ...s.s.breakpoint
68
76
  };
69
77
  };
70
78
  export default useBreakpoint;
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUxheW91dEVmZmVjdCIsImNvbmZpZyIsIkRpbWVuc2lvbnMiLCJpbmZsZWN0aW9uIiwiaXNFeHBvIiwidXNlU2hhcGUiLCJjYWxjdWxhdGVCcmVha1BvaW50Iiwid2luZG93T2JqZWN0Iiwid2luZG93V2lkdGgiLCJ3aWR0aCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJyZXN1bHQiLCJicmVha3BvaW50RGF0YSIsImdldEJyZWFrUG9pbnRzIiwiYnJlYWtwb2ludCIsIm5hbWUiLCJCb29sZWFuIiwiRXJyb3IiLCJzaXplVHlwZXMiLCJ1c2VCcmVha3BvaW50IiwicyIsIm9uQ2FsbGVkIiwic2V0IiwidXNlU3RhdGVzIiwiZ2V0Iiwic3R5bGluZyIsImFyZ3MiLCJzdHlsZSIsIk9iamVjdCIsImFzc2lnbiIsImJhc2UiLCJhcGlNYWtlckNvbmZpZyIsInNpemVUeXBlIiwiYnJlYWtwb2ludFdpdGhTaXplVHlwZSIsImNhbWVsaXplIiwic3Vic2NyaXB0aW9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtYnJlYWtwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VMYXlvdXRFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZ1wiXG5pbXBvcnQge0RpbWVuc2lvbnN9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgaXNFeHBvIGZyb20gXCIuL2lzLWV4cG9cIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcblxuY29uc3QgY2FsY3VsYXRlQnJlYWtQb2ludCA9ICh3aW5kb3dPYmplY3QpID0+IHtcbiAgbGV0IHdpbmRvd1dpZHRoXG5cbiAgaWYgKGlzRXhwbykge1xuICAgIHdpbmRvd1dpZHRoID0gd2luZG93T2JqZWN0LndpZHRoXG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlICd3aW5kb3cuaW5uZXJXaWR0aCcgb3V0c2lkZSBFeHBvIGJlY2F1c2Ugc29tZXRpbWVzIHdpbmRvdyB3aWR0aCBleGNsdWRlcyBzY3JvbGxcbiAgICB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSB7fVxuXG4gIGZvciAoY29uc3QgYnJlYWtwb2ludERhdGEgb2YgY29uZmlnLmdldEJyZWFrUG9pbnRzKCkpIHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gYnJlYWtwb2ludERhdGFbMF1cbiAgICBjb25zdCB3aWR0aCA9IGJyZWFrcG9pbnREYXRhWzFdXG5cbiAgICBpZiAoIXJlc3VsdC5uYW1lICYmIHdpbmRvd1dpZHRoID49IHdpZHRoKSB7XG4gICAgICByZXN1bHQubmFtZSA9IGJyZWFrcG9pbnRcbiAgICAgIHJlc3VsdFtgJHticmVha3BvaW50fURvd25gXSA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0W2Ake2JyZWFrcG9pbnR9RG93bmBdID0gIXJlc3VsdC5uYW1lXG4gICAgfVxuXG4gICAgcmVzdWx0W2Ake2JyZWFrcG9pbnR9VXBgXSA9IEJvb2xlYW4ocmVzdWx0Lm5hbWUpXG4gIH1cblxuICBpZiAocmVzdWx0Lm5hbWUpIHtcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IG5vdCBmaW5kIGJyZWFrcG9pbnQgZnJvbSB3aW5kb3cgd2lkdGg6ICR7d2luZG93V2lkdGh9YClcbn1cblxuY29uc3Qgc2l6ZVR5cGVzID0gW1wiZG93blwiLCBcInVwXCJdXG5cbmNvbnN0IHVzZUJyZWFrcG9pbnQgPSAoKSA9PiB7XG4gIGNvbnN0IHMgPSB1c2VTaGFwZSgpXG4gIGNvbnN0IG9uQ2FsbGVkID0gdXNlQ2FsbGJhY2soKHt3aW5kb3c6IHdpbmRvd09iamVjdH0pID0+IHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gY2FsY3VsYXRlQnJlYWtQb2ludCh3aW5kb3dPYmplY3QpXG5cbiAgICBpZiAoYnJlYWtwb2ludC5uYW1lICE9IHMucy5icmVha3BvaW50Lm5hbWUpIHtcbiAgICAgIHMuc2V0KHticmVha3BvaW50fSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBicmVha3BvaW50OiAoKSA9PiBjYWxjdWxhdGVCcmVha1BvaW50KERpbWVuc2lvbnMuZ2V0KFwid2luZG93XCIpKVxuICB9KVxuXG4gIGNvbnN0IHN0eWxpbmcgPSB1c2VDYWxsYmFjaygoYXJncykgPT4ge1xuICAgIGNvbnN0IHN0eWxlID0gT2JqZWN0LmFzc2lnbih7fSwgYXJncy5iYXNlKVxuXG4gICAgZm9yIChjb25zdCBicmVha3BvaW50RGF0YSBvZiBhcGlNYWtlckNvbmZpZy5nZXRCcmVha1BvaW50cygpKSB7XG4gICAgICBjb25zdCBicmVha3BvaW50ID0gYnJlYWtwb2ludERhdGFbMF1cblxuICAgICAgZm9yIChjb25zdCBzaXplVHlwZSBvZiBzaXplVHlwZXMpIHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludFdpdGhTaXplVHlwZSA9IGAke2JyZWFrcG9pbnR9JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNpemVUeXBlKX1gXG5cbiAgICAgICAgaWYgKGFyZ3NbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0gJiYgcy5zLmJyZWFrcG9pbnRbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0pIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHN0eWxlLCBhcmdzW2JyZWFrcG9pbnRXaXRoU2l6ZVR5cGVdKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlXG4gIH0sIFtdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gRGltZW5zaW9ucy5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIG9uQ2FsbGVkKVxuXG4gICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbj8ucmVtb3ZlKClcbiAgfSlcblxuICByZXR1cm4ge1xuICAgIHN0eWxpbmcsXG4gICAgLi4ucy5zLmJyZWFrcG9pbnRcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VCcmVha3BvaW50XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFdBQVcsRUFBRUMsZUFBZSxRQUFPLE9BQU87QUFDbEQsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFDN0IsU0FBUUMsVUFBVSxRQUFPLGNBQWM7QUFDdkMsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixPQUFPQyxRQUFRLE1BQU0saUNBQWlDO0FBRXRELE1BQU1DLG1CQUFtQixHQUFJQyxZQUFZLElBQUs7RUFDNUMsSUFBSUMsV0FBVztFQUVmLElBQUlKLE1BQU0sRUFBRTtJQUNWSSxXQUFXLEdBQUdELFlBQVksQ0FBQ0UsS0FBSztFQUNsQyxDQUFDLE1BQU07SUFDTDtJQUNBRCxXQUFXLEdBQUdFLE1BQU0sQ0FBQ0MsVUFBVTtFQUNqQztFQUVBLE1BQU1DLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFFakIsS0FBSyxNQUFNQyxjQUFjLElBQUlaLE1BQU0sQ0FBQ2EsY0FBYyxDQUFDLENBQUMsRUFBRTtJQUNwRCxNQUFNQyxVQUFVLEdBQUdGLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTUosS0FBSyxHQUFHSSxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBRS9CLElBQUksQ0FBQ0QsTUFBTSxDQUFDSSxJQUFJLElBQUlSLFdBQVcsSUFBSUMsS0FBSyxFQUFFO01BQ3hDRyxNQUFNLENBQUNJLElBQUksR0FBR0QsVUFBVTtNQUN4QkgsTUFBTSxDQUFDLEdBQUdHLFVBQVUsTUFBTSxDQUFDLEdBQUcsSUFBSTtJQUNwQyxDQUFDLE1BQU07TUFDTEgsTUFBTSxDQUFDLEdBQUdHLFVBQVUsTUFBTSxDQUFDLEdBQUcsQ0FBQ0gsTUFB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
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsImNvbmZpZyIsIkRpbWVuc2lvbnMiLCJpbmZsZWN0aW9uIiwiaXNFeHBvIiwidXNlRXZlbnRFbWl0dGVyIiwidXNlRXZlbnRMaXN0ZW5lciIsInVzZVNoYXBlIiwiY2FsY3VsYXRlQnJlYWtQb2ludCIsImJyZWFrcG9pbnRzIiwid2luZG93V2lkdGgiLCJnZXQiLCJ3aWR0aCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJyZXN1bHQiLCJicmVha3BvaW50RGF0YSIsImJyZWFrcG9pbnQiLCJuYW1lIiwiQm9vbGVhbiIsIkVycm9yIiwic2l6ZVR5cGVzIiwidXNlQnJlYWtwb2ludCIsImFyZ3MiLCJzIiwibWV0YSIsImdldEJyZWFrcG9pbnRzIiwiY2hlY2tBbmRVcGRhdGVCcmVha3BvaW50IiwibSIsInNldCIsIm9uRGltZW5zaW9uc0NoYW5nZSIsIm9uQnJlYWtwb2ludHNDaGFuZ2UiLCJuZXdWYWx1ZSIsInVzZVN0YXRlcyIsInN0eWxpbmciLCJzdHlsZSIsIk9iamVjdCIsImFzc2lnbiIsImJhc2UiLCJzaXplVHlwZSIsImJyZWFrcG9pbnRXaXRoU2l6ZVR5cGUiLCJjYW1lbGl6ZSIsImdldEV2ZW50cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtYnJlYWtwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWdcIlxuaW1wb3J0IHtEaW1lbnNpb25zfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IGlzRXhwbyBmcm9tIFwiLi9pcy1leHBvXCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcIi4vdXNlLWV2ZW50LWVtaXR0ZXJcIlxuaW1wb3J0IHVzZUV2ZW50TGlzdGVuZXIgZnJvbSBcIi4vdXNlLWV2ZW50LWxpc3RlbmVyXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IGNhbGN1bGF0ZUJyZWFrUG9pbnQgPSAoYnJlYWtwb2ludHMpID0+IHtcbiAgbGV0IHdpbmRvd1dpZHRoXG5cbiAgaWYgKGlzRXhwbykge1xuICAgIHdpbmRvd1dpZHRoID0gRGltZW5zaW9ucy5nZXQoXCJ3aW5kb3dcIikud2lkdGhcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgJ3dpbmRvdy5pbm5lcldpZHRoJyBvdXRzaWRlIEV4cG8gYmVjYXVzZSBzb21ldGltZXMgd2luZG93IHdpZHRoIGV4Y2x1ZGVzIHNjcm9sbFxuICAgIHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGhcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHt9XG5cbiAgZm9yIChjb25zdCBicmVha3BvaW50RGF0YSBvZiBicmVha3BvaW50cykge1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSBicmVha3BvaW50RGF0YVswXVxuICAgIGNvbnN0IHdpZHRoID0gYnJlYWtwb2ludERhdGFbMV1cblxuICAgIGlmICghcmVzdWx0Lm5hbWUgJiYgd2luZG93V2lkdGggPj0gd2lkdGgpIHtcbiAgICAgIHJlc3VsdC5uYW1lID0gYnJlYWtwb2ludFxuICAgICAgcmVzdWx0W2Ake2JyZWFrcG9pbnR9RG93bmBdID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRbYCR7YnJlYWtwb2ludH1Eb3duYF0gPSAhcmVzdWx0Lm5hbWVcbiAgICB9XG5cbiAgICByZXN1bHRbYCR7YnJlYWtwb2ludH1VcGBdID0gQm9vbGVhbihyZXN1bHQubmFtZSlcbiAgfVxuXG4gIGlmIChyZXN1bHQubmFtZSkge1xuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgQ291bGRuJ3Qgbm90IGZpbmQgYnJlYWtwb2ludCBmcm9tIHdpbmRvdyB3aWR0aDogJHt3aW5kb3dXaWR0aH1gKVxufVxuXG5jb25zdCBzaXplVHlwZXMgPSBbXCJkb3duXCIsIFwidXBcIl1cblxuY29uc3QgdXNlQnJlYWtwb2ludCA9IChhcmdzID0ge30pID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKGFyZ3MpXG5cbiAgcy5tZXRhLmJyZWFrcG9pbnRzIHx8PSBjb25maWcuZ2V0QnJlYWtwb2ludHMoKVxuXG4gIGNvbnN0IGNoZWNrQW5kVXBkYXRlQnJlYWtwb2ludCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gY2FsY3VsYXRlQnJlYWtQb2ludChzLm0uYnJlYWtwb2ludHMpXG5cbiAgICBpZiAoYnJlYWtwb2ludC5uYW1lICE9IHMucy5icmVha3BvaW50Lm5hbWUpIHtcbiAgICAgIHMuc2V0KHticmVha3BvaW50fSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uRGltZW5zaW9uc0NoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjaGVja0FuZFVwZGF0ZUJyZWFrcG9pbnQoKVxuICB9LCBbXSlcblxuICBjb25zdCBvbkJyZWFrcG9pbnRzQ2hhbmdlID0gdXNlQ2FsbGJhY2soKHtuZXdWYWx1ZX0pID0+IHtcbiAgICBzLm1ldGEuYnJlYWtwb2ludHMgPSBuZXdWYWx1ZVxuICAgIGNoZWNrQW5kVXBkYXRlQnJlYWtwb2ludCgpXG4gIH0sIFtdKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBicmVha3BvaW50OiAoKSA9PiBjYWxjdWxhdGVCcmVha1BvaW50KHMubS5icmVha3BvaW50cylcbiAgfSlcblxuICBjb25zdCBzdHlsaW5nID0gdXNlQ2FsbGJhY2soKGFyZ3MpID0+IHtcbiAgICBjb25zdCBzdHlsZSA9IE9iamVjdC5hc3NpZ24oe30sIGFyZ3MuYmFzZSlcblxuICAgIGZvciAoY29uc3QgYnJlYWtwb2ludERhdGEgb2Ygcy5tLmJyZWFrcG9pbnRzKSB7XG4gICAgICBjb25zdCBicmVha3BvaW50ID0gYnJlYWtwb2ludERhdGFbMF1cblxuICAgICAgZm9yIChjb25zdCBzaXplVHlwZSBvZiBzaXplVHlwZXMpIHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludFdpdGhTaXplVHlwZSA9IGAke2JyZWFrcG9pbnR9JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNpemVUeXBlKX1gXG5cbiAgICAgICAgaWYgKGFyZ3NbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0gJiYgcy5zLmJyZWFrcG9pbnRbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0pIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHN0eWxlLCBhcmdzW2JyZWFrcG9pbnRXaXRoU2l6ZVR5cGVdKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlXG4gIH0sIFtdKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihjb25maWcuZ2V0RXZlbnRzKCksIFwib25CcmVha3BvaW50c0NoYW5nZVwiLCBvbkJyZWFrcG9pbnRzQ2hhbmdlKVxuICB1c2VFdmVudExpc3RlbmVyKERpbWVuc2lvbnMsIFwiY2hhbmdlXCIsIG9uRGltZW5zaW9uc0NoYW5nZSlcblxuICByZXR1cm4ge1xuICAgIHN0eWxpbmcsXG4gICAgLi4ucy5zLmJyZWFrcG9pbnRcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VCcmVha3BvaW50XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFdBQVcsUUFBTyxPQUFPO0FBQ2pDLE9BQU9DLE1BQU0sTUFBTSxVQUFVO0FBQzdCLFNBQVFDLFVBQVUsUUFBTyxjQUFjO0FBQ3ZDLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsTUFBTSxNQUFNLFdBQVc7QUFDOUIsT0FBT0MsZUFBZSxNQUFNLHFCQUFxQjtBQUNqRCxPQUFPQyxnQkFBZ0IsTUFBTSxzQkFBc0I7QUFDbkQsT0FBT0MsUUFBUSxNQUFNLGlDQUFpQztBQUV0RCxNQUFNQyxtQkFBbUIsR0FBSUMsV0FBVyxJQUFLO0VBQzNDLElBQUlDLFdBQVc7RUFFZixJQUFJTixNQUFNLEVBQUU7SUFDVk0sV0FBVyxHQUFHUixV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
@@ -1,5 +1,5 @@
1
1
  import CanCan from "./can-can";
2
- import { useCallback, useMemo, useState } from "react";
2
+ import { useCallback, useMemo } from "react";
3
3
  import useCurrentUser from "./use-current-user";
4
4
  import useEventEmitter from "./use-event-emitter";
5
5
  import useShape from "set-state-compare/src/use-shape";
@@ -52,4 +52,4 @@ const useCanCan = (abilitiesCallback, dependencies) => {
52
52
  return s.s.canCan;
53
53
  };
54
54
  export default useCanCan;
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDYW5DYW4iLCJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUN1cnJlbnRVc2VyIiwidXNlRXZlbnRFbWl0dGVyIiwidXNlU2hhcGUiLCJ1c2VDYW5DYW4iLCJhYmlsaXRpZXNDYWxsYmFjayIsImRlcGVuZGVuY2llcyIsImN1cnJlbnRVc2VyIiwicyIsInVzZVN0YXRlcyIsImNhbkNhbiIsImxhc3RVcGRhdGUiLCJEYXRlIiwiaWQiLCJsb2FkQWJpbGl0aWVzIiwiY3VycmVudCIsImFiaWxpdGllcyIsInAiLCJzZXQiLCJvblJlc2V0QWJpbGl0aWVzIiwic2lsZW50IiwibG9hZEFiaWxpdGllc09uTmV3IiwicmVzZXRBYmlsaXRpZXMiLCJldmVudHMiXSwic291cmNlcyI6WyIuLi9zcmMvdXNlLWNhbi1jYW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENhbkNhbiBmcm9tIFwiLi9jYW4tY2FuXCJcbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXJcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwiLi91c2UtZXZlbnQtZW1pdHRlclwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy91c2Utc2hhcGVcIlxuXG5jb25zdCB1c2VDYW5DYW4gPSAoYWJpbGl0aWVzQ2FsbGJhY2ssIGRlcGVuZGVuY2llcykgPT4ge1xuICBjb25zdCBjdXJyZW50VXNlciA9IHVzZUN1cnJlbnRVc2VyKClcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHthYmlsaXRpZXNDYWxsYmFja30pXG5cbiAgcy51c2VTdGF0ZXMoe1xuICAgIGNhbkNhbjogbnVsbCxcbiAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpXG4gIH0pXG5cbiAgaWYgKCFkZXBlbmRlbmNpZXMpIHtcbiAgICBkZXBlbmRlbmNpZXMgPSBbY3VycmVudFVzZXI/LmlkKCldXG4gIH1cblxuICBjb25zdCBsb2FkQWJpbGl0aWVzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhbkNhbiA9IENhbkNhbi5jdXJyZW50KClcbiAgICBjb25zdCBhYmlsaXRpZXMgPSBzLnAuYWJpbGl0aWVzQ2FsbGJhY2soKVxuXG4gICAgYXdhaXQgY2FuQ2FuLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgcy5zZXQoe2NhbkNhbiwgbGFzdFVwZGF0ZTogbmV3IERhdGUoKX0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uUmVzZXRBYmlsaXRpZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgcy5zZXQoe2NhbkNhbjogbnVsbH0sIHtzaWxlbnQ6IHRydWV9KVxuICAgIGF3YWl0IGxvYWRBYmlsaXRpZXMoKVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkQWJpbGl0aWVzT25OZXcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FuQ2FuID0gcy5zLmNhbkNhblxuXG4gICAgcy5zZXQoe2NhbkNhbjogbnVsbH0sIHtzaWxlbnQ6IHRydWV9KVxuXG4gICAgaWYgKGNhbkNhbikge1xuICAgICAgYXdhaXQgY2FuQ2FuPy5yZXNldEFiaWxpdGllcygpXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGxvYWRBYmlsaXRpZXMoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlTWVtbygoKSA9PiB7XG4gICAgbG9hZEFiaWxpdGllc09uTmV3KClcbiAgfSwgZGVwZW5kZW5jaWVzKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihDYW5DYW4uY3VycmVudCgpLmV2ZW50cywgXCJvblJlc2V0QWJpbGl0aWVzXCIsIG9uUmVzZXRBYmlsaXRpZXMpXG5cbiAgcmV0dXJuIHMucy5jYW5DYW5cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlQ2FuQ2FuXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9B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
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDYW5DYW4iLCJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VDdXJyZW50VXNlciIsInVzZUV2ZW50RW1pdHRlciIsInVzZVNoYXBlIiwidXNlQ2FuQ2FuIiwiYWJpbGl0aWVzQ2FsbGJhY2siLCJkZXBlbmRlbmNpZXMiLCJjdXJyZW50VXNlciIsInMiLCJ1c2VTdGF0ZXMiLCJjYW5DYW4iLCJsYXN0VXBkYXRlIiwiRGF0ZSIsImlkIiwibG9hZEFiaWxpdGllcyIsImN1cnJlbnQiLCJhYmlsaXRpZXMiLCJwIiwic2V0Iiwib25SZXNldEFiaWxpdGllcyIsInNpbGVudCIsImxvYWRBYmlsaXRpZXNPbk5ldyIsInJlc2V0QWJpbGl0aWVzIiwiZXZlbnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1jYW4tY2FuLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYW5DYW4gZnJvbSBcIi4vY2FuLWNhblwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXJcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwiLi91c2UtZXZlbnQtZW1pdHRlclwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy91c2Utc2hhcGVcIlxuXG5jb25zdCB1c2VDYW5DYW4gPSAoYWJpbGl0aWVzQ2FsbGJhY2ssIGRlcGVuZGVuY2llcykgPT4ge1xuICBjb25zdCBjdXJyZW50VXNlciA9IHVzZUN1cnJlbnRVc2VyKClcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHthYmlsaXRpZXNDYWxsYmFja30pXG5cbiAgcy51c2VTdGF0ZXMoe1xuICAgIGNhbkNhbjogbnVsbCxcbiAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpXG4gIH0pXG5cbiAgaWYgKCFkZXBlbmRlbmNpZXMpIHtcbiAgICBkZXBlbmRlbmNpZXMgPSBbY3VycmVudFVzZXI/LmlkKCldXG4gIH1cblxuICBjb25zdCBsb2FkQWJpbGl0aWVzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhbkNhbiA9IENhbkNhbi5jdXJyZW50KClcbiAgICBjb25zdCBhYmlsaXRpZXMgPSBzLnAuYWJpbGl0aWVzQ2FsbGJhY2soKVxuXG4gICAgYXdhaXQgY2FuQ2FuLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgcy5zZXQoe2NhbkNhbiwgbGFzdFVwZGF0ZTogbmV3IERhdGUoKX0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uUmVzZXRBYmlsaXRpZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgcy5zZXQoe2NhbkNhbjogbnVsbH0sIHtzaWxlbnQ6IHRydWV9KVxuICAgIGF3YWl0IGxvYWRBYmlsaXRpZXMoKVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkQWJpbGl0aWVzT25OZXcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FuQ2FuID0gcy5zLmNhbkNhblxuXG4gICAgcy5zZXQoe2NhbkNhbjogbnVsbH0sIHtzaWxlbnQ6IHRydWV9KVxuXG4gICAgaWYgKGNhbkNhbikge1xuICAgICAgYXdhaXQgY2FuQ2FuPy5yZXNldEFiaWxpdGllcygpXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGxvYWRBYmlsaXRpZXMoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlTWVtbygoKSA9PiB7XG4gICAgbG9hZEFiaWxpdGllc09uTmV3KClcbiAgfSwgZGVwZW5kZW5jaWVzKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihDYW5DYW4uY3VycmVudCgpLmV2ZW50cywgXCJvblJlc2V0QWJpbGl0aWVzXCIsIG9uUmVzZXRBYmlsaXRpZXMpXG5cbiAgcmV0dXJuIHMucy5jYW5DYW5cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlQ2FuQ2FuXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxXQUFXO0FBQzlCLFNBQVFDLFdBQVcsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDMUMsT0FBT0MsY0FBYyxNQUFNLG9CQUFvQjtBQUMvQyxPQUFPQyxlQUFlLE1BQU0scUJBQXFCO0FBQ2pELE9BQU9DLFFBQVEsTUFBTSxpQ0FBaUM7QUFFdEQsTUFBTUMsU0FBUyxHQUFHQSxDQUFDQyxpQkFBaUIsRUFBRUMsWUFBWSxLQUFLO0VBQ3JELE1BQU1DLFdBQVcsR0FBR04sY0FBYyxDQUFDLENBQUM7RUFDcEMsTUFBTU8sQ0FBQyxHQUFHTCxRQUFRLENBQUM7SUFBQ0U7RUFBaUIsQ0FBQyxDQUFDO0VBRXZDRyxDQUFDLENBQUNDLFNBQVMsQ0FBQztJQUNWQyxNQUFNLEVBQUUsSUFBSTtJQUNaQyxVQUFVLEVBQUUsSUFBSUMsSUFBSSxDQUFDO0VBQ3ZCLENBQUMsQ0FBQztFQUVGLElBQUksQ0FBQ04sWUFBWSxFQUFFO0lBQ2pCQSxZQUFZLEdBQUcsQ0FBQ0MsV0FBVyxFQUFFTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3BDO0VBRUEsTUFBTUMsYUFBYSxHQUFHZixXQUFXLENBQUMsWUFBWTtJQUM1QyxNQUFNVyxNQUFNLEdBQUdaLE1BQU0sQ0FBQ2lCLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLE1BQU1DLFNBQVMsR0FBR1IsQ0FBQyxDQUFDUyxDQUFDLENBQUNaLGlCQUFpQixDQUFDLENBQUM7SUFFekMsTUFBTUssTUFBTSxDQUFDSSxhQUFhLENBQUNFLFNBQVMsQ0FBQztJQUVyQ1IsQ0FBQyxDQUFDVSxHQUFHLENBQUM7TUFBQ1IsTUFBTTtNQUFFQyxVQUFVLEVBQUUsSUFBSUMsSUFBSSxDQUFDO0lBQUMsQ0FBQyxDQUFDO0VBQ3pDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNTyxnQkFBZ0IsR0FBR3BCLFdBQVcsQ0FBQyxZQUFZO0lBQy9DUyxDQUFDLENBQUNVLEdBQUcsQ0FBQztNQUFDUixNQUFNLEVBQUU7SUFBSSxDQUFDLEVBQUU7TUFBQ1UsTUFBTSxFQUFFO0lBQUksQ0FBQyxDQUFDO0lBQ3JDLE1BQU1OLGFBQWEsQ0FBQyxDQUFDO0VBQ3ZCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNTyxrQkFBa0IsR0FBR3RCLFdBQVcsQ0FBQyxZQUFZO0lBQ2pELE1BQU1XLE1BQU0sR0FBR0YsQ0FBQyxDQUFDQSxDQUFDLENBQUNFLE1BQU07SUFFekJGLENBQUMsQ0FBQ1UsR0FBRyxDQUFDO01BQUNSLE1BQU0sRUFBRTtJQUFJLENBQUMsRUFBRTtNQUFDVSxNQUFNLEVBQUU7SUFBSSxDQUFDLENBQUM7SUFFckMsSUFBSVYsTUFBTSxFQUFFO01BQ1YsTUFBTUEsTUFBTSxFQUFFWSxjQUFjLENBQUMsQ0FBQztJQUNoQyxDQUFDLE1BQU07TUFDTCxNQUFNUixhQUFhLENBQUMsQ0FBQztJQUN2QjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTmQsT0FBTyxDQUFDLE1BQU07SUFDWnFCLGtCQUFrQixDQUFDLENBQUM7RUFDdEIsQ0FBQyxFQUFFZixZQUFZLENBQUM7RUFFaEJKLGVBQWUsQ0FBQ0osTUFBTSxDQUFDaUIsT0FBTyxDQUFDLENBQUMsQ0FBQ1EsTUFBTSxFQUFFLGtCQUFrQixFQUFFSixnQkFBZ0IsQ0FBQztFQUU5RSxPQUFPWCxDQUFDLENBQUNBLENBQUMsQ0FBQ0UsTUFBTTtBQUNuQixDQUFDO0FBRUQsZUFBZU4sU0FBUyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,8 +1,15 @@
1
- import { useLayoutEffect } from "react";
1
+ import { useLayoutEffect, useMemo } from "react";
2
2
  const ApiMakerUseEventEmitter = (events, event, onCalled) => {
3
- useLayoutEffect(() => {
3
+ // useMemo to instantly connect
4
+ useMemo(() => {
4
5
  if (events) {
5
6
  events.addListener(event, onCalled);
7
+ }
8
+ }, [events, event, onCalled]);
9
+
10
+ // useLayoutEffect to disconnect when unmounted or changed
11
+ useLayoutEffect(() => {
12
+ if (events) {
6
13
  return () => {
7
14
  events.removeListener(event, onCalled);
8
15
  };
@@ -10,4 +17,4 @@ const ApiMakerUseEventEmitter = (events, event, onCalled) => {
10
17
  }, [events, event, onCalled]);
11
18
  };
12
19
  export default ApiMakerUseEventEmitter;
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXlvdXRFZmZlY3QiLCJBcGlNYWtlclVzZUV2ZW50RW1pdHRlciIsImV2ZW50cyIsImV2ZW50Iiwib25DYWxsZWQiLCJhZGRMaXN0ZW5lciIsInJlbW92ZUxpc3RlbmVyIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1ldmVudC1lbWl0dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dXNlTGF5b3V0RWZmZWN0fSBmcm9tIFwicmVhY3RcIlxuXG5jb25zdCBBcGlNYWtlclVzZUV2ZW50RW1pdHRlciA9IChldmVudHMsIGV2ZW50LCBvbkNhbGxlZCkgPT4ge1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudHMpIHtcbiAgICAgIGV2ZW50cy5hZGRMaXN0ZW5lcihldmVudCwgb25DYWxsZWQpXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGV2ZW50cy5yZW1vdmVMaXN0ZW5lcihldmVudCwgb25DYWxsZWQpXG4gICAgICB9XG4gICAgfVxuICB9LCBbZXZlbnRzLCBldmVudCwgb25DYWxsZWRdKVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcGlNYWtlclVzZUV2ZW50RW1pdHRlclxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxlQUFlLFFBQU8sT0FBTztBQUVyQyxNQUFNQyx1QkFBdUIsR0FBR0EsQ0FBQ0MsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsS0FBSztFQUMzREosZUFBZSxDQUFDLE1BQU07SUFDcEIsSUFBSUUsTUFBTSxFQUFFO01BQ1ZBLE1BQU0sQ0FBQ0csV0FBVyxDQUFDRixLQUFLLEVBQUVDLFFBQVEsQ0FBQztNQUVuQyxPQUFPLE1BQU07UUFDWEYsTUFBTSxDQUFDSSxjQUFjLENBQUNILEtBQUssRUFBRUMsUUFBUSxDQUFDO01BQ3hDLENBQUM7SUFDSDtFQUNGLENBQUMsRUFBRSxDQUFDRixNQUFNLEVBQUVDLEtBQUssRUFBRUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELGVBQWVILHVCQUF1QiIsImlnbm9yZUxpc3QiOltdfQ==
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VNZW1vIiwiQXBpTWFrZXJVc2VFdmVudEVtaXR0ZXIiLCJldmVudHMiLCJldmVudCIsIm9uQ2FsbGVkIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtZXZlbnQtZW1pdHRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcblxuY29uc3QgQXBpTWFrZXJVc2VFdmVudEVtaXR0ZXIgPSAoZXZlbnRzLCBldmVudCwgb25DYWxsZWQpID0+IHtcbiAgLy8gdXNlTWVtbyB0byBpbnN0YW50bHkgY29ubmVjdFxuICB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzKSB7XG4gICAgICBldmVudHMuYWRkTGlzdGVuZXIoZXZlbnQsIG9uQ2FsbGVkKVxuICAgIH1cbiAgfSwgW2V2ZW50cywgZXZlbnQsIG9uQ2FsbGVkXSlcblxuICAvLyB1c2VMYXlvdXRFZmZlY3QgdG8gZGlzY29ubmVjdCB3aGVuIHVubW91bnRlZCBvciBjaGFuZ2VkXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV2ZW50cykge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBvbkNhbGxlZClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtldmVudHMsIGV2ZW50LCBvbkNhbGxlZF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwaU1ha2VyVXNlRXZlbnRFbWl0dGVyXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLGVBQWUsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFFOUMsTUFBTUMsdUJBQXVCLEdBQUdBLENBQUNDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEtBQUs7RUFDM0Q7RUFDQUosT0FBTyxDQUFDLE1BQU07SUFDWixJQUFJRSxNQUFNLEVBQUU7TUFDVkEsTUFBTSxDQUFDRyxXQUFXLENBQUNGLEtBQUssRUFBRUMsUUFBUSxDQUFDO0lBQ3JDO0VBQ0YsQ0FBQyxFQUFFLENBQUNGLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLENBQUMsQ0FBQzs7RUFFN0I7RUFDQUwsZUFBZSxDQUFDLE1BQU07SUFDcEIsSUFBSUcsTUFBTSxFQUFFO01BQ1YsT0FBTyxNQUFNO1FBQ1hBLE1BQU0sQ0FBQ0ksY0FBYyxDQUFDSCxLQUFLLEVBQUVDLFFBQVEsQ0FBQztNQUN4QyxDQUFDO0lBQ0g7RUFDRixDQUFDLEVBQUUsQ0FBQ0YsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlSCx1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -121,7 +121,7 @@ const useInput = ({
121
121
  if (!s.m.isSelect) s.m.inputProps.type = type;
122
122
  const {
123
123
  validationErrors
124
- } = useValidationErrors(validationError => validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId);
124
+ } = useValidationErrors(validationError => validationError.inputName && s.m.inputProps.name && (validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId));
125
125
  const wrapperOpts = {
126
126
  errors: validationErrors,
127
127
  form: s.s.form,
@@ -134,4 +134,4 @@ const useInput = ({
134
134
  };
135
135
  };
136
136
  export default useInput;
137
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWciLCJkaWdnIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwiaWRGb3JDb21wb25lbnQiLCJuYW1lRm9yQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJ1c2VTaGFwZSIsInVzZVZhbGlkYXRpb25FcnJvcnMiLCJ1c2VJbnB1dCIsInByb3BzIiwid3JhcHBlck9wdGlvbnMiLCJ1c2VJbnB1dFJlc3RQcm9wcyIsInVzZUlucHV0UmVzdFByb3BzS2V5cyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImpvaW4iLCJzIiwiYmFja3VwUmVmIiwidXNlU3RhdGVzIiwiZm9ybSIsInVuZGVmaW5lZCIsInNldEZvcm0iLCJpbnB1dFJlZiIsImN1cnJlbnQiLCJtZXRhIiwiZmFrZUNvbXBvbmVudCIsImlzQ2hlY2tib3giLCJ0eXBlIiwiaXNTZWxlY3QiLCJmb3JtYXRWYWx1ZSIsInZhbHVlIiwiRGF0ZSIsImlzTmFOIiwiZ2V0VGltZSIsImlucHV0VHlwZSIsImlucHV0RGVmYXVsdENoZWNrZWQiLCJkZWZhdWx0Q2hlY2tlZCIsImF0dHJpYnV0ZSIsIm1vZGVsIiwiaW5wdXREZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJtb2RlbENsYXNzRGF0YSIsIm0iLCJsYWJlbCIsIm1vZGVsQ2xhc3MiLCJodW1hbkF0dHJpYnV0ZU5hbWUiLCJpbnB1dEVsZW1lbnQiLCJzZXQiLCJnZXRJZCIsImdldE5hbWUiLCJnZXRJbnB1dFByb3BzIiwiZ2l2ZW5JbnB1dFByb3BzIiwiaW5wdXRQcm9wcyIsImFzc2lnbiIsImlkIiwibmFtZSIsInJlZiIsImNoZWNrZWQiLCJvbGRJbnB1dFByb3BzIiwid3JhcHBlck9wdHMiLCJvbGRXcmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsImlucHV0TmFtZVdpdGhvdXRJZCIsInJlcGxhY2UiLCJ2YWxpZGF0aW9uRXJyb3JzIiwidmFsaWRhdGlvbkVycm9yIiwiaW5wdXROYW1lIiwiZXJyb3JzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1pbnB1dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudFwiXG5pbXBvcnQgbmFtZUZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50XCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcbmltcG9ydCB1c2VWYWxpZGF0aW9uRXJyb3JzIGZyb20gXCIuL3VzZS12YWxpZGF0aW9uLWVycm9yc1wiXG5cbmNvbnN0IHVzZUlucHV0ID0gKHtwcm9wcywgd3JhcHBlck9wdGlvbnMsIC4uLnVzZUlucHV0UmVzdFByb3BzfSkgPT4ge1xuICBjb25zdCB1c2VJbnB1dFJlc3RQcm9wc0tleXMgPSBPYmplY3Qua2V5cyh1c2VJbnB1dFJlc3RQcm9wcylcblxuICBpZiAodXNlSW5wdXRSZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlSW5wdXQ6ICR7dXNlSW5wdXRSZXN0UHJvcHNLZXlzLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBiYWNrdXBSZWYgPSB1c2VSZWYoKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBmb3JtOiB1bmRlZmluZWRcbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEZvcm0oKVxuICB9LCBbcy5wcm9wcy5pbnB1dFJlZj8uY3VycmVudF0pXG5cbiAgcy5tZXRhLmZha2VDb21wb25lbnQgPSB7cHJvcHN9XG4gIHMubWV0YS5pc0NoZWNrYm94ID0gcHJvcHMudHlwZSA9PSBcImNoZWNrYm94XCIgfHwgd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJjaGVja2JveFwiXG4gIHMubWV0YS5pc1NlbGVjdCA9IHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwic2VsZWN0XCJcblxuICBjb25zdCBmb3JtYXRWYWx1ZSA9IHVzZUNhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZX0gPSBzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmIChpbnB1dFR5cGUoKSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKGlucHV0VHlwZSgpID09IFwiZGF0ZVwiKSB7XG4gICAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkXCIsIHZhbHVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dERlZmF1bHRDaGVja2VkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMuZGVmYXVsdENoZWNrZWRcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMuYXR0cmlidXRlICYmIHMucHJvcHMubW9kZWwpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcblxuICAgICAgcmV0dXJuIHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0RGVmYXVsdFZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRWYWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShzLnByb3BzLmRlZmF1bHRWYWx1ZSlcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubW9kZWwgJiYgcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZSBkZWZpbmVkIG9uIHJlc291cmNlOiAke2RpZ2cocy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKCkpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dFJlZiA9IHVzZUNhbGxiYWNrKCgpID0+IHMucHJvcHMuaW5wdXRSZWYgfHwgYmFja3VwUmVmKVxuXG4gIGNvbnN0IGlucHV0VHlwZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJ0eXBlXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMudHlwZVxuICAgIH0gZWxzZSBpZiAocy5tLmlzQ2hlY2tib3gpIHtcbiAgICAgIHJldHVybiBcImNoZWNrYm94XCJcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwidGV4dFwiXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBsYWJlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJsYWJlbFwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLmxhYmVsXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzKCkuaHVtYW5BdHRyaWJ1dGVOYW1lKHMucHJvcHMuYXR0cmlidXRlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0Rm9ybSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCBmb3JtXG5cbiAgICBpZiAoaW5wdXRFbGVtZW50KSBmb3JtID0gZGlnKGlucHV0RWxlbWVudCwgXCJmb3JtXCIpXG4gICAgaWYgKGZvcm0gJiYgZm9ybSAhPSBzLnMuZm9ybSkgcy5zZXQoe2Zvcm19KVxuICB9LCBbXSlcblxuICBjb25zdCBnZXRJZCA9IHVzZUNhbGxiYWNrKCgpID0+IGlkRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG4gIGNvbnN0IGdldE5hbWUgPSB1c2VDYWxsYmFjaygoKSA9PiBuYW1lRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG5cbiAgY29uc3QgZ2V0SW5wdXRQcm9wcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBnaXZlbklucHV0UHJvcHMgPSBzLnByb3BzLmlucHV0UHJvcHMgfHwge31cbiAgICBjb25zdCBpbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgaWQ6IGdldElkKCksXG4gICAgICAgIG5hbWU6IGdldE5hbWUoKSxcbiAgICAgICAgcmVmOiBpbnB1dFJlZigpXG4gICAgICB9LFxuICAgICAgZ2l2ZW5JbnB1dFByb3BzXG4gICAgKVxuXG4gICAgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICBpZiAoXCJjaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgICBpbnB1dFByb3BzLmNoZWNrZWQgPSBzLnByb3BzLmNoZWNrZWRcbiAgICAgIH1cblxuICAgICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzIHx8IChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSkge1xuICAgICAgICBpbnB1dFByb3BzLmRlZmF1bHRDaGVja2VkID0gaW5wdXREZWZhdWx0Q2hlY2tlZCgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcInZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgaW5wdXRQcm9wcy52YWx1ZSA9IHMucHJvcHMudmFsdWVcbiAgICB9IGVsc2UgaWYgKCEoXCJ2YWx1ZVwiIGluIHMucHJvcHMpKSB7XG4gICAgICBpbnB1dFByb3BzLmRlZmF1bHRWYWx1ZSA9IGlucHV0RGVmYXVsdFZhbHVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRQcm9wc1xuICB9LCBbXSlcblxuICBjb25zdCB7aW5wdXRQcm9wczogb2xkSW5wdXRQcm9wcywgd3JhcHBlck9wdHM6IG9sZFdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcbiAgY29uc3QgdHlwZSA9IGlucHV0VHlwZSgpXG5cbiAgcy5tZXRhLmlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKClcbiAgcy5tZXRhLmlucHV0TmFtZVdpdGhvdXRJZCA9IHVzZU1lbW8oKCkgPT4gcy5tLmlucHV0UHJvcHMubmFtZT8ucmVwbGFjZSgvXFxbKC4rKV9pZFxcXSQvLCBcIlskMV1cIiksIFtzLm0uaW5wdXRQcm9wcy5uYW1lXSlcblxuICBpZiAoIXMubS5pbnB1dFByb3BzLnJlZikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaW5wdXQgcmVmP1wiKVxuICBpZiAoIXMubS5pc1NlbGVjdCkgcy5tLmlucHV0UHJvcHMudHlwZSA9IHR5cGVcblxuICBjb25zdCB7dmFsaWRhdGlvbkVycm9yc30gPSB1c2VWYWxpZGF0aW9uRXJyb3JzKCh2YWxpZGF0aW9uRXJyb3IpID0+XG4gICAgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSA9PSBzLm0uaW5wdXRQcm9wcy5uYW1lIHx8IHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgPT0gcy5tLmlucHV0TmFtZVdpdGhvdXRJZFxuICApXG5cbiAgY29uc3Qgd3JhcHBlck9wdHMgPSB7XG4gICAgZXJyb3JzOiB2YWxpZGF0aW9uRXJyb3JzLFxuICAgIGZvcm06IHMucy5mb3JtLFxuICAgIGxhYmVsOiBsYWJlbCgpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlucHV0UHJvcHM6IHMubS5pbnB1dFByb3BzLFxuICAgIHdyYXBwZXJPcHRzLFxuICAgIHJlc3RQcm9wc1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUlucHV0XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLEdBQUcsRUFBRUMsSUFBSSxRQUFPLFdBQVc7QUFDbkMsU0FBUUMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxRQUFPLE9BQU87QUFDN0QsT0FBT0MsY0FBYyxNQUFNLDJCQUEyQjtBQUN0RCxPQUFPQyxnQkFBZ0IsTUFBTSw2QkFBNkI7QUFDMUQsT0FBT0MsUUFBUSxNQUFNLFVBQVU7QUFDL0IsT0FBT0MsUUFBUSxNQUFNLGlDQUFpQztBQUN0RCxPQUFPQyxtQkFBbUIsTUFBTSx5QkFBeUI7QUFFekQsTUFBTUMsUUFBUSxHQUFHQSxDQUFDO0VBQUNDLEtBQUs7RUFBRUMsY0FBYztFQUFFLEdBQUdDO0FBQWlCLENBQUMsS0FBSztFQUNsRSxNQUFNQyxxQkFBcUIsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUNILGlCQUFpQixDQUFDO0VBRTVELElBQUlDLHFCQUFxQixDQUFDRyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQ3BDLE1BQU0sSUFBSUMsS0FBSyxDQUFDLG9DQUFvQ0oscUJBQXFCLENBQUNLLElBQUksQ0FBQyxJQUFJ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
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWciLCJkaWdnIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwiaWRGb3JDb21wb25lbnQiLCJuYW1lRm9yQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJ1c2VTaGFwZSIsInVzZVZhbGlkYXRpb25FcnJvcnMiLCJ1c2VJbnB1dCIsInByb3BzIiwid3JhcHBlck9wdGlvbnMiLCJ1c2VJbnB1dFJlc3RQcm9wcyIsInVzZUlucHV0UmVzdFByb3BzS2V5cyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImpvaW4iLCJzIiwiYmFja3VwUmVmIiwidXNlU3RhdGVzIiwiZm9ybSIsInVuZGVmaW5lZCIsInNldEZvcm0iLCJpbnB1dFJlZiIsImN1cnJlbnQiLCJtZXRhIiwiZmFrZUNvbXBvbmVudCIsImlzQ2hlY2tib3giLCJ0eXBlIiwiaXNTZWxlY3QiLCJmb3JtYXRWYWx1ZSIsInZhbHVlIiwiRGF0ZSIsImlzTmFOIiwiZ2V0VGltZSIsImlucHV0VHlwZSIsImlucHV0RGVmYXVsdENoZWNrZWQiLCJkZWZhdWx0Q2hlY2tlZCIsImF0dHJpYnV0ZSIsIm1vZGVsIiwiaW5wdXREZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJtb2RlbENsYXNzRGF0YSIsIm0iLCJsYWJlbCIsIm1vZGVsQ2xhc3MiLCJodW1hbkF0dHJpYnV0ZU5hbWUiLCJpbnB1dEVsZW1lbnQiLCJzZXQiLCJnZXRJZCIsImdldE5hbWUiLCJnZXRJbnB1dFByb3BzIiwiZ2l2ZW5JbnB1dFByb3BzIiwiaW5wdXRQcm9wcyIsImFzc2lnbiIsImlkIiwibmFtZSIsInJlZiIsImNoZWNrZWQiLCJvbGRJbnB1dFByb3BzIiwid3JhcHBlck9wdHMiLCJvbGRXcmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsImlucHV0TmFtZVdpdGhvdXRJZCIsInJlcGxhY2UiLCJ2YWxpZGF0aW9uRXJyb3JzIiwidmFsaWRhdGlvbkVycm9yIiwiaW5wdXROYW1lIiwiZXJyb3JzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1pbnB1dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudFwiXG5pbXBvcnQgbmFtZUZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50XCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcbmltcG9ydCB1c2VWYWxpZGF0aW9uRXJyb3JzIGZyb20gXCIuL3VzZS12YWxpZGF0aW9uLWVycm9yc1wiXG5cbmNvbnN0IHVzZUlucHV0ID0gKHtwcm9wcywgd3JhcHBlck9wdGlvbnMsIC4uLnVzZUlucHV0UmVzdFByb3BzfSkgPT4ge1xuICBjb25zdCB1c2VJbnB1dFJlc3RQcm9wc0tleXMgPSBPYmplY3Qua2V5cyh1c2VJbnB1dFJlc3RQcm9wcylcblxuICBpZiAodXNlSW5wdXRSZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlSW5wdXQ6ICR7dXNlSW5wdXRSZXN0UHJvcHNLZXlzLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBiYWNrdXBSZWYgPSB1c2VSZWYoKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBmb3JtOiB1bmRlZmluZWRcbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEZvcm0oKVxuICB9LCBbcy5wcm9wcy5pbnB1dFJlZj8uY3VycmVudF0pXG5cbiAgcy5tZXRhLmZha2VDb21wb25lbnQgPSB7cHJvcHN9XG4gIHMubWV0YS5pc0NoZWNrYm94ID0gcHJvcHMudHlwZSA9PSBcImNoZWNrYm94XCIgfHwgd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJjaGVja2JveFwiXG4gIHMubWV0YS5pc1NlbGVjdCA9IHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwic2VsZWN0XCJcblxuICBjb25zdCBmb3JtYXRWYWx1ZSA9IHVzZUNhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZX0gPSBzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmIChpbnB1dFR5cGUoKSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKGlucHV0VHlwZSgpID09IFwiZGF0ZVwiKSB7XG4gICAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkXCIsIHZhbHVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dERlZmF1bHRDaGVja2VkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMuZGVmYXVsdENoZWNrZWRcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMuYXR0cmlidXRlICYmIHMucHJvcHMubW9kZWwpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcblxuICAgICAgcmV0dXJuIHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0RGVmYXVsdFZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRWYWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShzLnByb3BzLmRlZmF1bHRWYWx1ZSlcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubW9kZWwgJiYgcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZSBkZWZpbmVkIG9uIHJlc291cmNlOiAke2RpZ2cocy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKCkpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dFJlZiA9IHVzZUNhbGxiYWNrKCgpID0+IHMucHJvcHMuaW5wdXRSZWYgfHwgYmFja3VwUmVmKVxuXG4gIGNvbnN0IGlucHV0VHlwZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJ0eXBlXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMudHlwZVxuICAgIH0gZWxzZSBpZiAocy5tLmlzQ2hlY2tib3gpIHtcbiAgICAgIHJldHVybiBcImNoZWNrYm94XCJcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwidGV4dFwiXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBsYWJlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJsYWJlbFwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLmxhYmVsXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzKCkuaHVtYW5BdHRyaWJ1dGVOYW1lKHMucHJvcHMuYXR0cmlidXRlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0Rm9ybSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCBmb3JtXG5cbiAgICBpZiAoaW5wdXRFbGVtZW50KSBmb3JtID0gZGlnKGlucHV0RWxlbWVudCwgXCJmb3JtXCIpXG4gICAgaWYgKGZvcm0gJiYgZm9ybSAhPSBzLnMuZm9ybSkgcy5zZXQoe2Zvcm19KVxuICB9LCBbXSlcblxuICBjb25zdCBnZXRJZCA9IHVzZUNhbGxiYWNrKCgpID0+IGlkRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG4gIGNvbnN0IGdldE5hbWUgPSB1c2VDYWxsYmFjaygoKSA9PiBuYW1lRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG5cbiAgY29uc3QgZ2V0SW5wdXRQcm9wcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBnaXZlbklucHV0UHJvcHMgPSBzLnByb3BzLmlucHV0UHJvcHMgfHwge31cbiAgICBjb25zdCBpbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgaWQ6IGdldElkKCksXG4gICAgICAgIG5hbWU6IGdldE5hbWUoKSxcbiAgICAgICAgcmVmOiBpbnB1dFJlZigpXG4gICAgICB9LFxuICAgICAgZ2l2ZW5JbnB1dFByb3BzXG4gICAgKVxuXG4gICAgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICBpZiAoXCJjaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgICBpbnB1dFByb3BzLmNoZWNrZWQgPSBzLnByb3BzLmNoZWNrZWRcbiAgICAgIH1cblxuICAgICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzIHx8IChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSkge1xuICAgICAgICBpbnB1dFByb3BzLmRlZmF1bHRDaGVja2VkID0gaW5wdXREZWZhdWx0Q2hlY2tlZCgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcInZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgaW5wdXRQcm9wcy52YWx1ZSA9IHMucHJvcHMudmFsdWVcbiAgICB9IGVsc2UgaWYgKCEoXCJ2YWx1ZVwiIGluIHMucHJvcHMpKSB7XG4gICAgICBpbnB1dFByb3BzLmRlZmF1bHRWYWx1ZSA9IGlucHV0RGVmYXVsdFZhbHVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRQcm9wc1xuICB9LCBbXSlcblxuICBjb25zdCB7aW5wdXRQcm9wczogb2xkSW5wdXRQcm9wcywgd3JhcHBlck9wdHM6IG9sZFdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcbiAgY29uc3QgdHlwZSA9IGlucHV0VHlwZSgpXG5cbiAgcy5tZXRhLmlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKClcbiAgcy5tZXRhLmlucHV0TmFtZVdpdGhvdXRJZCA9IHVzZU1lbW8oKCkgPT4gcy5tLmlucHV0UHJvcHMubmFtZT8ucmVwbGFjZSgvXFxbKC4rKV9pZFxcXSQvLCBcIlskMV1cIiksIFtzLm0uaW5wdXRQcm9wcy5uYW1lXSlcblxuICBpZiAoIXMubS5pbnB1dFByb3BzLnJlZikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaW5wdXQgcmVmP1wiKVxuICBpZiAoIXMubS5pc1NlbGVjdCkgcy5tLmlucHV0UHJvcHMudHlwZSA9IHR5cGVcblxuICBjb25zdCB7dmFsaWRhdGlvbkVycm9yc30gPSB1c2VWYWxpZGF0aW9uRXJyb3JzKCh2YWxpZGF0aW9uRXJyb3IpID0+XG4gICAgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSAmJlxuICAgICAgcy5tLmlucHV0UHJvcHMubmFtZSAmJlxuICAgICAgKHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgPT0gcy5tLmlucHV0UHJvcHMubmFtZSB8fCB2YWxpZGF0aW9uRXJyb3IuaW5wdXROYW1lID09IHMubS5pbnB1dE5hbWVXaXRob3V0SWQpXG4gIClcblxuICBjb25zdCB3cmFwcGVyT3B0cyA9IHtcbiAgICBlcnJvcnM6IHZhbGlkYXRpb25FcnJvcnMsXG4gICAgZm9ybTogcy5zLmZvcm0sXG4gICAgbGFiZWw6IGxhYmVsKClcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaW5wdXRQcm9wczogcy5tLmlucHV0UHJvcHMsXG4gICAgd3JhcHBlck9wdHMsXG4gICAgcmVzdFByb3BzXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlSW5wdXRcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsR0FBRyxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNuQyxTQUFRQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLFFBQU8sT0FBTztBQUM3RCxPQUFPQyxjQUFjLE1BQU0sMkJBQTJCO0FBQ3RELE9BQU9DLGdCQUFnQixNQUFNLDZCQUE2QjtBQUMxRCxPQUFPQyxRQUFRLE1BQU0sVUFBVTtBQUMvQixPQUFPQyxRQUFRLE1BQU0saUNBQWlDO0FBQ3RELE9BQU9DLG1CQUFtQixNQUFNLHlCQUF5QjtBQUV6RCxNQUFNQyxRQUFRLEdBQUdBLENBQUM7RUFBQ0MsS0FBSztFQUFFQyxjQUFjO0VBQUUsR0FBR0M7QUFBaUIsQ0FBQyxLQUFLO0VBQ2xFLE1BQU1DLHFCQUFxQixHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ0gsaUJBQWlCLENBQUM7RUFFNUQsSUFBSUMscUJBQXFCLENBQUNHLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDcEMsTUFBTSxJQUFJQyxLQUFLLENBQUMsb0NBQW9DSixxQkFBcUIsQ0FBQ0ssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7RUFDekY7RUFFQSxNQUFNQyxDQUFDLEdBQUdaLFFBQVEsQ0FBQ0csS0FBSyxDQUFDO0VBQ3pCLE1BQU1VLFNBQVMsR0FBR2pCLE1BQU0sQ0FBQyxDQUFDO0VBRTFCZ0IsQ0FBQyxDQUFDRSxTQUFTLENBQUM7SUFDVkMsSUFBSSxFQUFFQztFQUNSLENBQUMsQ0FBQztFQUVGdEIsU0FBUyxDQUFDLE1BQU07SUFDZHVCLE9BQU8sQ0FBQyxDQUFDO0VBQ1gsQ0FBQyxFQUFFLENBQUNMLENBQUMsQ0FBQ1QsS0FBSyxDQUFDZSxRQUFRLEVBQUVDLE9BQU8sQ0FBQyxDQUFDO0VBRS9CUCxDQUFDLENBQUNRLElBQUksQ0FBQ0MsYUFBYSxHQUFHO0lBQUNsQjtFQUFLLENBQUM7RUFDOUJTLENBQUMsQ0FBQ1EsSUFBSSxDQUFDRSxVQUFVLEdBQUduQixLQUFLLENBQUNvQixJQUFJLElBQUksVUFBVSxJQUFJbkIsY0FBYyxFQUFFbUIsSUFBSSxJQUFJLFVBQVU7RUFDbEZYLENBQUMsQ0FBQ1EsSUFBSSxDQUFDSSxRQUFRLEdBQUdwQixjQUFjLEVBQUVtQixJQUFJLElBQUksUUFBUTtFQUVsRCxNQUFNRSxXQUFXLEdBQUdoQyxXQUFXLENBQUVpQyxLQUFLLElBQUs7SUFDekMsTUFBTTtNQUFDRDtJQUFXLENBQUMsR0FBR2IsQ0FBQyxDQUFDVCxLQUFLO0lBRTdCLElBQUlzQixXQUFXLEVBQUU7TUFDZixPQUFPQSxXQUFXLENBQUNDLEtBQUssQ0FBQztJQUMzQixDQUFDLE1BQU0sSUFBSUEsS0FBSyxZQUFZQyxJQUFJLElBQUksQ0FBQ0MsS0FBSyxDQUFDRixLQUFLLENBQUNHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUMzRDtNQUNBLElBQUlDLFNBQVMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLEVBQUU7UUFDbkMsT0FBTy9CLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTJCLEtBQUssQ0FBQztNQUM3QyxDQUFDLE1BQU0sSUFBSUksU0FBUyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUU7UUFDaEMsT0FBTy9CLFFBQVEsQ0FBQyxVQUFVLEVBQUUyQixLQUFLLENBQUM7TUFDcEM7SUFDRjtJQUVBLE9BQU9BLEtBQUs7RUFDZCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sTUFBTUssbUJBQW1CLEdBQUd0QyxXQUFXLENBQUMsTUFBTTtJQUM1QyxJQUFJLGdCQUFnQixJQUFJbUIsQ0FBQyxDQUFDVCxLQUFLLEVBQUU7TUFDL0IsT0FBT1MsQ0FBQyxDQUFDVCxLQUFLLENBQUM2QixjQUFjO0lBQy9CLENBQUMsTUFBTSxJQUFJcEIsQ0FBQyxDQUFDVCxLQUFLLENBQUM4QixTQUFTLElBQUlyQixDQUFDLENBQUNULEtBQUssQ0FBQytCLEtBQUssRUFBRTtNQUM3QyxJQUFJLENBQUN0QixDQUFDLENBQUNULEtBQUssQ0FBQytCLEtBQUssQ0FBQ3RCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDOEIsU0FBUyxDQUFDLEVBQ25DLE1BQU0sSUFBSXZCLEtBQUssQ0FBQyxzQkFBc0JFLENBQUMsQ0FBQ1QsS0FBSyxDQUFDOEIsU0FBUyxFQUFFLENBQUM7TUFFNUQsT0FBT3JCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDK0IsS0FBSyxDQUFDdEIsQ0FBQyxDQUFDVCxLQUFLLENBQUM4QixTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNDO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE1BQU1FLGlCQUFpQixHQUFHMUMsV0FBVyxDQUFDLE1BQU07SUFDMUMsSUFBSSxjQUFjLElBQUltQixDQUFDLENBQUNULEtBQUssRUFBRTtNQUM3QixPQUFPc0IsV0FBVyxDQUFDYixDQUFDLENBQUNULEtBQUssQ0FBQ2lDLFlBQVksQ0FBQztJQUMxQyxDQUFDLE1BQU0sSUFBSXhCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDK0IsS0FBSyxJQUFJdEIsQ0FBQyxDQUFDVCxLQUFLLENBQUM4QixTQUFTLEVBQUU7TUFDN0MsSUFBSSxDQUFDckIsQ0FBQyxDQUFDVCxLQUFLLENBQUMrQixLQUFLLENBQUN0QixDQUFDLENBQUNULEtBQUssQ0FBQzhCLFNBQVMsQ0FBQyxFQUFFO1FBQ3JDLE1BQU0sSUFBSXZCLEtBQUssQ0FBQywwQ0FBMENsQixJQUFJLENBQUNvQixDQUFDLENBQUNULEtBQUssQ0FBQytCLEtBQUssQ0FBQ0csY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSXpCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDOEIsU0FBUyxFQUFFLENBQUM7TUFDaEk7TUFFQSxPQUFPUixXQUFXLENBQUNiLENBQUMsQ0FBQ1QsS0FBSyxDQUFDK0IsS0FBSyxDQUFDdEIsQ0FBQyxDQUFDVCxLQUFLLENBQUM4QixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQ7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sTUFBTWYsUUFBUSxHQUFHekIsV0FBVyxDQUFDLE1BQU1tQixDQUFDLENBQUNULEtBQUssQ0FBQ2UsUUFBUSxJQUFJTCxTQUFTLENBQUM7RUFFakUsTUFBTWlCLFNBQVMsR0FBR3JDLFdBQVcsQ0FBQyxNQUFNO0lBQ2xDLElBQUksTUFBTSxJQUFJbUIsQ0FBQyxDQUFDVCxLQUFLLEVBQUU7TUFDckIsT0FBT1MsQ0FBQyxDQUFDVCxLQUFLLENBQUNvQixJQUFJO0lBQ3JCLENBQUMsTUFBTSxJQUFJWCxDQUFDLENBQUMwQixDQUFDLENBQUNoQixVQUFVLEVBQUU7TUFDekIsT0FBTyxVQUFVO0lBQ25CLENBQUMsTUFBTTtNQUNMLE9BQU8sTUFBTTtJQUNmO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE1BQU1pQixLQUFLLEdBQUc5QyxXQUFXLENBQUMsTUFBTTtJQUM5QixJQUFJLE9BQU8sSUFBSW1CLENBQUMsQ0FBQ1QsS0FBSyxFQUFFO01BQ3RCLE9BQU9TLENBQUMsQ0FBQ1QsS0FBSyxDQUFDb0MsS0FBSztJQUN0QixDQUFDLE1BQU0sSUFBSTNCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDOEIsU0FBUyxJQUFJckIsQ0FBQyxDQUFDVCxLQUFLLENBQUMrQixLQUFLLEVBQUU7TUFDN0MsT0FBT3RCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDK0IsS0FBSyxDQUFDTSxVQUFVLENBQUMsQ0FBQyxDQUFDQyxrQkFBa0IsQ0FBQzdCLENBQUMsQ0FBQ1QsS0FBSyxDQUFDOEIsU0FBUyxDQUFDO0lBQ3pFO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE1BQU1oQixPQUFPLEdBQUd4QixXQUFXLENBQUMsTUFBTTtJQUNoQyxNQUFNaUQsWUFBWSxHQUFHeEIsUUFBUSxDQUFDLENBQUMsQ0FBQ0MsT0FBTztJQUV2QyxJQUFJSixJQUFJO0lBRVIsSUFBSTJCLFlBQVksRUFBRTNCLElBQUksR0FBR3hCLEdBQUcsQ0FBQ21ELFlBQVksRUFBRSxNQUFNLENBQUM7SUFDbEQsSUFBSTNCLElBQUksSUFBSUEsSUFBSSxJQUFJSCxDQUFDLENBQUNBLENBQUMsQ0FBQ0csSUFBSSxFQUFFSCxDQUFDLENBQUMrQixHQUFHLENBQUM7TUFBQzVCO0lBQUksQ0FBQyxDQUFDO0VBQzdDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNNkIsS0FBSyxHQUFHbkQsV0FBVyxDQUFDLE1BQU1JLGNBQWMsQ0FBQ2UsQ0FBQyxDQUFDMEIsQ0FBQyxDQUFDakIsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ3RFLE1BQU13QixPQUFPLEdBQUdwRCxXQUFXLENBQUMsTUFBTUssZ0JBQWdCLENBQUNjLENBQUMsQ0FBQzBCLENBQUMsQ0FBQ2pCLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUUxRSxNQUFNeUIsYUFBYSxHQUFHckQsV0FBVyxDQUFDLE1BQU07SUFDdEMsTUFBTXNELGVBQWUsR0FBR25DLENBQUMsQ0FBQ1QsS0FBSyxDQUFDNkMsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUNoRCxNQUFNQSxVQUFVLEdBQUd6QyxNQUFNLENBQUMwQyxNQUFNLENBQzlCO01BQ0VDLEVBQUUsRUFBRU4sS0FBSyxDQUFDLENBQUM7TUFDWE8sSUFBSSxFQUFFTixPQUFPLENBQUMsQ0FBQztNQUNmTyxHQUFHLEVBQUVsQyxRQUFRLENBQUM7SUFDaEIsQ0FBQyxFQUNENkIsZUFDRixDQUFDO0lBRUQsSUFBSW5DLENBQUMsQ0FBQzBCLENBQUMsQ0FBQ2hCLFVBQVUsRUFBRTtNQUNsQixJQUFJLFNBQVMsSUFBSVYsQ0FBQyxDQUFDVCxLQUFLLEVBQUU7UUFDeEI2QyxVQUFVLENBQUNLLE9BQU8sR0FBR3pDLENBQUMsQ0FBQ1QsS0FBSyxDQUFDa0QsT0FBTztNQUN0QztNQUVBLElBQUksZ0JBQWdCLElBQUl6QyxDQUFDLENBQUNULEtBQUssSUFBS1MsQ0FBQyxDQUFDVCxLQUFLLENBQUM4QixTQUFTLElBQUlyQixDQUFDLENBQUNULEtBQUssQ0FBQytCLEtBQU0sRUFBRTtRQUN2RWMsVUFBVSxDQUFDaEIsY0FBYyxHQUFHRCxtQkFBbUIsQ0FBQyxDQUFDO01BQ25EO0lBQ0YsQ0FBQyxNQUFNLElBQUksT0FBTyxJQUFJbkIsQ0FBQyxDQUFDVCxLQUFLLEVBQUU7TUFDN0I2QyxVQUFVLENBQUN0QixLQUFLLEdBQUdkLENBQUMsQ0FBQ1QsS0FBSyxDQUFDdUIsS0FBSztJQUNsQyxDQUFDLE1BQU0sSUFBSSxFQUFFLE9BQU8sSUFBSWQsQ0FBQyxDQUFDVCxLQUFLLENBQUMsRUFBRTtNQUNoQzZDLFVBQVUsQ0FBQ1osWUFBWSxHQUFHRCxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DO0lBRUEsT0FBT2EsVUFBVTtFQUNuQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sTUFBTTtJQUFDQSxVQUFVLEVBQUVNLGFBQWE7SUFBRUMsV0FBVyxFQUFFQyxjQUFjO0lBQUUsR0FBR0M7RUFBUyxDQUFDLEdBQUd0RCxLQUFLO0VBQ3BGLE1BQU1vQixJQUFJLEdBQUdPLFNBQVMsQ0FBQyxDQUFDO0VBRXhCbEIsQ0FBQyxDQUFDUSxJQUFJLENBQUM0QixVQUFVLEdBQUdGLGFBQWEsQ0FBQyxDQUFDO0VBQ25DbEMsQ0FBQyxDQUFDUSxJQUFJLENBQUNzQyxrQkFBa0IsR0FBRy9ELE9BQU8sQ0FBQyxNQUFNaUIsQ0FBQyxDQUFDMEIsQ0FBQyxDQUFDVSxVQUFVLENBQUNHLElBQUksRUFBRVEsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDL0MsQ0FBQyxDQUFDMEIsQ0FBQyxDQUFDVSxVQUFVLENBQUNHLElBQUksQ0FBQyxDQUFDO0VBRXRILElBQUksQ0FBQ3ZDLENBQUMsQ0FBQzBCLENBQUMsQ0FBQ1UsVUFBVSxDQUFDSSxHQUFHLEVBQUUsTUFBTSxJQUFJMUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztFQUN6RCxJQUFJLENBQUNFLENBQUMsQ0FBQzBCLENBQUMsQ0FBQ2QsUUFBUSxFQUFFWixDQUFDLENBQUMwQixDQUFDLENBQUNVLFVBQVUsQ0FBQ3pCLElBQUksR0FBR0EsSUFBSTtFQUU3QyxNQUFNO0lBQUNxQztFQUFnQixDQUFDLEdBQUczRCxtQkFBbUIsQ0FBRTRELGVBQWUsSUFDN0RBLGVBQWUsQ0FBQ0MsU0FBUyxJQUN2QmxELENBQUMsQ0FBQzBCLENBQUMsQ0FBQ1UsVUFBVSxDQUFDRyxJQUFJLEtBQ2xCVSxlQUFlLENBQUNDLFNBQVMsSUFBSWxELENBQUMsQ0FBQzBCLENBQUMsQ0FBQ1UsVUFBVSxDQUFDRyxJQUFJLElBQUlVLGVBQWUsQ0FBQ0MsU0FBUyxJQUFJbEQsQ0FBQyxDQUFDMEIsQ0FBQyxDQUFDb0Isa0JBQWtCLENBQzVHLENBQUM7RUFFRCxNQUFNSCxXQUFXLEdBQUc7SUFDbEJRLE1BQU0sRUFBRUgsZ0JBQWdCO0lBQ3hCN0MsSUFBSSxFQUFFSCxDQUFDLENBQUNBLENBQUMsQ0FBQ0csSUFBSTtJQUNkd0IsS0FBSyxFQUFFQSxLQUFLLENBQUM7RUFDZixDQUFDO0VBRUQsT0FBTztJQUNMUyxVQUFVLEVBQUVwQyxDQUFDLENBQUMwQixDQUFDLENBQUNVLFVBQVU7SUFDMUJPLFdBQVc7SUFDWEU7RUFDRixDQUFDO0FBQ0gsQ0FBQztBQUVELGVBQWV2RCxRQUFRIiwiaWdub3JlTGlzdCI6W119
@@ -28,7 +28,7 @@ const useStyles = (styles, args, dependencies = []) => {
28
28
  const actualDependencies = [...dependencies, breakpointName];
29
29
  const listOfStyles = useMemo(() => {
30
30
  const listOfStyles = [];
31
- const breakpointsReverse = [...config.getBreakPoints()].reverse();
31
+ const breakpointsReverse = [...config.getBreakpoints()].reverse();
32
32
  if (!Array.isArray(args)) {
33
33
  args = [args];
34
34
  }
@@ -51,4 +51,4 @@ const useStyles = (styles, args, dependencies = []) => {
51
51
  return listOfStyles;
52
52
  };
53
53
  export default useStyles;
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25maWciLCJkaWdnIiwiaW5mbGVjdGlvbiIsInVzZUJyZWFrcG9pbnQiLCJ1c2VNZW1vIiwiaGFuZGxlU3RyaW5nU3R5bGUiLCJzdHlsZXMiLCJsaXN0T2ZTdHlsZXMiLCJicmVha3BvaW50IiwiYnJlYWtwb2ludHNSZXZlcnNlIiwiYXJnIiwiRXJyb3IiLCJPYmplY3QiLCJrZXlzIiwiam9pbiIsInB1c2giLCJicmVha3BvaW50RGF0YSIsImJyZWFrcG9pbnROYW1lIiwiYnJlYWtwb2ludFN0eWxlTmFtZVVwIiwiY2FtZWxpemUiLCJicmVha3BvaW50U3R5bGVOYW1lRG93biIsImJyZWFrcG9pbnRJc1VwIiwiYnJlYWtwb2ludElzRG93biIsInVzZVN0eWxlcyIsImFyZ3MiLCJkZXBlbmRlbmNpZXMiLCJhY3R1YWxEZXBlbmRlbmNpZXMiLCJnZXRCcmVha1BvaW50cyIsInJldmVyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJrZXkiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2Utc3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuL3VzZS1icmVha3BvaW50XCJcbmltcG9ydCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcblxuY29uc3QgaGFuZGxlU3RyaW5nU3R5bGUgPSAoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwgYXJnKSA9PiB7XG4gIGlmICghKGFyZyBpbiBzdHlsZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHN0eWxpbmcgJyR7YXJnfScgaW4gZ2l2ZW4gc3R5bGVzOiAke09iamVjdC5rZXlzKHN0eWxlcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYXJnXSlcblxuICBmb3IgKGNvbnN0IGJyZWFrcG9pbnREYXRhIG9mIGJyZWFrcG9pbnRzUmV2ZXJzZSkge1xuICAgIGNvbnN0IGJyZWFrcG9pbnROYW1lID0gYnJlYWtwb2ludERhdGFbMF1cbiAgICBjb25zdCBicmVha3BvaW50U3R5bGVOYW1lVXAgPSBgJHthcmd9JHtpbmZsZWN0aW9uLmNhbWVsaXplKGJyZWFrcG9pbnROYW1lKX1VcGBcbiAgICBjb25zdCBicmVha3BvaW50U3R5bGVOYW1lRG93biA9IGAke2FyZ30ke2luZmxlY3Rpb24uY2FtZWxpemUoYnJlYWtwb2ludE5hbWUpfURvd25gXG4gICAgY29uc3QgYnJlYWtwb2ludElzVXAgPSBkaWdnKGJyZWFrcG9pbnQsIGAke2JyZWFrcG9pbnROYW1lfVVwYClcbiAgICBjb25zdCBicmVha3BvaW50SXNEb3duID0gZGlnZyhicmVha3BvaW50LCBgJHticmVha3BvaW50TmFtZX1Eb3duYClcblxuICAgIGlmIChicmVha3BvaW50U3R5bGVOYW1lVXAgaW4gc3R5bGVzICYmIGJyZWFrcG9pbnRJc1VwKSB7XG4gICAgICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYnJlYWtwb2ludFN0eWxlTmFtZVVwXSlcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtwb2ludFN0eWxlTmFtZURvd24gaW4gc3R5bGVzICYmIGJyZWFrcG9pbnRJc0Rvd24pIHtcbiAgICAgIGxpc3RPZlN0eWxlcy5wdXNoKHN0eWxlc1ticmVha3BvaW50U3R5bGVOYW1lRG93bl0pXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHVzZVN0eWxlcyA9IChzdHlsZXMsIGFyZ3MsIGRlcGVuZGVuY2llcyA9IFtdKSA9PiB7XG4gIGNvbnN0IGJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcbiAgY29uc3QgYnJlYWtwb2ludE5hbWUgPSBkaWdnKGJyZWFrcG9pbnQsIFwibmFtZVwiKVxuICBjb25zdCBhY3R1YWxEZXBlbmRlbmNpZXMgPSBbLi4uZGVwZW5kZW5jaWVzLCBicmVha3BvaW50TmFtZV1cblxuICBjb25zdCBsaXN0T2ZTdHlsZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBsaXN0T2ZTdHlsZXMgPSBbXVxuICAgIGNvbnN0IGJyZWFrcG9pbnRzUmV2ZXJzZSA9IFsuLi5jb25maWcuZ2V0QnJlYWtQb2ludHMoKV0ucmV2ZXJzZSgpXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIHtcbiAgICAgIGFyZ3MgPSBbYXJnc11cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGFyZyBvZiBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGhhbmRsZVN0cmluZ1N0eWxlKHN0eWxlcywgbGlzdE9mU3R5bGVzLCBicmVha3BvaW50LCBicmVha3BvaW50c1JldmVyc2UsIGFyZylcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFyZykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXJnW2tleV1cblxuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaGFuZGxlU3RyaW5nU3R5bGUoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwga2V5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgdHlwZTogJHt0eXBlb2YgYXJnfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3RPZlN0eWxlc1xuICB9LCBhY3R1YWxEZXBlbmRlbmNpZXMpXG5cbiAgcmV0dXJuIGxpc3RPZlN0eWxlc1xufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VTdHlsZXNcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxN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
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25maWciLCJkaWdnIiwiaW5mbGVjdGlvbiIsInVzZUJyZWFrcG9pbnQiLCJ1c2VNZW1vIiwiaGFuZGxlU3RyaW5nU3R5bGUiLCJzdHlsZXMiLCJsaXN0T2ZTdHlsZXMiLCJicmVha3BvaW50IiwiYnJlYWtwb2ludHNSZXZlcnNlIiwiYXJnIiwiRXJyb3IiLCJPYmplY3QiLCJrZXlzIiwiam9pbiIsInB1c2giLCJicmVha3BvaW50RGF0YSIsImJyZWFrcG9pbnROYW1lIiwiYnJlYWtwb2ludFN0eWxlTmFtZVVwIiwiY2FtZWxpemUiLCJicmVha3BvaW50U3R5bGVOYW1lRG93biIsImJyZWFrcG9pbnRJc1VwIiwiYnJlYWtwb2ludElzRG93biIsInVzZVN0eWxlcyIsImFyZ3MiLCJkZXBlbmRlbmNpZXMiLCJhY3R1YWxEZXBlbmRlbmNpZXMiLCJnZXRCcmVha3BvaW50cyIsInJldmVyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJrZXkiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2Utc3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuL3VzZS1icmVha3BvaW50XCJcbmltcG9ydCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcblxuY29uc3QgaGFuZGxlU3RyaW5nU3R5bGUgPSAoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwgYXJnKSA9PiB7XG4gIGlmICghKGFyZyBpbiBzdHlsZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHN0eWxpbmcgJyR7YXJnfScgaW4gZ2l2ZW4gc3R5bGVzOiAke09iamVjdC5rZXlzKHN0eWxlcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYXJnXSlcblxuICBmb3IgKGNvbnN0IGJyZWFrcG9pbnREYXRhIG9mIGJyZWFrcG9pbnRzUmV2ZXJzZSkge1xuICAgIGNvbnN0IGJyZWFrcG9pbnROYW1lID0gYnJlYWtwb2ludERhdGFbMF1cbiAgICBjb25zdCBicmVha3BvaW50U3R5bGVOYW1lVXAgPSBgJHthcmd9JHtpbmZsZWN0aW9uLmNhbWVsaXplKGJyZWFrcG9pbnROYW1lKX1VcGBcbiAgICBjb25zdCBicmVha3BvaW50U3R5bGVOYW1lRG93biA9IGAke2FyZ30ke2luZmxlY3Rpb24uY2FtZWxpemUoYnJlYWtwb2ludE5hbWUpfURvd25gXG4gICAgY29uc3QgYnJlYWtwb2ludElzVXAgPSBkaWdnKGJyZWFrcG9pbnQsIGAke2JyZWFrcG9pbnROYW1lfVVwYClcbiAgICBjb25zdCBicmVha3BvaW50SXNEb3duID0gZGlnZyhicmVha3BvaW50LCBgJHticmVha3BvaW50TmFtZX1Eb3duYClcblxuICAgIGlmIChicmVha3BvaW50U3R5bGVOYW1lVXAgaW4gc3R5bGVzICYmIGJyZWFrcG9pbnRJc1VwKSB7XG4gICAgICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYnJlYWtwb2ludFN0eWxlTmFtZVVwXSlcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtwb2ludFN0eWxlTmFtZURvd24gaW4gc3R5bGVzICYmIGJyZWFrcG9pbnRJc0Rvd24pIHtcbiAgICAgIGxpc3RPZlN0eWxlcy5wdXNoKHN0eWxlc1ticmVha3BvaW50U3R5bGVOYW1lRG93bl0pXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHVzZVN0eWxlcyA9IChzdHlsZXMsIGFyZ3MsIGRlcGVuZGVuY2llcyA9IFtdKSA9PiB7XG4gIGNvbnN0IGJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcbiAgY29uc3QgYnJlYWtwb2ludE5hbWUgPSBkaWdnKGJyZWFrcG9pbnQsIFwibmFtZVwiKVxuICBjb25zdCBhY3R1YWxEZXBlbmRlbmNpZXMgPSBbLi4uZGVwZW5kZW5jaWVzLCBicmVha3BvaW50TmFtZV1cblxuICBjb25zdCBsaXN0T2ZTdHlsZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBsaXN0T2ZTdHlsZXMgPSBbXVxuICAgIGNvbnN0IGJyZWFrcG9pbnRzUmV2ZXJzZSA9IFsuLi5jb25maWcuZ2V0QnJlYWtwb2ludHMoKV0ucmV2ZXJzZSgpXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIHtcbiAgICAgIGFyZ3MgPSBbYXJnc11cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGFyZyBvZiBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGhhbmRsZVN0cmluZ1N0eWxlKHN0eWxlcywgbGlzdE9mU3R5bGVzLCBicmVha3BvaW50LCBicmVha3BvaW50c1JldmVyc2UsIGFyZylcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFyZykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXJnW2tleV1cblxuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaGFuZGxlU3RyaW5nU3R5bGUoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwga2V5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgdHlwZTogJHt0eXBlb2YgYXJnfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3RPZlN0eWxlc1xuICB9LCBhY3R1YWxEZXBlbmRlbmNpZXMpXG5cbiAgcmV0dXJuIGxpc3RPZlN0eWxlc1xufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VTdHlsZXNcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxN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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
- "version": "1.0.2021",
3
+ "version": "1.0.2023",
4
4
  "description": "My new module",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
package/src/config.js CHANGED
@@ -1,7 +1,8 @@
1
+ import EventEmitter from "events"
1
2
  import * as inflection from "inflection"
2
3
 
3
4
  const accessors = {
4
- breakPoints: {
5
+ breakpoints: {
5
6
  default: [
6
7
  ["xxl", 1400],
7
8
  ["xl", 1200],
@@ -29,14 +30,28 @@ class ApiMakerConfig {
29
30
  if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}
30
31
 
31
32
  this.global = globalThis.apiMakerConfigGlobal
33
+
34
+ this.events = new EventEmitter()
35
+ this.events.setMaxListeners(Infinity)
32
36
  }
37
+
38
+ getEvents = () => this.events
33
39
  }
34
40
 
35
41
  for (const accessorName in accessors) {
36
42
  const accessorData = accessors[accessorName]
37
43
  const camelizedAccessor = inflection.camelize(accessorName)
38
44
 
39
- ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) { this.global[accessorName] = newValue }
45
+ ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) {
46
+ const oldValue = this.global[accessorName]
47
+
48
+ this.global[accessorName] = newValue
49
+
50
+ if (oldValue !== newValue) {
51
+ this.events.emit(`on${camelizedAccessor}Change`, {oldValue, newValue})
52
+ }
53
+ }
54
+
40
55
  ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {
41
56
  if (!this.global[accessorName]) {
42
57
  if (accessorData.default) return accessorData.default
@@ -1,15 +1,17 @@
1
- import {useCallback, useLayoutEffect} from "react"
1
+ import {useCallback} from "react"
2
2
  import config from "./config"
3
3
  import {Dimensions} from "react-native"
4
4
  import * as inflection from "inflection"
5
5
  import isExpo from "./is-expo"
6
+ import useEventEmitter from "./use-event-emitter"
7
+ import useEventListener from "./use-event-listener"
6
8
  import useShape from "set-state-compare/src/use-shape"
7
9
 
8
- const calculateBreakPoint = (windowObject) => {
10
+ const calculateBreakPoint = (breakpoints) => {
9
11
  let windowWidth
10
12
 
11
13
  if (isExpo) {
12
- windowWidth = windowObject.width
14
+ windowWidth = Dimensions.get("window").width
13
15
  } else {
14
16
  // Use 'window.innerWidth' outside Expo because sometimes window width excludes scroll
15
17
  windowWidth = window.innerWidth
@@ -17,7 +19,7 @@ const calculateBreakPoint = (windowObject) => {
17
19
 
18
20
  const result = {}
19
21
 
20
- for (const breakpointData of config.getBreakPoints()) {
22
+ for (const breakpointData of breakpoints) {
21
23
  const breakpoint = breakpointData[0]
22
24
  const width = breakpointData[1]
23
25
 
@@ -40,24 +42,36 @@ const calculateBreakPoint = (windowObject) => {
40
42
 
41
43
  const sizeTypes = ["down", "up"]
42
44
 
43
- const useBreakpoint = () => {
44
- const s = useShape()
45
- const onCalled = useCallback(({window: windowObject}) => {
46
- const breakpoint = calculateBreakPoint(windowObject)
45
+ const useBreakpoint = (args = {}) => {
46
+ const s = useShape(args)
47
+
48
+ s.meta.breakpoints ||= config.getBreakpoints()
49
+
50
+ const checkAndUpdateBreakpoint = useCallback(() => {
51
+ const breakpoint = calculateBreakPoint(s.m.breakpoints)
47
52
 
48
53
  if (breakpoint.name != s.s.breakpoint.name) {
49
54
  s.set({breakpoint})
50
55
  }
51
56
  }, [])
52
57
 
58
+ const onDimensionsChange = useCallback(() => {
59
+ checkAndUpdateBreakpoint()
60
+ }, [])
61
+
62
+ const onBreakpointsChange = useCallback(({newValue}) => {
63
+ s.meta.breakpoints = newValue
64
+ checkAndUpdateBreakpoint()
65
+ }, [])
66
+
53
67
  s.useStates({
54
- breakpoint: () => calculateBreakPoint(Dimensions.get("window"))
68
+ breakpoint: () => calculateBreakPoint(s.m.breakpoints)
55
69
  })
56
70
 
57
71
  const styling = useCallback((args) => {
58
72
  const style = Object.assign({}, args.base)
59
73
 
60
- for (const breakpointData of apiMakerConfig.getBreakPoints()) {
74
+ for (const breakpointData of s.m.breakpoints) {
61
75
  const breakpoint = breakpointData[0]
62
76
 
63
77
  for (const sizeType of sizeTypes) {
@@ -72,11 +86,8 @@ const useBreakpoint = () => {
72
86
  return style
73
87
  }, [])
74
88
 
75
- useLayoutEffect(() => {
76
- const subscription = Dimensions.addEventListener("change", onCalled)
77
-
78
- return () => subscription?.remove()
79
- })
89
+ useEventEmitter(config.getEvents(), "onBreakpointsChange", onBreakpointsChange)
90
+ useEventListener(Dimensions, "change", onDimensionsChange)
80
91
 
81
92
  return {
82
93
  styling,
@@ -1,5 +1,5 @@
1
1
  import CanCan from "./can-can"
2
- import {useCallback, useMemo, useState} from "react"
2
+ import {useCallback, useMemo} from "react"
3
3
  import useCurrentUser from "./use-current-user"
4
4
  import useEventEmitter from "./use-event-emitter"
5
5
  import useShape from "set-state-compare/src/use-shape"
@@ -1,10 +1,16 @@
1
- import {useLayoutEffect} from "react"
1
+ import {useLayoutEffect, useMemo} from "react"
2
2
 
3
3
  const ApiMakerUseEventEmitter = (events, event, onCalled) => {
4
- useLayoutEffect(() => {
4
+ // useMemo to instantly connect
5
+ useMemo(() => {
5
6
  if (events) {
6
7
  events.addListener(event, onCalled)
8
+ }
9
+ }, [events, event, onCalled])
7
10
 
11
+ // useLayoutEffect to disconnect when unmounted or changed
12
+ useLayoutEffect(() => {
13
+ if (events) {
8
14
  return () => {
9
15
  events.removeListener(event, onCalled)
10
16
  }
package/src/use-input.js CHANGED
@@ -138,7 +138,9 @@ const useInput = ({props, wrapperOptions, ...useInputRestProps}) => {
138
138
  if (!s.m.isSelect) s.m.inputProps.type = type
139
139
 
140
140
  const {validationErrors} = useValidationErrors((validationError) =>
141
- validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId
141
+ validationError.inputName &&
142
+ s.m.inputProps.name &&
143
+ (validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId)
142
144
  )
143
145
 
144
146
  const wrapperOpts = {
package/src/use-styles.js CHANGED
@@ -35,7 +35,7 @@ const useStyles = (styles, args, dependencies = []) => {
35
35
 
36
36
  const listOfStyles = useMemo(() => {
37
37
  const listOfStyles = []
38
- const breakpointsReverse = [...config.getBreakPoints()].reverse()
38
+ const breakpointsReverse = [...config.getBreakpoints()].reverse()
39
39
 
40
40
  if (!Array.isArray(args)) {
41
41
  args = [args]