@ngxs/store 3.8.2-dev.master-67d50ea → 3.8.2-dev.master-728bfff

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.
@@ -26,4 +26,4 @@ export function Selector(selectors) {
26
26
  return newDescriptor;
27
27
  };
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhakUsTUFBTSxVQUFVLFFBQVEsQ0FBOEIsU0FBZTtJQUNuRSxPQUFPLENBQ0wsTUFBVyxFQUNYLEdBQW9CLEVBQ3BCLFVBQXVELEVBQ0gsRUFBRTtRQUN0RCxVQUFVLEtBQUssTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUUsQ0FBQztRQUU3RCxNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsS0FBSyxDQUFDO1FBRXJDLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRTtZQUNqRCxJQUFJLFVBQVUsSUFBSSxPQUFPLFVBQVUsS0FBSyxVQUFVLEVBQUU7Z0JBQ2xELDJCQUEyQixFQUFFLENBQUM7YUFDL0I7U0FDRjtRQUVELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBaUIsRUFBRTtZQUM5RCxjQUFjLEVBQUUsTUFBTTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUM1QixrQkFBa0I7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHO1lBQ3BCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEdBQUc7Z0JBQ0QsT0FBTyxVQUFVLENBQUM7WUFDcEIsQ0FBQztZQUNELFVBQVU7U0FDWCxDQUFDO1FBQ0YsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvciB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcbmltcG9ydCB7IMm1U2VsZWN0b3JEZWYgfSBmcm9tICcuLi8uLi9zZWxlY3RvcnMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICcuLi8uLi9zZWxlY3RvcnMvY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IFNlbGVjdG9yU3BlYywgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGNyZWF0aW5nIGEgc3RhdGUgc2VsZWN0b3IgZm9yIHRoZSBjdXJyZW50IHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3IoKTogU2VsZWN0b3JUeXBlPHVua25vd24+O1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgY3JlYXRpbmcgYSBzdGF0ZSBzZWxlY3RvciBmcm9tIHRoZSBwcm92aWRlZCBzZWxlY3RvcnMgKGFuZCBvcHRpb25hbGx5IHRoZSBjb250YWluZXIgU3RhdGUsIGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYWJsZSBTZWxlY3RvciBPcHRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yPFQgZXh0ZW5kcyDJtVNlbGVjdG9yRGVmPGFueT4+KHNlbGVjdG9yczogVFtdKTogU2VsZWN0b3JUeXBlPFQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3I8VCBleHRlbmRzIMm1U2VsZWN0b3JEZWY8YW55Pj4oc2VsZWN0b3JzPzogVFtdKTogU2VsZWN0b3JUeXBlPFQ+IHtcbiAgcmV0dXJuIDxVPihcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBrZXk6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxTZWxlY3RvclNwZWM8VCwgVT4+XG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj4gfCB2b2lkID0+IHtcbiAgICBkZXNjcmlwdG9yIHx8PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSE7XG5cbiAgICBjb25zdCBvcmlnaW5hbEZuID0gZGVzY3JpcHRvcj8udmFsdWU7XG5cbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlKSB7XG4gICAgICBpZiAob3JpZ2luYWxGbiAmJiB0eXBlb2Ygb3JpZ2luYWxGbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtZW1vaXplZEZuID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0b3JzLCBvcmlnaW5hbEZuIGFzIGFueSwge1xuICAgICAgY29udGFpbmVyQ2xhc3M6IHRhcmdldCxcbiAgICAgIHNlbGVjdG9yTmFtZToga2V5LnRvU3RyaW5nKCksXG4gICAgICBnZXRTZWxlY3Rvck9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBuZXdEZXNjcmlwdG9yID0ge1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gbWVtb2l6ZWRGbjtcbiAgICAgIH0sXG4gICAgICBvcmlnaW5hbEZuXG4gICAgfTtcbiAgICByZXR1cm4gbmV3RGVzY3JpcHRvcjtcbiAgfTtcbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhakUsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsU0FBYTtJQUViLE9BQU8sQ0FDTCxNQUFXLEVBQ1gsR0FBb0IsRUFDcEIsVUFBNkQsRUFDSixFQUFFO1FBQzNELFVBQVUsS0FBSyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBRSxDQUFDO1FBRTdELE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFFckMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFO1lBQ2pELElBQUksVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsRUFBRTtnQkFDbEQsMkJBQTJCLEVBQUUsQ0FBQzthQUMvQjtTQUNGO1FBRUQsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxVQUFpQixFQUFFO1lBQzlELGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFlBQVksRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQzVCLGtCQUFrQjtnQkFDaEIsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQUc7WUFDcEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsR0FBRztnQkFDRCxPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsVUFBVTtTQUNYLENBQUM7UUFDRixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhyb3dTZWxlY3RvckRlY29yYXRvckVycm9yIH0gZnJvbSAnLi4vLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICcuLi8uLi9zZWxlY3RvcnMvY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IFNlbGVjdG9yRGVmVHVwbGUsIFNlbGVjdG9yVHlwZSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBjcmVhdGluZyBhIHN0YXRlIHNlbGVjdG9yIGZvciB0aGUgY3VycmVudCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yKCk6IFNlbGVjdG9yVHlwZTx1bmtub3duPjtcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGNyZWF0aW5nIGEgc3RhdGUgc2VsZWN0b3IgZnJvbSB0aGUgcHJvdmlkZWQgc2VsZWN0b3JzIChhbmQgb3B0aW9uYWxseSB0aGUgY29udGFpbmVyIFN0YXRlLCBkZXBlbmRpbmcgb24gdGhlIGFwcGxpY2FibGUgU2VsZWN0b3IgT3B0aW9ucykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JEZWZUdXBsZT4oc2VsZWN0b3JzOiBUKTogU2VsZWN0b3JUeXBlPFQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3I8VCBleHRlbmRzIFNlbGVjdG9yRGVmVHVwbGUgPSBbXT4oXG4gIHNlbGVjdG9ycz86IFRcbik6IFNlbGVjdG9yVHlwZTx1bmtub3duPiB8IFNlbGVjdG9yVHlwZTxUPiB7XG4gIHJldHVybiA8VT4oXG4gICAgdGFyZ2V0OiBhbnksXG4gICAga2V5OiBzdHJpbmcgfCBzeW1ib2wsXG4gICAgZGVzY3JpcHRvcj86IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPCguLi5zdGF0ZXM6IGFueVtdKSA9PiBVPlxuICApOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjwoLi4uc3RhdGVzOiBhbnlbXSkgPT4gVT4gfCB2b2lkID0+IHtcbiAgICBkZXNjcmlwdG9yIHx8PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSE7XG5cbiAgICBjb25zdCBvcmlnaW5hbEZuID0gZGVzY3JpcHRvcj8udmFsdWU7XG5cbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlKSB7XG4gICAgICBpZiAob3JpZ2luYWxGbiAmJiB0eXBlb2Ygb3JpZ2luYWxGbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtZW1vaXplZEZuID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0b3JzLCBvcmlnaW5hbEZuIGFzIGFueSwge1xuICAgICAgY29udGFpbmVyQ2xhc3M6IHRhcmdldCxcbiAgICAgIHNlbGVjdG9yTmFtZToga2V5LnRvU3RyaW5nKCksXG4gICAgICBnZXRTZWxlY3Rvck9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBuZXdEZXNjcmlwdG9yID0ge1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gbWVtb2l6ZWRGbjtcbiAgICAgIH0sXG4gICAgICBvcmlnaW5hbEZuXG4gICAgfTtcbiAgICByZXR1cm4gbmV3RGVzY3JpcHRvcjtcbiAgfTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlVG9rZW4sIMm1RXh0cmFjdFRva2VuVHlwZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdG9yU3BlYzxULCBVPiA9IFtUXSBleHRlbmRzIFtuZXZlcl1cbiAgPyAoLi4uc3RhdGVzOiBhbnlbXSkgPT4gYW55XG4gIDogVCBleHRlbmRzIFN0YXRlVG9rZW48YW55PlxuICAgID8gKHN0YXRlOiDJtUV4dHJhY3RUb2tlblR5cGU8VD4pID0+IFVcbiAgICA6ICguLi5zdGF0ZXM6IGFueVtdKSA9PiBhbnk7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdG9yVHlwZTxUPiA9IDxVPihcbiAgdGFyZ2V0OiBhbnksXG4gIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxTZWxlY3RvclNwZWM8VCwgVT4+XG4pID0+IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj4gfCB2b2lkO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2VsZWN0b3JEZWYsIMm1U2VsZWN0b3JSZXR1cm5UeXBlIH0gZnJvbSAnLi4vLi4vc2VsZWN0b3JzJztcblxuLyoqXG4gKiBEZWZpbmVzIGEgdHVwbGUgb2Ygc2VsZWN0b3IgZnVuY3Rpb25zLCBzdGF0ZSB0b2tlbnMsIGFuZCBzdGF0ZSBjbGFzc2VzIHRoYXQgYSBzZWxlY3RvciBkZWNvcmF0ZWRcbiAqIGJ5IGBAU2VsZWN0b3IoKWAgY2FuIGRlcGVuZCBvbi5cbiAqL1xuZXhwb3J0IHR5cGUgU2VsZWN0b3JEZWZUdXBsZSA9IMm1U2VsZWN0b3JEZWY8YW55PltdIHwgW8m1U2VsZWN0b3JEZWY8YW55Pl07XG5cbnR5cGUgVW5rbm93blRvQW55PFQ+ID0gdW5rbm93biBleHRlbmRzIFQgPyBhbnkgOiBUO1xudHlwZSBFbnN1cmVBcnJheTxUPiA9IFQgZXh0ZW5kcyBhbnlbXSA/IFQgOiBuZXZlcjtcblxuLyoqXG4gKiBHaXZlbiBhIHR1cGxlIG9mIHNlbGVjdG9yIGZ1bmN0aW9ucywgc3RhdGUgdG9rZW5zLCBzdGF0ZSBjbGFzc2VzLCBldGMuLCByZXR1cm5zIGEgdHVwbGUgb2Ygd2hhdFxuICogYSBkZXBlbmRlbnQgc2VsZWN0b3Igd291bGQgZXhwZWN0IHRvIHJlY2VpdmUgZm9yIHRoYXQgcGFyZW50IGFzIGFuIGFyZ3VtZW50IHdoZW4gY2FsbGVkLlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiB0aGUgZmlyc3QgZWxlbWVudCBpbiBgUGFyZW50c1R1cGxlYCBpcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhXG4gKiBgbnVtYmVyYCwgdGhlbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgcmVzdWx0IHR1cGxlIHdpbGwgYmUgYG51bWJlcmAuIElmIHRoZSBzZWNvbmQgZWxlbWVudFxuICogaW4gYFBhcmVudHNUdXBsZWAgaXMgYSBzdGF0ZSBjbGFzcyB3aXRoIG1vZGVsIGB7IG5hbWU6IHN0cmluZyB9YCwgdGhlbiB0aGUgc2Vjb25kIGVsZW1lbnQgb2ZcbiAqIHRoZSByZXN1bHQgdHVwbGUgd2lsbCBiZSBgeyBuYW1lOiBzdHJpbmcgfWAuXG4gKi9cbnR5cGUgU2VsZWN0b3JSZXR1cm5UeXBlTGlzdDxQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlPiA9IEVuc3VyZUFycmF5PHtcbiAgW1BhcmVudHNUdXBsZUluZGV4IGluIGtleW9mIFBhcmVudHNUdXBsZV06IFBhcmVudHNUdXBsZVtQYXJlbnRzVHVwbGVJbmRleF0gZXh0ZW5kcyDJtVNlbGVjdG9yRGVmPGFueT5cbiAgICA/IFVua25vd25Ub0FueTzJtVNlbGVjdG9yUmV0dXJuVHlwZTxQYXJlbnRzVHVwbGVbUGFyZW50c1R1cGxlSW5kZXhdPj5cbiAgICA6IG5ldmVyO1xufT47XG5cbi8qKlxuICogRGVmaW5lcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIG1hdGNoaW5nIGEgZ2l2ZW4gYXJndW1lbnQgbGlzdCBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlcy90b2tlbnNcbiAqIGFuZCBhIGdpdmVuIHJldHVybiB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclNwZWM8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gUGFyZW50c1R1cGxlIGV4dGVuZHMgW11cbiAgPyAoKSA9PiBhbnlcbiAgOiBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlXG4gICAgPyAoLi4uc3RhdGVzOiBTZWxlY3RvclJldHVyblR5cGVMaXN0PFBhcmVudHNUdXBsZT4pID0+IFJldHVyblxuICAgIDogKCkgPT4gYW55O1xuXG4vKipcbiAqIERlZmluZXMgYSBzZWxlY3RvciBmdW5jdGlvbiBtYXRjaGluZyBgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPmAgYnV0IHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCB0aGVcbiAqIGNvbnRhaW5lciBzdGF0ZSBoYXMgYmVlbiBpbmplY3RlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKi9cbnR5cGUgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gU2VsZWN0b3JTcGVjPFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gW2FueSwgLi4uUGFyZW50c1R1cGxlXSA6IFthbnldLFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gUmV0dXJuIDogYW55XG4+O1xuXG4vKipcbiAqIERlZmluZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciB0aGUgYEBTZWxlY3RvcmAgZGVjb3JhdG9yIHRoYXQgZGVjb3JhdGVzIGEgZnVuY3Rpb24gd2l0aFxuICogcGFyZW50IHNlbGVjdG9ycy9zdGF0ZXMvdG9rZW5zIGBQYXJlbnRzVHVwbGVgIGFuZCByZXR1cm4gdHlwZSBgUmV0dXJuYC5cbiAqL1xudHlwZSBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPlxuPjtcblxuLyoqXG4gKiBTYW1lIGFzIGBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZWAgYnV0IHdpdGggc3RhdGUgaW5qZWN0ZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICovXG50eXBlIERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+XG4+O1xuXG50eXBlIERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcj4gPSBbdGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yPzogRGVzY3JpcHRvcl07XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgcmV0dXJuIHR5cGUgb2YgYSBjYWxsIHRvIGBAU2VsZWN0b3JgIHdoZW4gdGhlcmUgaXMgbm8gYXJndW1lbnQgZ2l2ZW5cbiAqIChlLmcuIGBAU2VsZWN0b3IoKWAgY291bnRzLCBidXQgYEBTZWxlY3RvcihbXSlgIGRvZXMgbm90KVxuICpcbiAqIFRoaXMgcmVzdWx0IGlzIGEgZGVjb3JhdG9yIHRoYXQgY2FuIG9ubHkgYmUgdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggbm8gYXJndW1lbnRzIG9yIGFcbiAqIHNpbmdsZSBhcmd1bWVudCB0aGF0IGlzIHRoZSBjb250YWluZXIgc3RhdGUuXG4gKi9cbnR5cGUgU2VsZWN0b3JUeXBlTm9EZWNvcmF0b3JBcmdzID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj4+XG4gICk6IHZvaWQgfCBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+O1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+PlxuICApOiB2b2lkIHwgRGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYCB3aGVuIHRoZXJlIGlzIGFuIGFyZ3VtZW50IGdpdmVuLlxuICogKGUuZy4gYEBTZWxlY3RvcihbXSlgIGNvdW50cywgYnV0IGBAU2VsZWN0b3IoKWAgZG9lcyBub3QpXG4gKlxuICogVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZSB1c2VkIHRvIGRlY29yYXRlIGEgZnVuY3Rpb24gd2l0aCBhbiBhcmd1bWVudCBsaXN0XG4gKiBtYXRjaGluZyB0aGUgcmVzdWx0cyBvZiB0aGUgdHVwbGUgb2YgcGFyZW50cyBgUGFyZW50c1R1cGxlYC5cbiAqL1xudHlwZSBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+ID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFJlYWQgdGhlIGRlcHJlY2F0aW9uIG5vdGljZSBhdCB0aGlzIGxpbms6IGh0dHBzOi8vbmd4cy5pby9kZXByZWNhdGlvbnMvaW5qZWN0LWNvbnRhaW5lci1zdGF0ZS1kZXByZWNhdGlvbi5tZC5cbiAgICovXG4gIDxSZXR1cm4+KFxuICAgIC4uLmFyZ3M6IERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYC4gVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZVxuICogdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggYW4gYXJndW1lbnQgbGlzdCBtYXRjaGluZyBgUGFyZW50c1R1cGxlYCwgdGhlIHJlc3VsdHMgb2YgdGhlXG4gKiB0dXBsZSBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlIHRva2Vucy9zdGF0ZSBjbGFzc2VzLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclR5cGU8UGFyZW50c1R1cGxlPiA9IHVua25vd24gZXh0ZW5kcyBQYXJlbnRzVHVwbGVcbiAgPyBTZWxlY3RvclR5cGVOb0RlY29yYXRvckFyZ3NcbiAgOiBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+O1xuIl19
@@ -1,4 +1,5 @@
1
1
  export { provideStore } from './provide-store';
