@ngxs/store 3.7.3-dev.master-740d0c2 → 3.7.3-dev.master-8834f50
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-operators.umd.js +13 -12
- package/bundles/ngxs-store-operators.umd.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.min.js +1 -1
- package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
- package/esm2015/operators/append.js +3 -3
- package/esm2015/operators/compose.js +1 -1
- package/esm2015/operators/iif.js +1 -1
- package/esm2015/operators/index.js +1 -1
- package/esm2015/operators/insert-item.js +3 -3
- package/esm2015/operators/patch.js +4 -5
- package/esm2015/operators/update-item.js +7 -5
- package/esm2015/operators/utils.js +1 -1
- package/esm5/operators/append.js +3 -3
- package/esm5/operators/compose.js +1 -1
- package/esm5/operators/iif.js +1 -1
- package/esm5/operators/index.js +1 -1
- package/esm5/operators/insert-item.js +3 -3
- package/esm5/operators/patch.js +4 -5
- package/esm5/operators/update-item.js +7 -5
- package/esm5/operators/utils.js +1 -1
- package/fesm2015/ngxs-store-operators.js +13 -12
- package/fesm2015/ngxs-store-operators.js.map +1 -1
- package/fesm5/ngxs-store-operators.js +13 -12
- package/fesm5/ngxs-store-operators.js.map +1 -1
- package/operators/append.d.ts +2 -2
- package/operators/compose.d.ts +2 -1
- package/operators/iif.d.ts +2 -2
- package/operators/index.d.ts +1 -1
- package/operators/insert-item.d.ts +2 -2
- package/operators/ngxs-store-operators.metadata.json +1 -1
- package/operators/patch.d.ts +2 -6
- package/operators/update-item.d.ts +2 -2
- package/operators/utils.d.ts +2 -1
- package/package.json +1 -1
|
@@ -47,4 +47,4 @@ export function invalidIndex(index) {
|
|
|
47
47
|
export function isNil(value) {
|
|
48
48
|
return value === null || isUndefined(value);
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxNQUFNLFVBQVUsZUFBZSxDQUFJLEtBQTJCO0lBQzVELE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3JDLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVO0lBQ3BDLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDO0FBQ3RDLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksS0FBc0M7SUFDbkUsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDckMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDakMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDeEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQTJCO0lBQ2xELE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhdGVPcGVyYXRvcjxUPih2YWx1ZTogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiB2YWx1ZSBpcyBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJlZGljYXRlPFQ+KHZhbHVlOiBQcmVkaWNhdGU8VD4gfCBib29sZWFuIHwgbnVtYmVyKTogdmFsdWUgaXMgUHJlZGljYXRlPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBOdW1iZXIuaXNOYU4oaW5kZXgpIHx8IGluZGV4ID09PSAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgaXNVbmRlZmluZWQodmFsdWUpO1xufVxuXG5leHBvcnQgdHlwZSBSZXBhaXJUeXBlPFQ+
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxNQUFNLFVBQVUsZUFBZSxDQUFJLEtBQTJCO0lBQzVELE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3JDLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVO0lBQ3BDLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDO0FBQ3RDLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksS0FBc0M7SUFDbkUsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDckMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDakMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDeEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQTJCO0lBQ2xELE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhdGVPcGVyYXRvcjxUPih2YWx1ZTogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiB2YWx1ZSBpcyBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJlZGljYXRlPFQ+KHZhbHVlOiBQcmVkaWNhdGU8VD4gfCBib29sZWFuIHwgbnVtYmVyKTogdmFsdWUgaXMgUHJlZGljYXRlPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBOdW1iZXIuaXNOYU4oaW5kZXgpIHx8IGluZGV4ID09PSAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgaXNVbmRlZmluZWQodmFsdWUpO1xufVxuXG5leHBvcnQgdHlwZSBSZXBhaXJUeXBlPFQ+ID0gVCBleHRlbmRzIHRydWUgPyBib29sZWFuIDogVCBleHRlbmRzIGZhbHNlID8gYm9vbGVhbiA6IFQ7XG5cbmV4cG9ydCB0eXBlIE5vSW5mZXI8VD4gPSBUIGV4dGVuZHMgaW5mZXIgUyA/IFMgOiBuZXZlcjtcbiJdfQ==
|
package/esm5/operators/append.js
CHANGED
|
@@ -21,11 +21,11 @@ export function append(items) {
|
|
|
21
21
|
return (/** @type {?} */ (existing));
|
|
22
22
|
}
|
|
23
23
|
if (Array.isArray(existing)) {
|
|
24
|
-
return existing.concat((/** @type {?} */ (items)));
|
|
24
|
+
return existing.concat((/** @type {?} */ (((/** @type {?} */ (items))))));
|
|
25
25
|
}
|
|
26
26
|
// For example if some property is added dynamically
|
|
27
27
|
// and didn't exist before thus it's not `ArrayLike`
|
|
28
|
-
return (/** @type {?} */ (items));
|
|
28
|
+
return (/** @type {?} */ (((/** @type {?} */ (items)))));
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiYXBwZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE1BQU0sVUFBVSxNQUFNLENBQUksS0FBbUI7SUFDM0M7Ozs7SUFBTyxTQUFTLGNBQWMsQ0FBQyxRQUFtQzs7OztZQUcxRCw2QkFBNkIsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVE7UUFDM0UsSUFBSSw2QkFBNkIsRUFBRTtZQUNqQyxPQUFPLG1CQUFBLFFBQVEsRUFBbUIsQ0FBQztTQUNwQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsbUJBQUEsQ0FBQyxtQkFBQSxLQUFLLEVBQVcsQ0FBQyxFQUFtQixDQUFDLENBQUM7U0FDL0Q7UUFFRCxvREFBb0Q7UUFDcEQsb0RBQW9EO1FBQ3BELE9BQU8sbUJBQUEsQ0FBQyxtQkFBQSxLQUFLLEVBQVcsQ0FBQyxFQUFtQixDQUFDO0lBQy9DLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgUmVwYWlyVHlwZSwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEBwYXJhbSBpdGVtcyAtIFNwZWNpZmljIGl0ZW1zIHRvIGFwcGVuZCB0byB0aGUgZW5kIG9mIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmQ8VD4oaXRlbXM6IE5vSW5mZXI8VD5bXSk6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiBhcHBlbmRPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPltdPik6IFJlcGFpclR5cGU8VD5bXSB7XG4gICAgLy8gSWYgYGl0ZW1zYCBpcyBgdW5kZWZpbmVkYCBvciBgbnVsbGAgb3IgYFtdYCBidXQgYGV4aXN0aW5nYCBpcyBwcm92aWRlZFxuICAgIC8vIGp1c3QgcmV0dXJuIGBleGlzdGluZ2BcbiAgICBjb25zdCBpdGVtc05vdFByb3ZpZGVkQnV0RXhpc3RpbmdJcyA9ICghaXRlbXMgfHwgIWl0ZW1zLmxlbmd0aCkgJiYgZXhpc3Rpbmc7XG4gICAgaWYgKGl0ZW1zTm90UHJvdmlkZWRCdXRFeGlzdGluZ0lzKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPltdO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nLmNvbmNhdCgoaXRlbXMgYXMgdW5rbm93bikgYXMgUmVwYWlyVHlwZTxUPltdKTtcbiAgICB9XG5cbiAgICAvLyBGb3IgZXhhbXBsZSBpZiBzb21lIHByb3BlcnR5IGlzIGFkZGVkIGR5bmFtaWNhbGx5XG4gICAgLy8gYW5kIGRpZG4ndCBleGlzdCBiZWZvcmUgdGh1cyBpdCdzIG5vdCBgQXJyYXlMaWtlYFxuICAgIHJldHVybiAoaXRlbXMgYXMgdW5rbm93bikgYXMgUmVwYWlyVHlwZTxUPltdO1xuICB9O1xufVxuIl19
|
|
@@ -25,4 +25,4 @@ export function compose() {
|
|
|
25
25
|
function (accumulator, operator) { return operator(accumulator); }), existing);
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL29wZXJhdG9ycy8iLCJzb3VyY2VzIjpbImNvbXBvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsTUFBTSxVQUFVLE9BQU87SUFBSSxtQkFBeUM7U0FBekMsVUFBeUMsRUFBekMscUJBQXlDLEVBQXpDLElBQXlDO1FBQXpDLDhCQUF5Qzs7SUFDbEU7Ozs7SUFBTyxTQUFTLGVBQWUsQ0FBQyxRQUFxQjtRQUNuRCxPQUFPLFNBQVMsQ0FBQyxNQUFNOzs7OztRQUFDLFVBQUMsV0FBVyxFQUFFLFFBQVEsSUFBSyxPQUFBLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBckIsQ0FBcUIsR0FBRSxRQUFRLENBQUMsQ0FBQztJQUN0RixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE5vSW5mZXIgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvc2U8VD4oLi4ub3BlcmF0b3JzOiBOb0luZmVyPFN0YXRlT3BlcmF0b3I8VD5bXT4pOiBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbXBvc2VPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8VD4pOiBUIHtcbiAgICByZXR1cm4gb3BlcmF0b3JzLnJlZHVjZSgoYWNjdW11bGF0b3IsIG9wZXJhdG9yKSA9PiBvcGVyYXRvcihhY2N1bXVsYXRvciksIGV4aXN0aW5nKTtcbiAgfTtcbn1cbiJdfQ==
|
package/esm5/operators/iif.js
CHANGED
|
@@ -53,4 +53,4 @@ export function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
|
|
|
53
53
|
return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaWlmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQXVCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7O0FBR3pGLFNBQVMsYUFBYSxDQUNwQixlQUFxQyxFQUNyQyxRQUFrQztJQUVsQyxrQ0FBa0M7SUFDbEMsc0NBQXNDO0lBQ3RDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFOztZQUM5QixLQUFLLEdBQUcsZUFBZSxDQUFDLG1CQUFBLG1CQUFBLFFBQVEsRUFBQyxFQUFlLENBQUM7UUFDdkQsT0FBTyxtQkFBQSxLQUFLLEVBQWlCLENBQUM7S0FDL0I7SUFFRCx3Q0FBd0M7SUFDeEMsNENBQTRDO0lBQzVDLHdDQUF3QztJQUN4QyxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUNoQyxPQUFPLG1CQUFBLG1CQUFBLENBQUMsbUJBQUssUUFBUSxFQUFBLENBQUMsRUFBQyxFQUFpQixDQUFDO0tBQzFDO0lBRUQsT0FBTyxtQkFBQSxlQUFlLEVBQWlCLENBQUM7QUFDMUMsQ0FBQzs7Ozs7Ozs7OztBQVNELE1BQU0sVUFBVSxHQUFHLENBQ2pCLFNBQTBDLEVBQzFDLG1CQUFrRCxFQUNsRCxtQkFBbUQ7SUFFbkQ7Ozs7SUFBTyxTQUFTLFdBQVcsQ0FBQyxRQUFpQzs7O1lBRXZELE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUztRQUN4Qix3REFBd0Q7UUFDeEQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxhQUFhLENBQUksbUJBQW1CLEVBQUUsbUJBQUEsUUFBUSxFQUFpQixDQUFDLENBQUM7U0FDekU7UUFFRCxPQUFPLGFBQWEsQ0FBSSxtQkFBQSxtQkFBbUIsRUFBQyxFQUFFLG1CQUFBLFFBQVEsRUFBaUIsQ0FBQyxDQUFDO0lBQzNFLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IsIGlzVW5kZWZpbmVkLCBpc1ByZWRpY2F0ZSwgUmVwYWlyVHlwZSwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgUHJlZGljYXRlIH0gZnJvbSAnLi9pbnRlcm5hbHMnO1xuXG5mdW5jdGlvbiByZXRyaWV2ZVZhbHVlPFQ+KFxuICBvcGVyYXRvck9yVmFsdWU6IFN0YXRlT3BlcmF0b3I8VD4gfCBULFxuICBleGlzdGluZz86IFJlYWRvbmx5PFJlcGFpclR5cGU8VD4+XG4pOiBSZXBhaXJUeXBlPFQ+IHtcbiAgLy8gSWYgc3RhdGUgb3BlcmF0b3IgaXMgYSBmdW5jdGlvblxuICAvLyB0aGVuIGNhbGwgaXQgd2l0aCBhbiBvcmlnaW5hbCB2YWx1ZVxuICBpZiAoaXNTdGF0ZU9wZXJhdG9yKG9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZShleGlzdGluZyEgYXMgUmVhZG9ubHk8VD4pO1xuICAgIHJldHVybiB2YWx1ZSBhcyBSZXBhaXJUeXBlPFQ+O1xuICB9XG5cbiAgLy8gSWYgb3BlcmF0b3Igb3IgdmFsdWUgd2FzIG5vdCBwcm92aWRlZFxuICAvLyBlLmcuIGBlbHNlT3BlcmF0b3JPclZhbHVlYCBpcyBgdW5kZWZpbmVkYFxuICAvLyB0aGVuIHdlIGp1c3QgcmV0dXJuIGFuIG9yaWdpbmFsIHZhbHVlXG4gIGlmIChpc1VuZGVmaW5lZChvcGVyYXRvck9yVmFsdWUpKSB7XG4gICAgcmV0dXJuICg8YW55PmV4aXN0aW5nKSEgYXMgUmVwYWlyVHlwZTxUPjtcbiAgfVxuXG4gIHJldHVybiBvcGVyYXRvck9yVmFsdWUgYXMgUmVwYWlyVHlwZTxUPjtcbn1cblxuLyoqXG4gKiBAcGFyYW0gY29uZGl0aW9uIC0gQ29uZGl0aW9uIGNhbiBiZSBhIHBsYWluIGJvb2xlYW4gdmFsdWUgb3IgYSBmdW5jdGlvbixcbiAqIHRoYXQgcmV0dXJucyBib29sZWFuLCBhbHNvIHRoaXMgZnVuY3Rpb24gY2FuIHRha2UgYSB2YWx1ZSBhcyBhbiBhcmd1bWVudFxuICogdG8gd2hpY2ggdGhpcyBzdGF0ZSBvcGVyYXRvciBhcHBsaWVzXG4gKiBAcGFyYW0gdHJ1ZU9wZXJhdG9yT3JWYWx1ZSAtIEFueSB2YWx1ZSBvciBhIHN0YXRlIG9wZXJhdG9yXG4gKiBAcGFyYW0gZWxzZU9wZXJhdG9yT3JWYWx1ZSAtIEFueSB2YWx1ZSBvciBhIHN0YXRlIG9wZXJhdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpaWY8VD4oXG4gIGNvbmRpdGlvbjogTm9JbmZlcjxQcmVkaWNhdGU8VD4+IHwgYm9vbGVhbixcbiAgdHJ1ZU9wZXJhdG9yT3JWYWx1ZTogTm9JbmZlcjxTdGF0ZU9wZXJhdG9yPFQ+PiB8IFQsXG4gIGVsc2VPcGVyYXRvck9yVmFsdWU/OiBOb0luZmVyPFN0YXRlT3BlcmF0b3I8VD4+IHwgVFxuKTogU3RhdGVPcGVyYXRvcjxSZXBhaXJUeXBlPFQ+PiB7XG4gIHJldHVybiBmdW5jdGlvbiBpaWZPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPj4pOiBSZXBhaXJUeXBlPFQ+IHtcbiAgICAvLyBDb252ZXJ0IHRoZSB2YWx1ZSB0byBhIGJvb2xlYW5cbiAgICBsZXQgcmVzdWx0ID0gISFjb25kaXRpb247XG4gICAgLy8gYnV0IGlmIGl0IGlzIGEgZnVuY3Rpb24gdGhlbiBydW4gaXQgdG8gZ2V0IHRoZSByZXN1bHRcbiAgICBpZiAoaXNQcmVkaWNhdGUoY29uZGl0aW9uKSkge1xuICAgICAgcmVzdWx0ID0gY29uZGl0aW9uKGV4aXN0aW5nKTtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPih0cnVlT3BlcmF0b3JPclZhbHVlLCBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPihlbHNlT3BlcmF0b3JPclZhbHVlISwgZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPik7XG4gIH07XG59XG4iXX0=
|
package/esm5/operators/index.js
CHANGED
|
@@ -15,4 +15,4 @@ export { patch } from './patch';
|
|
|
15
15
|
export { isStateOperator } from './utils';
|
|
16
16
|
export { updateItem } from './update-item';
|
|
17
17
|
export { removeItem } from './remove-item';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFLQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBVyxNQUFNLFNBQVMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCB7IGFwcGVuZCB9IGZyb20gJy4vYXBwZW5kJztcbmV4cG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuL2NvbXBvc2UnO1xuZXhwb3J0IHsgaWlmIH0gZnJvbSAnLi9paWYnO1xuZXhwb3J0IHsgaW5zZXJ0SXRlbSB9IGZyb20gJy4vaW5zZXJ0LWl0ZW0nO1xuZXhwb3J0IHsgcGF0Y2ggfSBmcm9tICcuL3BhdGNoJztcbmV4cG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgdXBkYXRlSXRlbSB9IGZyb20gJy4vdXBkYXRlLWl0ZW0nO1xuZXhwb3J0IHsgcmVtb3ZlSXRlbSB9IGZyb20gJy4vcmVtb3ZlLWl0ZW0nO1xuIl19
|
|
@@ -22,7 +22,7 @@ export function insertItem(value, beforePosition) {
|
|
|
22
22
|
}
|
|
23
23
|
// Property may be dynamic and might not existed before
|
|
24
24
|
if (!Array.isArray(existing)) {
|
|
25
|
-
return [(/** @type {?} */ (value))];
|
|
25
|
+
return [(/** @type {?} */ (((/** @type {?} */ (value)))))];
|
|
26
26
|
}
|
|
27
27
|
/** @type {?} */
|
|
28
28
|
var clone = existing.slice();
|
|
@@ -34,8 +34,8 @@ export function insertItem(value, beforePosition) {
|
|
|
34
34
|
if ((/** @type {?} */ (beforePosition)) > 0) {
|
|
35
35
|
index = (/** @type {?} */ (beforePosition));
|
|
36
36
|
}
|
|
37
|
-
clone.splice(index, 0, (/** @type {?} */ (value)));
|
|
37
|
+
clone.splice(index, 0, (/** @type {?} */ (((/** @type {?} */ (value))))));
|
|
38
38
|
return clone;
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbnNlcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBdUIsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7QUFNckQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsS0FBaUIsRUFDakIsY0FBdUI7SUFFdkI7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DO1FBQ3BFLHNEQUFzRDtRQUN0RCwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO1lBQzVCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxtQkFBQSxDQUFDLG1CQUFBLEtBQUssRUFBVyxDQUFDLEVBQWlCLENBQUMsQ0FBQztTQUM5Qzs7WUFFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTs7WUFFMUIsS0FBSyxHQUFHLENBQUM7UUFFYiw2QkFBNkI7UUFDN0Isc0NBQXNDO1FBQ3RDLGtEQUFrRDtRQUNsRCxJQUFJLG1CQUFBLGNBQWMsRUFBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLEdBQUcsbUJBQUEsY0FBYyxFQUFDLENBQUM7U0FDekI7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQUEsQ0FBQyxtQkFBQSxLQUFLLEVBQVcsQ0FBQyxFQUFpQixDQUFDLENBQUM7UUFDNUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzTmlsLCBSZXBhaXJUeXBlLCBOb0luZmVyIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gaW5zZXJ0XG4gKiBAcGFyYW0gW2JlZm9yZVBvc2l0aW9uXSAtICBTcGVjaWZpZWQgaW5kZXggdG8gaW5zZXJ0IHZhbHVlIGJlZm9yZSwgb3B0aW9uYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEl0ZW08VD4oXG4gIHZhbHVlOiBOb0luZmVyPFQ+LFxuICBiZWZvcmVQb3NpdGlvbj86IG51bWJlclxuKTogU3RhdGVPcGVyYXRvcjxSZXBhaXJUeXBlPFQ+W10+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGluc2VydEl0ZW1PcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPltdPik6IFJlcGFpclR5cGU8VD5bXSB7XG4gICAgLy8gSGF2ZSB0byBjaGVjayBleHBsaWNpdGx5IGZvciBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgLy8gYmVjYXVzZSBgdmFsdWVgIGNhbiBiZSBgMGAsIHRodXMgYCF2YWx1ZWAgd2lsbCByZXR1cm4gYHRydWVgXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiBleGlzdGluZykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcbiAgICB9XG5cbiAgICAvLyBQcm9wZXJ0eSBtYXkgYmUgZHluYW1pYyBhbmQgbWlnaHQgbm90IGV4aXN0ZWQgYmVmb3JlXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIFsodmFsdWUgYXMgdW5rbm93bikgYXMgUmVwYWlyVHlwZTxUPl07XG4gICAgfVxuXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xuXG4gICAgbGV0IGluZGV4ID0gMDtcblxuICAgIC8vIE5vIG5lZWQgdG8gY2FsbCBgaXNOdW1iZXJgXG4gICAgLy8gYXMgd2UgYXJlIGNoZWNraW5nIGA+IDBgIG5vdCBgPj0gMGBcbiAgICAvLyBldmVyeXRoaW5nIGV4Y2VwdCBudW1iZXIgd2lsbCByZXR1cm4gZmFsc2UgaGVyZVxuICAgIGlmIChiZWZvcmVQb3NpdGlvbiEgPiAwKSB7XG4gICAgICBpbmRleCA9IGJlZm9yZVBvc2l0aW9uITtcbiAgICB9XG5cbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDAsICh2YWx1ZSBhcyB1bmtub3duKSBhcyBSZXBhaXJUeXBlPFQ+KTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH07XG59XG4iXX0=
|
package/esm5/operators/patch.js
CHANGED
|
@@ -10,8 +10,7 @@ import { isStateOperator } from './utils';
|
|
|
10
10
|
* @return {?}
|
|
11
11
|
*/
|
|
12
12
|
export function patch(patchObject) {
|
|
13
|
-
return (/**
|
|
14
|
-
* @template U
|
|
13
|
+
return (/** @type {?} */ (((/** @type {?} */ ((/**
|
|
15
14
|
* @param {?} existing
|
|
16
15
|
* @return {?}
|
|
17
16
|
*/
|
|
@@ -22,7 +21,7 @@ export function patch(patchObject) {
|
|
|
22
21
|
/** @type {?} */
|
|
23
22
|
var newValue = patchObject[k];
|
|
24
23
|
/** @type {?} */
|
|
25
|
-
var existingPropValue = existing[k];
|
|
24
|
+
var existingPropValue = existing[(/** @type {?} */ (k))];
|
|
26
25
|
/** @type {?} */
|
|
27
26
|
var newPropValue = isStateOperator(newValue)
|
|
28
27
|
? newValue((/** @type {?} */ (existingPropValue)))
|
|
@@ -35,6 +34,6 @@ export function patch(patchObject) {
|
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
return clone || existing;
|
|
38
|
-
});
|
|
37
|
+
}))))));
|
|
39
38
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQVcsTUFBTSxTQUFTLENBQUM7Ozs7OztBQVFuRCxNQUFNLFVBQVUsS0FBSyxDQUFJLFdBQWtDO0lBQ3pELE9BQU8sbUJBQUEsQ0FBQzs7OztJQUFBLFNBQVMsa0JBQWtCLENBQUMsUUFBa0M7O1lBQ2hFLEtBQUssR0FBRyxJQUFJO1FBQ2hCLEtBQUssSUFBTSxDQUFDLElBQUksV0FBVyxFQUFFOztnQkFDckIsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7O2dCQUN6QixpQkFBaUIsR0FBRyxRQUFRLENBQUMsbUJBQUEsQ0FBQyxFQUE0QixDQUFDOztnQkFDM0QsWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsbUJBQUssaUJBQWlCLEVBQUEsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDWixJQUFJLFlBQVksS0FBSyxpQkFBaUIsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLHdCQUFRLENBQUMsbUJBQUssUUFBUSxFQUFBLENBQUMsQ0FBRSxDQUFDO2lCQUNoQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssSUFBSSxRQUFRLENBQUM7SUFDM0IsQ0FBQyxHQUFXLENBQUMsRUFBaUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBQYXRjaFNwZWM8VD4gPSB7IFtQIGluIGtleW9mIFRdPzogVFtQXSB8IFN0YXRlT3BlcmF0b3I8Tm9uTnVsbGFibGU8VFtQXT4+IH07XG5cbnR5cGUgUGF0Y2hWYWx1ZXM8VD4gPSB7XG4gIHJlYWRvbmx5IFtQIGluIGtleW9mIFRdPzogVFtQXSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gaW5mZXIgUiA/IFIgOiBUW1BdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoPFQ+KHBhdGNoT2JqZWN0OiBOb0luZmVyPFBhdGNoU3BlYzxUPj4pOiBTdGF0ZU9wZXJhdG9yPE5vbk51bGxhYmxlPFQ+PiB7XG4gIHJldHVybiAoZnVuY3Rpb24gcGF0Y2hTdGF0ZU9wZXJhdG9yKGV4aXN0aW5nOiBSZWFkb25seTxQYXRjaFZhbHVlczxUPj4pOiBOb25OdWxsYWJsZTxUPiB7XG4gICAgbGV0IGNsb25lID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGsgaW4gcGF0Y2hPYmplY3QpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gcGF0Y2hPYmplY3Rba107XG4gICAgICBjb25zdCBleGlzdGluZ1Byb3BWYWx1ZSA9IGV4aXN0aW5nW2sgYXMgRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+XTtcbiAgICAgIGNvbnN0IG5ld1Byb3BWYWx1ZSA9IGlzU3RhdGVPcGVyYXRvcihuZXdWYWx1ZSlcbiAgICAgICAgPyBuZXdWYWx1ZSg8YW55PmV4aXN0aW5nUHJvcFZhbHVlKVxuICAgICAgICA6IG5ld1ZhbHVlO1xuICAgICAgaWYgKG5ld1Byb3BWYWx1ZSAhPT0gZXhpc3RpbmdQcm9wVmFsdWUpIHtcbiAgICAgICAgaWYgKCFjbG9uZSkge1xuICAgICAgICAgIGNsb25lID0geyAuLi4oPGFueT5leGlzdGluZykgfTtcbiAgICAgICAgfVxuICAgICAgICBjbG9uZVtrXSA9IG5ld1Byb3BWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lIHx8IGV4aXN0aW5nO1xuICB9IGFzIHVua25vd24pIGFzIFN0YXRlT3BlcmF0b3I8Tm9uTnVsbGFibGU8VD4+O1xufVxuIl19
|
|
@@ -20,7 +20,7 @@ export function updateItem(selector, operatorOrValue) {
|
|
|
20
20
|
/** @type {?} */
|
|
21
21
|
var index = -1;
|
|
22
22
|
if (isPredicate(selector)) {
|
|
23
|
-
index = existing.findIndex(selector);
|
|
23
|
+
index = existing.findIndex((/** @type {?} */ (selector)));
|
|
24
24
|
}
|
|
25
25
|
else if (isNumber(selector)) {
|
|
26
26
|
index = selector;
|
|
@@ -32,11 +32,13 @@ export function updateItem(selector, operatorOrValue) {
|
|
|
32
32
|
var value = (/** @type {?} */ (null));
|
|
33
33
|
// Need to check if the new item value will change the existing item value
|
|
34
34
|
// then, only if it will change it then clone the array and set the item
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
/** @type {?} */
|
|
36
|
+
var theOperatorOrValue = (/** @type {?} */ (operatorOrValue));
|
|
37
|
+
if (isStateOperator(theOperatorOrValue)) {
|
|
38
|
+
value = theOperatorOrValue((/** @type {?} */ (existing[index])));
|
|
37
39
|
}
|
|
38
40
|
else {
|
|
39
|
-
value =
|
|
41
|
+
value = theOperatorOrValue;
|
|
40
42
|
}
|
|
41
43
|
// If the value hasn't been mutated
|
|
42
44
|
// then we just return `existing` array
|
|
@@ -49,4 +51,4 @@ export function updateItem(selector, operatorOrValue) {
|
|
|
49
51
|
return clone;
|
|
50
52
|
});
|
|
51
53
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1cGRhdGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUNMLGVBQWUsRUFDZixXQUFXLEVBQ1gsUUFBUSxFQUNSLFlBQVksRUFHYixNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7O0FBU2pCLE1BQU0sVUFBVSxVQUFVLENBQ3hCLFFBQXdDLEVBQ3hDLGVBQXVEO0lBRXZEOzs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUFtQzs7WUFDaEUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLG1CQUFBLFFBQVEsRUFBZ0IsQ0FBQyxDQUFDO1NBQ3REO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVHLEtBQUssR0FBTSxtQkFBQSxJQUFJLEVBQUM7Ozs7WUFHZCxrQkFBa0IsR0FBRyxtQkFBQSxlQUFlLEVBQXdCO1FBQ2xFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkMsS0FBSyxHQUFHLGtCQUFrQixDQUFDLG1CQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBZSxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztTQUM1QjtRQUVELG1DQUFtQztRQUNuQyx1Q0FBdUM7UUFDdkMsSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVLLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFO1FBQzlCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxtQkFBQSxLQUFLLEVBQWlCLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHtcbiAgaXNTdGF0ZU9wZXJhdG9yLFxuICBpc1ByZWRpY2F0ZSxcbiAgaXNOdW1iZXIsXG4gIGludmFsaWRJbmRleCxcbiAgUmVwYWlyVHlwZSxcbiAgTm9JbmZlclxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuLyoqXG4gKiBAcGFyYW0gc2VsZWN0b3IgLSBJbmRleCBvZiBpdGVtIGluIHRoZSBhcnJheSBvciBhIHByZWRpY2F0ZSBmdW5jdGlvblxuICogdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4gYEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXhgXG4gKiBAcGFyYW0gb3BlcmF0b3JPclZhbHVlIC0gTmV3IHZhbHVlIHVuZGVyIHRoZSBgc2VsZWN0b3JgIGluZGV4IG9yIGFcbiAqIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYW4gZXhpc3RpbmcgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUl0ZW08VD4oXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBOb0luZmVyPFByZWRpY2F0ZTxUPj4sXG4gIG9wZXJhdG9yT3JWYWx1ZTogTm9JbmZlcjxUPiB8IE5vSW5mZXI8U3RhdGVPcGVyYXRvcjxUPj5cbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IgYXMgUHJlZGljYXRlPFQ+KTtcbiAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBzZWxlY3RvcjtcbiAgICB9XG5cbiAgICBpZiAoaW52YWxpZEluZGV4KGluZGV4KSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IFQgPSBudWxsITtcbiAgICAvLyBOZWVkIHRvIGNoZWNrIGlmIHRoZSBuZXcgaXRlbSB2YWx1ZSB3aWxsIGNoYW5nZSB0aGUgZXhpc3RpbmcgaXRlbSB2YWx1ZVxuICAgIC8vIHRoZW4sIG9ubHkgaWYgaXQgd2lsbCBjaGFuZ2UgaXQgdGhlbiBjbG9uZSB0aGUgYXJyYXkgYW5kIHNldCB0aGUgaXRlbVxuICAgIGNvbnN0IHRoZU9wZXJhdG9yT3JWYWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZSBhcyBUIHwgU3RhdGVPcGVyYXRvcjxUPjtcbiAgICBpZiAoaXNTdGF0ZU9wZXJhdG9yKHRoZU9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdGhlT3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nW2luZGV4XSBhcyBSZWFkb25seTxUPik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gdGhlT3BlcmF0b3JPclZhbHVlO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBtdXRhdGVkXG4gICAgLy8gdGhlbiB3ZSBqdXN0IHJldHVybiBgZXhpc3RpbmdgIGFycmF5XG4gICAgaWYgKHZhbHVlID09PSBleGlzdGluZ1tpbmRleF0pIHtcbiAgICAgIHJldHVybiBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+W107XG4gICAgfVxuXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xuICAgIGNsb25lW2luZGV4XSA9IHZhbHVlIGFzIFJlcGFpclR5cGU8VD47XG4gICAgcmV0dXJuIGNsb25lO1xuICB9O1xufVxuIl19
|
package/esm5/operators/utils.js
CHANGED
|
@@ -47,4 +47,4 @@ export function invalidIndex(index) {
|
|
|
47
47
|
export function isNil(value) {
|
|
48
48
|
return value === null || isUndefined(value);
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxNQUFNLFVBQVUsZUFBZSxDQUFJLEtBQTJCO0lBQzVELE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3JDLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVO0lBQ3BDLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDO0FBQ3RDLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksS0FBc0M7SUFDbkUsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDckMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDakMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDeEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQTJCO0lBQ2xELE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhdGVPcGVyYXRvcjxUPih2YWx1ZTogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiB2YWx1ZSBpcyBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJlZGljYXRlPFQ+KHZhbHVlOiBQcmVkaWNhdGU8VD4gfCBib29sZWFuIHwgbnVtYmVyKTogdmFsdWUgaXMgUHJlZGljYXRlPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBOdW1iZXIuaXNOYU4oaW5kZXgpIHx8IGluZGV4ID09PSAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgaXNVbmRlZmluZWQodmFsdWUpO1xufVxuXG5leHBvcnQgdHlwZSBSZXBhaXJUeXBlPFQ+
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxNQUFNLFVBQVUsZUFBZSxDQUFJLEtBQTJCO0lBQzVELE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3JDLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVO0lBQ3BDLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDO0FBQ3RDLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksS0FBc0M7SUFDbkUsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDckMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDakMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7QUFDbkMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDeEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQTJCO0lBQ2xELE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhdGVPcGVyYXRvcjxUPih2YWx1ZTogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiB2YWx1ZSBpcyBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJlZGljYXRlPFQ+KHZhbHVlOiBQcmVkaWNhdGU8VD4gfCBib29sZWFuIHwgbnVtYmVyKTogdmFsdWUgaXMgUHJlZGljYXRlPFQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBOdW1iZXIuaXNOYU4oaW5kZXgpIHx8IGluZGV4ID09PSAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmlsPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgaXNVbmRlZmluZWQodmFsdWUpO1xufVxuXG5leHBvcnQgdHlwZSBSZXBhaXJUeXBlPFQ+ID0gVCBleHRlbmRzIHRydWUgPyBib29sZWFuIDogVCBleHRlbmRzIGZhbHNlID8gYm9vbGVhbiA6IFQ7XG5cbmV4cG9ydCB0eXBlIE5vSW5mZXI8VD4gPSBUIGV4dGVuZHMgaW5mZXIgUyA/IFMgOiBuZXZlcjtcbiJdfQ==
|
|
@@ -21,11 +21,11 @@ function append(items) {
|
|
|
21
21
|
return (/** @type {?} */ (existing));
|
|
22
22
|
}
|
|
23
23
|
if (Array.isArray(existing)) {
|
|
24
|
-
return existing.concat((/** @type {?} */ (items)));
|
|
24
|
+
return existing.concat((/** @type {?} */ (((/** @type {?} */ (items))))));
|
|
25
25
|
}
|
|
26
26
|
// For example if some property is added dynamically
|
|
27
27
|
// and didn't exist before thus it's not `ArrayLike`
|
|
28
|
-
return (/** @type {?} */ (items));
|
|
28
|
+
return (/** @type {?} */ (((/** @type {?} */ (items)))));
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -181,7 +181,7 @@ function insertItem(value, beforePosition) {
|
|
|
181
181
|
}
|
|
182
182
|
// Property may be dynamic and might not existed before
|
|
183
183
|
if (!Array.isArray(existing)) {
|
|
184
|
-
return [(/** @type {?} */ (value))];
|
|
184
|
+
return [(/** @type {?} */ (((/** @type {?} */ (value)))))];
|
|
185
185
|
}
|
|
186
186
|
/** @type {?} */
|
|
187
187
|
const clone = existing.slice();
|
|
@@ -193,7 +193,7 @@ function insertItem(value, beforePosition) {
|
|
|
193
193
|
if ((/** @type {?} */ (beforePosition)) > 0) {
|
|
194
194
|
index = (/** @type {?} */ (beforePosition));
|
|
195
195
|
}
|
|
196
|
-
clone.splice(index, 0, (/** @type {?} */ (value)));
|
|
196
|
+
clone.splice(index, 0, (/** @type {?} */ (((/** @type {?} */ (value))))));
|
|
197
197
|
return clone;
|
|
198
198
|
});
|
|
199
199
|
}
|
|
@@ -208,8 +208,7 @@ function insertItem(value, beforePosition) {
|
|
|
208
208
|
* @return {?}
|
|
209
209
|
*/
|
|
210
210
|
function patch(patchObject) {
|
|
211
|
-
return (/**
|
|
212
|
-
* @template U
|
|
211
|
+
return (/** @type {?} */ (((/** @type {?} */ ((/**
|
|
213
212
|
* @param {?} existing
|
|
214
213
|
* @return {?}
|
|
215
214
|
*/
|
|
@@ -220,7 +219,7 @@ function patch(patchObject) {
|
|
|
220
219
|
/** @type {?} */
|
|
221
220
|
const newValue = patchObject[k];
|
|
222
221
|
/** @type {?} */
|
|
223
|
-
const existingPropValue = existing[k];
|
|
222
|
+
const existingPropValue = existing[(/** @type {?} */ (k))];
|
|
224
223
|
/** @type {?} */
|
|
225
224
|
const newPropValue = isStateOperator(newValue)
|
|
226
225
|
? newValue((/** @type {?} */ (existingPropValue)))
|
|
@@ -233,7 +232,7 @@ function patch(patchObject) {
|
|
|
233
232
|
}
|
|
234
233
|
}
|
|
235
234
|
return clone || existing;
|
|
236
|
-
});
|
|
235
|
+
}))))));
|
|
237
236
|
}
|
|
238
237
|
|
|
239
238
|
/**
|
|
@@ -257,7 +256,7 @@ function updateItem(selector, operatorOrValue) {
|
|
|
257
256
|
/** @type {?} */
|
|
258
257
|
let index = -1;
|
|
259
258
|
if (isPredicate(selector)) {
|
|
260
|
-
index = existing.findIndex(selector);
|
|
259
|
+
index = existing.findIndex((/** @type {?} */ (selector)));
|
|
261
260
|
}
|
|
262
261
|
else if (isNumber(selector)) {
|
|
263
262
|
index = selector;
|
|
@@ -269,11 +268,13 @@ function updateItem(selector, operatorOrValue) {
|
|
|
269
268
|
let value = (/** @type {?} */ (null));
|
|
270
269
|
// Need to check if the new item value will change the existing item value
|
|
271
270
|
// then, only if it will change it then clone the array and set the item
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
/** @type {?} */
|
|
272
|
+
const theOperatorOrValue = (/** @type {?} */ (operatorOrValue));
|
|
273
|
+
if (isStateOperator(theOperatorOrValue)) {
|
|
274
|
+
value = theOperatorOrValue((/** @type {?} */ (existing[index])));
|
|
274
275
|
}
|
|
275
276
|
else {
|
|
276
|
-
value =
|
|
277
|
+
value = theOperatorOrValue;
|
|
277
278
|
}
|
|
278
279
|
// If the value hasn't been mutated
|
|
279
280
|
// then we just return `existing` array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-store-operators.js","sources":["ng://@ngxs/store/operators/append.ts","ng://@ngxs/store/operators/compose.ts","ng://@ngxs/store/operators/utils.ts","ng://@ngxs/store/operators/iif.ts","ng://@ngxs/store/operators/insert-item.ts","ng://@ngxs/store/operators/patch.ts","ng://@ngxs/store/operators/update-item.ts","ng://@ngxs/store/operators/remove-item.ts"],"sourcesContent":["import { StateOperator } from '@ngxs/store';\nimport { RepairType } from './utils';\n\n/**\n * @param items - Specific items to append to the end of an array\n */\nexport function append<T>(items: T[]): StateOperator<RepairType<T>[]> {\n return function appendOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // If `items` is `undefined` or `null` or `[]` but `existing` is provided\n // just return `existing`\n const itemsNotProvidedButExistingIs = (!items || !items.length) && existing;\n if (itemsNotProvidedButExistingIs) {\n return existing as RepairType<T>[];\n }\n\n if (Array.isArray(existing)) {\n return existing.concat(items as RepairType<T>[]);\n }\n\n // For example if some property is added dynamically\n // and didn't exist before thus it's not `ArrayLike`\n return items as RepairType<T>[];\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nexport function compose<T>(...operators: StateOperator<T>[]): StateOperator<T> {\n return function composeOperator(existing: Readonly<T>): T {\n return operators.reduce((accumulator, operator) => operator(accumulator), existing);\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport { Predicate } from './internals';\n\nexport function isStateOperator<T>(value: T | StateOperator<T>): value is StateOperator<T> {\n return typeof value === 'function';\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isPredicate<T>(value: Predicate<T> | boolean | number): value is Predicate<T> {\n return typeof value === 'function';\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\nexport function invalidIndex(index: number): boolean {\n return Number.isNaN(index) || index === -1;\n}\n\nexport function isNil<T>(value: T | null | undefined): value is null | undefined {\n return value === null || isUndefined(value);\n}\n\nexport type RepairType<T> = T extends true ? boolean : (T extends false ? boolean : T);\n","import { StateOperator } from '@ngxs/store';\n\nimport { isStateOperator, isUndefined, isPredicate, RepairType } from './utils';\nimport { Predicate } from './internals';\n\nfunction retrieveValue<T>(\n operatorOrValue: StateOperator<T> | T,\n existing?: Readonly<RepairType<T>>\n): RepairType<T> {\n // If state operator is a function\n // then call it with an original value\n if (isStateOperator(operatorOrValue)) {\n const value = operatorOrValue(existing! as Readonly<T>);\n return value as RepairType<T>;\n }\n\n // If operator or value was not provided\n // e.g. `elseOperatorOrValue` is `undefined`\n // then we just return an original value\n if (isUndefined(operatorOrValue)) {\n return (<any>existing)! as RepairType<T>;\n }\n\n return operatorOrValue as RepairType<T>;\n}\n\n/**\n * @param condition - Condition can be a plain boolean value or a function,\n * that returns boolean, also this function can take a value as an argument\n * to which this state operator applies\n * @param trueOperatorOrValue - Any value or a state operator\n * @param elseOperatorOrValue - Any value or a state operator\n */\nexport function iif<T>(\n condition: Predicate<T> | boolean,\n trueOperatorOrValue: StateOperator<T> | T,\n elseOperatorOrValue?: StateOperator<T> | T\n): StateOperator<RepairType<T>> {\n return function iifOperator(existing: Readonly<RepairType<T>>): RepairType<T> {\n // Convert the value to a boolean\n let result = !!condition;\n // but if it is a function then run it to get the result\n if (isPredicate(condition)) {\n result = condition(existing);\n }\n\n if (result) {\n return retrieveValue<T>(trueOperatorOrValue, existing as RepairType<T>);\n }\n\n return retrieveValue<T>(elseOperatorOrValue!, existing as RepairType<T>);\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isNil, RepairType } from './utils';\n\n/**\n * @param value - Value to insert\n * @param [beforePosition] - Specified index to insert value before, optional\n */\nexport function insertItem<T>(\n value: T,\n beforePosition?: number\n): StateOperator<RepairType<T>[]> {\n return function insertItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // Have to check explicitly for `null` and `undefined`\n // because `value` can be `0`, thus `!value` will return `true`\n if (isNil(value) && existing) {\n return existing as RepairType<T>[];\n }\n\n // Property may be dynamic and might not existed before\n if (!Array.isArray(existing)) {\n return [value as RepairType<T>];\n }\n\n const clone = existing.slice();\n\n let index = 0;\n\n // No need to call `isNumber`\n // as we are checking `> 0` not `>= 0`\n // everything except number will return false here\n if (beforePosition! > 0) {\n index = beforePosition!;\n }\n\n clone.splice(index, 0, value as RepairType<T>);\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isStateOperator } from './utils';\n\nexport type PatchSpec<T> = { [P in keyof T]?: T[P] | StateOperator<NonNullable<T[P]>> };\n\ntype PatchValues<T> = {\n readonly [P in keyof T]?: T[P] extends (...args: any[]) => infer R ? R : T[P];\n};\n\ntype PatchOperator<T> = <U extends PatchValues<T>>(existing: Readonly<U>) => U;\n\nexport function patch<T>(patchObject: PatchSpec<T>): PatchOperator<T> {\n return function patchStateOperator<U extends PatchValues<T>>(existing: Readonly<U>): U {\n let clone = null;\n for (const k in patchObject) {\n const newValue = patchObject[k];\n const existingPropValue = existing[k];\n const newPropValue = isStateOperator(newValue)\n ? newValue(<any>existingPropValue)\n : newValue;\n if (newPropValue !== existingPropValue) {\n if (!clone) {\n clone = { ...(<any>existing) };\n }\n clone[k] = newPropValue;\n }\n }\n return clone || existing;\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport { isStateOperator, isPredicate, isNumber, invalidIndex, RepairType } from './utils';\nimport { Predicate } from './internals';\n\n/**\n * @param selector - Index of item in the array or a predicate function\n * that can be provided in `Array.prototype.findIndex`\n * @param operatorOrValue - New value under the `selector` index or a\n * function that can be applied to an existing value\n */\nexport function updateItem<T>(\n selector: number | Predicate<T>,\n operatorOrValue: T | StateOperator<T>\n): StateOperator<RepairType<T>[]> {\n return function updateItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n let value: T = null!;\n // Need to check if the new item value will change the existing item value\n // then, only if it will change it then clone the array and set the item\n if (isStateOperator(operatorOrValue)) {\n value = operatorOrValue(existing[index] as Readonly<T>);\n } else {\n value = operatorOrValue;\n }\n\n // If the value hasn't been mutated\n // then we just return `existing` array\n if (value === existing[index]) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone[index] = value as RepairType<T>;\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { Predicate } from './internals';\nimport { isPredicate, isNumber, invalidIndex, RepairType } from './utils';\n\n/**\n * @param selector - index or predicate to remove an item from an array by\n */\nexport function removeItem<T>(\n selector: number | Predicate<T>\n): StateOperator<RepairType<T>[]> {\n return function removeItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone.splice(index, 1);\n return clone;\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngxs-store-operators.js","sources":["ng://@ngxs/store/operators/append.ts","ng://@ngxs/store/operators/compose.ts","ng://@ngxs/store/operators/utils.ts","ng://@ngxs/store/operators/iif.ts","ng://@ngxs/store/operators/insert-item.ts","ng://@ngxs/store/operators/patch.ts","ng://@ngxs/store/operators/update-item.ts","ng://@ngxs/store/operators/remove-item.ts"],"sourcesContent":["import { StateOperator } from '@ngxs/store';\nimport { RepairType, NoInfer } from './utils';\n\n/**\n * @param items - Specific items to append to the end of an array\n */\nexport function append<T>(items: NoInfer<T>[]): StateOperator<RepairType<T>[]> {\n return function appendOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // If `items` is `undefined` or `null` or `[]` but `existing` is provided\n // just return `existing`\n const itemsNotProvidedButExistingIs = (!items || !items.length) && existing;\n if (itemsNotProvidedButExistingIs) {\n return existing as RepairType<T>[];\n }\n\n if (Array.isArray(existing)) {\n return existing.concat((items as unknown) as RepairType<T>[]);\n }\n\n // For example if some property is added dynamically\n // and didn't exist before thus it's not `ArrayLike`\n return (items as unknown) as RepairType<T>[];\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { NoInfer } from './utils';\n\nexport function compose<T>(...operators: NoInfer<StateOperator<T>[]>): StateOperator<T> {\n return function composeOperator(existing: Readonly<T>): T {\n return operators.reduce((accumulator, operator) => operator(accumulator), existing);\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport { Predicate } from './internals';\n\nexport function isStateOperator<T>(value: T | StateOperator<T>): value is StateOperator<T> {\n return typeof value === 'function';\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isPredicate<T>(value: Predicate<T> | boolean | number): value is Predicate<T> {\n return typeof value === 'function';\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\nexport function invalidIndex(index: number): boolean {\n return Number.isNaN(index) || index === -1;\n}\n\nexport function isNil<T>(value: T | null | undefined): value is null | undefined {\n return value === null || isUndefined(value);\n}\n\nexport type RepairType<T> = T extends true ? boolean : T extends false ? boolean : T;\n\nexport type NoInfer<T> = T extends infer S ? S : never;\n","import { StateOperator } from '@ngxs/store';\n\nimport { isStateOperator, isUndefined, isPredicate, RepairType, NoInfer } from './utils';\nimport { Predicate } from './internals';\n\nfunction retrieveValue<T>(\n operatorOrValue: StateOperator<T> | T,\n existing?: Readonly<RepairType<T>>\n): RepairType<T> {\n // If state operator is a function\n // then call it with an original value\n if (isStateOperator(operatorOrValue)) {\n const value = operatorOrValue(existing! as Readonly<T>);\n return value as RepairType<T>;\n }\n\n // If operator or value was not provided\n // e.g. `elseOperatorOrValue` is `undefined`\n // then we just return an original value\n if (isUndefined(operatorOrValue)) {\n return (<any>existing)! as RepairType<T>;\n }\n\n return operatorOrValue as RepairType<T>;\n}\n\n/**\n * @param condition - Condition can be a plain boolean value or a function,\n * that returns boolean, also this function can take a value as an argument\n * to which this state operator applies\n * @param trueOperatorOrValue - Any value or a state operator\n * @param elseOperatorOrValue - Any value or a state operator\n */\nexport function iif<T>(\n condition: NoInfer<Predicate<T>> | boolean,\n trueOperatorOrValue: NoInfer<StateOperator<T>> | T,\n elseOperatorOrValue?: NoInfer<StateOperator<T>> | T\n): StateOperator<RepairType<T>> {\n return function iifOperator(existing: Readonly<RepairType<T>>): RepairType<T> {\n // Convert the value to a boolean\n let result = !!condition;\n // but if it is a function then run it to get the result\n if (isPredicate(condition)) {\n result = condition(existing);\n }\n\n if (result) {\n return retrieveValue<T>(trueOperatorOrValue, existing as RepairType<T>);\n }\n\n return retrieveValue<T>(elseOperatorOrValue!, existing as RepairType<T>);\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isNil, RepairType, NoInfer } from './utils';\n\n/**\n * @param value - Value to insert\n * @param [beforePosition] - Specified index to insert value before, optional\n */\nexport function insertItem<T>(\n value: NoInfer<T>,\n beforePosition?: number\n): StateOperator<RepairType<T>[]> {\n return function insertItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // Have to check explicitly for `null` and `undefined`\n // because `value` can be `0`, thus `!value` will return `true`\n if (isNil(value) && existing) {\n return existing as RepairType<T>[];\n }\n\n // Property may be dynamic and might not existed before\n if (!Array.isArray(existing)) {\n return [(value as unknown) as RepairType<T>];\n }\n\n const clone = existing.slice();\n\n let index = 0;\n\n // No need to call `isNumber`\n // as we are checking `> 0` not `>= 0`\n // everything except number will return false here\n if (beforePosition! > 0) {\n index = beforePosition!;\n }\n\n clone.splice(index, 0, (value as unknown) as RepairType<T>);\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isStateOperator, NoInfer } from './utils';\n\nexport type PatchSpec<T> = { [P in keyof T]?: T[P] | StateOperator<NonNullable<T[P]>> };\n\ntype PatchValues<T> = {\n readonly [P in keyof T]?: T[P] extends (...args: any[]) => infer R ? R : T[P];\n};\n\nexport function patch<T>(patchObject: NoInfer<PatchSpec<T>>): StateOperator<NonNullable<T>> {\n return (function patchStateOperator(existing: Readonly<PatchValues<T>>): NonNullable<T> {\n let clone = null;\n for (const k in patchObject) {\n const newValue = patchObject[k];\n const existingPropValue = existing[k as Extract<keyof T, string>];\n const newPropValue = isStateOperator(newValue)\n ? newValue(<any>existingPropValue)\n : newValue;\n if (newPropValue !== existingPropValue) {\n if (!clone) {\n clone = { ...(<any>existing) };\n }\n clone[k] = newPropValue;\n }\n }\n return clone || existing;\n } as unknown) as StateOperator<NonNullable<T>>;\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport {\n isStateOperator,\n isPredicate,\n isNumber,\n invalidIndex,\n RepairType,\n NoInfer\n} from './utils';\nimport { Predicate } from './internals';\n\n/**\n * @param selector - Index of item in the array or a predicate function\n * that can be provided in `Array.prototype.findIndex`\n * @param operatorOrValue - New value under the `selector` index or a\n * function that can be applied to an existing value\n */\nexport function updateItem<T>(\n selector: number | NoInfer<Predicate<T>>,\n operatorOrValue: NoInfer<T> | NoInfer<StateOperator<T>>\n): StateOperator<RepairType<T>[]> {\n return function updateItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector as Predicate<T>);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n let value: T = null!;\n // Need to check if the new item value will change the existing item value\n // then, only if it will change it then clone the array and set the item\n const theOperatorOrValue = operatorOrValue as T | StateOperator<T>;\n if (isStateOperator(theOperatorOrValue)) {\n value = theOperatorOrValue(existing[index] as Readonly<T>);\n } else {\n value = theOperatorOrValue;\n }\n\n // If the value hasn't been mutated\n // then we just return `existing` array\n if (value === existing[index]) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone[index] = value as RepairType<T>;\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { Predicate } from './internals';\nimport { isPredicate, isNumber, invalidIndex, RepairType } from './utils';\n\n/**\n * @param selector - index or predicate to remove an item from an array by\n */\nexport function removeItem<T>(\n selector: number | Predicate<T>\n): StateOperator<RepairType<T>[]> {\n return function removeItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone.splice(index, 1);\n return clone;\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -23,11 +23,11 @@ function append(items) {
|
|
|
23
23
|
return (/** @type {?} */ (existing));
|
|
24
24
|
}
|
|
25
25
|
if (Array.isArray(existing)) {
|
|
26
|
-
return existing.concat((/** @type {?} */ (items)));
|
|
26
|
+
return existing.concat((/** @type {?} */ (((/** @type {?} */ (items))))));
|
|
27
27
|
}
|
|
28
28
|
// For example if some property is added dynamically
|
|
29
29
|
// and didn't exist before thus it's not `ArrayLike`
|
|
30
|
-
return (/** @type {?} */ (items));
|
|
30
|
+
return (/** @type {?} */ (((/** @type {?} */ (items)))));
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -187,7 +187,7 @@ function insertItem(value, beforePosition) {
|
|
|
187
187
|
}
|
|
188
188
|
// Property may be dynamic and might not existed before
|
|
189
189
|
if (!Array.isArray(existing)) {
|
|
190
|
-
return [(/** @type {?} */ (value))];
|
|
190
|
+
return [(/** @type {?} */ (((/** @type {?} */ (value)))))];
|
|
191
191
|
}
|
|
192
192
|
/** @type {?} */
|
|
193
193
|
var clone = existing.slice();
|
|
@@ -199,7 +199,7 @@ function insertItem(value, beforePosition) {
|
|
|
199
199
|
if ((/** @type {?} */ (beforePosition)) > 0) {
|
|
200
200
|
index = (/** @type {?} */ (beforePosition));
|
|
201
201
|
}
|
|
202
|
-
clone.splice(index, 0, (/** @type {?} */ (value)));
|
|
202
|
+
clone.splice(index, 0, (/** @type {?} */ (((/** @type {?} */ (value))))));
|
|
203
203
|
return clone;
|
|
204
204
|
});
|
|
205
205
|
}
|
|
@@ -214,8 +214,7 @@ function insertItem(value, beforePosition) {
|
|
|
214
214
|
* @return {?}
|
|
215
215
|
*/
|
|
216
216
|
function patch(patchObject) {
|
|
217
|
-
return (/**
|
|
218
|
-
* @template U
|
|
217
|
+
return (/** @type {?} */ (((/** @type {?} */ ((/**
|
|
219
218
|
* @param {?} existing
|
|
220
219
|
* @return {?}
|
|
221
220
|
*/
|
|
@@ -226,7 +225,7 @@ function patch(patchObject) {
|
|
|
226
225
|
/** @type {?} */
|
|
227
226
|
var newValue = patchObject[k];
|
|
228
227
|
/** @type {?} */
|
|
229
|
-
var existingPropValue = existing[k];
|
|
228
|
+
var existingPropValue = existing[(/** @type {?} */ (k))];
|
|
230
229
|
/** @type {?} */
|
|
231
230
|
var newPropValue = isStateOperator(newValue)
|
|
232
231
|
? newValue((/** @type {?} */ (existingPropValue)))
|
|
@@ -239,7 +238,7 @@ function patch(patchObject) {
|
|
|
239
238
|
}
|
|
240
239
|
}
|
|
241
240
|
return clone || existing;
|
|
242
|
-
});
|
|
241
|
+
}))))));
|
|
243
242
|
}
|
|
244
243
|
|
|
245
244
|
/**
|
|
@@ -263,7 +262,7 @@ function updateItem(selector, operatorOrValue) {
|
|
|
263
262
|
/** @type {?} */
|
|
264
263
|
var index = -1;
|
|
265
264
|
if (isPredicate(selector)) {
|
|
266
|
-
index = existing.findIndex(selector);
|
|
265
|
+
index = existing.findIndex((/** @type {?} */ (selector)));
|
|
267
266
|
}
|
|
268
267
|
else if (isNumber(selector)) {
|
|
269
268
|
index = selector;
|
|
@@ -275,11 +274,13 @@ function updateItem(selector, operatorOrValue) {
|
|
|
275
274
|
var value = (/** @type {?} */ (null));
|
|
276
275
|
// Need to check if the new item value will change the existing item value
|
|
277
276
|
// then, only if it will change it then clone the array and set the item
|
|
278
|
-
|
|
279
|
-
|
|
277
|
+
/** @type {?} */
|
|
278
|
+
var theOperatorOrValue = (/** @type {?} */ (operatorOrValue));
|
|
279
|
+
if (isStateOperator(theOperatorOrValue)) {
|
|
280
|
+
value = theOperatorOrValue((/** @type {?} */ (existing[index])));
|
|
280
281
|
}
|
|
281
282
|
else {
|
|
282
|
-
value =
|
|
283
|
+
value = theOperatorOrValue;
|
|
283
284
|
}
|
|
284
285
|
// If the value hasn't been mutated
|
|
285
286
|
// then we just return `existing` array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-store-operators.js","sources":["ng://@ngxs/store/operators/append.ts","ng://@ngxs/store/operators/compose.ts","ng://@ngxs/store/operators/utils.ts","ng://@ngxs/store/operators/iif.ts","ng://@ngxs/store/operators/insert-item.ts","ng://@ngxs/store/operators/patch.ts","ng://@ngxs/store/operators/update-item.ts","ng://@ngxs/store/operators/remove-item.ts"],"sourcesContent":["import { StateOperator } from '@ngxs/store';\nimport { RepairType } from './utils';\n\n/**\n * @param items - Specific items to append to the end of an array\n */\nexport function append<T>(items: T[]): StateOperator<RepairType<T>[]> {\n return function appendOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // If `items` is `undefined` or `null` or `[]` but `existing` is provided\n // just return `existing`\n const itemsNotProvidedButExistingIs = (!items || !items.length) && existing;\n if (itemsNotProvidedButExistingIs) {\n return existing as RepairType<T>[];\n }\n\n if (Array.isArray(existing)) {\n return existing.concat(items as RepairType<T>[]);\n }\n\n // For example if some property is added dynamically\n // and didn't exist before thus it's not `ArrayLike`\n return items as RepairType<T>[];\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nexport function compose<T>(...operators: StateOperator<T>[]): StateOperator<T> {\n return function composeOperator(existing: Readonly<T>): T {\n return operators.reduce((accumulator, operator) => operator(accumulator), existing);\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport { Predicate } from './internals';\n\nexport function isStateOperator<T>(value: T | StateOperator<T>): value is StateOperator<T> {\n return typeof value === 'function';\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isPredicate<T>(value: Predicate<T> | boolean | number): value is Predicate<T> {\n return typeof value === 'function';\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\nexport function invalidIndex(index: number): boolean {\n return Number.isNaN(index) || index === -1;\n}\n\nexport function isNil<T>(value: T | null | undefined): value is null | undefined {\n return value === null || isUndefined(value);\n}\n\nexport type RepairType<T> = T extends true ? boolean : (T extends false ? boolean : T);\n","import { StateOperator } from '@ngxs/store';\n\nimport { isStateOperator, isUndefined, isPredicate, RepairType } from './utils';\nimport { Predicate } from './internals';\n\nfunction retrieveValue<T>(\n operatorOrValue: StateOperator<T> | T,\n existing?: Readonly<RepairType<T>>\n): RepairType<T> {\n // If state operator is a function\n // then call it with an original value\n if (isStateOperator(operatorOrValue)) {\n const value = operatorOrValue(existing! as Readonly<T>);\n return value as RepairType<T>;\n }\n\n // If operator or value was not provided\n // e.g. `elseOperatorOrValue` is `undefined`\n // then we just return an original value\n if (isUndefined(operatorOrValue)) {\n return (<any>existing)! as RepairType<T>;\n }\n\n return operatorOrValue as RepairType<T>;\n}\n\n/**\n * @param condition - Condition can be a plain boolean value or a function,\n * that returns boolean, also this function can take a value as an argument\n * to which this state operator applies\n * @param trueOperatorOrValue - Any value or a state operator\n * @param elseOperatorOrValue - Any value or a state operator\n */\nexport function iif<T>(\n condition: Predicate<T> | boolean,\n trueOperatorOrValue: StateOperator<T> | T,\n elseOperatorOrValue?: StateOperator<T> | T\n): StateOperator<RepairType<T>> {\n return function iifOperator(existing: Readonly<RepairType<T>>): RepairType<T> {\n // Convert the value to a boolean\n let result = !!condition;\n // but if it is a function then run it to get the result\n if (isPredicate(condition)) {\n result = condition(existing);\n }\n\n if (result) {\n return retrieveValue<T>(trueOperatorOrValue, existing as RepairType<T>);\n }\n\n return retrieveValue<T>(elseOperatorOrValue!, existing as RepairType<T>);\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isNil, RepairType } from './utils';\n\n/**\n * @param value - Value to insert\n * @param [beforePosition] - Specified index to insert value before, optional\n */\nexport function insertItem<T>(\n value: T,\n beforePosition?: number\n): StateOperator<RepairType<T>[]> {\n return function insertItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // Have to check explicitly for `null` and `undefined`\n // because `value` can be `0`, thus `!value` will return `true`\n if (isNil(value) && existing) {\n return existing as RepairType<T>[];\n }\n\n // Property may be dynamic and might not existed before\n if (!Array.isArray(existing)) {\n return [value as RepairType<T>];\n }\n\n const clone = existing.slice();\n\n let index = 0;\n\n // No need to call `isNumber`\n // as we are checking `> 0` not `>= 0`\n // everything except number will return false here\n if (beforePosition! > 0) {\n index = beforePosition!;\n }\n\n clone.splice(index, 0, value as RepairType<T>);\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isStateOperator } from './utils';\n\nexport type PatchSpec<T> = { [P in keyof T]?: T[P] | StateOperator<NonNullable<T[P]>> };\n\ntype PatchValues<T> = {\n readonly [P in keyof T]?: T[P] extends (...args: any[]) => infer R ? R : T[P];\n};\n\ntype PatchOperator<T> = <U extends PatchValues<T>>(existing: Readonly<U>) => U;\n\nexport function patch<T>(patchObject: PatchSpec<T>): PatchOperator<T> {\n return function patchStateOperator<U extends PatchValues<T>>(existing: Readonly<U>): U {\n let clone = null;\n for (const k in patchObject) {\n const newValue = patchObject[k];\n const existingPropValue = existing[k];\n const newPropValue = isStateOperator(newValue)\n ? newValue(<any>existingPropValue)\n : newValue;\n if (newPropValue !== existingPropValue) {\n if (!clone) {\n clone = { ...(<any>existing) };\n }\n clone[k] = newPropValue;\n }\n }\n return clone || existing;\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport { isStateOperator, isPredicate, isNumber, invalidIndex, RepairType } from './utils';\nimport { Predicate } from './internals';\n\n/**\n * @param selector - Index of item in the array or a predicate function\n * that can be provided in `Array.prototype.findIndex`\n * @param operatorOrValue - New value under the `selector` index or a\n * function that can be applied to an existing value\n */\nexport function updateItem<T>(\n selector: number | Predicate<T>,\n operatorOrValue: T | StateOperator<T>\n): StateOperator<RepairType<T>[]> {\n return function updateItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n let value: T = null!;\n // Need to check if the new item value will change the existing item value\n // then, only if it will change it then clone the array and set the item\n if (isStateOperator(operatorOrValue)) {\n value = operatorOrValue(existing[index] as Readonly<T>);\n } else {\n value = operatorOrValue;\n }\n\n // If the value hasn't been mutated\n // then we just return `existing` array\n if (value === existing[index]) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone[index] = value as RepairType<T>;\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { Predicate } from './internals';\nimport { isPredicate, isNumber, invalidIndex, RepairType } from './utils';\n\n/**\n * @param selector - index or predicate to remove an item from an array by\n */\nexport function removeItem<T>(\n selector: number | Predicate<T>\n): StateOperator<RepairType<T>[]> {\n return function removeItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone.splice(index, 1);\n return clone;\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngxs-store-operators.js","sources":["ng://@ngxs/store/operators/append.ts","ng://@ngxs/store/operators/compose.ts","ng://@ngxs/store/operators/utils.ts","ng://@ngxs/store/operators/iif.ts","ng://@ngxs/store/operators/insert-item.ts","ng://@ngxs/store/operators/patch.ts","ng://@ngxs/store/operators/update-item.ts","ng://@ngxs/store/operators/remove-item.ts"],"sourcesContent":["import { StateOperator } from '@ngxs/store';\nimport { RepairType, NoInfer } from './utils';\n\n/**\n * @param items - Specific items to append to the end of an array\n */\nexport function append<T>(items: NoInfer<T>[]): StateOperator<RepairType<T>[]> {\n return function appendOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // If `items` is `undefined` or `null` or `[]` but `existing` is provided\n // just return `existing`\n const itemsNotProvidedButExistingIs = (!items || !items.length) && existing;\n if (itemsNotProvidedButExistingIs) {\n return existing as RepairType<T>[];\n }\n\n if (Array.isArray(existing)) {\n return existing.concat((items as unknown) as RepairType<T>[]);\n }\n\n // For example if some property is added dynamically\n // and didn't exist before thus it's not `ArrayLike`\n return (items as unknown) as RepairType<T>[];\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { NoInfer } from './utils';\n\nexport function compose<T>(...operators: NoInfer<StateOperator<T>[]>): StateOperator<T> {\n return function composeOperator(existing: Readonly<T>): T {\n return operators.reduce((accumulator, operator) => operator(accumulator), existing);\n };\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport { Predicate } from './internals';\n\nexport function isStateOperator<T>(value: T | StateOperator<T>): value is StateOperator<T> {\n return typeof value === 'function';\n}\n\nexport function isUndefined(value: any): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isPredicate<T>(value: Predicate<T> | boolean | number): value is Predicate<T> {\n return typeof value === 'function';\n}\n\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\nexport function invalidIndex(index: number): boolean {\n return Number.isNaN(index) || index === -1;\n}\n\nexport function isNil<T>(value: T | null | undefined): value is null | undefined {\n return value === null || isUndefined(value);\n}\n\nexport type RepairType<T> = T extends true ? boolean : T extends false ? boolean : T;\n\nexport type NoInfer<T> = T extends infer S ? S : never;\n","import { StateOperator } from '@ngxs/store';\n\nimport { isStateOperator, isUndefined, isPredicate, RepairType, NoInfer } from './utils';\nimport { Predicate } from './internals';\n\nfunction retrieveValue<T>(\n operatorOrValue: StateOperator<T> | T,\n existing?: Readonly<RepairType<T>>\n): RepairType<T> {\n // If state operator is a function\n // then call it with an original value\n if (isStateOperator(operatorOrValue)) {\n const value = operatorOrValue(existing! as Readonly<T>);\n return value as RepairType<T>;\n }\n\n // If operator or value was not provided\n // e.g. `elseOperatorOrValue` is `undefined`\n // then we just return an original value\n if (isUndefined(operatorOrValue)) {\n return (<any>existing)! as RepairType<T>;\n }\n\n return operatorOrValue as RepairType<T>;\n}\n\n/**\n * @param condition - Condition can be a plain boolean value or a function,\n * that returns boolean, also this function can take a value as an argument\n * to which this state operator applies\n * @param trueOperatorOrValue - Any value or a state operator\n * @param elseOperatorOrValue - Any value or a state operator\n */\nexport function iif<T>(\n condition: NoInfer<Predicate<T>> | boolean,\n trueOperatorOrValue: NoInfer<StateOperator<T>> | T,\n elseOperatorOrValue?: NoInfer<StateOperator<T>> | T\n): StateOperator<RepairType<T>> {\n return function iifOperator(existing: Readonly<RepairType<T>>): RepairType<T> {\n // Convert the value to a boolean\n let result = !!condition;\n // but if it is a function then run it to get the result\n if (isPredicate(condition)) {\n result = condition(existing);\n }\n\n if (result) {\n return retrieveValue<T>(trueOperatorOrValue, existing as RepairType<T>);\n }\n\n return retrieveValue<T>(elseOperatorOrValue!, existing as RepairType<T>);\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isNil, RepairType, NoInfer } from './utils';\n\n/**\n * @param value - Value to insert\n * @param [beforePosition] - Specified index to insert value before, optional\n */\nexport function insertItem<T>(\n value: NoInfer<T>,\n beforePosition?: number\n): StateOperator<RepairType<T>[]> {\n return function insertItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n // Have to check explicitly for `null` and `undefined`\n // because `value` can be `0`, thus `!value` will return `true`\n if (isNil(value) && existing) {\n return existing as RepairType<T>[];\n }\n\n // Property may be dynamic and might not existed before\n if (!Array.isArray(existing)) {\n return [(value as unknown) as RepairType<T>];\n }\n\n const clone = existing.slice();\n\n let index = 0;\n\n // No need to call `isNumber`\n // as we are checking `> 0` not `>= 0`\n // everything except number will return false here\n if (beforePosition! > 0) {\n index = beforePosition!;\n }\n\n clone.splice(index, 0, (value as unknown) as RepairType<T>);\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { isStateOperator, NoInfer } from './utils';\n\nexport type PatchSpec<T> = { [P in keyof T]?: T[P] | StateOperator<NonNullable<T[P]>> };\n\ntype PatchValues<T> = {\n readonly [P in keyof T]?: T[P] extends (...args: any[]) => infer R ? R : T[P];\n};\n\nexport function patch<T>(patchObject: NoInfer<PatchSpec<T>>): StateOperator<NonNullable<T>> {\n return (function patchStateOperator(existing: Readonly<PatchValues<T>>): NonNullable<T> {\n let clone = null;\n for (const k in patchObject) {\n const newValue = patchObject[k];\n const existingPropValue = existing[k as Extract<keyof T, string>];\n const newPropValue = isStateOperator(newValue)\n ? newValue(<any>existingPropValue)\n : newValue;\n if (newPropValue !== existingPropValue) {\n if (!clone) {\n clone = { ...(<any>existing) };\n }\n clone[k] = newPropValue;\n }\n }\n return clone || existing;\n } as unknown) as StateOperator<NonNullable<T>>;\n}\n","import { StateOperator } from '@ngxs/store';\n\nimport {\n isStateOperator,\n isPredicate,\n isNumber,\n invalidIndex,\n RepairType,\n NoInfer\n} from './utils';\nimport { Predicate } from './internals';\n\n/**\n * @param selector - Index of item in the array or a predicate function\n * that can be provided in `Array.prototype.findIndex`\n * @param operatorOrValue - New value under the `selector` index or a\n * function that can be applied to an existing value\n */\nexport function updateItem<T>(\n selector: number | NoInfer<Predicate<T>>,\n operatorOrValue: NoInfer<T> | NoInfer<StateOperator<T>>\n): StateOperator<RepairType<T>[]> {\n return function updateItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector as Predicate<T>);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n let value: T = null!;\n // Need to check if the new item value will change the existing item value\n // then, only if it will change it then clone the array and set the item\n const theOperatorOrValue = operatorOrValue as T | StateOperator<T>;\n if (isStateOperator(theOperatorOrValue)) {\n value = theOperatorOrValue(existing[index] as Readonly<T>);\n } else {\n value = theOperatorOrValue;\n }\n\n // If the value hasn't been mutated\n // then we just return `existing` array\n if (value === existing[index]) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone[index] = value as RepairType<T>;\n return clone;\n };\n}\n","import { StateOperator } from '@ngxs/store';\nimport { Predicate } from './internals';\nimport { isPredicate, isNumber, invalidIndex, RepairType } from './utils';\n\n/**\n * @param selector - index or predicate to remove an item from an array by\n */\nexport function removeItem<T>(\n selector: number | Predicate<T>\n): StateOperator<RepairType<T>[]> {\n return function removeItemOperator(existing: Readonly<RepairType<T>[]>): RepairType<T>[] {\n let index = -1;\n\n if (isPredicate(selector)) {\n index = existing.findIndex(selector);\n } else if (isNumber(selector)) {\n index = selector;\n }\n\n if (invalidIndex(index)) {\n return existing as RepairType<T>[];\n }\n\n const clone = existing.slice();\n clone.splice(index, 1);\n return clone;\n };\n}\n"],"names":[],"mappings":"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"}
|
package/operators/append.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StateOperator } from '@ngxs/store';
|
|
2
|
-
import { RepairType } from './utils';
|
|
2
|
+
import { RepairType, NoInfer } from './utils';
|
|
3
3
|
/**
|
|
4
4
|
* @param items - Specific items to append to the end of an array
|
|
5
5
|
*/
|
|
6
|
-
export declare function append<T>(items: T[]): StateOperator<RepairType<T>[]>;
|
|
6
|
+
export declare function append<T>(items: NoInfer<T>[]): StateOperator<RepairType<T>[]>;
|
package/operators/compose.d.ts
CHANGED
package/operators/iif.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StateOperator } from '@ngxs/store';
|
|
2
|
-
import { RepairType } from './utils';
|
|
2
|
+
import { RepairType, NoInfer } from './utils';
|
|
3
3
|
import { Predicate } from './internals';
|
|
4
4
|
/**
|
|
5
5
|
* @param condition - Condition can be a plain boolean value or a function,
|
|
@@ -8,4 +8,4 @@ import { Predicate } from './internals';
|
|
|
8
8
|
* @param trueOperatorOrValue - Any value or a state operator
|
|
9
9
|
* @param elseOperatorOrValue - Any value or a state operator
|
|
10
10
|
*/
|
|
11
|
-
export declare function iif<T>(condition: Predicate<T
|
|
11
|
+
export declare function iif<T>(condition: NoInfer<Predicate<T>> | boolean, trueOperatorOrValue: NoInfer<StateOperator<T>> | T, elseOperatorOrValue?: NoInfer<StateOperator<T>> | T): StateOperator<RepairType<T>>;
|
package/operators/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export { compose } from './compose';
|
|
|
8
8
|
export { iif } from './iif';
|
|
9
9
|
export { insertItem } from './insert-item';
|
|
10
10
|
export { patch } from './patch';
|
|
11
|
-
export { isStateOperator } from './utils';
|
|
11
|
+
export { isStateOperator, NoInfer } from './utils';
|
|
12
12
|
export { updateItem } from './update-item';
|
|
13
13
|
export { removeItem } from './remove-item';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StateOperator } from '@ngxs/store';
|
|
2
|
-
import { RepairType } from './utils';
|
|
2
|
+
import { RepairType, NoInfer } from './utils';
|
|
3
3
|
/**
|
|
4
4
|
* @param value - Value to insert
|
|
5
5
|
* @param [beforePosition] - Specified index to insert value before, optional
|
|
6
6
|
*/
|
|
7
|
-
export declare function insertItem<T>(value: T
|
|
7
|
+
export declare function insertItem<T>(value: NoInfer<T>, beforePosition?: number): StateOperator<RepairType<T>[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"append":{"__symbolic":"function","parameters":["items"],"value":{"__symbolic":"error","message":"Lambda not supported","line":7,"character":9,"module":"./append"}},"compose":{"__symbolic":"function","parameters":["operators"],"value":{"__symbolic":"error","message":"Lambda not supported","line":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"append":{"__symbolic":"function","parameters":["items"],"value":{"__symbolic":"error","message":"Lambda not supported","line":7,"character":9,"module":"./append"}},"compose":{"__symbolic":"function","parameters":["operators"],"value":{"__symbolic":"error","message":"Lambda not supported","line":4,"character":9,"module":"./compose"}},"iif":{"__symbolic":"function","parameters":["condition","trueOperatorOrValue","elseOperatorOrValue"],"value":{"__symbolic":"error","message":"Lambda not supported","line":38,"character":9,"module":"./iif"}},"insertItem":{"__symbolic":"function","parameters":["value","beforePosition"],"value":{"__symbolic":"error","message":"Lambda not supported","line":11,"character":9,"module":"./insert-item"}},"patch":{"__symbolic":"function","parameters":["patchObject"],"value":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":10,"module":"./patch"}},"isStateOperator":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":5,"character":9,"module":"./utils"},"right":"function"}},"NoInfer":{"__symbolic":"interface"},"updateItem":{"__symbolic":"function","parameters":["selector","operatorOrValue"],"value":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":9,"module":"./update-item"}},"removeItem":{"__symbolic":"function","parameters":["selector"],"value":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":9,"module":"./remove-item"}}},"origins":{"append":"./append","compose":"./compose","iif":"./iif","insertItem":"./insert-item","patch":"./patch","isStateOperator":"./utils","NoInfer":"./utils","updateItem":"./update-item","removeItem":"./remove-item"},"importAs":"@ngxs/store/operators"}
|
package/operators/patch.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { StateOperator } from '@ngxs/store';
|
|
2
|
+
import { NoInfer } from './utils';
|
|
2
3
|
export declare type PatchSpec<T> = {
|
|
3
4
|
[P in keyof T]?: T[P] | StateOperator<NonNullable<T[P]>>;
|
|
4
5
|
};
|
|
5
|
-
declare
|
|
6
|
-
readonly [P in keyof T]?: T[P] extends (...args: any[]) => infer R ? R : T[P];
|
|
7
|
-
};
|
|
8
|
-
declare type PatchOperator<T> = <U extends PatchValues<T>>(existing: Readonly<U>) => U;
|
|
9
|
-
export declare function patch<T>(patchObject: PatchSpec<T>): PatchOperator<T>;
|
|
10
|
-
export {};
|
|
6
|
+
export declare function patch<T>(patchObject: NoInfer<PatchSpec<T>>): StateOperator<NonNullable<T>>;
|