UNPKG

@antischematic/angular-state-library

Version:
41 lines 8.09 kB
import { decorateActions, decorateChanges, decorateCheck, decorateDestroy, decorateFactory, decorateSelectors, decorateSelect, setup, decorateOnInit } from "./core"; import { action, caught, selector, setMeta } from "./metadata"; const defaults = { track: true, immediate: true }; export function createDecorator(symbol, defaults) { return function decorate(options) { return function (target, key, descriptor) { setMeta(symbol, { ...defaults, ...options, key, descriptor }, target, key); }; }; } export function Store() { return function (target) { const { prototype } = target; decorateFactory(target, setup); decorateChanges(prototype); decorateOnInit(prototype); decorateDestroy(prototype); decorateCheck(prototype, "ngDoCheck" /* Phase.DoCheck */); decorateCheck(prototype, "ngAfterContentChecked" /* Phase.AfterContentChecked */); decorateCheck(prototype, "ngAfterViewChecked" /* Phase.AfterViewChecked */); decorateActions(prototype); decorateSelectors(prototype); decorateSelect(target); }; } export const Action = createDecorator(action, { phase: "ngDoCheck" /* Phase.DoCheck */ }); export const Invoke = createDecorator(action, { ...defaults, phase: "ngDoCheck" /* Phase.DoCheck */ }); export const Before = createDecorator(action, { ...defaults, phase: "ngAfterContentChecked" /* Phase.AfterContentChecked */ }); export const Layout = createDecorator(action, { ...defaults, phase: "ngAfterViewChecked" /* Phase.AfterViewChecked */ }); export function Caught() { return function (target, key, descriptor) { setMeta(action, { key, descriptor, phase: "ngDoCheck" /* Phase.DoCheck */, catchError: false }, target, key); setMeta(caught, { key, descriptor }, target, key); }; } export function Select(token) { return function (target, key, descriptor) { setMeta(selector, { key, token, descriptor }, target, key); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNKLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxLQUFLLEVBQUUsY0FBYyxFQUN2QixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRTdELE1BQU0sUUFBUSxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUE7QUFFL0MsTUFBTSxVQUFVLGVBQWUsQ0FBZSxNQUFjLEVBQUUsUUFBWTtJQUN2RSxPQUFPLFNBQVMsUUFBUSxDQUFDLE9BQVc7UUFDakMsT0FBTyxVQUFVLE1BQVUsRUFBRSxHQUFnQixFQUFFLFVBQStCO1lBQzNFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzNFLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSztJQUNsQixPQUFPLFVBQVUsTUFBZ0I7UUFDOUIsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLE1BQU0sQ0FBQTtRQUUxQixlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzlCLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUMxQixjQUFjLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDekIsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRTFCLGFBQWEsQ0FBQyxTQUFTLGtDQUFnQixDQUFBO1FBQ3ZDLGFBQWEsQ0FBQyxTQUFTLDBEQUE0QixDQUFBO1FBQ25ELGFBQWEsQ0FBQyxTQUFTLG9EQUF5QixDQUFBO1FBRWhELGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUMxQixpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUM1QixjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDekIsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQWlCLE1BQU0sRUFBRSxFQUFDLEtBQUssaUNBQWUsRUFBQyxDQUFDLENBQUE7QUFDckYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBaUIsTUFBTSxFQUFFLEVBQUMsR0FBRyxRQUFRLEVBQUUsS0FBSyxpQ0FBZSxFQUFDLENBQUMsQ0FBQTtBQUNsRyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFpQixNQUFNLEVBQUUsRUFBQyxHQUFHLFFBQVEsRUFBRSxLQUFLLHlEQUEyQixFQUFDLENBQUMsQ0FBQTtBQUM5RyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFpQixNQUFNLEVBQUUsRUFBQyxHQUFHLFFBQVEsRUFBRSxLQUFLLG1EQUF3QixFQUFDLENBQUMsQ0FBQTtBQUUzRyxNQUFNLFVBQVUsTUFBTTtJQUNuQixPQUFPLFVBQVUsTUFBVSxFQUFFLEdBQWdCLEVBQUUsVUFBOEI7UUFDMUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxpQ0FBZSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDMUYsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEQsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUlELE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBMEI7SUFDOUMsT0FBTyxVQUFVLE1BQVUsRUFBRSxHQUFnQixFQUFFLFVBQWU7UUFDM0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdELENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3ZpZGVyVG9rZW59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuICAgZGVjb3JhdGVBY3Rpb25zLFxuICAgZGVjb3JhdGVDaGFuZ2VzLFxuICAgZGVjb3JhdGVDaGVjayxcbiAgIGRlY29yYXRlRGVzdHJveSxcbiAgIGRlY29yYXRlRmFjdG9yeSxcbiAgIGRlY29yYXRlU2VsZWN0b3JzLFxuICAgZGVjb3JhdGVTZWxlY3QsXG4gICBzZXR1cCwgZGVjb3JhdGVPbkluaXRcbn0gZnJvbSBcIi4vY29yZVwiO1xuaW1wb3J0IHtBY3Rpb25NZXRhZGF0YSwgUGhhc2V9IGZyb20gXCIuL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7YWN0aW9uLCBjYXVnaHQsIHNlbGVjdG9yLCBzZXRNZXRhfSBmcm9tIFwiLi9tZXRhZGF0YVwiO1xuXG5jb25zdCBkZWZhdWx0cyA9IHt0cmFjazogdHJ1ZSwgaW1tZWRpYXRlOiB0cnVlfVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVjb3JhdG9yPFQgZXh0ZW5kcyB7fT4oc3ltYm9sOiBzeW1ib2wsIGRlZmF1bHRzOiB7fSkge1xuICAgcmV0dXJuIGZ1bmN0aW9uIGRlY29yYXRlKG9wdGlvbnM/OiBUKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDoge30sIGtleTogUHJvcGVydHlLZXksIGRlc2NyaXB0b3I/OiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICAgICAgIHNldE1ldGEoc3ltYm9sLCB7Li4uZGVmYXVsdHMsIC4uLm9wdGlvbnMsIGtleSwgZGVzY3JpcHRvcn0sIHRhcmdldCwga2V5KVxuICAgICAgfVxuICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RvcmUoKSB7XG4gICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogRnVuY3Rpb24pIHtcbiAgICAgIGNvbnN0IHtwcm90b3R5cGV9ID0gdGFyZ2V0XG5cbiAgICAgIGRlY29yYXRlRmFjdG9yeSh0YXJnZXQsIHNldHVwKVxuICAgICAgZGVjb3JhdGVDaGFuZ2VzKHByb3RvdHlwZSlcbiAgICAgIGRlY29yYXRlT25Jbml0KHByb3RvdHlwZSlcbiAgICAgIGRlY29yYXRlRGVzdHJveShwcm90b3R5cGUpXG5cbiAgICAgIGRlY29yYXRlQ2hlY2socHJvdG90eXBlLCBQaGFzZS5Eb0NoZWNrKVxuICAgICAgZGVjb3JhdGVDaGVjayhwcm90b3R5cGUsIFBoYXNlLkFmdGVyQ29udGVudENoZWNrZWQpXG4gICAgICBkZWNvcmF0ZUNoZWNrKHByb3RvdHlwZSwgUGhhc2UuQWZ0ZXJWaWV3Q2hlY2tlZClcblxuICAgICAgZGVjb3JhdGVBY3Rpb25zKHByb3RvdHlwZSlcbiAgICAgIGRlY29yYXRlU2VsZWN0b3JzKHByb3RvdHlwZSlcbiAgICAgIGRlY29yYXRlU2VsZWN0KHRhcmdldClcbiAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFjdGlvbiA9IGNyZWF0ZURlY29yYXRvcjxBY3Rpb25NZXRhZGF0YT4oYWN0aW9uLCB7cGhhc2U6IFBoYXNlLkRvQ2hlY2t9KVxuZXhwb3J0IGNvbnN0IEludm9rZSA9IGNyZWF0ZURlY29yYXRvcjxBY3Rpb25NZXRhZGF0YT4oYWN0aW9uLCB7Li4uZGVmYXVsdHMsIHBoYXNlOiBQaGFzZS5Eb0NoZWNrfSlcbmV4cG9ydCBjb25zdCBCZWZvcmUgPSBjcmVhdGVEZWNvcmF0b3I8QWN0aW9uTWV0YWRhdGE+KGFjdGlvbiwgey4uLmRlZmF1bHRzLCBwaGFzZTogUGhhc2UuQWZ0ZXJDb250ZW50Q2hlY2tlZH0pXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gY3JlYXRlRGVjb3JhdG9yPEFjdGlvbk1ldGFkYXRhPihhY3Rpb24sIHsuLi5kZWZhdWx0cywgcGhhc2U6IFBoYXNlLkFmdGVyVmlld0NoZWNrZWR9KVxuXG5leHBvcnQgZnVuY3Rpb24gQ2F1Z2h0KCkge1xuICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IHt9LCBrZXk6IFByb3BlcnR5S2V5LCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICAgIHNldE1ldGEoYWN0aW9uLCB7IGtleSwgZGVzY3JpcHRvciwgcGhhc2U6IFBoYXNlLkRvQ2hlY2ssIGNhdGNoRXJyb3I6IGZhbHNlIH0sIHRhcmdldCwga2V5KVxuICAgICAgc2V0TWV0YShjYXVnaHQsIHsga2V5LCBkZXNjcmlwdG9yIH0sIHRhcmdldCwga2V5KVxuICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0KCk6ICh0YXJnZXQ6IHt9LCBrZXk6IFByb3BlcnR5S2V5LCBkZXNjcmlwdG9yPzogUHJvcGVydHlEZXNjcmlwdG9yKSA9PiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0KHRva2VuOiBQcm92aWRlclRva2VuPGFueT4pOiAodGFyZ2V0OiB7fSwga2V5OiBQcm9wZXJ0eUtleSwgZGVzY3JpcHRvcjogdm9pZCkgPT4gdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdCh0b2tlbj86IFByb3ZpZGVyVG9rZW48YW55Pikge1xuICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IHt9LCBrZXk6IFByb3BlcnR5S2V5LCBkZXNjcmlwdG9yOiBhbnkpIHtcbiAgICAgIHNldE1ldGEoc2VsZWN0b3IsIHsga2V5LCB0b2tlbiwgZGVzY3JpcHRvciB9LCB0YXJnZXQsIGtleSlcbiAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uPFRGdW5jdGlvbiBleHRlbmRzICguLi5wYXJhbXM6IGFueVtdKSA9PiB2b2lkID0gKCkgPT4gdm9pZD4gPSBURnVuY3Rpb25cblxuZXhwb3J0IHR5cGUgU2VsZWN0PFQ+ID0ge1xuICAgW2tleSBpbiBrZXlvZiBUXTogT2JzZXJ2YWJsZTxUW2tleV0+XG59XG4iXX0=