2
2
  export { provideStates } from './provide-states';
3
3
  export { withNgxsPlugin } from './plugin';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RhbmRhbG9uZS1mZWF0dXJlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBwcm92aWRlU3RvcmUgfSBmcm9tICcuL3Byb3ZpZGUtc3RvcmUnO1xuZXhwb3J0IHsgcHJvdmlkZVN0YXRlcyB9IGZyb20gJy4vcHJvdmlkZS1zdGF0ZXMnO1xuZXhwb3J0IHsgd2l0aE5neHNQbHVnaW4gfSBmcm9tICcuL3BsdWdpbic7XG4iXX0=
4
+ export { withNgxsPreboot } from './preboot';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RhbmRhbG9uZS1mZWF0dXJlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHByb3ZpZGVTdG9yZSB9IGZyb20gJy4vcHJvdmlkZS1zdG9yZSc7XG5leHBvcnQgeyBwcm92aWRlU3RhdGVzIH0gZnJvbSAnLi9wcm92aWRlLXN0YXRlcyc7XG5leHBvcnQgeyB3aXRoTmd4c1BsdWdpbiB9IGZyb20gJy4vcGx1Z2luJztcbmV4cG9ydCB7IHdpdGhOZ3hzUHJlYm9vdCB9IGZyb20gJy4vcHJlYm9vdCc7XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { ENVIRONMENT_INITIALIZER, InjectionToken, inject } from '@angular/core';
2
2
  import { Store } from '../store';
