@ngxs/store 3.7.4-dev.master-38cbcac → 3.7.4-dev.master-80a3014
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/bundles/ngxs-store-internals.umd.js +0 -241
- package/bundles/ngxs-store-internals.umd.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.min.js +1 -1
- package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
- package/bundles/ngxs-store.umd.js +32 -105
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/bundles/ngxs-store.umd.min.js +1 -1
- package/bundles/ngxs-store.umd.min.js.map +1 -1
- package/esm2015/internals/index.js +1 -2
- package/esm2015/internals/ngxs-store-internals.js +2 -2
- package/esm2015/ngxs-store.js +5 -4
- package/esm2015/src/decorators/select/select-factory.js +2 -6
- package/esm2015/src/decorators/select/select.js +11 -39
- package/esm2015/src/decorators/select/symbols.js +11 -55
- package/esm2015/src/internal/dispatcher.js +8 -6
- package/esm2015/src/module.js +3 -1
- package/esm2015/src/modules/ngxs-root.module.js +5 -8
- package/esm5/internals/index.js +1 -2
- package/esm5/internals/ngxs-store-internals.js +2 -2
- package/esm5/ngxs-store.js +5 -4
- package/esm5/src/decorators/select/select-factory.js +2 -6
- package/esm5/src/decorators/select/select.js +5 -40
- package/esm5/src/decorators/select/symbols.js +11 -55
- package/esm5/src/internal/dispatcher.js +8 -6
- package/esm5/src/module.js +3 -1
- package/esm5/src/modules/ngxs-root.module.js +4 -7
- package/fesm2015/ngxs-store-internals.js +2 -240
- package/fesm2015/ngxs-store-internals.js.map +1 -1
- package/fesm2015/ngxs-store.js +34 -101
- package/fesm2015/ngxs-store.js.map +1 -1
- package/fesm5/ngxs-store-internals.js +2 -240
- package/fesm5/ngxs-store-internals.js.map +1 -1
- package/fesm5/ngxs-store.js +27 -101
- package/fesm5/ngxs-store.js.map +1 -1
- package/internals/index.d.ts +0 -1
- package/internals/ngxs-store-internals.metadata.json +1 -1
- package/ngxs-store.d.ts +5 -4
- package/ngxs-store.metadata.json +1 -1
- package/package.json +1 -1
- package/src/decorators/select/select.d.ts +1 -0
- package/src/decorators/select/symbols.d.ts +2 -6
- package/src/modules/ngxs-root.module.d.ts +2 -2
- package/esm2015/internals/decorator-injector-adapter.js +0 -242
- package/esm5/internals/decorator-injector-adapter.js +0 -242
- package/internals/decorator-injector-adapter.d.ts +0 -15
package/internals/index.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ export { memoize } from './memoize';
|
|
|
4
4
|
export { INITIAL_STATE_TOKEN, InitialState } from './initial-state';
|
|
5
5
|
export { PlainObjectOf, PlainObject, StateClass } from './symbols';
|
|
6
6
|
export { NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY } from './internal-tokens';
|
|
7
|
-
export { localInject, ensureLocalInjectorCaptured, ensureInjectorNotifierIsCaptured } from './decorator-injector-adapter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"isAngularInTestMode":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":13,"character":4,"module":"./angular"},"right":"undefined"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":14,"character":4,"module":"./angular"},"right":"undefined"}},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":15,"character":4,"module":"./angular"},"right":"undefined"}},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":16,"character":4,"module":"./angular"},"right":"undefined"}}},"NgxsBootstrapper":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"bootstrap":[{"__symbolic":"method"}]}},"memoize":{"__symbolic":"function"},"INITIAL_STATE_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":39},"arguments":["INITIAL_STATE_TOKEN"]},"InitialState":{"__symbolic":"class","members":{},"statics":{"value":{}}},"PlainObjectOf":{"__symbolic":"interface"},"PlainObject":{"__symbolic":"interface"},"StateClass":{"__symbolic":"interface"},"NGXS_STATE_CONTEXT_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":67},"arguments":["Internals.StateContextFactory"]},"NGXS_STATE_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":59},"arguments":["Internals.StateFactory"]}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"isAngularInTestMode":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":13,"character":4,"module":"./angular"},"right":"undefined"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":14,"character":4,"module":"./angular"},"right":"undefined"}},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":15,"character":4,"module":"./angular"},"right":"undefined"}},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":16,"character":4,"module":"./angular"},"right":"undefined"}}},"NgxsBootstrapper":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"bootstrap":[{"__symbolic":"method"}]}},"memoize":{"__symbolic":"function"},"INITIAL_STATE_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":39},"arguments":["INITIAL_STATE_TOKEN"]},"InitialState":{"__symbolic":"class","members":{},"statics":{"value":{}}},"PlainObjectOf":{"__symbolic":"interface"},"PlainObject":{"__symbolic":"interface"},"StateClass":{"__symbolic":"interface"},"NGXS_STATE_CONTEXT_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":67},"arguments":["Internals.StateContextFactory"]},"NGXS_STATE_FACTORY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":12,"character":59},"arguments":["Internals.StateFactory"]}},"origins":{"isAngularInTestMode":"./angular","NgxsBootstrapper":"./ngxs-bootstrapper","memoize":"./memoize","INITIAL_STATE_TOKEN":"./initial-state","InitialState":"./initial-state","PlainObjectOf":"./symbols","PlainObject":"./symbols","StateClass":"./symbols","NGXS_STATE_CONTEXT_FACTORY":"./internal-tokens","NGXS_STATE_FACTORY":"./internal-tokens"},"importAs":"@ngxs/store/internals"}
|
package/ngxs-store.d.ts
CHANGED
|
@@ -3,17 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './index';
|
|
5
5
|
export { InternalActions as ɵb, OrderedSubject as ɵa } from './src/actions-stream';
|
|
6
|
+
export { SelectFactory as ɵr } from './src/decorators/select/select-factory';
|
|
6
7
|
export { InternalNgxsExecutionStrategy as ɵq } from './src/execution/internal-ngxs-execution-strategy';
|
|
7
8
|
export { NGXS_EXECUTION_STRATEGY as ɵi, USER_PROVIDED_NGXS_EXECUTION_STRATEGY as ɵh } from './src/execution/symbols';
|
|
8
9
|
export { InternalDispatchedActionResults as ɵl, InternalDispatcher as ɵm } from './src/internal/dispatcher';
|
|
9
|
-
export { StateClassInternal as
|
|
10
|
-
export { LifecycleStateManager as
|
|
10
|
+
export { StateClassInternal as ɵs, ensureSelectorMetadata as ɵv, ensureStoreMetadata as ɵt, getSelectorMetadata as ɵw, getStoreMetadata as ɵu } from './src/internal/internals';
|
|
11
|
+
export { LifecycleStateManager as ɵx } from './src/internal/lifecycle-state-manager';
|
|
11
12
|
export { StateContextFactory as ɵn } from './src/internal/state-context-factory';
|
|
12
13
|
export { StateFactory as ɵk } from './src/internal/state-factory';
|
|
13
14
|
export { InternalStateOperations as ɵo } from './src/internal/state-operations';
|
|
14
|
-
export { NgxsFeatureModule as
|
|
15
|
+
export { NgxsFeatureModule as ɵy } from './src/modules/ngxs-feature.module';
|
|
15
16
|
export { NgxsRootModule as ɵj } from './src/modules/ngxs-root.module';
|
|
16
17
|
export { PluginManager as ɵp } from './src/plugin-manager';
|
|
17
|
-
export { TokenName as
|
|
18
|
+
export { TokenName as ɵz } from './src/state-token/symbols';
|
|
18
19
|
export { FEATURE_STATE_TOKEN as ɵd, NgxsConfig as ɵf, ROOT_STATE_TOKEN as ɵc, SELECTOR_META_KEY as ɵe } from './src/symbols';
|
|
19
20
|
export { mergeDeep as ɵg } from './src/utils/utils';
|
package/ngxs-store.metadata.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs","name":"Subject","line":37,"character":39},"members":{"next":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":59,"character":1}}],"members":{}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":36},"arguments":["ROOT_STATE_TOKEN"]},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":39},"arguments":["FEATURE_STATE_TOKEN"]},"ɵe":"NGXS_SELECTOR_META","ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵg":{"__symbolic":"error","message":"Lambda not supported","line":82,"character":25,"module":"./src/utils/utils"},"ɵh":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":8,"character":57},"arguments":["USER_PROVIDED_NGXS_EXECUTION_STRATEGY"]},"ɵi":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":43},"arguments":["NGXS_EXECUTION_STRATEGY",{"__symbolic":"error","message":"Lambda not supported","line":19,"character":13,"module":"./src/execution/symbols"}]},"NgxsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":40,"character":1}}],"members":{},"statics":{"ROOT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":42,"character":45},"arguments":["ROOT_OPTIONS"]},"forRoot":{"__symbolic":"function","parameters":["states","options"],"defaults":[[],{}],"value":{"ngModule":{"__symbolic":"reference","name":"ɵj"},"providers":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"Actions"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NgxsBootstrapper","line":58,"character":8},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"__symbolic":"spread","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ngxsTokenProviders"},"arguments":[{"__symbolic":"reference","name":"states"},{"__symbolic":"reference","name":"options"}]}}]}},"forFeature":{"__symbolic":"function","parameters":["states"],"defaults":[[]],"value":{"ngModule":{"__symbolic":"reference","name":"ɵx"},"providers":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"reference","name":"ɵd"},"multi":true,"useValue":{"__symbolic":"reference","name":"states"}}]}},"ngxsTokenProviders":{"__symbolic":"function","parameters":["states","options"],"value":[{"provide":{"__symbolic":"reference","name":"ɵh"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"executionStrategy"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ROOT_OPTIONS"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","name":"ɵf"},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ngxsConfigFactory"},"deps":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ROOT_OPTIONS"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_BOOTSTRAP_LISTENER","line":115,"character":17},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"appBootstrapListenerFactory"},"multi":true,"deps":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NgxsBootstrapper","line":118,"character":15}]},{"provide":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"INITIAL_STATE_TOKEN","line":121,"character":17},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"getInitialState"}},{"provide":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NGXS_STATE_CONTEXT_FACTORY","line":125,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵn"}},{"provide":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NGXS_STATE_FACTORY","line":129,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵk"}}]},"ngxsConfigFactory":{"__symbolic":"function","parameters":["options"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵg"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵf"}},{"__symbolic":"reference","name":"options"}]}},"appBootstrapListenerFactory":{"__symbolic":"function","parameters":["bootstrapper"],"value":{"__symbolic":"error","message":"Lambda not supported","line":140,"character":11,"module":"./src/module"}},"getInitialState":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"InitialState","line":144,"character":11},"member":"pop"}}}}},"Action":{"__symbolic":"function","parameters":["actions","options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":11,"character":9,"module":"./src/decorators/action"}},"Store":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":5},"arguments":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"INITIAL_STATE_TOKEN","line":42,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"any"}]}],"dispatch":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectOnce":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectSnapshot":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"snapshot":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"getStoreBoundSelectorFn":[{"__symbolic":"method"}],"initStateStream":[{"__symbolic":"method"}]}},"State":{"__symbolic":"function"},"Select":{"__symbolic":"function","parameters":["rawSelector","paths"],"value":{"__symbolic":"error","message":"Lambda not supported","line":17,"character":9,"module":"./src/decorators/select/select"}},"SelectorOptions":{"__symbolic":"function","parameters":["options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":8,"character":4,"module":"./src/decorators/selector-options"}},"Actions":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":68,"character":29},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":67,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵq"}]}]}},"ActionContext":{"__symbolic":"interface"},"ActionStatus":{"Dispatched":"DISPATCHED","Successful":"SUCCESSFUL","Canceled":"CANCELED","Errored":"ERRORED"},"getSelectorMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵv"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"getStoreMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵt"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"ensureStoreMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵs"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"ensureSelectorMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵu"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"ofAction":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionDispatched":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionSuccessful":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionCanceled":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionErrored":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionCompleted":{"__symbolic":"function"},"ActionCompletion":{"__symbolic":"interface"},"StateContext":{"__symbolic":"interface"},"StateOperator":{"__symbolic":"interface"},"NgxsOnInit":{"__symbolic":"interface"},"NgxsAfterBootstrap":{"__symbolic":"interface"},"NgxsOnChanges":{"__symbolic":"interface"},"NgxsModuleOptions":{"__symbolic":"interface"},"NgxsSimpleChange":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":145,"character":35,"context":{"typeName":"T"},"module":"./src/symbols"},{"__symbolic":"error","message":"Could not resolve type","line":146,"character":34,"context":{"typeName":"T"},"module":"./src/symbols"},{"__symbolic":"reference","name":"boolean"}]}]}},"Selector":{"__symbolic":"function","parameters":["selectors"],"value":{"__symbolic":"error","message":"Lambda not supported","line":8,"character":9,"module":"./src/decorators/selector/selector"}},"getActionTypeFromInstance":{"__symbolic":"function"},"actionMatcher":{"__symbolic":"function"},"createSelector":{"__symbolic":"function"},"NgxsExecutionStrategy":{"__symbolic":"interface"},"ActionType":{"__symbolic":"interface"},"ActionOptions":{"__symbolic":"interface"},"NoopNgxsExecutionStrategy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"enter":[{"__symbolic":"method"}],"leave":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"StateToken":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵy"}]}],"getName":[{"__symbolic":"method"}],"toString":[{"__symbolic":"method"}]}},"NGXS_PLUGINS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":11,"character":32},"arguments":["NGXS_PLUGINS"]},"NgxsPlugin":{"__symbolic":"interface"},"NgxsPluginFn":{"__symbolic":"interface"},"NgxsNextPluginFn":{"__symbolic":"interface"},"StateStream":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"BehaviorSubject","line":10,"character":33},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"setValue":{"__symbolic":"error","message":"Lambda not supported","line":34,"character":24,"module":"./src/utils/utils"},"getValue":{"__symbolic":"error","message":"Lambda not supported","line":60,"character":24,"module":"./src/utils/utils"},"InitState":{"__symbolic":"class","members":{},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":6,"character":13}}},"UpdateState":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"PlainObject","line":21,"character":35}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":16,"character":13}}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null],"parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":14},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵr"}]},{"__symbolic":"reference","name":"ɵw"}]}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":43,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":51,"character":5}}],null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":56,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":57,"character":5},"arguments":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"INITIAL_STATE_TOKEN","line":57,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":48,"character":23},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"addAndReturnDefaults":[{"__symbolic":"method"}],"connectActionHandlers":[{"__symbolic":"method"}],"invokeActions":[{"__symbolic":"method"}],"addToStatesMap":[{"__symbolic":"method"}],"addRuntimeInfoToMeta":[{"__symbolic":"method"}],"hasBeenMountedAndBootstrapped":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Subject","line":19,"character":53},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":26,"character":23},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵq"}]}],"dispatch":[{"__symbolic":"method"}],"dispatchByEvents":[{"__symbolic":"method"}],"dispatchSingle":[{"__symbolic":"method"}],"getActionResultStream":[{"__symbolic":"method"}],"createDispatchObservable":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵo"}]}],"createStateContext":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵf"}]}],"getRootStateOperations":[{"__symbolic":"method"}],"setStateToTheCurrentWithNew":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":8,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":9,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":5},"arguments":[{"__symbolic":"reference","name":"NGXS_PLUGINS"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":12,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"NgxsPlugin"}]}]}],"registerHandlers":[{"__symbolic":"method"}],"getPluginHandlers":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]],"parameters":[{"__symbolic":"reference","name":"NgxsExecutionStrategy"}]}],"enter":[{"__symbolic":"method"}],"leave":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"interface"},"ɵs":{"__symbolic":"function"},"ɵt":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"error","message":"Expression form not supported","line":109,"character":9,"module":"./src/internal/internals"}},"ɵu":{"__symbolic":"function"},"ɵv":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"target"},"index":{"__symbolic":"reference","name":"ɵe"}}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NgxsBootstrapper","line":14,"character":26}]}],"ngxsBootstrap":[{"__symbolic":"method"}],"invokeInit":[{"__symbolic":"method"}],"invokeBootstrap":[{"__symbolic":"method"}],"getStateContext":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}],null],"parameters":[{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵr"}]}]},{"__symbolic":"reference","name":"ɵw"}]}]},"statics":{"flattenStates":{"__symbolic":"function","parameters":["states"],"defaults":[[]],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"states"},"member":"reduce"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":42,"character":6,"module":"./src/modules/ngxs-feature.module"},[]]}}}},"ɵy":{"__symbolic":"interface"}},"origins":{"ɵa":"./src/actions-stream","ɵb":"./src/actions-stream","ɵc":"./src/symbols","ɵd":"./src/symbols","ɵe":"./src/symbols","ɵf":"./src/symbols","ɵg":"./src/utils/utils","ɵh":"./src/execution/symbols","ɵi":"./src/execution/symbols","NgxsModule":"./src/module","Action":"./src/decorators/action","Store":"./src/store","State":"./src/decorators/state","Select":"./src/decorators/select/select","SelectorOptions":"./src/decorators/selector-options","Actions":"./src/actions-stream","ActionContext":"./src/actions-stream","ActionStatus":"./src/actions-stream","getSelectorMetadata":"./src/public_to_deprecate","getStoreMetadata":"./src/public_to_deprecate","ensureStoreMetadata":"./src/public_to_deprecate","ensureSelectorMetadata":"./src/public_to_deprecate","ofAction":"./src/operators/of-action","ofActionDispatched":"./src/operators/of-action","ofActionSuccessful":"./src/operators/of-action","ofActionCanceled":"./src/operators/of-action","ofActionErrored":"./src/operators/of-action","ofActionCompleted":"./src/operators/of-action","ActionCompletion":"./src/operators/of-action","StateContext":"./src/symbols","StateOperator":"./src/symbols","NgxsOnInit":"./src/symbols","NgxsAfterBootstrap":"./src/symbols","NgxsOnChanges":"./src/symbols","NgxsModuleOptions":"./src/symbols","NgxsSimpleChange":"./src/symbols","Selector":"./src/decorators/selector/selector","getActionTypeFromInstance":"./src/utils/utils","actionMatcher":"./src/utils/utils","createSelector":"./src/utils/selector-utils","NgxsExecutionStrategy":"./src/execution/symbols","ActionType":"./src/actions/symbols","ActionOptions":"./src/actions/symbols","NoopNgxsExecutionStrategy":"./src/execution/noop-ngxs-execution-strategy","StateToken":"./src/state-token/state-token","NGXS_PLUGINS":"./src/symbols","NgxsPlugin":"./src/symbols","NgxsPluginFn":"./src/symbols","NgxsNextPluginFn":"./src/symbols","StateStream":"./src/internal/state-stream","setValue":"./src/utils/utils","getValue":"./src/utils/utils","InitState":"./src/actions/actions","UpdateState":"./src/actions/actions","ɵj":"./src/modules/ngxs-root.module","ɵk":"./src/internal/state-factory","ɵl":"./src/internal/dispatcher","ɵm":"./src/internal/dispatcher","ɵn":"./src/internal/state-context-factory","ɵo":"./src/internal/state-operations","ɵp":"./src/plugin-manager","ɵq":"./src/execution/internal-ngxs-execution-strategy","ɵr":"./src/internal/internals","ɵs":"./src/internal/internals","ɵt":"./src/internal/internals","ɵu":"./src/internal/internals","ɵv":"./src/internal/internals","ɵw":"./src/internal/lifecycle-state-manager","ɵx":"./src/modules/ngxs-feature.module","ɵy":"./src/state-token/symbols"},"importAs":"@ngxs/store"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"rxjs","name":"Subject","line":37,"character":39},"members":{"next":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":59,"character":1}}],"members":{}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":36},"arguments":["ROOT_STATE_TOKEN"]},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":39},"arguments":["FEATURE_STATE_TOKEN"]},"ɵe":"NGXS_SELECTOR_META","ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ɵg":{"__symbolic":"error","message":"Lambda not supported","line":82,"character":25,"module":"./src/utils/utils"},"ɵh":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":8,"character":57},"arguments":["USER_PROVIDED_NGXS_EXECUTION_STRATEGY"]},"ɵi":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":43},"arguments":["NGXS_EXECUTION_STRATEGY",{"__symbolic":"error","message":"Lambda not supported","line":19,"character":13,"module":"./src/execution/symbols"}]},"NgxsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":41,"character":1}}],"members":{},"statics":{"ROOT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":43,"character":45},"arguments":["ROOT_OPTIONS"]},"forRoot":{"__symbolic":"function","parameters":["states","options"],"defaults":[[],{}],"value":{"ngModule":{"__symbolic":"reference","name":"ɵj"},"providers":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"Actions"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NgxsBootstrapper","line":59,"character":8},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"__symbolic":"spread","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ngxsTokenProviders"},"arguments":[{"__symbolic":"reference","name":"states"},{"__symbolic":"reference","name":"options"}]}}]}},"forFeature":{"__symbolic":"function","parameters":["states"],"defaults":[[]],"value":{"ngModule":{"__symbolic":"reference","name":"ɵy"},"providers":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"reference","name":"ɵd"},"multi":true,"useValue":{"__symbolic":"reference","name":"states"}}]}},"ngxsTokenProviders":{"__symbolic":"function","parameters":["states","options"],"value":[{"provide":{"__symbolic":"reference","name":"ɵh"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"executionStrategy"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"reference","name":"states"}},{"provide":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ROOT_OPTIONS"},"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","name":"ɵf"},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ngxsConfigFactory"},"deps":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"ROOT_OPTIONS"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_BOOTSTRAP_LISTENER","line":117,"character":17},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"appBootstrapListenerFactory"},"multi":true,"deps":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NgxsBootstrapper","line":120,"character":15}]},{"provide":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"INITIAL_STATE_TOKEN","line":123,"character":17},"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxsModule"},"member":"getInitialState"}},{"provide":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NGXS_STATE_CONTEXT_FACTORY","line":127,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵn"}},{"provide":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NGXS_STATE_FACTORY","line":131,"character":17},"useExisting":{"__symbolic":"reference","name":"ɵk"}}]},"ngxsConfigFactory":{"__symbolic":"function","parameters":["options"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵg"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵf"}},{"__symbolic":"reference","name":"options"}]}},"appBootstrapListenerFactory":{"__symbolic":"function","parameters":["bootstrapper"],"value":{"__symbolic":"error","message":"Lambda not supported","line":142,"character":11,"module":"./src/module"}},"getInitialState":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store/internals","name":"InitialState","line":146,"character":11},"member":"pop"}}}}},"Action":{"__symbolic":"function","parameters":["actions","options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":11,"character":9,"module":"./src/decorators/action"}},"Store":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":5},"arguments":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"INITIAL_STATE_TOKEN","line":42,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"any"}]}],"dispatch":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectOnce":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"selectSnapshot":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"subscribe":[{"__symbolic":"method"}],"snapshot":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"getStoreBoundSelectorFn":[{"__symbolic":"method"}],"initStateStream":[{"__symbolic":"method"}]}},"State":{"__symbolic":"function"},"Select":{"__symbolic":"function","parameters":["rawSelector","paths"],"value":{"__symbolic":"error","message":"Lambda not supported","line":7,"character":9,"module":"./src/decorators/select/select"}},"SelectorOptions":{"__symbolic":"function","parameters":["options"],"value":{"__symbolic":"error","message":"Lambda not supported","line":8,"character":4,"module":"./src/decorators/selector-options"}},"Actions":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":68,"character":29},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":67,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵq"}]}]}},"ActionContext":{"__symbolic":"interface"},"ActionStatus":{"Dispatched":"DISPATCHED","Successful":"SUCCESSFUL","Canceled":"CANCELED","Errored":"ERRORED"},"getSelectorMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵw"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"getStoreMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵu"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"ensureStoreMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵt"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"ensureSelectorMetadata":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵv"},"arguments":[{"__symbolic":"reference","name":"target"}]}},"ofAction":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionDispatched":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionSuccessful":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionCanceled":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionErrored":{"__symbolic":"function","parameters":["allowedTypes"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":115,"character":9,"context":{"name":"ofActionOperator"},"module":"./src/operators/of-action"}},"ofActionCompleted":{"__symbolic":"function"},"ActionCompletion":{"__symbolic":"interface"},"StateContext":{"__symbolic":"interface"},"StateOperator":{"__symbolic":"interface"},"NgxsOnInit":{"__symbolic":"interface"},"NgxsAfterBootstrap":{"__symbolic":"interface"},"NgxsOnChanges":{"__symbolic":"interface"},"NgxsModuleOptions":{"__symbolic":"interface"},"NgxsSimpleChange":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":145,"character":35,"context":{"typeName":"T"},"module":"./src/symbols"},{"__symbolic":"error","message":"Could not resolve type","line":146,"character":34,"context":{"typeName":"T"},"module":"./src/symbols"},{"__symbolic":"reference","name":"boolean"}]}]}},"Selector":{"__symbolic":"function","parameters":["selectors"],"value":{"__symbolic":"error","message":"Lambda not supported","line":8,"character":9,"module":"./src/decorators/selector/selector"}},"getActionTypeFromInstance":{"__symbolic":"function"},"actionMatcher":{"__symbolic":"function"},"createSelector":{"__symbolic":"function"},"NgxsExecutionStrategy":{"__symbolic":"interface"},"ActionType":{"__symbolic":"interface"},"ActionOptions":{"__symbolic":"interface"},"NoopNgxsExecutionStrategy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"enter":[{"__symbolic":"method"}],"leave":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"StateToken":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵz"}]}],"getName":[{"__symbolic":"method"}],"toString":[{"__symbolic":"method"}]}},"NGXS_PLUGINS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":11,"character":32},"arguments":["NGXS_PLUGINS"]},"NgxsPlugin":{"__symbolic":"interface"},"NgxsPluginFn":{"__symbolic":"interface"},"NgxsNextPluginFn":{"__symbolic":"interface"},"StateStream":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"BehaviorSubject","line":10,"character":33},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"setValue":{"__symbolic":"error","message":"Lambda not supported","line":34,"character":24,"module":"./src/utils/utils"},"getValue":{"__symbolic":"error","message":"Lambda not supported","line":60,"character":24,"module":"./src/utils/utils"},"InitState":{"__symbolic":"class","members":{},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":6,"character":13}}},"UpdateState":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"PlainObject","line":21,"character":35}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":16,"character":13}}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null],"parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵs"}]},{"__symbolic":"reference","name":"ɵx"}]}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":43,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":51,"character":5}}],null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":56,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":57,"character":5},"arguments":[{"__symbolic":"reference","module":"@ngxs/store/internals","name":"INITIAL_STATE_TOKEN","line":57,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":48,"character":23},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"addAndReturnDefaults":[{"__symbolic":"method"}],"connectActionHandlers":[{"__symbolic":"method"}],"invokeActions":[{"__symbolic":"method"}],"addToStatesMap":[{"__symbolic":"method"}],"addRuntimeInfoToMeta":[{"__symbolic":"method"}],"hasBeenMountedAndBootstrapped":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Subject","line":19,"character":53},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":26,"character":23},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵq"}]}],"dispatch":[{"__symbolic":"method"}],"dispatchByEvents":[{"__symbolic":"method"}],"dispatchSingle":[{"__symbolic":"method"}],"getActionResultStream":[{"__symbolic":"method"}],"createDispatchObservable":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵo"}]}],"createStateContext":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"StateStream"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵf"}]}],"getRootStateOperations":[{"__symbolic":"method"}],"setStateToTheCurrentWithNew":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":8,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":9,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":5},"arguments":[{"__symbolic":"reference","name":"NGXS_PLUGINS"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":12,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"NgxsPlugin"}]}]}],"registerHandlers":[{"__symbolic":"method"}],"getPluginHandlers":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵi"}]}]],"parameters":[{"__symbolic":"reference","name":"NgxsExecutionStrategy"}]}],"enter":[{"__symbolic":"method"}],"leave":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"store":null,"config":null}},"ɵs":{"__symbolic":"interface"},"ɵt":{"__symbolic":"function"},"ɵu":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"error","message":"Expression form not supported","line":109,"character":9,"module":"./src/internal/internals"}},"ɵv":{"__symbolic":"function"},"ɵw":{"__symbolic":"function","parameters":["target"],"value":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"target"},"index":{"__symbolic":"reference","name":"ɵe"}}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","module":"@ngxs/store/internals","name":"NgxsBootstrapper","line":14,"character":26}]}],"ngxsBootstrap":[{"__symbolic":"method"}],"invokeInit":[{"__symbolic":"method"}],"invokeBootstrap":[{"__symbolic":"method"}],"getStateContext":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}],null],"parameters":[{"__symbolic":"reference","name":"Store"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵs"}]}]},{"__symbolic":"reference","name":"ɵx"}]}]},"statics":{"flattenStates":{"__symbolic":"function","parameters":["states"],"defaults":[[]],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"states"},"member":"reduce"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":42,"character":6,"module":"./src/modules/ngxs-feature.module"},[]]}}}},"ɵz":{"__symbolic":"interface"}},"origins":{"ɵa":"./src/actions-stream","ɵb":"./src/actions-stream","ɵc":"./src/symbols","ɵd":"./src/symbols","ɵe":"./src/symbols","ɵf":"./src/symbols","ɵg":"./src/utils/utils","ɵh":"./src/execution/symbols","ɵi":"./src/execution/symbols","NgxsModule":"./src/module","Action":"./src/decorators/action","Store":"./src/store","State":"./src/decorators/state","Select":"./src/decorators/select/select","SelectorOptions":"./src/decorators/selector-options","Actions":"./src/actions-stream","ActionContext":"./src/actions-stream","ActionStatus":"./src/actions-stream","getSelectorMetadata":"./src/public_to_deprecate","getStoreMetadata":"./src/public_to_deprecate","ensureStoreMetadata":"./src/public_to_deprecate","ensureSelectorMetadata":"./src/public_to_deprecate","ofAction":"./src/operators/of-action","ofActionDispatched":"./src/operators/of-action","ofActionSuccessful":"./src/operators/of-action","ofActionCanceled":"./src/operators/of-action","ofActionErrored":"./src/operators/of-action","ofActionCompleted":"./src/operators/of-action","ActionCompletion":"./src/operators/of-action","StateContext":"./src/symbols","StateOperator":"./src/symbols","NgxsOnInit":"./src/symbols","NgxsAfterBootstrap":"./src/symbols","NgxsOnChanges":"./src/symbols","NgxsModuleOptions":"./src/symbols","NgxsSimpleChange":"./src/symbols","Selector":"./src/decorators/selector/selector","getActionTypeFromInstance":"./src/utils/utils","actionMatcher":"./src/utils/utils","createSelector":"./src/utils/selector-utils","NgxsExecutionStrategy":"./src/execution/symbols","ActionType":"./src/actions/symbols","ActionOptions":"./src/actions/symbols","NoopNgxsExecutionStrategy":"./src/execution/noop-ngxs-execution-strategy","StateToken":"./src/state-token/state-token","NGXS_PLUGINS":"./src/symbols","NgxsPlugin":"./src/symbols","NgxsPluginFn":"./src/symbols","NgxsNextPluginFn":"./src/symbols","StateStream":"./src/internal/state-stream","setValue":"./src/utils/utils","getValue":"./src/utils/utils","InitState":"./src/actions/actions","UpdateState":"./src/actions/actions","ɵj":"./src/modules/ngxs-root.module","ɵk":"./src/internal/state-factory","ɵl":"./src/internal/dispatcher","ɵm":"./src/internal/dispatcher","ɵn":"./src/internal/state-context-factory","ɵo":"./src/internal/state-operations","ɵp":"./src/plugin-manager","ɵq":"./src/execution/internal-ngxs-execution-strategy","ɵr":"./src/decorators/select/select-factory","ɵs":"./src/internal/internals","ɵt":"./src/internal/internals","ɵu":"./src/internal/internals","ɵv":"./src/internal/internals","ɵw":"./src/internal/internals","ɵx":"./src/internal/lifecycle-state-manager","ɵy":"./src/modules/ngxs-feature.module","ɵz":"./src/state-token/symbols"},"importAs":"@ngxs/store"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { Type } from '@angular/core';
|
|
2
1
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { Store } from '../../store';
|
|
4
|
-
import { NgxsConfig } from '../../symbols';
|
|
5
2
|
import { StateToken } from '../../state-token/state-token';
|
|
6
3
|
import { ExtractTokenType } from '../../state-token/symbols';
|
|
7
|
-
export declare function createSelectObservable<T = any>(selector: any
|
|
8
|
-
export declare function createSelectorFn(
|
|
4
|
+
export declare function createSelectObservable<T = any>(selector: any): Observable<T>;
|
|
5
|
+
export declare function createSelectorFn(name: string, rawSelector?: any, paths?: string[]): any;
|
|
9
6
|
/**
|
|
10
7
|
* @example If `foo$` => make it just `foo`
|
|
11
8
|
*/
|
|
12
9
|
export declare function removeDollarAtTheEnd(name: string): string;
|
|
13
|
-
export declare type SelectorFn = ((state: any, ...states: any[]) => any) | string | Type<any> | StateToken<any>;
|
|
14
10
|
export declare type PropertyType<T> = T extends StateToken<any> ? Observable<ExtractTokenType<T>> : T extends (...args: any[]) => any ? Observable<ReturnType<T>> : any;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Injector } from '@angular/core';
|
|
2
1
|
import { StateFactory } from '../internal/state-factory';
|
|
3
2
|
import { InternalStateOperations } from '../internal/state-operations';
|
|
4
3
|
import { Store } from '../store';
|
|
4
|
+
import { SelectFactory } from '../decorators/select/select-factory';
|
|
5
5
|
import { StateClassInternal } from '../internal/internals';
|
|
6
6
|
import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
|
|
7
7
|
/**
|
|
@@ -9,5 +9,5 @@ import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
|
|
|
9
9
|
* @ignore
|
|
10
10
|
*/
|
|
11
11
|
export declare class NgxsRootModule {
|
|
12
|
-
constructor(factory: StateFactory, internalStateOperations: InternalStateOperations, _store: Store,
|
|
12
|
+
constructor(factory: StateFactory, internalStateOperations: InternalStateOperations, _store: Store, _select: SelectFactory, states: StateClassInternal<any, any>[] | undefined, lifecycleStateManager: LifecycleStateManager);
|
|
13
13
|
}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { INJECTOR, ɵglobal, ɵɵdirectiveInject } from '@angular/core';
|
|
6
|
-
import { ReplaySubject } from 'rxjs';
|
|
7
|
-
import { isAngularInTestMode } from './angular';
|
|
8
|
-
// Angular doesn't export `NG_FACTORY_DEF`.
|
|
9
|
-
/** @type {?} */
|
|
10
|
-
const NG_FACTORY_DEF = 'ɵfac';
|
|
11
|
-
// A `Symbol` which is used to save the `Injector` onto the class instance.
|
|
12
|
-
/** @type {?} */
|
|
13
|
-
const InjectorInstance = Symbol('InjectorInstance');
|
|
14
|
-
// A `Symbol` which is used to determine if factory has been decorated previously or not.
|
|
15
|
-
/** @type {?} */
|
|
16
|
-
const FactoryHasBeenDecorated = Symbol('FactoryHasBeenDecorated');
|
|
17
|
-
// A `Symbol` which is used to save the notifier on the class instance. The `InjectorInstance` cannot
|
|
18
|
-
// be retrieved within the `constructor` since it's set after the `factory()` is called.
|
|
19
|
-
/** @type {?} */
|
|
20
|
-
const InjectorNotifier = Symbol('InjectorNotifier');
|
|
21
|
-
/**
|
|
22
|
-
* @record
|
|
23
|
-
*/
|
|
24
|
-
function PrototypeWithInjectorNotifier() { }
|
|
25
|
-
if (false) {
|
|
26
|
-
/* Skipping unnamed member:
|
|
27
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;*/
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @param {?} target
|
|
31
|
-
* @return {?}
|
|
32
|
-
*/
|
|
33
|
-
export function ensureInjectorNotifierIsCaptured(target) {
|
|
34
|
-
if (target[InjectorNotifier]) {
|
|
35
|
-
return (/** @type {?} */ (target[InjectorNotifier]));
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
/** @type {?} */
|
|
39
|
-
const injectorNotifier$ = new ReplaySubject(1);
|
|
40
|
-
Object.defineProperty(target, InjectorNotifier, {
|
|
41
|
-
get: (/**
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
() => injectorNotifier$)
|
|
45
|
-
});
|
|
46
|
-
return injectorNotifier$;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
50
|
-
/**
|
|
51
|
-
* @param {?} target
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
export function ensureLocalInjectorCaptured(target) {
|
|
55
|
-
if (FactoryHasBeenDecorated in target.constructor.prototype) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
/** @type {?} */
|
|
59
|
-
const constructor = target.constructor;
|
|
60
|
-
// The factory is set later by the Angular compiler in JIT mode, and we're not able to patch the factory now.
|
|
61
|
-
// We can't use any asynchronous code like `Promise.resolve().then(...)` since this is not functional in unit
|
|
62
|
-
// tests that are being run in `SyncTestZoneSpec`.
|
|
63
|
-
// Given the following example:
|
|
64
|
-
// @Component()
|
|
65
|
-
// class BaseComponent {}
|
|
66
|
-
// @Component()
|
|
67
|
-
// class MainComponent extends BaseComponent {
|
|
68
|
-
// @Select(AnimalsState) animals$: Observable<string[]>;
|
|
69
|
-
// }
|
|
70
|
-
// In this example, the factory will be defined for the `BaseComponent`, but will not be defined for the `MainComponent`.
|
|
71
|
-
// If we try to decorate the factory immediately, we'll get `Cannot redefine property` exception when Angular will try to define
|
|
72
|
-
// an original factory for the `MainComponent`.
|
|
73
|
-
// Note: the factory is defined statically in the code in AOT mode.
|
|
74
|
-
// AppComponent.ɵfac = function AppComponent_Factory(t) {
|
|
75
|
-
// return new (t || AppComponent)();
|
|
76
|
-
// };
|
|
77
|
-
// __decorate([Select], AppComponent.prototype, 'animals$', void 0);
|
|
78
|
-
/** @type {?} */
|
|
79
|
-
const isJitModeOrIsAngularInTestMode = isAngularInTestMode() || !!(ɵglobal.ng && ɵglobal.ng.ɵcompilerFacade);
|
|
80
|
-
// If we're in development mode AND we're running unit tests or there's a compiler facade exposed,
|
|
81
|
-
// then patch `Object.defineProperty`. The compiler facade is exposed in JIT mode.
|
|
82
|
-
if (ngDevMode && isJitModeOrIsAngularInTestMode) {
|
|
83
|
-
patchObjectDefineProperty();
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
decorateFactory(constructor);
|
|
87
|
-
}
|
|
88
|
-
target.constructor.prototype[FactoryHasBeenDecorated] = true;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* @template T
|
|
92
|
-
* @param {?} instance
|
|
93
|
-
* @param {?} token
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
export function localInject(instance, token) {
|
|
97
|
-
/** @type {?} */
|
|
98
|
-
const injector = instance[InjectorInstance];
|
|
99
|
-
return injector ? injector.get(token) : null;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* @param {?} constructor
|
|
103
|
-
* @return {?}
|
|
104
|
-
*/
|
|
105
|
-
function decorateFactory(constructor) {
|
|
106
|
-
/** @type {?} */
|
|
107
|
-
const factory = constructor[NG_FACTORY_DEF];
|
|
108
|
-
if (typeof factory !== 'function') {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
// Let's try to get any definition.
|
|
112
|
-
// Caretaker note: this will be compatible only with Angular 9+, since Angular 9 is the first
|
|
113
|
-
// Ivy-stable version. Previously definition properties were named differently (e.g. `ngComponentDef`).
|
|
114
|
-
/** @type {?} */
|
|
115
|
-
const def = constructor.ɵprov || constructor.ɵpipe || constructor.ɵcmp || constructor.ɵdir;
|
|
116
|
-
/** @type {?} */
|
|
117
|
-
const decoratedFactory = (/**
|
|
118
|
-
* @return {?}
|
|
119
|
-
*/
|
|
120
|
-
() => {
|
|
121
|
-
/** @type {?} */
|
|
122
|
-
const instance = factory();
|
|
123
|
-
// Caretaker note: `inject()` won't work here.
|
|
124
|
-
// We can use the `directiveInject` only during the component
|
|
125
|
-
// construction, since Angular captures the currently active injector.
|
|
126
|
-
// We're not able to use this function inside the getter (when the `selectorId` property is
|
|
127
|
-
// requested for the first time), since the currently active injector will be null.
|
|
128
|
-
instance[InjectorInstance] = ɵɵdirectiveInject(
|
|
129
|
-
// We're using `INJECTOR` token except of the `Injector` class since the compiler
|
|
130
|
-
// throws: `Cannot assign an abstract constructor type to a non-abstract constructor type.`.
|
|
131
|
-
// Caretaker note: that this is the same way of getting the injector.
|
|
132
|
-
INJECTOR);
|
|
133
|
-
// Caretaker note: the notifier will be available only if consumers call the `ensureInjectorNotifierIsCaptured()`.
|
|
134
|
-
/** @type {?} */
|
|
135
|
-
const injectorNotifier$ = instance[InjectorNotifier];
|
|
136
|
-
if (injectorNotifier$) {
|
|
137
|
-
injectorNotifier$.next(true);
|
|
138
|
-
injectorNotifier$.complete();
|
|
139
|
-
}
|
|
140
|
-
return instance;
|
|
141
|
-
});
|
|
142
|
-
// If we've found any definition then it's enough to override the `def.factory` since Angular
|
|
143
|
-
// code uses the `def.factory` and then fallbacks to `ɵfac`.
|
|
144
|
-
if (def) {
|
|
145
|
-
def.factory = decoratedFactory;
|
|
146
|
-
}
|
|
147
|
-
// `@NgModule()` doesn't doesn't have definition factory, also providers have definitions but Angular
|
|
148
|
-
// still uses the `ɵfac`.
|
|
149
|
-
Object.defineProperty(constructor, NG_FACTORY_DEF, {
|
|
150
|
-
get: (/**
|
|
151
|
-
* @return {?}
|
|
152
|
-
*/
|
|
153
|
-
() => decoratedFactory)
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
// Note: this function will be tree-shaken in production.
|
|
157
|
-
const ɵ0 = /**
|
|
158
|
-
* @return {?}
|
|
159
|
-
*/
|
|
160
|
-
() => {
|
|
161
|
-
/** @type {?} */
|
|
162
|
-
let objectDefinePropertyPatched = false;
|
|
163
|
-
return (/**
|
|
164
|
-
* @return {?}
|
|
165
|
-
*/
|
|
166
|
-
() => {
|
|
167
|
-
if (objectDefinePropertyPatched) {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
/** @type {?} */
|
|
171
|
-
const defineProperty = Object.defineProperty;
|
|
172
|
-
// We should not be patching globals, but there's no other way to know when it's appropriate
|
|
173
|
-
// to decorate the original factory. There're different edge cases, e.g., when the class extends
|
|
174
|
-
// another class, the factory will be defined for the base class but not for the child class.
|
|
175
|
-
// The patching will be done only during the development and in JIT mode.
|
|
176
|
-
Object.defineProperty = (/**
|
|
177
|
-
* @template T
|
|
178
|
-
* @param {?} object
|
|
179
|
-
* @param {?} propertyKey
|
|
180
|
-
* @param {?} attributes
|
|
181
|
-
* @return {?}
|
|
182
|
-
*/
|
|
183
|
-
function (object, propertyKey, attributes) {
|
|
184
|
-
// Angular calls `Object.defineProperty(target, 'ɵfac', { get: ..., configurable: true })` when defining a factory function.
|
|
185
|
-
// We only want to intercept `ɵfac` key.
|
|
186
|
-
// If the property is `ɵfac` AND `configurable` equals `true`, then let's call the original
|
|
187
|
-
// implementation and then decorate the factory.
|
|
188
|
-
// // https://github.com/angular/angular/blob/3a60063a54d850c50ce962a8a39ce01cfee71398/packages/core/src/render3/jit/pipe.ts#L21-L39
|
|
189
|
-
if (propertyKey !== NG_FACTORY_DEF ||
|
|
190
|
-
// We also call `Object.defineProperty(target, 'ɵfac', ...)`, but we don't set `configurable` property.
|
|
191
|
-
(propertyKey === NG_FACTORY_DEF && !attributes.configurable)) {
|
|
192
|
-
return (/** @type {?} */ (defineProperty.call(this, object, propertyKey, attributes)));
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
// If the property is `ɵfac` AND `configurable` equals `true`, then let's call the original
|
|
196
|
-
// implementation and then decorate the factory.
|
|
197
|
-
defineProperty.call(this, object, propertyKey, attributes);
|
|
198
|
-
decorateFactory((/** @type {?} */ (((/** @type {?} */ (object))))));
|
|
199
|
-
return object;
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
objectDefinePropertyPatched = true;
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
/** @type {?} */
|
|
206
|
-
const patchObjectDefineProperty = ((ɵ0))();
|
|
207
|
-
/**
|
|
208
|
-
* @record
|
|
209
|
-
*/
|
|
210
|
-
function Definition() { }
|
|
211
|
-
if (false) {
|
|
212
|
-
/** @type {?} */
|
|
213
|
-
Definition.prototype.factory;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* @record
|
|
217
|
-
*/
|
|
218
|
-
function ConstructorWithDefinitionAndFactory() { }
|
|
219
|
-
if (false) {
|
|
220
|
-
/** @type {?|undefined} */
|
|
221
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵprov;
|
|
222
|
-
/** @type {?|undefined} */
|
|
223
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵpipe;
|
|
224
|
-
/** @type {?|undefined} */
|
|
225
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵcmp;
|
|
226
|
-
/** @type {?|undefined} */
|
|
227
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵdir;
|
|
228
|
-
/* Skipping unnamed member:
|
|
229
|
-
[NG_FACTORY_DEF]?: Factory;*/
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* @record
|
|
233
|
-
*/
|
|
234
|
-
function PrivateInstance() { }
|
|
235
|
-
if (false) {
|
|
236
|
-
/* Skipping unnamed member:
|
|
237
|
-
[InjectorInstance]?: Injector;*/
|
|
238
|
-
/* Skipping unnamed member:
|
|
239
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;*/
|
|
240
|
-
}
|
|
241
|
-
export { ɵ0 };
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLWluamVjdG9yLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvIiwic291cmNlcyI6WyJkZWNvcmF0b3ItaW5qZWN0b3ItYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUdMLFFBQVEsRUFFUixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7TUFPMUMsY0FBYyxHQUFHLE1BQU07OztNQUd2QixnQkFBZ0IsR0FBa0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDOzs7TUFHNUQsdUJBQXVCLEdBQWtCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQzs7OztNQUkxRSxnQkFBZ0IsR0FBa0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDOzs7O0FBRWxFLDRDQUVDOzs7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLE1BQXVEO0lBRXZELElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDNUIsT0FBTyxtQkFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxDQUFDO0tBQ2xDO1NBQU07O2NBQ0MsaUJBQWlCLEdBQUcsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFO1lBQzlDLEdBQUc7OztZQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFBO1NBQzdCLENBQUMsQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUM7S0FDMUI7QUFDSCxDQUFDOzs7Ozs7QUFHRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsTUFBYztJQUN4RCxJQUFJLHVCQUF1QixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFO1FBQzNELE9BQU87S0FDUjs7VUFFSyxXQUFXLEdBQXdDLE1BQU0sQ0FBQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztVQXNCckUsOEJBQThCLEdBQ2xDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQztJQUV2RSxrR0FBa0c7SUFDbEcsa0ZBQWtGO0lBQ2xGLElBQUksU0FBUyxJQUFJLDhCQUE4QixFQUFFO1FBQy9DLHlCQUF5QixFQUFFLENBQUM7S0FDN0I7U0FBTTtRQUNMLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM5QjtJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQy9ELENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixRQUF5QixFQUN6QixLQUFrQzs7VUFFNUIsUUFBUSxHQUF5QixRQUFRLENBQUMsZ0JBQWdCLENBQUM7SUFDakUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQyxDQUFDOzs7OztBQUVELFNBQVMsZUFBZSxDQUFDLFdBQWdEOztVQUNqRSxPQUFPLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUUzQyxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRTtRQUNqQyxPQUFPO0tBQ1I7Ozs7O1VBS0ssR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJOztVQUVwRixnQkFBZ0I7OztJQUFHLEdBQUcsRUFBRTs7Y0FDdEIsUUFBUSxHQUFHLE9BQU8sRUFBRTtRQUMxQiw4Q0FBOEM7UUFDOUMsNkRBQTZEO1FBQzdELHNFQUFzRTtRQUN0RSwyRkFBMkY7UUFDM0YsbUZBQW1GO1FBQ25GLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGlCQUFpQjtRQUM1QyxpRkFBaUY7UUFDakYsNEZBQTRGO1FBQzVGLHFFQUFxRTtRQUNyRSxRQUFRLENBQ1QsQ0FBQzs7O2NBR0ksaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ3BELElBQUksaUJBQWlCLEVBQUU7WUFDckIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzlCO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFBO0lBRUQsNkZBQTZGO0lBQzdGLDREQUE0RDtJQUM1RCxJQUFJLEdBQUcsRUFBRTtRQUNQLEdBQUcsQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUM7S0FDaEM7SUFFRCxxR0FBcUc7SUFDckcseUJBQXlCO0lBQ3pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRTtRQUNqRCxHQUFHOzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQTtLQUM1QixDQUFDLENBQUM7QUFDTCxDQUFDOzs7OztBQUdrQyxHQUFHLEVBQUU7O1FBQ2xDLDJCQUEyQixHQUFHLEtBQUs7SUFDdkM7OztJQUFPLEdBQUcsRUFBRTtRQUNWLElBQUksMkJBQTJCLEVBQUU7WUFDL0IsT0FBTztTQUNSOztjQUNLLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYztRQUM1Qyw0RkFBNEY7UUFDNUYsZ0dBQWdHO1FBQ2hHLDZGQUE2RjtRQUM3Rix5RUFBeUU7UUFDekUsTUFBTSxDQUFDLGNBQWM7Ozs7Ozs7UUFBRyxVQUN0QixNQUFTLEVBQ1QsV0FBd0IsRUFDeEIsVUFBOEM7WUFFOUMsNEhBQTRIO1lBQzVILHdDQUF3QztZQUN4QywyRkFBMkY7WUFDM0YsZ0RBQWdEO1lBQ2hELG9JQUFvSTtZQUNwSSxJQUNFLFdBQVcsS0FBSyxjQUFjO2dCQUM5Qix1R0FBdUc7Z0JBQ3ZHLENBQUMsV0FBVyxLQUFLLGNBQWMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFDNUQ7Z0JBQ0EsT0FBTyxtQkFBQSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFLLENBQUM7YUFDeEU7aUJBQU07Z0JBQ0wsMkZBQTJGO2dCQUMzRixnREFBZ0Q7Z0JBQ2hELGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzNELGVBQWUsQ0FBQyxtQkFBQSxDQUFDLG1CQUFBLE1BQU0sRUFBVyxDQUFDLEVBQXVDLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxNQUFNLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQSxDQUFDO1FBQ0YsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO0lBQ3JDLENBQUMsRUFBQztBQUNKLENBQUM7O01BckNLLHlCQUF5QixHQUFHLE1BcUNoQyxFQUFFOzs7O0FBUUoseUJBRUM7OztJQURDLDZCQUF3Qjs7Ozs7QUFHMUIsa0RBVUM7OztJQVJDLG9EQUFtQjs7SUFFbkIsb0RBQW1COztJQUVuQixtREFBa0I7O0lBRWxCLG1EQUFrQjs7Ozs7OztBQUlwQiw4QkFHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgSU5KRUNUT1IsXG4gIFR5cGUsXG4gIMm1Z2xvYmFsLFxuICDJtcm1ZGlyZWN0aXZlSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBpc0FuZ3VsYXJJblRlc3RNb2RlIH0gZnJvbSAnLi9hbmd1bGFyJztcblxuLy8gV2lsbCBiZSBwcm92aWRlZCB0aHJvdWdoIFRlcnNlciBnbG9iYWwgZGVmaW5pdGlvbnMgYnkgQW5ndWxhciBDTElcbi8vIGR1cmluZyB0aGUgcHJvZHVjdGlvbiBidWlsZC4gVGhpcyBpcyBob3cgQW5ndWxhciBkb2VzIHRyZWUtc2hha2luZyBpbnRlcm5hbGx5LlxuZGVjbGFyZSBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG5cbi8vIEFuZ3VsYXIgZG9lc24ndCBleHBvcnQgYE5HX0ZBQ1RPUllfREVGYC5cbmNvbnN0IE5HX0ZBQ1RPUllfREVGID0gJ8m1ZmFjJztcblxuLy8gQSBgU3ltYm9sYCB3aGljaCBpcyB1c2VkIHRvIHNhdmUgdGhlIGBJbmplY3RvcmAgb250byB0aGUgY2xhc3MgaW5zdGFuY2UuXG5jb25zdCBJbmplY3Rvckluc3RhbmNlOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sKCdJbmplY3Rvckluc3RhbmNlJyk7XG5cbi8vIEEgYFN5bWJvbGAgd2hpY2ggaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgZmFjdG9yeSBoYXMgYmVlbiBkZWNvcmF0ZWQgcHJldmlvdXNseSBvciBub3QuXG5jb25zdCBGYWN0b3J5SGFzQmVlbkRlY29yYXRlZDogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbCgnRmFjdG9yeUhhc0JlZW5EZWNvcmF0ZWQnKTtcblxuLy8gQSBgU3ltYm9sYCB3aGljaCBpcyB1c2VkIHRvIHNhdmUgdGhlIG5vdGlmaWVyIG9uIHRoZSBjbGFzcyBpbnN0YW5jZS4gVGhlIGBJbmplY3Rvckluc3RhbmNlYCBjYW5ub3Rcbi8vIGJlIHJldHJpZXZlZCB3aXRoaW4gdGhlIGBjb25zdHJ1Y3RvcmAgc2luY2UgaXQncyBzZXQgYWZ0ZXIgdGhlIGBmYWN0b3J5KClgIGlzIGNhbGxlZC5cbmNvbnN0IEluamVjdG9yTm90aWZpZXI6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ0luamVjdG9yTm90aWZpZXInKTtcblxuaW50ZXJmYWNlIFByb3RvdHlwZVdpdGhJbmplY3Rvck5vdGlmaWVyIGV4dGVuZHMgT2JqZWN0IHtcbiAgW0luamVjdG9yTm90aWZpZXJdPzogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUluamVjdG9yTm90aWZpZXJJc0NhcHR1cmVkKFxuICB0YXJnZXQ6IFByb3RvdHlwZVdpdGhJbmplY3Rvck5vdGlmaWVyIHwgUHJpdmF0ZUluc3RhbmNlXG4pOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+IHtcbiAgaWYgKHRhcmdldFtJbmplY3Rvck5vdGlmaWVyXSkge1xuICAgIHJldHVybiB0YXJnZXRbSW5qZWN0b3JOb3RpZmllcl0hO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGluamVjdG9yTm90aWZpZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgSW5qZWN0b3JOb3RpZmllciwge1xuICAgICAgZ2V0OiAoKSA9PiBpbmplY3Rvck5vdGlmaWVyJFxuICAgIH0pO1xuICAgIHJldHVybiBpbmplY3Rvck5vdGlmaWVyJDtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUxvY2FsSW5qZWN0b3JDYXB0dXJlZCh0YXJnZXQ6IE9iamVjdCk6IHZvaWQge1xuICBpZiAoRmFjdG9yeUhhc0JlZW5EZWNvcmF0ZWQgaW4gdGFyZ2V0LmNvbnN0cnVjdG9yLnByb3RvdHlwZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3RvcldpdGhEZWZpbml0aW9uQW5kRmFjdG9yeSA9IHRhcmdldC5jb25zdHJ1Y3RvcjtcblxuICAvLyBUaGUgZmFjdG9yeSBpcyBzZXQgbGF0ZXIgYnkgdGhlIEFuZ3VsYXIgY29tcGlsZXIgaW4gSklUIG1vZGUsIGFuZCB3ZSdyZSBub3QgYWJsZSB0byBwYXRjaCB0aGUgZmFjdG9yeSBub3cuXG4gIC8vIFdlIGNhbid0IHVzZSBhbnkgYXN5bmNocm9ub3VzIGNvZGUgbGlrZSBgUHJvbWlzZS5yZXNvbHZlKCkudGhlbiguLi4pYCBzaW5jZSB0aGlzIGlzIG5vdCBmdW5jdGlvbmFsIGluIHVuaXRcbiAgLy8gdGVzdHMgdGhhdCBhcmUgYmVpbmcgcnVuIGluIGBTeW5jVGVzdFpvbmVTcGVjYC5cbiAgLy8gR2l2ZW4gdGhlIGZvbGxvd2luZyBleGFtcGxlOlxuICAvLyBAQ29tcG9uZW50KClcbiAgLy8gY2xhc3MgQmFzZUNvbXBvbmVudCB7fVxuICAvLyBAQ29tcG9uZW50KClcbiAgLy8gY2xhc3MgTWFpbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAvLyAgIEBTZWxlY3QoQW5pbWFsc1N0YXRlKSBhbmltYWxzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIC8vIH1cbiAgLy8gSW4gdGhpcyBleGFtcGxlLCB0aGUgZmFjdG9yeSB3aWxsIGJlIGRlZmluZWQgZm9yIHRoZSBgQmFzZUNvbXBvbmVudGAsIGJ1dCB3aWxsIG5vdCBiZSBkZWZpbmVkIGZvciB0aGUgYE1haW5Db21wb25lbnRgLlxuICAvLyBJZiB3ZSB0cnkgdG8gZGVjb3JhdGUgdGhlIGZhY3RvcnkgaW1tZWRpYXRlbHksIHdlJ2xsIGdldCBgQ2Fubm90IHJlZGVmaW5lIHByb3BlcnR5YCBleGNlcHRpb24gd2hlbiBBbmd1bGFyIHdpbGwgdHJ5IHRvIGRlZmluZVxuICAvLyBhbiBvcmlnaW5hbCBmYWN0b3J5IGZvciB0aGUgYE1haW5Db21wb25lbnRgLlxuXG4gIC8vIE5vdGU6IHRoZSBmYWN0b3J5IGlzIGRlZmluZWQgc3RhdGljYWxseSBpbiB0aGUgY29kZSBpbiBBT1QgbW9kZS5cbiAgLy8gQXBwQ29tcG9uZW50Lsm1ZmFjID0gZnVuY3Rpb24gQXBwQ29tcG9uZW50X0ZhY3RvcnkodCkge1xuICAvLyAgIHJldHVybiBuZXcgKHQgfHwgQXBwQ29tcG9uZW50KSgpO1xuICAvLyB9O1xuICAvLyBfX2RlY29yYXRlKFtTZWxlY3RdLCBBcHBDb21wb25lbnQucHJvdG90eXBlLCAnYW5pbWFscyQnLCB2b2lkIDApO1xuXG4gIGNvbnN0IGlzSml0TW9kZU9ySXNBbmd1bGFySW5UZXN0TW9kZSA9XG4gICAgaXNBbmd1bGFySW5UZXN0TW9kZSgpIHx8ICEhKMm1Z2xvYmFsLm5nICYmIMm1Z2xvYmFsLm5nLsm1Y29tcGlsZXJGYWNhZGUpO1xuXG4gIC8vIElmIHdlJ3JlIGluIGRldmVsb3BtZW50IG1vZGUgQU5EIHdlJ3JlIHJ1bm5pbmcgdW5pdCB0ZXN0cyBvciB0aGVyZSdzIGEgY29tcGlsZXIgZmFjYWRlIGV4cG9zZWQsXG4gIC8vIHRoZW4gcGF0Y2ggYE9iamVjdC5kZWZpbmVQcm9wZXJ0eWAuIFRoZSBjb21waWxlciBmYWNhZGUgaXMgZXhwb3NlZCBpbiBKSVQgbW9kZS5cbiAgaWYgKG5nRGV2TW9kZSAmJiBpc0ppdE1vZGVPcklzQW5ndWxhckluVGVzdE1vZGUpIHtcbiAgICBwYXRjaE9iamVjdERlZmluZVByb3BlcnR5KCk7XG4gIH0gZWxzZSB7XG4gICAgZGVjb3JhdGVGYWN0b3J5KGNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIHRhcmdldC5jb25zdHJ1Y3Rvci5wcm90b3R5cGVbRmFjdG9yeUhhc0JlZW5EZWNvcmF0ZWRdID0gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsSW5qZWN0PFQ+KFxuICBpbnN0YW5jZTogUHJpdmF0ZUluc3RhbmNlLFxuICB0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4gfCBUeXBlPFQ+XG4pOiBUIHwgbnVsbCB7XG4gIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZCA9IGluc3RhbmNlW0luamVjdG9ySW5zdGFuY2VdO1xuICByZXR1cm4gaW5qZWN0b3IgPyBpbmplY3Rvci5nZXQodG9rZW4pIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZGVjb3JhdGVGYWN0b3J5KGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3RvcldpdGhEZWZpbml0aW9uQW5kRmFjdG9yeSk6IHZvaWQge1xuICBjb25zdCBmYWN0b3J5ID0gY29uc3RydWN0b3JbTkdfRkFDVE9SWV9ERUZdO1xuXG4gIGlmICh0eXBlb2YgZmFjdG9yeSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIExldCdzIHRyeSB0byBnZXQgYW55IGRlZmluaXRpb24uXG4gIC8vIENhcmV0YWtlciBub3RlOiB0aGlzIHdpbGwgYmUgY29tcGF0aWJsZSBvbmx5IHdpdGggQW5ndWxhciA5Kywgc2luY2UgQW5ndWxhciA5IGlzIHRoZSBmaXJzdFxuICAvLyBJdnktc3RhYmxlIHZlcnNpb24uIFByZXZpb3VzbHkgZGVmaW5pdGlvbiBwcm9wZXJ0aWVzIHdlcmUgbmFtZWQgZGlmZmVyZW50bHkgKGUuZy4gYG5nQ29tcG9uZW50RGVmYCkuXG4gIGNvbnN0IGRlZiA9IGNvbnN0cnVjdG9yLsm1cHJvdiB8fCBjb25zdHJ1Y3Rvci7JtXBpcGUgfHwgY29uc3RydWN0b3IuybVjbXAgfHwgY29uc3RydWN0b3IuybVkaXI7XG5cbiAgY29uc3QgZGVjb3JhdGVkRmFjdG9yeSA9ICgpID0+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IGZhY3RvcnkoKTtcbiAgICAvLyBDYXJldGFrZXIgbm90ZTogYGluamVjdCgpYCB3b24ndCB3b3JrIGhlcmUuXG4gICAgLy8gV2UgY2FuIHVzZSB0aGUgYGRpcmVjdGl2ZUluamVjdGAgb25seSBkdXJpbmcgdGhlIGNvbXBvbmVudFxuICAgIC8vIGNvbnN0cnVjdGlvbiwgc2luY2UgQW5ndWxhciBjYXB0dXJlcyB0aGUgY3VycmVudGx5IGFjdGl2ZSBpbmplY3Rvci5cbiAgICAvLyBXZSdyZSBub3QgYWJsZSB0byB1c2UgdGhpcyBmdW5jdGlvbiBpbnNpZGUgdGhlIGdldHRlciAod2hlbiB0aGUgYHNlbGVjdG9ySWRgIHByb3BlcnR5IGlzXG4gICAgLy8gcmVxdWVzdGVkIGZvciB0aGUgZmlyc3QgdGltZSksIHNpbmNlIHRoZSBjdXJyZW50bHkgYWN0aXZlIGluamVjdG9yIHdpbGwgYmUgbnVsbC5cbiAgICBpbnN0YW5jZVtJbmplY3Rvckluc3RhbmNlXSA9IMm1ybVkaXJlY3RpdmVJbmplY3QoXG4gICAgICAvLyBXZSdyZSB1c2luZyBgSU5KRUNUT1JgIHRva2VuIGV4Y2VwdCBvZiB0aGUgYEluamVjdG9yYCBjbGFzcyBzaW5jZSB0aGUgY29tcGlsZXJcbiAgICAgIC8vIHRocm93czogYENhbm5vdCBhc3NpZ24gYW4gYWJzdHJhY3QgY29uc3RydWN0b3IgdHlwZSB0byBhIG5vbi1hYnN0cmFjdCBjb25zdHJ1Y3RvciB0eXBlLmAuXG4gICAgICAvLyBDYXJldGFrZXIgbm90ZTogdGhhdCB0aGlzIGlzIHRoZSBzYW1lIHdheSBvZiBnZXR0aW5nIHRoZSBpbmplY3Rvci5cbiAgICAgIElOSkVDVE9SXG4gICAgKTtcblxuICAgIC8vIENhcmV0YWtlciBub3RlOiB0aGUgbm90aWZpZXIgd2lsbCBiZSBhdmFpbGFibGUgb25seSBpZiBjb25zdW1lcnMgY2FsbCB0aGUgYGVuc3VyZUluamVjdG9yTm90aWZpZXJJc0NhcHR1cmVkKClgLlxuICAgIGNvbnN0IGluamVjdG9yTm90aWZpZXIkID0gaW5zdGFuY2VbSW5qZWN0b3JOb3RpZmllcl07XG4gICAgaWYgKGluamVjdG9yTm90aWZpZXIkKSB7XG4gICAgICBpbmplY3Rvck5vdGlmaWVyJC5uZXh0KHRydWUpO1xuICAgICAgaW5qZWN0b3JOb3RpZmllciQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH07XG5cbiAgLy8gSWYgd2UndmUgZm91bmQgYW55IGRlZmluaXRpb24gdGhlbiBpdCdzIGVub3VnaCB0byBvdmVycmlkZSB0aGUgYGRlZi5mYWN0b3J5YCBzaW5jZSBBbmd1bGFyXG4gIC8vIGNvZGUgdXNlcyB0aGUgYGRlZi5mYWN0b3J5YCBhbmQgdGhlbiBmYWxsYmFja3MgdG8gYMm1ZmFjYC5cbiAgaWYgKGRlZikge1xuICAgIGRlZi5mYWN0b3J5ID0gZGVjb3JhdGVkRmFjdG9yeTtcbiAgfVxuXG4gIC8vIGBATmdNb2R1bGUoKWAgZG9lc24ndCBkb2Vzbid0IGhhdmUgZGVmaW5pdGlvbiBmYWN0b3J5LCBhbHNvIHByb3ZpZGVycyBoYXZlIGRlZmluaXRpb25zIGJ1dCBBbmd1bGFyXG4gIC8vIHN0aWxsIHVzZXMgdGhlIGDJtWZhY2AuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25zdHJ1Y3RvciwgTkdfRkFDVE9SWV9ERUYsIHtcbiAgICBnZXQ6ICgpID0+IGRlY29yYXRlZEZhY3RvcnlcbiAgfSk7XG59XG5cbi8vIE5vdGU6IHRoaXMgZnVuY3Rpb24gd2lsbCBiZSB0cmVlLXNoYWtlbiBpbiBwcm9kdWN0aW9uLlxuY29uc3QgcGF0Y2hPYmplY3REZWZpbmVQcm9wZXJ0eSA9ICgoKSA9PiB7XG4gIGxldCBvYmplY3REZWZpbmVQcm9wZXJ0eVBhdGNoZWQgPSBmYWxzZTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpZiAob2JqZWN0RGVmaW5lUHJvcGVydHlQYXRjaGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuICAgIC8vIFdlIHNob3VsZCBub3QgYmUgcGF0Y2hpbmcgZ2xvYmFscywgYnV0IHRoZXJlJ3Mgbm8gb3RoZXIgd2F5IHRvIGtub3cgd2hlbiBpdCdzIGFwcHJvcHJpYXRlXG4gICAgLy8gdG8gZGVjb3JhdGUgdGhlIG9yaWdpbmFsIGZhY3RvcnkuIFRoZXJlJ3JlIGRpZmZlcmVudCBlZGdlIGNhc2VzLCBlLmcuLCB3aGVuIHRoZSBjbGFzcyBleHRlbmRzXG4gICAgLy8gYW5vdGhlciBjbGFzcywgdGhlIGZhY3Rvcnkgd2lsbCBiZSBkZWZpbmVkIGZvciB0aGUgYmFzZSBjbGFzcyBidXQgbm90IGZvciB0aGUgY2hpbGQgY2xhc3MuXG4gICAgLy8gVGhlIHBhdGNoaW5nIHdpbGwgYmUgZG9uZSBvbmx5IGR1cmluZyB0aGUgZGV2ZWxvcG1lbnQgYW5kIGluIEpJVCBtb2RlLlxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uPFQ+KFxuICAgICAgb2JqZWN0OiBULFxuICAgICAgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5LFxuICAgICAgYXR0cmlidXRlczogUHJvcGVydHlEZXNjcmlwdG9yICYgVGhpc1R5cGU8YW55PlxuICAgICkge1xuICAgICAgLy8gQW5ndWxhciBjYWxscyBgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgJ8m1ZmFjJywgeyBnZXQ6IC4uLiwgY29uZmlndXJhYmxlOiB0cnVlIH0pYCB3aGVuIGRlZmluaW5nIGEgZmFjdG9yeSBmdW5jdGlvbi5cbiAgICAgIC8vIFdlIG9ubHkgd2FudCB0byBpbnRlcmNlcHQgYMm1ZmFjYCBrZXkuXG4gICAgICAvLyBJZiB0aGUgcHJvcGVydHkgaXMgYMm1ZmFjYCBBTkQgYGNvbmZpZ3VyYWJsZWAgZXF1YWxzIGB0cnVlYCwgdGhlbiBsZXQncyBjYWxsIHRoZSBvcmlnaW5hbFxuICAgICAgLy8gaW1wbGVtZW50YXRpb24gYW5kIHRoZW4gZGVjb3JhdGUgdGhlIGZhY3RvcnkuXG4gICAgICAvLyAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvM2E2MDA2M2E1NGQ4NTBjNTBjZTk2MmE4YTM5Y2UwMWNmZWU3MTM5OC9wYWNrYWdlcy9jb3JlL3NyYy9yZW5kZXIzL2ppdC9waXBlLnRzI0wyMS1MMzlcbiAgICAgIGlmIChcbiAgICAgICAgcHJvcGVydHlLZXkgIT09IE5HX0ZBQ1RPUllfREVGIHx8XG4gICAgICAgIC8vIFdlIGFsc28gY2FsbCBgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgJ8m1ZmFjJywgLi4uKWAsIGJ1dCB3ZSBkb24ndCBzZXQgYGNvbmZpZ3VyYWJsZWAgcHJvcGVydHkuXG4gICAgICAgIChwcm9wZXJ0eUtleSA9PT0gTkdfRkFDVE9SWV9ERUYgJiYgIWF0dHJpYnV0ZXMuY29uZmlndXJhYmxlKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eS5jYWxsKHRoaXMsIG9iamVjdCwgcHJvcGVydHlLZXksIGF0dHJpYnV0ZXMpIGFzIFQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGUgcHJvcGVydHkgaXMgYMm1ZmFjYCBBTkQgYGNvbmZpZ3VyYWJsZWAgZXF1YWxzIGB0cnVlYCwgdGhlbiBsZXQncyBjYWxsIHRoZSBvcmlnaW5hbFxuICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiBhbmQgdGhlbiBkZWNvcmF0ZSB0aGUgZmFjdG9yeS5cbiAgICAgICAgZGVmaW5lUHJvcGVydHkuY2FsbCh0aGlzLCBvYmplY3QsIHByb3BlcnR5S2V5LCBhdHRyaWJ1dGVzKTtcbiAgICAgICAgZGVjb3JhdGVGYWN0b3J5KChvYmplY3QgYXMgdW5rbm93bikgYXMgQ29uc3RydWN0b3JXaXRoRGVmaW5pdGlvbkFuZEZhY3RvcnkpO1xuICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgfVxuICAgIH07XG4gICAgb2JqZWN0RGVmaW5lUHJvcGVydHlQYXRjaGVkID0gdHJ1ZTtcbiAgfTtcbn0pKCk7XG5cbi8vIFdlIGNvdWxkJ3ZlIHVzZWQgYMm1ybVGYWN0b3J5RGVmYCBidXQgd2UgdHJ5IHRvIGJlIGJhY2t3YXJkcy1jb21wYXRpYmxlLFxuLy8gc2luY2UgaXQncyBub3QgZXhwb3J0ZWQgaW4gb2xkZXIgQW5ndWxhciB2ZXJzaW9ucy5cbnR5cGUgRmFjdG9yeSA9ICgpID0+IFByaXZhdGVJbnN0YW5jZTtcblxuLy8gV2UgY291bGQndmUgdXNlZCBgybXJtUluamVjdGFibGVEZWZgLCBgybXJtVBpcGVEZWZgLCBldGMuIFdlIHRyeSB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZVxuLy8gc2luY2UgdGhleSdyZSBub3QgZXhwb3J0ZWQgaW4gb2xkZXIgQW5ndWxhciB2ZXJzaW9ucy5cbmludGVyZmFjZSBEZWZpbml0aW9uIHtcbiAgZmFjdG9yeTogRmFjdG9yeSB8IG51bGw7XG59XG5cbmludGVyZmFjZSBDb25zdHJ1Y3RvcldpdGhEZWZpbml0aW9uQW5kRmFjdG9yeSBleHRlbmRzIEZ1bmN0aW9uIHtcbiAgLy8gUHJvdmlkZXIgZGVmaW5pdGlvbiBmb3IgdGhlIGBASW5qZWN0YWJsZSgpYCBjbGFzcy5cbiAgybVwcm92PzogRGVmaW5pdGlvbjtcbiAgLy8gUGlwZSBkZWZpbml0aW9uIGZvciB0aGUgYEBQaXBlKClgIGNsYXNzLlxuICDJtXBpcGU/OiBEZWZpbml0aW9uO1xuICAvLyBDb21wb25lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGBAQ29tcG9uZW50KClgIGNsYXNzLlxuICDJtWNtcD86IERlZmluaXRpb247XG4gIC8vIERpcmVjdGl2ZSBkZWZpbml0aW9uIGZvciB0aGUgYEBEaXJlY3RpdmUoKWAgY2xhc3MuXG4gIMm1ZGlyPzogRGVmaW5pdGlvbjtcbiAgW05HX0ZBQ1RPUllfREVGXT86IEZhY3Rvcnk7XG59XG5cbmludGVyZmFjZSBQcml2YXRlSW5zdGFuY2Uge1xuICBbSW5qZWN0b3JJbnN0YW5jZV0/OiBJbmplY3RvcjtcbiAgW0luamVjdG9yTm90aWZpZXJdPzogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbn1cbiJdfQ==
|