UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

78 lines 4.65 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ export var currentAction = { type: null, entityIds: null, skip: false }; /** @type {?} */ var customActionActive = false; /** * @return {?} */ export function resetCustomAction() { customActionActive = false; } // public API for custom actions. Custom action always wins /** * @param {?} type * @param {?=} entityIds * @return {?} */ export function logAction(type, entityIds) { setAction(type, entityIds); customActionActive = true; } /** * @param {?} type * @param {?=} entityIds * @return {?} */ export function setAction(type, entityIds) { if (customActionActive === false) { currentAction.type = type; currentAction.entityIds = entityIds; } } /** * @param {?=} skip * @return {?} */ export function setSkipAction(skip) { if (skip === void 0) { skip = true; } currentAction.skip = skip; } /** * @param {?} action * @param {?=} entityIds * @return {?} */ export function action(action, entityIds) { return (/** * @param {?} target * @param {?} propertyKey * @param {?} descriptor * @return {?} */ function (target, propertyKey, descriptor) { /** @type {?} */ var originalMethod = descriptor.value; descriptor.value = (/** * @param {...?} args * @return {?} */ function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } logAction(action, entityIds); return originalMethod.apply(this, args); }); return descriptor; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9ha2l0YS8iLCJzb3VyY2VzIjpbInNyYy9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsTUFBTSxLQUFPLGFBQWEsR0FBRztJQUMzQixJQUFJLEVBQUUsSUFBSTtJQUNWLFNBQVMsRUFBRSxJQUFJO0lBQ2YsSUFBSSxFQUFFLEtBQUs7Q0FDWjs7SUFFRyxrQkFBa0IsR0FBRyxLQUFLOzs7O0FBRTlCLE1BQU0sVUFBVSxpQkFBaUI7SUFDL0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBQzdCLENBQUM7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVksRUFBRSxTQUFVO0lBQ2hELFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0Isa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQzVCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBWSxFQUFFLFNBQVU7SUFDaEQsSUFBSSxrQkFBa0IsS0FBSyxLQUFLLEVBQUU7UUFDaEMsYUFBYSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDMUIsYUFBYSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7S0FDckM7QUFDSCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBVztJQUFYLHFCQUFBLEVBQUEsV0FBVztJQUN2QyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztBQUM1QixDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLE1BQWMsRUFBRSxTQUFVO0lBQy9DOzs7Ozs7SUFBTyxVQUFTLE1BQVcsRUFBRSxXQUFtQixFQUFFLFVBQThCOztZQUN4RSxjQUFjLEdBQUcsVUFBVSxDQUFDLEtBQUs7UUFDdkMsVUFBVSxDQUFDLEtBQUs7Ozs7UUFBRztZQUFTLGNBQU87aUJBQVAsVUFBTyxFQUFQLHFCQUFPLEVBQVAsSUFBTztnQkFBUCx5QkFBTzs7WUFDakMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3QixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQSxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBjdXJyZW50QWN0aW9uID0ge1xuICB0eXBlOiBudWxsLFxuICBlbnRpdHlJZHM6IG51bGwsXG4gIHNraXA6IGZhbHNlXG59O1xuXG5sZXQgY3VzdG9tQWN0aW9uQWN0aXZlID0gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldEN1c3RvbUFjdGlvbigpIHtcbiAgY3VzdG9tQWN0aW9uQWN0aXZlID0gZmFsc2U7XG59XG5cbi8vIHB1YmxpYyBBUEkgZm9yIGN1c3RvbSBhY3Rpb25zLiBDdXN0b20gYWN0aW9uIGFsd2F5cyB3aW5zXG5leHBvcnQgZnVuY3Rpb24gbG9nQWN0aW9uKHR5cGU6IHN0cmluZywgZW50aXR5SWRzPykge1xuICBzZXRBY3Rpb24odHlwZSwgZW50aXR5SWRzKTtcbiAgY3VzdG9tQWN0aW9uQWN0aXZlID0gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFjdGlvbih0eXBlOiBzdHJpbmcsIGVudGl0eUlkcz8pIHtcbiAgaWYgKGN1c3RvbUFjdGlvbkFjdGl2ZSA9PT0gZmFsc2UpIHtcbiAgICBjdXJyZW50QWN0aW9uLnR5cGUgPSB0eXBlO1xuICAgIGN1cnJlbnRBY3Rpb24uZW50aXR5SWRzID0gZW50aXR5SWRzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTa2lwQWN0aW9uKHNraXAgPSB0cnVlKSB7XG4gIGN1cnJlbnRBY3Rpb24uc2tpcCA9IHNraXA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb24oYWN0aW9uOiBzdHJpbmcsIGVudGl0eUlkcz8pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nLCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG4gICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgIGxvZ0FjdGlvbihhY3Rpb24sIGVudGl0eUlkcyk7XG4gICAgICByZXR1cm4gb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG4gICAgfTtcblxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICB9O1xufVxuIl19