3
+ import { NGXS_PREBOOT_FNS } from './preboot';
3
4
  import { InitState, UpdateState } from '../plugin_api';
4
5
  import { FEATURE_STATE_TOKEN, ROOT_STATE_TOKEN } from '../symbols';
5
6
  import { StateFactory } from '../internal/state-factory';
@@ -13,6 +14,8 @@ const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
13
14
  * same initialization functionality.
14
15
  */
15
16
  export function rootStoreInitializer() {
17
+ const prebootFns = inject(NGXS_PREBOOT_FNS, { optional: true }) || [];
18
+ prebootFns.forEach(prebootFn => prebootFn());
16
19
  const factory = inject(StateFactory);
17
20
  const internalStateOperations = inject(InternalStateOperations);
18
21
  inject(Store);
@@ -83,4 +86,4 @@ export const NGXS_FEATURE_ENVIRONMENT_INITIALIZER = [
83
86
  }
84
87
  }
85
88
  ];
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3N0YW5kYWxvbmUtZmVhdHVyZXMvaW5pdGlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFNUUsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztBQUVsRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVoRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFNUQsMkRBQTJEO0lBQzNELE1BQU0sT0FBTyxHQUFzQixPQUFPLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFeEUsdUJBQXVCLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0QsOEJBQThCO0lBQzlCLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRWhDLDBFQUEwRTtJQUMxRSxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx3QkFBd0I7SUFDdEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFNUQseURBQXlEO0lBQ3pELGdFQUFnRTtJQUNoRSxNQUFNLGVBQWUsR0FBMEIsTUFBTSxDQUFDLE1BQU0sQ0FDMUQsQ0FBQyxLQUE0QixFQUFFLE1BQTZCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ3JGLEVBQUUsQ0FDSCxDQUFDO0lBRUYsMkRBQTJEO0lBQzNELE1BQU0sT0FBTyxHQUFzQixPQUFPLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFakYsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUN6Qix1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3RCw0RUFBNEU7UUFDNUUscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNqRjtBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCxXQUFXLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2pELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxXQUFXLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3BELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBZTtJQUMzRCxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUU7SUFDMUU7UUFDRSxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVTtZQUNSLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDbkQsQ0FBQztLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQWU7SUFDOUQsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFO0lBQ2pGO1FBQ0UsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVU7WUFDUixPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1U3RhdGVDbGFzc0ludGVybmFsIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBJbml0U3RhdGUsIFVwZGF0ZVN0YXRlIH0gZnJvbSAnLi4vcGx1Z2luX2FwaSc7XG5pbXBvcnQgeyBGRUFUVVJFX1NUQVRFX1RPS0VOLCBST09UX1NUQVRFX1RPS0VOIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBTdGF0ZUZhY3RvcnkgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcbmltcG9ydCB7IFN0YXRlc0FuZERlZmF1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IFNlbGVjdEZhY3RvcnkgfSBmcm9tICcuLi9kZWNvcmF0b3JzL3NlbGVjdC9zZWxlY3QtZmFjdG9yeSc7XG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi4vaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXInO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNoYXJlZCBieSBib3RoIE5nTW9kdWxlIGFuZCBzdGFuZGFsb25lIGZlYXR1cmVzLlxuICogV2hlbiB1c2luZyBgTmd4c01vZHVsZS5mb3JSb290YCBhbmQgYHByb3ZpZGVTdG9yZWAsIHdlIGNhbiBkZXBlbmQgb24gdGhlXG4gKiBzYW1lIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByb290U3RvcmVJbml0aWFsaXplcigpOiB2b2lkIHtcbiAgY29uc3QgZmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnkpO1xuICBjb25zdCBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyA9IGluamVjdChJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyk7XG5cbiAgaW5qZWN0KFN0b3JlKTtcbiAgaW5qZWN0KFNlbGVjdEZhY3RvcnkpO1xuXG4gIGNvbnN0IHN0YXRlcyA9IGluamVjdChST09UX1NUQVRFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuICBjb25zdCBsaWZlY3ljbGVTdGF0ZU1hbmFnZXIgPSBpbmplY3QoTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyKTtcblxuICAvLyBBZGQgc3RvcmVzIHRvIHRoZSBzdGF0ZSBncmFwaCBhbmQgcmV0dXJuIHRoZWlyIGRlZmF1bHRzLlxuICBjb25zdCByZXN1bHRzOiBTdGF0ZXNBbmREZWZhdWx0cyA9IGZhY3RvcnkuYWRkQW5kUmV0dXJuRGVmYXVsdHMoc3RhdGVzKTtcblxuICBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0cyk7XG5cbiAgLy8gQ29ubmVjdCBvdXIgYWN0aW9ucyBzdHJlYW0uXG4gIGZhY3RvcnkuY29ubmVjdEFjdGlvbkhhbmRsZXJzKCk7XG5cbiAgLy8gRGlzcGF0Y2ggdGhlIGluaXQgYWN0aW9uIGFuZCBpbnZva2UgaW5pdCBhbmQgYm9vdHN0cmFwIGZ1bmN0aW9ucyBhZnRlci5cbiAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLm5neHNCb290c3RyYXAobmV3IEluaXRTdGF0ZSgpLCByZXN1bHRzKTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHV0aWxpemVkIGJ5IGJvdGggTmdNb2R1bGUgYW5kIHN0YW5kYWxvbmUgZmVhdHVyZXMuXG4gKiBXaGVuIHVzaW5nIGBOZ3hzTW9kdWxlLmZvckZlYXR1cmVgIGFuZCBgcHJvdmlkZVN0YXRlc2AsIHdlIGNhbiBkZXBlbmQgb25cbiAqIHRoZSBzYW1lIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlU3RhdGVzSW5pdGlhbGl6ZXIoKTogdm9pZCB7XG4gIGluamVjdChTdG9yZSk7XG5cbiAgY29uc3QgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpO1xuICBjb25zdCBmYWN0b3J5ID0gaW5qZWN0KFN0YXRlRmFjdG9yeSk7XG4gIGNvbnN0IHN0YXRlcyA9IGluamVjdChGRUFUVVJFX1NUQVRFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuICBjb25zdCBsaWZlY3ljbGVTdGF0ZU1hbmFnZXIgPSBpbmplY3QoTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyKTtcblxuICAvLyBTaW5jZSBGRUFUVVJFX1NUQVRFX1RPS0VOIGlzIGEgbXVsdGkgdG9rZW4sIHdlIG5lZWQgdG9cbiAgLy8gZmxhdHRlbiBpdCBbW0ZlYXR1cmUxU3RhdGUsIEZlYXR1cmUyU3RhdGVdLCBbRmVhdHVyZTNTdGF0ZV1dLlxuICBjb25zdCBmbGF0dGVuZWRTdGF0ZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10gPSBzdGF0ZXMucmVkdWNlKFxuICAgICh0b3RhbDogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXSwgdmFsdWVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKSA9PiB0b3RhbC5jb25jYXQodmFsdWVzKSxcbiAgICBbXVxuICApO1xuXG4gIC8vIGFkZCBzdG9yZXMgdG8gdGhlIHN0YXRlIGdyYXBoIGFuZCByZXR1cm4gdGhlaXIgZGVmYXVsdHMuXG4gIGNvbnN0IHJlc3VsdHM6IFN0YXRlc0FuZERlZmF1bHRzID0gZmFjdG9yeS5hZGRBbmRSZXR1cm5EZWZhdWx0cyhmbGF0dGVuZWRTdGF0ZXMpO1xuXG4gIGlmIChyZXN1bHRzLnN0YXRlcy5sZW5ndGgpIHtcbiAgICBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0cyk7XG5cbiAgICAvLyBEaXNwYXRjaCB0aGUgdXBkYXRlIGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXIuXG4gICAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLm5neHNCb290c3RyYXAobmV3IFVwZGF0ZVN0YXRlKHJlc3VsdHMuZGVmYXVsdHMpLCByZXN1bHRzKTtcbiAgfVxufVxuXG4vKipcbiAqIEluamVjdGlvblRva2VuIHRoYXQgcmVnaXN0ZXJzIHRoZSBnbG9iYWwgU3RvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfUk9PVF9TVE9SRV9JTklUSUFMSVpFUicgOiAnJ1xuKTtcblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyBmZWF0dXJlIHN0YXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjx2b2lkPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19GRUFUVVJFX1NUT1JFX0lOSVRJQUxJWkVSJyA6ICcnXG4pO1xuXG5leHBvcnQgY29uc3QgTkdYU19ST09UX0VOVklST05NRU5UX0lOSVRJQUxJWkVSOiBQcm92aWRlcltdID0gW1xuICB7IHByb3ZpZGU6IE5HWFNfUk9PVF9TVE9SRV9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogcm9vdFN0b3JlSW5pdGlhbGl6ZXIgfSxcbiAge1xuICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUZhY3RvcnkoKSB7XG4gICAgICByZXR1cm4gKCkgPT4gaW5qZWN0KE5HWFNfUk9PVF9TVE9SRV9JTklUSUFMSVpFUik7XG4gICAgfVxuICB9XG5dO1xuXG4vKipcbiAqIFRoZSBgTkdYU19GRUFUVVJFX0VOVklST05NRU5UX0lOSVRJQUxJWkVSYCBmdW5jdGlvbnMgYXMgYW4gZW52aXJvbm1lbnQgaW5pdGlhbGl6ZXJcbiAqIGF0IHRoZSBgUm91dGVgIGxldmVsLiBBbmd1bGFyIFJvdXRlciBjcmVhdGVzIGFuIGVudmlyb25tZW50IHJvdXRlIGluamVjdG9yIGZvciBlYWNoXG4gKiBtYXRjaGVkIHJvdXRlIHdoZXJlIG5hdmlnYXRpb24gb2NjdXJzLiBUaGUgaW5qZWN0b3IgaXMgY3JlYXRlZCBvbmNlLCBlbnN1cmluZyB0aGF0XG4gKiB0aGUgZmVhdHVyZSBzdGF0ZXMgaW5pdGlhbGl6YXRpb24gb25seSBoYXBwZW5zIG9uY2UgYXMgd2VsbC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRkVBVFVSRV9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUjogUHJvdmlkZXJbXSA9IFtcbiAgeyBwcm92aWRlOiBOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IGZlYXR1cmVTdGF0ZXNJbml0aWFsaXplciB9LFxuICB7XG4gICAgcHJvdmlkZTogRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gICAgbXVsdGk6IHRydWUsXG4gICAgdXNlRmFjdG9yeSgpIHtcbiAgICAgIHJldHVybiAoKSA9PiBpbmplY3QoTkdYU19GRUFUVVJFX1NUT1JFX0lOSVRJQUxJWkVSKTtcbiAgICB9XG4gIH1cbl07XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3N0YW5kYWxvbmUtZmVhdHVyZXMvaW5pdGlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyQyxNQUFNLHVCQUF1QixH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QUssRUFBRSxJQUFJO1FBQ1gsVUFBVTtZQUNSLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdEQsQ0FBQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgybVTdGF0ZUNsYXNzSW50ZXJuYWwgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IE5HWFNfUFJFQk9PVF9GTlMgfSBmcm9tICcuL3ByZWJvb3QnO1xuaW1wb3J0IHsgSW5pdFN0YXRlLCBVcGRhdGVTdGF0ZSB9IGZyb20gJy4uL3BsdWdpbl9hcGknO1xuaW1wb3J0IHsgRkVBVFVSRV9TVEFURV9UT0tFTiwgUk9PVF9TVEFURV9UT0tFTiB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtZmFjdG9yeSc7XG5pbXBvcnQgeyBTdGF0ZXNBbmREZWZhdWx0cyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBTZWxlY3RGYWN0b3J5IH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9zZWxlY3Qvc2VsZWN0LWZhY3RvcnknO1xuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IExpZmVjeWNsZVN0YXRlTWFuYWdlciB9IGZyb20gJy4uL2ludGVybmFsL2xpZmVjeWNsZS1zdGF0ZS1tYW5hZ2VyJztcblxuY29uc3QgTkdfREVWX01PREUgPSB0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGU7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzaGFyZWQgYnkgYm90aCBOZ01vZHVsZSBhbmQgc3RhbmRhbG9uZSBmZWF0dXJlcy5cbiAqIFdoZW4gdXNpbmcgYE5neHNNb2R1bGUuZm9yUm9vdGAgYW5kIGBwcm92aWRlU3RvcmVgLCB3ZSBjYW4gZGVwZW5kIG9uIHRoZVxuICogc2FtZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9vdFN0b3JlSW5pdGlhbGl6ZXIoKTogdm9pZCB7XG4gIGNvbnN0IHByZWJvb3RGbnMgPSBpbmplY3QoTkdYU19QUkVCT09UX0ZOUywgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgcHJlYm9vdEZucy5mb3JFYWNoKHByZWJvb3RGbiA9PiBwcmVib290Rm4oKSk7XG5cbiAgY29uc3QgZmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnkpO1xuICBjb25zdCBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyA9IGluamVjdChJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyk7XG5cbiAgaW5qZWN0KFN0b3JlKTtcbiAgaW5qZWN0KFNlbGVjdEZhY3RvcnkpO1xuXG4gIGNvbnN0IHN0YXRlcyA9IGluamVjdChST09UX1NUQVRFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuICBjb25zdCBsaWZlY3ljbGVTdGF0ZU1hbmFnZXIgPSBpbmplY3QoTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyKTtcblxuICAvLyBBZGQgc3RvcmVzIHRvIHRoZSBzdGF0ZSBncmFwaCBhbmQgcmV0dXJuIHRoZWlyIGRlZmF1bHRzLlxuICBjb25zdCByZXN1bHRzOiBTdGF0ZXNBbmREZWZhdWx0cyA9IGZhY3RvcnkuYWRkQW5kUmV0dXJuRGVmYXVsdHMoc3RhdGVzKTtcblxuICBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0cyk7XG5cbiAgLy8gQ29ubmVjdCBvdXIgYWN0aW9ucyBzdHJlYW0uXG4gIGZhY3RvcnkuY29ubmVjdEFjdGlvbkhhbmRsZXJzKCk7XG5cbiAgLy8gRGlzcGF0Y2ggdGhlIGluaXQgYWN0aW9uIGFuZCBpbnZva2UgaW5pdCBhbmQgYm9vdHN0cmFwIGZ1bmN0aW9ucyBhZnRlci5cbiAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLm5neHNCb290c3RyYXAobmV3IEluaXRTdGF0ZSgpLCByZXN1bHRzKTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHV0aWxpemVkIGJ5IGJvdGggTmdNb2R1bGUgYW5kIHN0YW5kYWxvbmUgZmVhdHVyZXMuXG4gKiBXaGVuIHVzaW5nIGBOZ3hzTW9kdWxlLmZvckZlYXR1cmVgIGFuZCBgcHJvdmlkZVN0YXRlc2AsIHdlIGNhbiBkZXBlbmQgb25cbiAqIHRoZSBzYW1lIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlU3RhdGVzSW5pdGlhbGl6ZXIoKTogdm9pZCB7XG4gIGluamVjdChTdG9yZSk7XG5cbiAgY29uc3QgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpO1xuICBjb25zdCBmYWN0b3J5ID0gaW5qZWN0KFN0YXRlRmFjdG9yeSk7XG4gIGNvbnN0IHN0YXRlcyA9IGluamVjdChGRUFUVVJFX1NUQVRFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuICBjb25zdCBsaWZlY3ljbGVTdGF0ZU1hbmFnZXIgPSBpbmplY3QoTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyKTtcblxuICAvLyBTaW5jZSBGRUFUVVJFX1NUQVRFX1RPS0VOIGlzIGEgbXVsdGkgdG9rZW4sIHdlIG5lZWQgdG9cbiAgLy8gZmxhdHRlbiBpdCBbW0ZlYXR1cmUxU3RhdGUsIEZlYXR1cmUyU3RhdGVdLCBbRmVhdHVyZTNTdGF0ZV1dLlxuICBjb25zdCBmbGF0dGVuZWRTdGF0ZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10gPSBzdGF0ZXMucmVkdWNlKFxuICAgICh0b3RhbDogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXSwgdmFsdWVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKSA9PiB0b3RhbC5jb25jYXQodmFsdWVzKSxcbiAgICBbXVxuICApO1xuXG4gIC8vIGFkZCBzdG9yZXMgdG8gdGhlIHN0YXRlIGdyYXBoIGFuZCByZXR1cm4gdGhlaXIgZGVmYXVsdHMuXG4gIGNvbnN0IHJlc3VsdHM6IFN0YXRlc0FuZERlZmF1bHRzID0gZmFjdG9yeS5hZGRBbmRSZXR1cm5EZWZhdWx0cyhmbGF0dGVuZWRTdGF0ZXMpO1xuXG4gIGlmIChyZXN1bHRzLnN0YXRlcy5sZW5ndGgpIHtcbiAgICBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0cyk7XG5cbiAgICAvLyBEaXNwYXRjaCB0aGUgdXBkYXRlIGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXIuXG4gICAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLm5neHNCb290c3RyYXAobmV3IFVwZGF0ZVN0YXRlKHJlc3VsdHMuZGVmYXVsdHMpLCByZXN1bHRzKTtcbiAgfVxufVxuXG4vKipcbiAqIEluamVjdGlvblRva2VuIHRoYXQgcmVnaXN0ZXJzIHRoZSBnbG9iYWwgU3RvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfUk9PVF9TVE9SRV9JTklUSUFMSVpFUicgOiAnJ1xuKTtcblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyBmZWF0dXJlIHN0YXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjx2b2lkPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19GRUFUVVJFX1NUT1JFX0lOSVRJQUxJWkVSJyA6ICcnXG4pO1xuXG5leHBvcnQgY29uc3QgTkdYU19ST09UX0VOVklST05NRU5UX0lOSVRJQUxJWkVSOiBQcm92aWRlcltdID0gW1xuICB7IHByb3ZpZGU6IE5HWFNfUk9PVF9TVE9SRV9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogcm9vdFN0b3JlSW5pdGlhbGl6ZXIgfSxcbiAge1xuICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUZhY3RvcnkoKSB7XG4gICAgICByZXR1cm4gKCkgPT4gaW5qZWN0KE5HWFNfUk9PVF9TVE9SRV9JTklUSUFMSVpFUik7XG4gICAgfVxuICB9XG5dO1xuXG4vKipcbiAqIFRoZSBgTkdYU19GRUFUVVJFX0VOVklST05NRU5UX0lOSVRJQUxJWkVSYCBmdW5jdGlvbnMgYXMgYW4gZW52aXJvbm1lbnQgaW5pdGlhbGl6ZXJcbiAqIGF0IHRoZSBgUm91dGVgIGxldmVsLiBBbmd1bGFyIFJvdXRlciBjcmVhdGVzIGFuIGVudmlyb25tZW50IHJvdXRlIGluamVjdG9yIGZvciBlYWNoXG4gKiBtYXRjaGVkIHJvdXRlIHdoZXJlIG5hdmlnYXRpb24gb2NjdXJzLiBUaGUgaW5qZWN0b3IgaXMgY3JlYXRlZCBvbmNlLCBlbnN1cmluZyB0aGF0XG4gKiB0aGUgZmVhdHVyZSBzdGF0ZXMgaW5pdGlhbGl6YXRpb24gb25seSBoYXBwZW5zIG9uY2UgYXMgd2VsbC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRkVBVFVSRV9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUjogUHJvdmlkZXJbXSA9IFtcbiAgeyBwcm92aWRlOiBOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IGZlYXR1cmVTdGF0ZXNJbml0aWFsaXplciB9LFxuICB7XG4gICAgcHJvdmlkZTogRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gICAgbXVsdGk6IHRydWUsXG4gICAgdXNlRmFjdG9yeSgpIHtcbiAgICAgIHJldHVybiAoKSA9PiBpbmplY3QoTkdYU19GRUFUVVJFX1NUT1JFX0lOSVRJQUxJWkVSKTtcbiAgICB9XG4gIH1cbl07XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
+ const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
3
+ /**
4
+ * InjectionToken that registers preboot functions (called before the root initializer).
5
+ */
6
+ export const NGXS_PREBOOT_FNS = new InjectionToken(NG_DEV_MODE ? 'NGXS_PREBOOT_FNS' : '');
7
+ /**
8
+ * This function registers a preboot function which will be called before the root
9
+ * store initializer is run, but after all of the NGXS features are provided and
10
+ * available for injection. This is useful for registering action stream listeners
11
+ * before any action is dispatched.
12
+ *
13
+ * ```ts
14
+ * bootstrapApplication(AppComponent, {
15
+ * providers: [
16
+ * provideStore(
17
+ * [CountriesState],
18
+ * withNgxsPreboot(() => {
19
+ * const actions$ = inject(Actions);
20
+ * actions$.subscribe(ctx => console.log(ctx));
21
+ * })
22
+ * )
23
+ * ]
24
+ * });
25
+ * ```
26
+ */
27
+ export function withNgxsPreboot(prebootFn) {
28
+ return makeEnvironmentProviders([
29
+ { provide: NGXS_PREBOOT_FNS, multi: true, useValue: prebootFn }
30
+ ]);
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zdGFuZGFsb25lLWZlYXR1cmVzL3ByZWJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxNQUFNLFdBQVcsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQ2hELFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdEMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUF1QjtJQUNyRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtLQUNoRSxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyBwcmVib290IGZ1bmN0aW9ucyAoY2FsbGVkIGJlZm9yZSB0aGUgcm9vdCBpbml0aWFsaXplcikuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1BSRUJPT1RfRk5TID0gbmV3IEluamVjdGlvblRva2VuPFZvaWRGdW5jdGlvbltdPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19QUkVCT09UX0ZOUycgOiAnJ1xuKTtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlZ2lzdGVycyBhIHByZWJvb3QgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSByb290XG4gKiBzdG9yZSBpbml0aWFsaXplciBpcyBydW4sIGJ1dCBhZnRlciBhbGwgb2YgdGhlIE5HWFMgZmVhdHVyZXMgYXJlIHByb3ZpZGVkIGFuZFxuICogYXZhaWxhYmxlIGZvciBpbmplY3Rpb24uIFRoaXMgaXMgdXNlZnVsIGZvciByZWdpc3RlcmluZyBhY3Rpb24gc3RyZWFtIGxpc3RlbmVyc1xuICogYmVmb3JlIGFueSBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cbiAqXG4gKiBgYGB0c1xuICogYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHByb3ZpZGVTdG9yZShcbiAqICAgICAgIFtDb3VudHJpZXNTdGF0ZV0sXG4gKiAgICAgICB3aXRoTmd4c1ByZWJvb3QoKCkgPT4ge1xuICogICAgICAgICBjb25zdCBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAqICAgICAgICAgYWN0aW9ucyQuc3Vic2NyaWJlKGN0eCA9PiBjb25zb2xlLmxvZyhjdHgpKTtcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICBdXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE5neHNQcmVib290KHByZWJvb3RGbjogVm9pZEZ1bmN0aW9uKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHsgcHJvdmlkZTogTkdYU19QUkVCT09UX0ZOUywgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBwcmVib290Rm4gfVxuICBdKTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgZone, PLATFORM_ID, Inject, InjectionToken, inject, INJECTOR, Optional, SkipSelf, ErrorHandler, ɵisPromise as _isPromise, computed, ENVIRONMENT_INITIALIZER, NgModule, APP_BOOTSTRAP_LISTENER, makeEnvironmentProviders } from '@angular/core';
2
+ import { Injectable, NgZone, PLATFORM_ID, Inject, InjectionToken, inject, INJECTOR, Optional, SkipSelf, ErrorHandler, ɵisPromise as _isPromise, computed, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER, NgModule, APP_BOOTSTRAP_LISTENER } from '@angular/core';
3
3
  import { Observable, config, Subject, of, forkJoin, throwError, EMPTY, from, isObservable, ReplaySubject } from 'rxjs';
