UNPKG

ngx-base-state

Version:

Base classes for creation state service via Rxjs observable

14 lines 2.51 kB
const tryDoActionMethodName = 'tryDoAction'; const actionLikeInvokedMethodName = '_onActionLikeInvoked'; const actionLikeInvokeEndMethodName = '_onActionLikeInvokeEnd'; export function patchedActionFunction(actionName, actionFunction) { return function innerFunction(...args) { return this[tryDoActionMethodName](actionName, () => { this[actionLikeInvokedMethodName](actionName); const originalMethodResult = actionFunction.apply(this, args); this[actionLikeInvokeEndMethodName](); return originalMethodResult; }); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hlZC1hY3Rpb24uZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWJyYXJ5L3NyYy9saWIvZnVuY3Rpb25zL3BhdGNoZWQtYWN0aW9uLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDO0FBQzVDLE1BQU0sMkJBQTJCLEdBQUcsc0JBQXNCLENBQUM7QUFDM0QsTUFBTSw2QkFBNkIsR0FBRyx3QkFBd0IsQ0FBQztBQUUvRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsVUFBa0IsRUFBRSxjQUF3QjtJQUM5RSxPQUFPLFNBQVMsYUFBYSxDQUE2QixHQUFHLElBQWU7UUFDeEUsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTlDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFOUQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLEVBQUUsQ0FBQztZQUV0QyxPQUFPLG9CQUFvQixDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHRyeURvQWN0aW9uTWV0aG9kTmFtZSA9ICd0cnlEb0FjdGlvbic7XHJcbmNvbnN0IGFjdGlvbkxpa2VJbnZva2VkTWV0aG9kTmFtZSA9ICdfb25BY3Rpb25MaWtlSW52b2tlZCc7XHJcbmNvbnN0IGFjdGlvbkxpa2VJbnZva2VFbmRNZXRob2ROYW1lID0gJ19vbkFjdGlvbkxpa2VJbnZva2VFbmQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoZWRBY3Rpb25GdW5jdGlvbihhY3Rpb25OYW1lOiBzdHJpbmcsIGFjdGlvbkZ1bmN0aW9uOiBGdW5jdGlvbik6IHVua25vd24ge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyRnVuY3Rpb24odGhpczogdHlwZW9mIGlubmVyRnVuY3Rpb24sIC4uLmFyZ3M6IHVua25vd25bXSk6IHVua25vd24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzW3RyeURvQWN0aW9uTWV0aG9kTmFtZV0oYWN0aW9uTmFtZSwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzW2FjdGlvbkxpa2VJbnZva2VkTWV0aG9kTmFtZV0oYWN0aW9uTmFtZSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZFJlc3VsdCA9IGFjdGlvbkZ1bmN0aW9uLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG5cclxuICAgICAgICAgICAgdGhpc1thY3Rpb25MaWtlSW52b2tlRW5kTWV0aG9kTmFtZV0oKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZFJlc3VsdDtcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcbn1cclxuIl19