4
4
  import { share, map, shareReplay, filter, take, exhaustMap, mergeMap, defaultIfEmpty, catchError, takeUntil, distinctUntilChanged, tap, startWith, pairwise } from 'rxjs/operators';
5
5
  import * as i1 from '@ngxs/store/internals';
@@ -124,18 +124,18 @@ function verifyZoneIsNotNooped(ngZone) {
124
124
  console.warn(getZoneWarningMessage());
125
125
  }
126
126
 
127
- const NG_DEV_MODE$7 = typeof ngDevMode !== 'undefined' && ngDevMode;
127
+ const NG_DEV_MODE$8 = typeof ngDevMode !== 'undefined' && ngDevMode;
128
128
  /**
129
129
  * Consumers have the option to utilize the execution strategy provided by
130
130
  * `NgxsModule.forRoot({executionStrategy})` or `provideStore([], {executionStrategy})`.
131
131
  */
132
- const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$7 ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
132
+ const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$8 ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
133
133
  /**
134
134
  * The injection token is used internally to resolve an instance of the execution
135
135
  * strategy. It checks whether consumers have provided their own `executionStrategy`
136
136
  * and also verifies if we are operating in a zone-aware environment.
137
137
  */
138
- const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$7 ? 'NGXS_EXECUTION_STRATEGY' : '', {
138
+ const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$8 ? 'NGXS_EXECUTION_STRATEGY' : '', {
139
139
  providedIn: 'root',
140
140
  factory: () => {
141
141
  const ngZone = inject(NgZone);
@@ -452,18 +452,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
452
452
  args: [{ providedIn: 'root' }]
453
453
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: InternalActions }, { type: InternalDispatchedActionResults }, { type: PluginManager }, { type: i1.ɵStateStream }, { type: InternalNgxsExecutionStrategy }] });
454
454
 
455
- const NG_DEV_MODE$6 = typeof ngDevMode !== 'undefined' && ngDevMode;
455
+ const NG_DEV_MODE$7 = typeof ngDevMode !== 'undefined' && ngDevMode;
456
456
  // The injection token is used to resolve a list of states provided at
457
457
  // the root level through either `NgxsModule.forRoot` or `provideStore`.
458
- const ROOT_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$6 ? 'ROOT_STATE_TOKEN' : '');
458
+ const ROOT_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$7 ? 'ROOT_STATE_TOKEN' : '');
459
459
  // The injection token is used to resolve a list of states provided at
460
460
  // the feature level through either `NgxsModule.forFeature` or `provideStates`.
461
461
  // The Array<Array> is used to overload the resolved value of the token because
462
462
  // it is a multi-provider token.
463
- const FEATURE_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$6 ? 'FEATURE_STATE_TOKEN' : '');
463
+ const FEATURE_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$7 ? 'FEATURE_STATE_TOKEN' : '');
464
464
  // The injection token is used to resolve to options provided at the root
465
465
  // level through either `NgxsModule.forRoot` or `provideStore`.
466
- const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE$6 ? 'NGXS_OPTIONS' : '');
466
+ const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE$7 ? 'NGXS_OPTIONS' : '');
467
467
  /**
468
468
  * The NGXS config settings.
469
469
  */
@@ -610,7 +610,7 @@ function ensureStateAndActionsAreImmutable(root) {
610
610
  };
611
611
  }
612
612
 
613
- const NG_DEV_MODE$5 = typeof ngDevMode !== 'undefined' && ngDevMode;
613
+ const NG_DEV_MODE$6 = typeof ngDevMode !== 'undefined' && ngDevMode;
614
614
  function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelectorFn) {
615
615
  return (context) => {
616
616
  const { argumentSelectorFunctions, selectorOptions } = getRuntimeSelectorInfo(context, selectorMetaData, selectors);
@@ -631,7 +631,7 @@ function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelector
631
631
  // We're logging an error in this function because it may be used by `select`,
632
632
  // `selectSignal`, and `selectSnapshot`. Therefore, there's no need to catch
633
633
  // exceptions there to log errors.
634
- if (NG_DEV_MODE$5) {
634
+ if (NG_DEV_MODE$6) {
635
635
  const message = 'The selector below has thrown an error upon invocation. ' +
636
636
  'Please check for any unsafe property access that may result in null ' +
637
637
  'or undefined values.';
@@ -704,7 +704,7 @@ function getRootSelectorFactory(selector) {
704
704
  return (metadata && metadata.makeRootSelector) || (() => selector);
705
705
  }
706
706
 
707
- const NG_DEV_MODE$4 = typeof ngDevMode !== 'undefined' && ngDevMode;
707
+ const NG_DEV_MODE$5 = typeof ngDevMode !== 'undefined' && ngDevMode;
708
708
  /**
709
709
  * Get a deeply nested value. Example:
710
710
  *
@@ -769,7 +769,7 @@ function propGetter(paths, config) {
769
769
  // `createSelectorFn`, which, in turn, is solely used by the `Select` decorator.
770
770
  // We've been trying to deprecate the `Select` decorator because it's unstable with
771
771
  // server-side rendering and micro-frontend applications.
772
- const ɵPROP_GETTER = new InjectionToken(NG_DEV_MODE$4 ? 'PROP_GETTER' : '', {
772
+ const ɵPROP_GETTER = new InjectionToken(NG_DEV_MODE$5 ? 'PROP_GETTER' : '', {
773
773
  providedIn: 'root',
774
774
  factory: () => inject(NgxsConfig).compatibility?.strictContentSecurityPolicy
775
775
  ? compliantPropGetter
@@ -796,7 +796,7 @@ const ɵPROP_GETTER = new InjectionToken(NG_DEV_MODE$4 ? 'PROP_GETTER' : '', {
796
796
  function buildGraph(stateClasses) {
797
797
  const findName = (stateClass) => {
798
798
  const meta = stateClasses.find(g => g === stateClass);
799
- if (NG_DEV_MODE$4 && !meta) {
799
+ if (NG_DEV_MODE$5 && !meta) {
800
800
  throw new Error(`Child state not found: ${stateClass}. \r\nYou may have forgotten to add states to module`);
801
801
  }
802
802
  return meta[_META_KEY].name;
@@ -891,7 +891,7 @@ function topologicalSort(graph) {
891
891
  ancestors.push(name);
892
892
  visited[name] = true;
893
893
  graph[name].forEach((dep) => {
894
- if (NG_DEV_MODE$4 && ancestors.indexOf(dep) >= 0) {
894
+ if (NG_DEV_MODE$5 && ancestors.indexOf(dep) >= 0) {
895
895
  throw new Error(`Circular dependency '${dep}' is required by '${name}': ${ancestors.join(' -> ')}`);
896
896
  }
897
897
  if (visited[dep]) {
@@ -1139,8 +1139,8 @@ function jit_hasInjectableAnnotation(stateClass) {
1139
1139
  return annotations.some((annotation) => annotation?.ngMetadataName === 'Injectable');
1140
1140
  }
1141
1141
 
1142
- const NG_DEV_MODE$3 = typeof ngDevMode !== 'undefined' && ngDevMode;
1143
- const NGXS_DEVELOPMENT_OPTIONS = new InjectionToken(NG_DEV_MODE$3 ? 'NGXS_DEVELOPMENT_OPTIONS' : '', {
1142
+ const NG_DEV_MODE$4 = typeof ngDevMode !== 'undefined' && ngDevMode;
1143
+ const NGXS_DEVELOPMENT_OPTIONS = new InjectionToken(NG_DEV_MODE$4 ? 'NGXS_DEVELOPMENT_OPTIONS' : '', {
1144
1144
  providedIn: 'root',
1145
1145
  factory: () => ({ warnOnUnhandledActions: true })
1146
1146
  });
@@ -1213,7 +1213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
1213
1213
  args: [{ providedIn: 'root' }]
1214
1214
  }] });
1215
1215
 
1216
- const NG_DEV_MODE$2 = typeof ngDevMode !== 'undefined' && ngDevMode;
1216
+ const NG_DEV_MODE$3 = typeof ngDevMode !== 'undefined' && ngDevMode;
1217
1217
  function cloneDefaults(defaults) {
1218
1218
  let value = defaults === undefined ? {} : defaults;
1219
1219
  if (defaults) {
@@ -1307,7 +1307,7 @@ class StateFactory {
1307
1307
  * Add a new state to the global defs.
1308
1308
  */
1309
1309
  add(stateClasses) {
1310
- if (NG_DEV_MODE$2) {
1310
+ if (NG_DEV_MODE$3) {
1311
1311
  ensureStatesAreDecorated(stateClasses);
1312
1312
  }
1313
1313
  const { newStates } = this.addToStatesMap(stateClasses);
@@ -1327,7 +1327,7 @@ class StateFactory {
1327
1327
  // `State` decorator. This check is moved here because the `ɵprov` property
1328
1328
  // will not exist on the class in JIT mode (because it's set asynchronously
1329
1329
  // during JIT compilation through `Object.defineProperty`).
1330
- if (NG_DEV_MODE$2) {
1330
+ if (NG_DEV_MODE$3) {
1331
1331
  ensureStateClassIsInjectable(stateClass);
1332
1332
  }
1333
1333
  const stateMap = {
@@ -1444,7 +1444,7 @@ class StateFactory {
1444
1444
  }
1445
1445
  // The `NgxsUnhandledActionsLogger` is a tree-shakable class which functions
1446
1446
  // only during development.
1447
- if (NG_DEV_MODE$2 && !actionHasBeenHandled) {
1447
+ if (NG_DEV_MODE$3 && !actionHasBeenHandled) {
1448
1448
  const unhandledActionsLogger = this._injector.get(NgxsUnhandledActionsLogger, null);
1449
1449
  // The `NgxsUnhandledActionsLogger` will not be resolved by the injector if the
1450
1450
  // `NgxsDevelopmentModule` is not provided. It's enough to check whether the `injector.get`
@@ -1463,7 +1463,7 @@ class StateFactory {
1463
1463
  const statesMap = this.statesByName;
1464
1464
  for (const stateClass of stateClasses) {
1465
1465
  const stateName = _getStoreMetadata(stateClass).name;
1466
- if (NG_DEV_MODE$2) {
1466
+ if (NG_DEV_MODE$3) {
1467
1467
  ensureStateNameIsUnique(stateName, stateClass, statesMap);
1468
1468
  }
1469
1469
  const unmountedState = !statesMap[stateName];
@@ -1604,6 +1604,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
1604
1604
  args: [_INITIAL_STATE_TOKEN]
1605
1605
  }] }] });
1606
1606
 
1607
+ const NG_DEV_MODE$2 = typeof ngDevMode !== 'undefined' && ngDevMode;
1608
+ /**
1609
+ * InjectionToken that registers preboot functions (called before the root initializer).
1610
+ */
1611
+ const NGXS_PREBOOT_FNS = new InjectionToken(NG_DEV_MODE$2 ? 'NGXS_PREBOOT_FNS' : '');
1612
+ /**
1613
+ * This function registers a preboot function which will be called before the root
1614
+ * store initializer is run, but after all of the NGXS features are provided and
1615
+ * available for injection. This is useful for registering action stream listeners
1616
+ * before any action is dispatched.
1617
+ *
1618
+ * ```ts
1619
+ * bootstrapApplication(AppComponent, {
1620
+ * providers: [
1621
+ * provideStore(
1622
+ * [CountriesState],
1623
+ * withNgxsPreboot(() => {
1624
+ * const actions$ = inject(Actions);
1625
+ * actions$.subscribe(ctx => console.log(ctx));
1626
+ * })
1627
+ * )
1628
+ * ]
1629
+ * });
1630
+ * ```
1631
+ */
1632
+ function withNgxsPreboot(prebootFn) {
1633
+ return makeEnvironmentProviders([
1634
+ { provide: NGXS_PREBOOT_FNS, multi: true, useValue: prebootFn }
1635
+ ]);
1636
+ }
1637
+
1607
1638
  /**
1608
1639
  * Allows the select decorator to get access to the DI store, this is used internally
1609
1640
  * in `@Select` decorator.
@@ -1705,6 +1736,8 @@ const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
1705
1736
  * same initialization functionality.
1706
1737
  */
1707
1738
  function rootStoreInitializer() {
1739
+ const prebootFns = inject(NGXS_PREBOOT_FNS, { optional: true }) || [];
1740
+ prebootFns.forEach(prebootFn => prebootFn());
1708
1741
  const factory = inject(StateFactory);
1709
1742
  const internalStateOperations = inject(InternalStateOperations);
1710
1743
  inject(Store);
@@ -2304,5 +2337,5 @@ function createDispatchMap(actionMap) {
2304
2337
  * Generated bundle index. Do not edit.
2305
2338
  */
2306
2339
 
2307
- export { Action, Actions, NgxsConfig, NgxsDevelopmentModule, NgxsModule, NgxsSimpleChange, NgxsUnhandledActionsLogger, NgxsUnhandledErrorHandler, NoopNgxsExecutionStrategy, Select, Selector, SelectorOptions, State, Store, createDispatchMap, createModelSelector, createPickSelector, createPropertySelectors, createSelectMap, createSelector, dispatch, ofAction, ofActionCanceled, ofActionCompleted, ofActionDispatched, ofActionErrored, ofActionSuccessful, provideStates, provideStore, select, withNgxsDevelopmentOptions, withNgxsPlugin, NgxsFeatureModule as ɵNgxsFeatureModule, NgxsRootModule as ɵNgxsRootModule };
2340
+ export { Action, Actions, NgxsConfig, NgxsDevelopmentModule, NgxsModule, NgxsSimpleChange, NgxsUnhandledActionsLogger, NgxsUnhandledErrorHandler, NoopNgxsExecutionStrategy, Select, Selector, SelectorOptions, State, Store, createDispatchMap, createModelSelector, createPickSelector, createPropertySelectors, createSelectMap, createSelector, dispatch, ofAction, ofActionCanceled, ofActionCompleted, ofActionDispatched, ofActionErrored, ofActionSuccessful, provideStates, provideStore, select, withNgxsDevelopmentOptions, withNgxsPlugin, withNgxsPreboot, NgxsFeatureModule as ɵNgxsFeatureModule, NgxsRootModule as ɵNgxsRootModule };
2308
2341
  //# sourceMappingURL=ngxs-store.mjs.map