@ngrx/entity 7.0.0 → 7.4.0
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/entity.umd.js +4 -4
- package/bundles/entity.umd.min.js +2 -2
- package/bundles/entity.umd.min.js.map +1 -1
- package/esm2015/entity.js +0 -1
- package/esm2015/index.js +1 -2
- package/esm2015/public_api.js +1 -2
- package/esm2015/src/create_adapter.js +7 -4
- package/esm2015/src/entity_state.js +2 -3
- package/esm2015/src/index.js +1 -2
- package/esm2015/src/models.js +161 -94
- package/esm2015/src/sorted_state_adapter.js +38 -14
- package/esm2015/src/state_adapter.js +11 -6
- package/esm2015/src/state_selectors.js +27 -7
- package/esm2015/src/unsorted_state_adapter.js +49 -15
- package/esm2015/src/utils.js +2 -3
- package/esm5/entity.js +0 -1
- package/esm5/index.js +0 -1
- package/esm5/public_api.js +0 -1
- package/esm5/src/create_adapter.js +0 -1
- package/esm5/src/entity_state.js +0 -1
- package/esm5/src/index.js +0 -1
- package/esm5/src/models.js +0 -1
- package/esm5/src/sorted_state_adapter.js +0 -1
- package/esm5/src/state_adapter.js +0 -1
- package/esm5/src/state_selectors.js +0 -1
- package/esm5/src/unsorted_state_adapter.js +0 -1
- package/esm5/src/utils.js +0 -1
- package/fesm2015/entity.js +137 -42
- package/fesm2015/entity.js.map +1 -1
- package/fesm5/entity.js +1 -1
- package/migrations/6_0_0/index.js +2 -2
- package/package.json +10 -2
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/index.d.ts +4 -0
- package/schematics/ng-add/index.js +33 -0
- package/schematics/ng-add/schema.d.ts +4 -0
- package/schematics/ng-add/schema.js +13 -0
- package/schematics/ng-add/schema.json +15 -0
- package/schematics-core/index.d.ts +1 -2
- package/schematics-core/index.js +4 -5
- package/schematics-core/utility/ast-utils.d.ts +10 -0
- package/schematics-core/utility/ast-utils.js +153 -154
- package/schematics-core/utility/change.js +39 -46
- package/schematics-core/utility/config.js +8 -8
- package/schematics-core/utility/find-module.js +22 -22
- package/schematics-core/utility/libs-version.d.ts +1 -1
- package/schematics-core/utility/libs-version.js +2 -2
- package/schematics-core/utility/ngrx-utils.d.ts +2 -0
- package/schematics-core/utility/ngrx-utils.js +83 -142
- package/schematics-core/utility/package.js +3 -3
- package/schematics-core/utility/parse-name.js +4 -4
- package/schematics-core/utility/project.js +11 -8
- package/schematics-core/utility/strings.d.ts +12 -0
- package/schematics-core/utility/strings.js +27 -12
- package/schematics-core/utility/update.js +13 -13
- package/schematics-core/utility/route-utils.d.ts +0 -20
- package/schematics-core/utility/route-utils.js +0 -84
|
@@ -163,5 +163,4 @@ export function createUnsortedStateAdapter(selectId) {
|
|
|
163
163
|
map: createStateOperator(mapMutably),
|
|
164
164
|
};
|
|
165
165
|
}
|
|
166
|
-
|
|
167
166
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zb3J0ZWRfc3RhdGVfYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3NyYy91bnNvcnRlZF9zdGF0ZV9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUt4QyxNQUFNLFVBQVUsMEJBQTBCLENBQUksUUFBdUI7SUFJbkUsU0FBUyxhQUFhLENBQUMsTUFBVyxFQUFFLEtBQVU7UUFDNUMsSUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztTQUN2QjtRQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBRTdCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBR0QsU0FBUyxjQUFjLENBQUMsUUFBZSxFQUFFLEtBQVU7O1FBQ2pELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQzs7WUFFdEIsS0FBcUIsSUFBQSxhQUFBLFNBQUEsUUFBUSxDQUFBLGtDQUFBLHdEQUFFO2dCQUExQixJQUFNLE1BQU0scUJBQUE7Z0JBQ2YsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7YUFDMUU7Ozs7Ozs7OztRQUVELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMs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S0FBSyxDQUFDLENBQUM7UUFDN0QsSUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRELFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDdEMsa0JBQWtCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ3JDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztZQUN4QixLQUFLLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUN0QyxrQkFBa0IsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDckMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3hCO2dCQUNFLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsU0FBUyxXQUFBO1FBQ1QsTUFBTSxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztRQUMxQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsY0FBYyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7UUFDMUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO1FBQ2hELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxTQUFTLEVBQUUsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsVUFBVSxFQUFFLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDO1FBQ2xELFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxVQUFVLEVBQUUsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7UUFDbEQsR0FBRyxFQUFFLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztLQUNyQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eVN0YXRlLFxuICBFbnRpdHlTdGF0ZUFkYXB0ZXIsXG4gIElkU2VsZWN0b3IsXG4gIFVwZGF0ZSxcbiAgUHJlZGljYXRlLFxuICBFbnRpdHlNYXAsXG59IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGNyZWF0ZVN0YXRlT3BlcmF0b3IsIERpZE11dGF0ZSB9IGZyb20gJy4vc3RhdGVfYWRhcHRlcic7XG5pbXBvcnQgeyBzZWxlY3RJZFZhbHVlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVbnNvcnRlZFN0YXRlQWRhcHRlcjxUPihcbiAgc2VsZWN0SWQ6IElkU2VsZWN0b3I8VD5cbik6IEVudGl0eVN0YXRlQWRhcHRlcjxUPjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVbnNvcnRlZFN0YXRlQWRhcHRlcjxUPihzZWxlY3RJZDogSWRTZWxlY3RvcjxUPik6IGFueSB7XG4gIHR5cGUgUiA9IEVudGl0eVN0YXRlPFQ+O1xuXG4gIGZ1bmN0aW9uIGFkZE9uZU11dGFibHkoZW50aXR5OiBULCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gYWRkT25lTXV0YWJseShlbnRpdHk6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3Qga2V5ID0gc2VsZWN0SWRWYWx1ZShlbnRpdHksIHNlbGVjdElkKTtcblxuICAgIGlmIChrZXkgaW4gc3RhdGUuZW50aXRpZXMpIHtcbiAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICB9XG5cbiAgICBzdGF0ZS5pZHMucHVzaChrZXkpO1xuICAgIHN0YXRlLmVudGl0aWVzW2tleV0gPSBlbnRpdHk7XG5cbiAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gIH1cblxuICBmdW5jdGlvbiBhZGRNYW55TXV0YWJseShlbnRpdGllczogVFtdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gYWRkTWFueU11dGFibHkoZW50aXRpZXM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBsZXQgZGlkTXV0YXRlID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgICAgZGlkTXV0YXRlID0gYWRkT25lTXV0YWJseShlbnRpdHksIHN0YXRlKSAhPT0gRGlkTXV0YXRlLk5vbmUgfHwgZGlkTXV0YXRlO1xuICAgIH1cblxuICAgIHJldHVybiBkaWRNdXRhdGUgPyBEaWRNdXRhdGUuQm90aCA6IERpZE11dGF0ZS5Ob25lO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkQWxsTXV0YWJseShlbnRpdGllczogVFtdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gYWRkQWxsTXV0YWJseShlbnRpdGllczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHN0YXRlLmlkcyA9IFtdO1xuICAgIHN0YXRlLmVudGl0aWVzID0ge307XG5cbiAgICBhZGRNYW55TXV0YWJseShlbnRpdGllcywgc3RhdGUpO1xuXG4gICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlT25lTXV0YWJseShrZXk6IFQsIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiByZW1vdmVPbmVNdXRhYmx5KGtleTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICByZXR1cm4gcmVtb3ZlTWFueU11dGFibHkoW2tleV0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZU1hbnlNdXRhYmx5KGtleXM6IFRbXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHJlbW92ZU1hbnlNdXRhYmx5KHByZWRpY2F0ZTogUHJlZGljYXRlPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gcmVtb3ZlTWFueU11dGFibHkoXG4gICAga2V5c09yUHJlZGljYXRlOiBhbnlbXSB8IFByZWRpY2F0ZTxUPixcbiAgICBzdGF0ZTogYW55XG4gICk6IERpZE11dGF0ZSB7XG4gICAgY29uc3Qga2V5cyA9XG4gICAgICBrZXlzT3JQcmVkaWNhdGUgaW5zdGFuY2VvZiBBcnJheVxuICAgICAgICA/IGtleXNPclByZWRpY2F0ZVxuICAgICAgICA6IHN0YXRlLmlkcy5maWx0ZXIoKGtleTogYW55KSA9PiBrZXlzT3JQcmVkaWNhdGUoc3RhdGUuZW50aXRpZXNba2V5XSkpO1xuXG4gICAgY29uc3QgZGlkTXV0YXRlID1cbiAgICAgIGtleXNcbiAgICAgICAgLmZpbHRlcigoa2V5OiBhbnkpID0+IGtleSBpbiBzdGF0ZS5lbnRpdGllcylcbiAgICAgICAgLm1hcCgoa2V5OiBhbnkpID0+IGRlbGV0ZSBzdGF0ZS5lbnRpdGllc1trZXldKS5sZW5ndGggPiAwO1xuXG4gICAgaWYgKGRpZE11dGF0ZSkge1xuICAgICAgc3RhdGUuaWRzID0gc3RhdGUuaWRzLmZpbHRlcigoaWQ6IGFueSkgPT4gaWQgaW4gc3RhdGUuZW50aXRpZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBkaWRNdXRhdGUgPyBEaWRNdXRhdGUuQm90aCA6IERpZE11dGF0ZS5Ob25lO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlQWxsPFMgZXh0ZW5kcyBSPihzdGF0ZTogUyk6IFM7XG4gIGZ1bmN0aW9uIHJlbW92ZUFsbDxTIGV4dGVuZHMgUj4oc3RhdGU6IGFueSk6IFMge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwge1xuICAgICAgaWRzOiBbXSxcbiAgICAgIGVudGl0aWVzOiB7fSxcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRha2VOZXdLZXkoXG4gICAga2V5czogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIHVwZGF0ZTogVXBkYXRlPFQ+LFxuICAgIHN0YXRlOiBSXG4gICk6IHZvaWQ7XG4gIGZ1bmN0aW9uIHRha2VOZXdLZXkoXG4gICAga2V5czogeyBbaWQ6IHN0cmluZ106IGFueSB9LFxuICAgIHVwZGF0ZTogVXBkYXRlPFQ+LFxuICAgIHN0YXRlOiBhbnlcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb3JpZ2luYWwgPSBzdGF0ZS5lbnRpdGllc1t1cGRhdGUuaWRdO1xuICAgIGNvbnN0IHVwZGF0ZWQ6IFQgPSBPYmplY3QuYXNzaWduKHt9LCBvcmlnaW5hbCwgdXBkYXRlLmNoYW5nZXMpO1xuICAgIGNvbnN0IG5ld0tleSA9IHNlbGVjdElkVmFsdWUodXBkYXRlZCwgc2VsZWN0SWQpO1xuICAgIGNvbnN0IGhhc05ld0tleSA9IG5ld0tleSAhPT0gdXBkYXRlLmlkO1xuXG4gICAgaWYgKGhhc05ld0tleSkge1xuICAgICAga2V5c1t1cGRhdGUuaWRdID0gbmV3S2V5O1xuICAgICAgZGVsZXRlIHN0YXRlLmVudGl0aWVzW3VwZGF0ZS5pZF07XG4gICAgfVxuXG4gICAgc3RhdGUuZW50aXRpZXNbbmV3S2V5XSA9IHVwZGF0ZWQ7XG5cbiAgICByZXR1cm4gaGFzTmV3S2V5O1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlT25lTXV0YWJseSh1cGRhdGU6IFVwZGF0ZTxUPiwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwZGF0ZU9uZU11dGFibHkodXBkYXRlOiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHJldHVybiB1cGRhdGVNYW55TXV0YWJseShbdXBkYXRlXSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlTWFueU11dGFibHkodXBkYXRlczogVXBkYXRlPFQ+W10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cGRhdGVNYW55TXV0YWJseSh1cGRhdGVzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgbmV3S2V5czogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cbiAgICB1cGRhdGVzID0gdXBkYXRlcy5maWx0ZXIodXBkYXRlID0+IHVwZGF0ZS5pZCBpbiBzdGF0ZS5lbnRpdGllcyk7XG5cbiAgICBjb25zdCBkaWRNdXRhdGVFbnRpdGllcyA9IHVwZGF0ZXMubGVuZ3RoID4gMDtcblxuICAgIGlmIChkaWRNdXRhdGVFbnRpdGllcykge1xuICAgICAgY29uc3QgZGlkTXV0YXRlSWRzID1cbiAgICAgICAgdXBkYXRlcy5maWx0ZXIodXBkYXRlID0+IHRha2VOZXdLZXkobmV3S2V5cywgdXBkYXRlLCBzdGF0ZSkpLmxlbmd0aCA+IDA7XG5cbiAgICAgIGlmIChkaWRNdXRhdGVJZHMpIHtcbiAgICAgICAgc3RhdGUuaWRzID0gc3RhdGUuaWRzLm1hcCgoaWQ6IGFueSkgPT4gbmV3S2V5c1tpZF0gfHwgaWQpO1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gIH1cblxuICBmdW5jdGlvbiBtYXBNdXRhYmx5KG1hcDogRW50aXR5TWFwPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gbWFwTXV0YWJseShtYXA6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgY2hhbmdlczogVXBkYXRlPFQ+W10gPSBzdGF0ZS5pZHMucmVkdWNlKFxuICAgICAgKGNoYW5nZXM6IGFueVtdLCBpZDogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IG1hcChzdGF0ZS5lbnRpdGllc1tpZF0pO1xuICAgICAgICBpZiAoY2hhbmdlICE9PSBzdGF0ZS5lbnRpdGllc1tpZF0pIHtcbiAgICAgICAgICBjaGFuZ2VzLnB1c2goeyBpZCwgY2hhbmdlczogY2hhbmdlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFuZ2VzO1xuICAgICAgfSxcbiAgICAgIFtdXG4gICAgKTtcbiAgICBjb25zdCB1cGRhdGVzID0gY2hhbmdlcy5maWx0ZXIoKHsgaWQgfSkgPT4gaWQgaW4gc3RhdGUuZW50aXRpZXMpO1xuXG4gICAgcmV0dXJuIHVwZGF0ZU1hbnlNdXRhYmx5KHVwZGF0ZXMsIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwc2VydE9uZU11dGFibHkoZW50aXR5OiBULCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gdXBzZXJ0T25lTXV0YWJseShlbnRpdHk6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgcmV0dXJuIHVwc2VydE1hbnlNdXRhYmx5KFtlbnRpdHldLCBzdGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiB1cHNlcnRNYW55TXV0YWJseShlbnRpdGllczogVFtdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gdXBzZXJ0TWFueU11dGFibHkoZW50aXRpZXM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBhZGRlZDogYW55W10gPSBbXTtcbiAgICBjb25zdCB1cGRhdGVkOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbnRpdHkgb2YgZW50aXRpZXMpIHtcbiAgICAgIGNvbnN0IGlkID0gc2VsZWN0SWRWYWx1ZShlbnRpdHksIHNlbGVjdElkKTtcbiAgICAgIGlmIChpZCBpbiBzdGF0ZS5lbnRpdGllcykge1xuICAgICAgICB1cGRhdGVkLnB1c2goeyBpZCwgY2hhbmdlczogZW50aXR5IH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWRkZWQucHVzaChlbnRpdHkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGRpZE11dGF0ZUJ5VXBkYXRlZCA9IHVwZGF0ZU1hbnlNdXRhYmx5KHVwZGF0ZWQsIHN0YXRlKTtcbiAgICBjb25zdCBkaWRNdXRhdGVCeUFkZGVkID0gYWRkTWFueU11dGFibHkoYWRkZWQsIHN0YXRlKTtcblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSBkaWRNdXRhdGVCeUFkZGVkID09PSBEaWRNdXRhdGUuTm9uZSAmJlxuICAgICAgICBkaWRNdXRhdGVCeVVwZGF0ZWQgPT09IERpZE11dGF0ZS5Ob25lOlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gICAgICBjYXNlIGRpZE11dGF0ZUJ5QWRkZWQgPT09IERpZE11dGF0ZS5Cb3RoIHx8XG4gICAgICAgIGRpZE11dGF0ZUJ5VXBkYXRlZCA9PT0gRGlkTXV0YXRlLkJvdGg6XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuQm90aDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuRW50aXRpZXNPbmx5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVtb3ZlQWxsLFxuICAgIGFkZE9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRPbmVNdXRhYmx5KSxcbiAgICBhZGRNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKGFkZE1hbnlNdXRhYmx5KSxcbiAgICBhZGRBbGw6IGNyZWF0ZVN0YXRlT3BlcmF0b3IoYWRkQWxsTXV0YWJseSksXG4gICAgdXBkYXRlT25lOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwZGF0ZU9uZU11dGFibHkpLFxuICAgIHVwZGF0ZU1hbnk6IGNyZWF0ZVN0YXRlT3BlcmF0b3IodXBkYXRlTWFueU11dGFibHkpLFxuICAgIHVwc2VydE9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcih1cHNlcnRPbmVNdXRhYmx5KSxcbiAgICB1cHNlcnRNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwc2VydE1hbnlNdXRhYmx5KSxcbiAgICByZW1vdmVPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IocmVtb3ZlT25lTXV0YWJseSksXG4gICAgcmVtb3ZlTWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcihyZW1vdmVNYW55TXV0YWJseSksXG4gICAgbWFwOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKG1hcE11dGFibHkpLFxuICB9O1xufVxuIl19
|
package/esm5/src/utils.js
CHANGED
|
@@ -6,5 +6,4 @@ export function selectIdValue(entity, selectId) {
|
|
|
6
6
|
}
|
|
7
7
|
return key;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxNQUFNLFVBQVUsYUFBYSxDQUFJLE1BQVMsRUFBRSxRQUF1QjtJQUNqRSxJQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0IsSUFBSSxTQUFTLEVBQUUsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQ1Ysc0ZBQXNGLEVBQ3RGLGlFQUFpRSxFQUNqRSw2QkFBNkIsRUFDN0IsTUFBTSxFQUNOLGdDQUFnQyxFQUNoQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQ3BCLENBQUM7S0FDSDtJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWRTZWxlY3RvciB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdElkVmFsdWU8VD4oZW50aXR5OiBULCBzZWxlY3RJZDogSWRTZWxlY3RvcjxUPikge1xuICBjb25zdCBrZXkgPSBzZWxlY3RJZChlbnRpdHkpO1xuXG4gIGlmIChpc0Rldk1vZGUoKSAmJiBrZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdAbmdyeC9lbnRpdHk6IFRoZSBlbnRpdHkgcGFzc2VkIHRvIHRoZSBgc2VsZWN0SWRgIGltcGxlbWVudGF0aW9uIHJldHVybmVkIHVuZGVmaW5lZC4nLFxuICAgICAgJ1lvdSBzaG91bGQgcHJvYmFibHkgcHJvdmlkZSB5b3VyIG93biBgc2VsZWN0SWRgIGltcGxlbWVudGF0aW9uLicsXG4gICAgICAnVGhlIGVudGl0eSB0aGF0IHdhcyBwYXNzZWQ6JyxcbiAgICAgIGVudGl0eSxcbiAgICAgICdUaGUgYHNlbGVjdElkYCBpbXBsZW1lbnRhdGlvbjonLFxuICAgICAgc2VsZWN0SWQudG9TdHJpbmcoKVxuICAgICk7XG4gIH1cblxuICByZXR1cm4ga2V5O1xufVxuIl19
|
package/fesm2015/entity.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license NgRx 7.
|
|
2
|
+
* @license NgRx 7.4.0
|
|
3
3
|
* (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -8,7 +8,7 @@ import { isDevMode } from '@angular/core';
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @fileoverview added by tsickle
|
|
11
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
11
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
14
|
* @template V
|
|
@@ -37,7 +37,7 @@ function createInitialStateFactory() {
|
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* @fileoverview added by tsickle
|
|
40
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
40
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
41
41
|
*/
|
|
42
42
|
/**
|
|
43
43
|
* @template T
|
|
@@ -50,13 +50,34 @@ function createSelectorsFactory() {
|
|
|
50
50
|
*/
|
|
51
51
|
function getSelectors(selectState) {
|
|
52
52
|
/** @type {?} */
|
|
53
|
-
const selectIds = (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
/** @type {?} */
|
|
59
|
-
const
|
|
53
|
+
const selectIds = (/**
|
|
54
|
+
* @param {?} state
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
(state) => state.ids);
|
|
58
|
+
/** @type {?} */
|
|
59
|
+
const selectEntities = (/**
|
|
60
|
+
* @param {?} state
|
|
61
|
+
* @return {?}
|
|
62
|
+
*/
|
|
63
|
+
(state) => state.entities);
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
const selectAll = createSelector(selectIds, selectEntities, (/**
|
|
66
|
+
* @param {?} ids
|
|
67
|
+
* @param {?} entities
|
|
68
|
+
* @return {?}
|
|
69
|
+
*/
|
|
70
|
+
(ids, entities) => ids.map((/**
|
|
71
|
+
* @param {?} id
|
|
72
|
+
* @return {?}
|
|
73
|
+
*/
|
|
74
|
+
(id) => ((/** @type {?} */ (entities)))[id]))));
|
|
75
|
+
/** @type {?} */
|
|
76
|
+
const selectTotal = createSelector(selectIds, (/**
|
|
77
|
+
* @param {?} ids
|
|
78
|
+
* @return {?}
|
|
79
|
+
*/
|
|
80
|
+
ids => ids.length));
|
|
60
81
|
if (!selectState) {
|
|
61
82
|
return {
|
|
62
83
|
selectIds,
|
|
@@ -77,10 +98,10 @@ function createSelectorsFactory() {
|
|
|
77
98
|
|
|
78
99
|
/**
|
|
79
100
|
* @fileoverview added by tsickle
|
|
80
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
101
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
81
102
|
*/
|
|
82
103
|
/** @enum {number} */
|
|
83
|
-
|
|
104
|
+
const DidMutate = {
|
|
84
105
|
EntitiesOnly: 0,
|
|
85
106
|
Both: 1,
|
|
86
107
|
None: 2,
|
|
@@ -94,7 +115,13 @@ DidMutate[DidMutate.None] = 'None';
|
|
|
94
115
|
* @return {?}
|
|
95
116
|
*/
|
|
96
117
|
function createStateOperator(mutator) {
|
|
97
|
-
return
|
|
118
|
+
return (/**
|
|
119
|
+
* @template S
|
|
120
|
+
* @param {?} arg
|
|
121
|
+
* @param {?} state
|
|
122
|
+
* @return {?}
|
|
123
|
+
*/
|
|
124
|
+
function operation(arg, state) {
|
|
98
125
|
/** @type {?} */
|
|
99
126
|
const clonedEntityState = {
|
|
100
127
|
ids: [...state.ids],
|
|
@@ -109,12 +136,12 @@ function createStateOperator(mutator) {
|
|
|
109
136
|
return Object.assign({}, state, { entities: clonedEntityState.entities });
|
|
110
137
|
}
|
|
111
138
|
return state;
|
|
112
|
-
};
|
|
139
|
+
});
|
|
113
140
|
}
|
|
114
141
|
|
|
115
142
|
/**
|
|
116
143
|
* @fileoverview added by tsickle
|
|
117
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
144
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
118
145
|
*/
|
|
119
146
|
/**
|
|
120
147
|
* @template T
|
|
@@ -133,7 +160,7 @@ function selectIdValue(entity, selectId) {
|
|
|
133
160
|
|
|
134
161
|
/**
|
|
135
162
|
* @fileoverview added by tsickle
|
|
136
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
163
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
137
164
|
*/
|
|
138
165
|
/**
|
|
139
166
|
* @template T
|
|
@@ -197,13 +224,29 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
197
224
|
/** @type {?} */
|
|
198
225
|
const keys = keysOrPredicate instanceof Array
|
|
199
226
|
? keysOrPredicate
|
|
200
|
-
: state.ids.filter((
|
|
227
|
+
: state.ids.filter((/**
|
|
228
|
+
* @param {?} key
|
|
229
|
+
* @return {?}
|
|
230
|
+
*/
|
|
231
|
+
(key) => keysOrPredicate(state.entities[key])));
|
|
201
232
|
/** @type {?} */
|
|
202
233
|
const didMutate = keys
|
|
203
|
-
.filter((
|
|
204
|
-
|
|
234
|
+
.filter((/**
|
|
235
|
+
* @param {?} key
|
|
236
|
+
* @return {?}
|
|
237
|
+
*/
|
|
238
|
+
(key) => key in state.entities))
|
|
239
|
+
.map((/**
|
|
240
|
+
* @param {?} key
|
|
241
|
+
* @return {?}
|
|
242
|
+
*/
|
|
243
|
+
(key) => delete state.entities[key])).length > 0;
|
|
205
244
|
if (didMutate) {
|
|
206
|
-
state.ids = state.ids.filter((
|
|
245
|
+
state.ids = state.ids.filter((/**
|
|
246
|
+
* @param {?} id
|
|
247
|
+
* @return {?}
|
|
248
|
+
*/
|
|
249
|
+
(id) => id in state.entities));
|
|
207
250
|
}
|
|
208
251
|
return didMutate ? DidMutate.Both : DidMutate.None;
|
|
209
252
|
}
|
|
@@ -256,14 +299,26 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
256
299
|
function updateManyMutably(updates, state) {
|
|
257
300
|
/** @type {?} */
|
|
258
301
|
const newKeys = {};
|
|
259
|
-
updates = updates.filter(
|
|
302
|
+
updates = updates.filter((/**
|
|
303
|
+
* @param {?} update
|
|
304
|
+
* @return {?}
|
|
305
|
+
*/
|
|
306
|
+
update => update.id in state.entities));
|
|
260
307
|
/** @type {?} */
|
|
261
308
|
const didMutateEntities = updates.length > 0;
|
|
262
309
|
if (didMutateEntities) {
|
|
263
310
|
/** @type {?} */
|
|
264
|
-
const didMutateIds = updates.filter(
|
|
311
|
+
const didMutateIds = updates.filter((/**
|
|
312
|
+
* @param {?} update
|
|
313
|
+
* @return {?}
|
|
314
|
+
*/
|
|
315
|
+
update => takeNewKey(newKeys, update, state))).length > 0;
|
|
265
316
|
if (didMutateIds) {
|
|
266
|
-
state.ids = state.ids.map((
|
|
317
|
+
state.ids = state.ids.map((/**
|
|
318
|
+
* @param {?} id
|
|
319
|
+
* @return {?}
|
|
320
|
+
*/
|
|
321
|
+
(id) => newKeys[id] || id));
|
|
267
322
|
return DidMutate.Both;
|
|
268
323
|
}
|
|
269
324
|
else {
|
|
@@ -279,16 +334,25 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
279
334
|
*/
|
|
280
335
|
function mapMutably(map, state) {
|
|
281
336
|
/** @type {?} */
|
|
282
|
-
const changes = state.ids.reduce((
|
|
337
|
+
const changes = state.ids.reduce((/**
|
|
338
|
+
* @param {?} changes
|
|
339
|
+
* @param {?} id
|
|
340
|
+
* @return {?}
|
|
341
|
+
*/
|
|
342
|
+
(changes, id) => {
|
|
283
343
|
/** @type {?} */
|
|
284
344
|
const change = map(state.entities[id]);
|
|
285
345
|
if (change !== state.entities[id]) {
|
|
286
346
|
changes.push({ id, changes: change });
|
|
287
347
|
}
|
|
288
348
|
return changes;
|
|
289
|
-
}, []);
|
|
349
|
+
}), []);
|
|
290
350
|
/** @type {?} */
|
|
291
|
-
const updates = changes.filter((
|
|
351
|
+
const updates = changes.filter((/**
|
|
352
|
+
* @param {?} __0
|
|
353
|
+
* @return {?}
|
|
354
|
+
*/
|
|
355
|
+
({ id }) => id in state.entities));
|
|
292
356
|
return updateManyMutably(updates, state);
|
|
293
357
|
}
|
|
294
358
|
/**
|
|
@@ -351,7 +415,7 @@ function createUnsortedStateAdapter(selectId) {
|
|
|
351
415
|
|
|
352
416
|
/**
|
|
353
417
|
* @fileoverview added by tsickle
|
|
354
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
418
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
355
419
|
*/
|
|
356
420
|
/**
|
|
357
421
|
* @template T
|
|
@@ -376,7 +440,11 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
376
440
|
*/
|
|
377
441
|
function addManyMutably(newModels, state) {
|
|
378
442
|
/** @type {?} */
|
|
379
|
-
const models = newModels.filter(
|
|
443
|
+
const models = newModels.filter((/**
|
|
444
|
+
* @param {?} model
|
|
445
|
+
* @return {?}
|
|
446
|
+
*/
|
|
447
|
+
model => !(selectIdValue(model, selectId) in state.entities)));
|
|
380
448
|
if (models.length === 0) {
|
|
381
449
|
return DidMutate.None;
|
|
382
450
|
}
|
|
@@ -433,7 +501,11 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
433
501
|
/** @type {?} */
|
|
434
502
|
const models = [];
|
|
435
503
|
/** @type {?} */
|
|
436
|
-
const didMutateIds = updates.filter(
|
|
504
|
+
const didMutateIds = updates.filter((/**
|
|
505
|
+
* @param {?} update
|
|
506
|
+
* @return {?}
|
|
507
|
+
*/
|
|
508
|
+
update => takeUpdatedModel(models, update, state))).length >
|
|
437
509
|
0;
|
|
438
510
|
if (models.length === 0) {
|
|
439
511
|
return DidMutate.None;
|
|
@@ -443,7 +515,12 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
443
515
|
const originalIds = state.ids;
|
|
444
516
|
/** @type {?} */
|
|
445
517
|
const updatedIndexes = [];
|
|
446
|
-
state.ids = state.ids.filter((
|
|
518
|
+
state.ids = state.ids.filter((/**
|
|
519
|
+
* @param {?} id
|
|
520
|
+
* @param {?} index
|
|
521
|
+
* @return {?}
|
|
522
|
+
*/
|
|
523
|
+
(id, index) => {
|
|
447
524
|
if (id in state.entities) {
|
|
448
525
|
return true;
|
|
449
526
|
}
|
|
@@ -451,10 +528,14 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
451
528
|
updatedIndexes.push(index);
|
|
452
529
|
return false;
|
|
453
530
|
}
|
|
454
|
-
});
|
|
531
|
+
}));
|
|
455
532
|
merge(models, state);
|
|
456
533
|
if (!didMutateIds &&
|
|
457
|
-
updatedIndexes.every((
|
|
534
|
+
updatedIndexes.every((/**
|
|
535
|
+
* @param {?} i
|
|
536
|
+
* @return {?}
|
|
537
|
+
*/
|
|
538
|
+
(i) => state.ids[i] === originalIds[i]))) {
|
|
458
539
|
return DidMutate.EntitiesOnly;
|
|
459
540
|
}
|
|
460
541
|
else {
|
|
@@ -469,14 +550,19 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
469
550
|
*/
|
|
470
551
|
function mapMutably(updatesOrMap, state) {
|
|
471
552
|
/** @type {?} */
|
|
472
|
-
const updates = state.ids.reduce((
|
|
553
|
+
const updates = state.ids.reduce((/**
|
|
554
|
+
* @param {?} changes
|
|
555
|
+
* @param {?} id
|
|
556
|
+
* @return {?}
|
|
557
|
+
*/
|
|
558
|
+
(changes, id) => {
|
|
473
559
|
/** @type {?} */
|
|
474
560
|
const change = updatesOrMap(state.entities[id]);
|
|
475
561
|
if (change !== state.entities[id]) {
|
|
476
562
|
changes.push({ id, changes: change });
|
|
477
563
|
}
|
|
478
564
|
return changes;
|
|
479
|
-
}, []);
|
|
565
|
+
}), []);
|
|
480
566
|
return updateManyMutably(updates, state);
|
|
481
567
|
}
|
|
482
568
|
/**
|
|
@@ -559,9 +645,14 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
559
645
|
else {
|
|
560
646
|
state.ids = ids.concat(state.ids.slice(j));
|
|
561
647
|
}
|
|
562
|
-
models.forEach((
|
|
648
|
+
models.forEach((/**
|
|
649
|
+
* @param {?} model
|
|
650
|
+
* @param {?} i
|
|
651
|
+
* @return {?}
|
|
652
|
+
*/
|
|
653
|
+
(model, i) => {
|
|
563
654
|
state.entities[selectId(model)] = model;
|
|
564
|
-
});
|
|
655
|
+
}));
|
|
565
656
|
}
|
|
566
657
|
return {
|
|
567
658
|
removeOne,
|
|
@@ -580,7 +671,7 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
580
671
|
|
|
581
672
|
/**
|
|
582
673
|
* @fileoverview added by tsickle
|
|
583
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
674
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
584
675
|
*/
|
|
585
676
|
/**
|
|
586
677
|
* @template T
|
|
@@ -588,7 +679,11 @@ function createSortedStateAdapter(selectId, sort) {
|
|
|
588
679
|
* @return {?}
|
|
589
680
|
*/
|
|
590
681
|
function createEntityAdapter(options = {}) {
|
|
591
|
-
const { selectId, sortComparer } = Object.assign({ sortComparer: false, selectId: (
|
|
682
|
+
const { selectId, sortComparer } = Object.assign({ sortComparer: false, selectId: (/**
|
|
683
|
+
* @param {?} instance
|
|
684
|
+
* @return {?}
|
|
685
|
+
*/
|
|
686
|
+
(instance) => instance.id) }, options);
|
|
592
687
|
/** @type {?} */
|
|
593
688
|
const stateFactory = createInitialStateFactory();
|
|
594
689
|
/** @type {?} */
|
|
@@ -603,7 +698,7 @@ function createEntityAdapter(options = {}) {
|
|
|
603
698
|
|
|
604
699
|
/**
|
|
605
700
|
* @fileoverview added by tsickle
|
|
606
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
701
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
607
702
|
*/
|
|
608
703
|
/**
|
|
609
704
|
* @abstract
|
|
@@ -614,17 +709,17 @@ class Dictionary {
|
|
|
614
709
|
|
|
615
710
|
/**
|
|
616
711
|
* @fileoverview added by tsickle
|
|
617
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
712
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
618
713
|
*/
|
|
619
714
|
|
|
620
715
|
/**
|
|
621
716
|
* @fileoverview added by tsickle
|
|
622
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
717
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
623
718
|
*/
|
|
624
719
|
|
|
625
720
|
/**
|
|
626
721
|
* @fileoverview added by tsickle
|
|
627
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
722
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
628
723
|
*/
|
|
629
724
|
|
|
630
725
|
/**
|
package/fesm2015/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sources":["../src/entity_state.ts","../src/state_selectors.ts","../src/state_adapter.ts","../src/utils.ts","../src/unsorted_state_adapter.ts","../src/sorted_state_adapter.ts","../src/create_adapter.ts","../src/models.ts","../entity.ts"],"sourcesContent":["import { EntityState } from './models';\n\nexport function getInitialEntityState<V>(): EntityState<V> {\n return {\n ids: [],\n entities: {},\n };\n}\n\nexport function createInitialStateFactory<V>() {\n function getInitialState(): EntityState<V>;\n function getInitialState<S extends object>(\n additionalState: S\n ): EntityState<V> & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(getInitialEntityState(), additionalState);\n }\n\n return { getInitialState };\n}\n","import { createSelector } from '@ngrx/store';\nimport { EntityState, EntitySelectors, Dictionary } from './models';\n\nexport function createSelectorsFactory<T>() {\n function getSelectors(): EntitySelectors<T, EntityState<T>>;\n function getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): EntitySelectors<T, V>;\n function getSelectors(\n selectState?: (state: any) => EntityState<T>\n ): EntitySelectors<T, any> {\n const selectIds = (state: any) => state.ids;\n const selectEntities = (state: EntityState<T>) => state.entities;\n const selectAll = createSelector(\n selectIds,\n selectEntities,\n (ids: T[], entities: Dictionary<T>): any =>\n ids.map((id: any) => (entities as any)[id])\n );\n\n const selectTotal = createSelector(selectIds, ids => ids.length);\n\n if (!selectState) {\n return {\n selectIds,\n selectEntities,\n selectAll,\n selectTotal,\n };\n }\n\n return {\n selectIds: createSelector(selectState, selectIds),\n selectEntities: createSelector(selectState, selectEntities),\n selectAll: createSelector(selectState, selectAll),\n selectTotal: createSelector(selectState, selectTotal),\n };\n }\n\n return { getSelectors };\n}\n","import { EntityState } from './models';\n\nexport enum DidMutate {\n EntitiesOnly,\n Both,\n None,\n}\n\nexport function createStateOperator<V, R>(\n mutator: (arg: R, state: EntityState<V>) => DidMutate\n): EntityState<V>;\nexport function createStateOperator<V, R>(\n mutator: (arg: any, state: any) => DidMutate\n): any {\n return function operation<S extends EntityState<V>>(arg: R, state: any): S {\n const clonedEntityState: EntityState<V> = {\n ids: [...state.ids],\n entities: { ...state.entities },\n };\n\n const didMutate = mutator(arg, clonedEntityState);\n\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n\n if (didMutate === DidMutate.EntitiesOnly) {\n return {\n ...state,\n entities: clonedEntityState.entities,\n };\n }\n\n return state;\n };\n}\n","import { isDevMode } from '@angular/core';\nimport { IdSelector } from './models';\n\nexport function selectIdValue<T>(entity: T, selectId: IdSelector<T>) {\n const key = selectId(entity);\n\n if (isDevMode() && key === undefined) {\n console.warn(\n '@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.',\n 'You should probably provide your own `selectId` implementation.',\n 'The entity that was passed:',\n entity,\n 'The `selectId` implementation:',\n selectId.toString()\n );\n }\n\n return key;\n}\n","import {\n EntityState,\n EntityStateAdapter,\n IdSelector,\n Update,\n Predicate,\n EntityMap,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createUnsortedStateAdapter<T>(\n selectId: IdSelector<T>\n): EntityStateAdapter<T>;\nexport function createUnsortedStateAdapter<T>(selectId: IdSelector<T>): any {\n type R = EntityState<T>;\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n return DidMutate.None;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function addManyMutably(entities: T[], state: R): DidMutate;\n function addManyMutably(entities: any[], state: any): DidMutate {\n let didMutate = false;\n\n for (const entity of entities) {\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function addAllMutably(entities: T[], state: R): DidMutate;\n function addAllMutably(entities: any[], state: any): DidMutate {\n state.ids = [];\n state.entities = {};\n\n addManyMutably(entities, state);\n\n return DidMutate.Both;\n }\n\n function removeOneMutably(key: T, state: R): DidMutate;\n function removeOneMutably(key: any, state: any): DidMutate {\n return removeManyMutably([key], state);\n }\n\n function removeManyMutably(keys: T[], state: R): DidMutate;\n function removeManyMutably(predicate: Predicate<T>, state: R): DidMutate;\n function removeManyMutably(\n keysOrPredicate: any[] | Predicate<T>,\n state: any\n ): DidMutate {\n const keys =\n keysOrPredicate instanceof Array\n ? keysOrPredicate\n : state.ids.filter((key: any) => keysOrPredicate(state.entities[key]));\n\n const didMutate =\n keys\n .filter((key: any) => key in state.entities)\n .map((key: any) => delete state.entities[key]).length > 0;\n\n if (didMutate) {\n state.ids = state.ids.filter((id: any) => id in state.entities);\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function removeAll<S extends R>(state: S): S;\n function removeAll<S extends R>(state: any): S {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n\n function takeNewKey(\n keys: { [id: string]: string },\n update: Update<T>,\n state: R\n ): void;\n function takeNewKey(\n keys: { [id: string]: any },\n update: Update<T>,\n state: any\n ): boolean {\n const original = state.entities[update.id];\n const updated: T = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n const hasNewKey = newKey !== update.id;\n\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n\n state.entities[newKey] = updated;\n\n return hasNewKey;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const newKeys: { [id: string]: string } = {};\n\n updates = updates.filter(update => update.id in state.entities);\n\n const didMutateEntities = updates.length > 0;\n\n if (didMutateEntities) {\n const didMutateIds =\n updates.filter(update => takeNewKey(newKeys, update, state)).length > 0;\n\n if (didMutateIds) {\n state.ids = state.ids.map((id: any) => newKeys[id] || id);\n return DidMutate.Both;\n } else {\n return DidMutate.EntitiesOnly;\n }\n }\n\n return DidMutate.None;\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(map: any, state: any): DidMutate {\n const changes: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = map(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n const updates = changes.filter(({ id }) => id in state.entities);\n\n return updateManyMutably(updates, state);\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n return {\n removeAll,\n addOne: createStateOperator(addOneMutably),\n addMany: createStateOperator(addManyMutably),\n addAll: createStateOperator(addAllMutably),\n updateOne: createStateOperator(updateOneMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n removeOne: createStateOperator(removeOneMutably),\n removeMany: createStateOperator(removeManyMutably),\n map: createStateOperator(mapMutably),\n };\n}\n","import {\n EntityState,\n IdSelector,\n Comparer,\n EntityStateAdapter,\n Update,\n EntityMap,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createSortedStateAdapter<T>(\n selectId: IdSelector<T>,\n sort: Comparer<T>\n): EntityStateAdapter<T>;\nexport function createSortedStateAdapter<T>(selectId: any, sort: any): any {\n type R = EntityState<T>;\n\n const { removeOne, removeMany, removeAll } = createUnsortedStateAdapter(\n selectId\n );\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n return addManyMutably([entity], state);\n }\n\n function addManyMutably(newModels: T[], state: R): DidMutate;\n function addManyMutably(newModels: any[], state: any): DidMutate {\n const models = newModels.filter(\n model => !(selectIdValue(model, selectId) in state.entities)\n );\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n\n function addAllMutably(models: T[], state: R): DidMutate;\n function addAllMutably(models: any[], state: any): DidMutate {\n state.entities = {};\n state.ids = [];\n\n addManyMutably(models, state);\n\n return DidMutate.Both;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function takeUpdatedModel(models: T[], update: Update<T>, state: R): boolean;\n function takeUpdatedModel(models: any[], update: any, state: any): boolean {\n if (!(update.id in state.entities)) {\n return false;\n }\n\n const original = state.entities[update.id];\n const updated = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n\n delete state.entities[update.id];\n\n models.push(updated);\n\n return newKey !== update.id;\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const models: T[] = [];\n\n const didMutateIds =\n updates.filter(update => takeUpdatedModel(models, update, state)).length >\n 0;\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n const originalIds = state.ids;\n const updatedIndexes: any[] = [];\n state.ids = state.ids.filter((id: any, index: number) => {\n if (id in state.entities) {\n return true;\n } else {\n updatedIndexes.push(index);\n return false;\n }\n });\n\n merge(models, state);\n\n if (\n !didMutateIds &&\n updatedIndexes.every((i: number) => state.ids[i] === originalIds[i])\n ) {\n return DidMutate.EntitiesOnly;\n } else {\n return DidMutate.Both;\n }\n }\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(updatesOrMap: any, state: any): DidMutate {\n const updates: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = updatesOrMap(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n\n return updateManyMutably(updates, state);\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n function merge(models: T[], state: R): void;\n function merge(models: any[], state: any): void {\n models.sort(sort);\n\n const ids: any[] = [];\n\n let i = 0;\n let j = 0;\n\n while (i < models.length && j < state.ids.length) {\n const model = models[i];\n const modelId = selectIdValue(model, selectId);\n const entityId = state.ids[j];\n const entity = state.entities[entityId];\n\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n } else {\n ids.push(entityId);\n j++;\n }\n }\n\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n } else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n\n models.forEach((model, i) => {\n state.entities[selectId(model)] = model;\n });\n }\n\n return {\n removeOne,\n removeMany,\n removeAll,\n addOne: createStateOperator(addOneMutably),\n updateOne: createStateOperator(updateOneMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n addAll: createStateOperator(addAllMutably),\n addMany: createStateOperator(addManyMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n map: createStateOperator(mapMutably),\n };\n}\n","import { createSelector } from '@ngrx/store';\nimport {\n EntityDefinition,\n Comparer,\n IdSelector,\n EntityAdapter,\n} from './models';\nimport { createInitialStateFactory } from './entity_state';\nimport { createSelectorsFactory } from './state_selectors';\nimport { createSortedStateAdapter } from './sorted_state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n\nexport function createEntityAdapter<T>(\n options: {\n selectId?: IdSelector<T>;\n sortComparer?: false | Comparer<T>;\n } = {}\n): EntityAdapter<T> {\n const { selectId, sortComparer }: EntityDefinition<T> = {\n sortComparer: false,\n selectId: (instance: any) => instance.id,\n ...options,\n };\n\n const stateFactory = createInitialStateFactory<T>();\n const selectorsFactory = createSelectorsFactory<T>();\n const stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n\n return {\n selectId,\n sortComparer,\n ...stateFactory,\n ...selectorsFactory,\n ...stateAdapter,\n };\n}\n","export type ComparerStr<T> = (a: T, b: T) => string;\nexport type ComparerNum<T> = (a: T, b: T) => number;\n\nexport type Comparer<T> = ComparerNum<T> | ComparerStr<T>;\n\nexport type IdSelectorStr<T> = (model: T) => string;\nexport type IdSelectorNum<T> = (model: T) => number;\n\nexport type IdSelector<T> = IdSelectorStr<T> | IdSelectorNum<T>;\n\nexport interface DictionaryNum<T> {\n [id: number]: T;\n}\n\nexport abstract class Dictionary<T> implements DictionaryNum<T> {\n [id: string]: T;\n}\n\nexport interface UpdateStr<T> {\n id: string;\n changes: Partial<T>;\n}\n\nexport interface UpdateNum<T> {\n id: number;\n changes: Partial<T>;\n}\n\nexport type Update<T> = UpdateStr<T> | UpdateNum<T>;\n\nexport type Predicate<T> = (entity: T) => boolean;\n\nexport type EntityMap<T> = (entity: T) => T;\n\nexport interface EntityState<T> {\n ids: string[] | number[];\n entities: Dictionary<T>;\n}\n\nexport interface EntityDefinition<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n}\n\nexport interface EntityStateAdapter<T> {\n addOne<S extends EntityState<T>>(entity: T, state: S): S;\n addMany<S extends EntityState<T>>(entities: T[], state: S): S;\n addAll<S extends EntityState<T>>(entities: T[], state: S): S;\n\n removeOne<S extends EntityState<T>>(key: string, state: S): S;\n removeOne<S extends EntityState<T>>(key: number, state: S): S;\n\n removeMany<S extends EntityState<T>>(keys: string[], state: S): S;\n removeMany<S extends EntityState<T>>(keys: number[], state: S): S;\n removeMany<S extends EntityState<T>>(predicate: Predicate<T>, state: S): S;\n\n removeAll<S extends EntityState<T>>(state: S): S;\n\n updateOne<S extends EntityState<T>>(update: Update<T>, state: S): S;\n updateMany<S extends EntityState<T>>(updates: Update<T>[], state: S): S;\n\n upsertOne<S extends EntityState<T>>(entity: T, state: S): S;\n upsertMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n map<S extends EntityState<T>>(map: EntityMap<T>, state: S): S;\n}\n\nexport interface EntitySelectors<T, V> {\n selectIds: (state: V) => string[] | number[];\n selectEntities: (state: V) => Dictionary<T>;\n selectAll: (state: V) => T[];\n selectTotal: (state: V) => number;\n}\n\nexport interface EntityAdapter<T> extends EntityStateAdapter<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n getInitialState(): EntityState<T>;\n getInitialState<S extends object>(state: S): EntityState<T> & S;\n getSelectors(): EntitySelectors<T, EntityState<T>>;\n getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): EntitySelectors<T, V>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,SAAgB,qBAAqB;IACnC,OAAO;QACL,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,EAAE;KACb,CAAC;CACH;;;;;AAED,SAAgB,yBAAyB;;;;;IAKvC,SAAS,eAAe,CAAC,kBAAuB,EAAE;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,eAAe,CAAC,CAAC;KAChE;IAED,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;;;;;;ACnBD;;;;AAGA,SAAgB,sBAAsB;;;;;IAKpC,SAAS,YAAY,CACnB,WAA4C;;QAE5C,MAAM,SAAS,GAAG,CAAC,KAAU,KAAK,KAAK,CAAC,GAAG,CAAC;;QAC5C,MAAM,cAAc,GAAG,CAAC,KAAqB,KAAK,KAAK,CAAC,QAAQ,CAAC;;QACjE,MAAM,SAAS,GAAG,cAAc,CAC9B,SAAS,EACT,cAAc,EACd,CAAC,GAAQ,EAAE,QAAuB,KAChC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAO,KAAK,mBAAC,QAAe,GAAE,EAAE,CAAC,CAAC,CAC9C,CAAC;;QAEF,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;gBACL,SAAS;gBACT,cAAc;gBACd,SAAS;gBACT,WAAW;aACZ,CAAC;SACH;QAED,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC;YACjD,cAAc,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC;YAC3D,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC;YACjD,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC;SACtD,CAAC;KACH;IAED,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;;;;;;;;ICrCC,eAAY;IACZ,OAAI;IACJ,OAAI;;oBAFJ,YAAY;oBACZ,IAAI;oBACJ,IAAI;;;;;;AAMN,SAAgB,mBAAmB,CACjC,OAA4C;IAE5C,OAAO,SAAS,SAAS,CAA2B,GAAM,EAAE,KAAU;;QACpE,MAAM,iBAAiB,GAAmB;YACxC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YACnB,QAAQ,oBAAO,KAAK,CAAC,QAAQ,CAAE;SAChC,CAAC;;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAElD,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;YAChC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;SACpD;QAED,IAAI,SAAS,KAAK,SAAS,CAAC,YAAY,EAAE;YACxC,yBACK,KAAK,IACR,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,IACpC;SACH;QAED,OAAO,KAAK,CAAC;KACd,CAAC;CACH;;;;;;ACnCD;;;;;;AAGA,SAAgB,aAAa,CAAI,MAAS,EAAE,QAAuB;;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE7B,IAAI,SAAS,EAAE,IAAI,GAAG,KAAK,SAAS,EAAE;QACpC,OAAO,CAAC,IAAI,CACV,sFAAsF,EACtF,iEAAiE,EACjE,6BAA6B,EAC7B,MAAM,EACN,gCAAgC,EAChC,QAAQ,CAAC,QAAQ,EAAE,CACpB,CAAC;KACH;IAED,OAAO,GAAG,CAAC;CACZ;;;;;;ACVD;;;;;AAMA,SAAgB,0BAA0B,CAAI,QAAuB;;;;;;IAInE,SAAS,aAAa,CAAC,MAAW,EAAE,KAAU;;QAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;YACzB,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;QAED,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAE7B,OAAO,SAAS,CAAC,IAAI,CAAC;KACvB;;;;;;IAGD,SAAS,cAAc,CAAC,QAAe,EAAE,KAAU;;QACjD,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;YAC7B,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC;SAC1E;QAED,OAAO,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACpD;;;;;;IAGD,SAAS,aAAa,CAAC,QAAe,EAAE,KAAU;QAChD,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEpB,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhC,OAAO,SAAS,CAAC,IAAI,CAAC;KACvB;;;;;;IAGD,SAAS,gBAAgB,CAAC,GAAQ,EAAE,KAAU;QAC5C,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KACxC;;;;;;IAID,SAAS,iBAAiB,CACxB,eAAqC,EACrC,KAAU;;QAEV,MAAM,IAAI,GACR,eAAe,YAAY,KAAK;cAC5B,eAAe;cACf,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAQ,KAAK,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;QAE3E,MAAM,SAAS,GACb,IAAI;aACD,MAAM,CAAC,CAAC,GAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC;aAC3C,GAAG,CAAC,CAAC,GAAQ,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9D,IAAI,SAAS,EAAE;YACb,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAO,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;SACjE;QAED,OAAO,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACpD;;;;;;IAGD,SAAS,SAAS,CAAc,KAAU;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE;YAC9B,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;KACJ;;;;;;;IAOD,SAAS,UAAU,CACjB,IAA2B,EAC3B,MAAiB,EACjB,KAAU;;QAEV,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;QAC3C,MAAM,OAAO,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;QAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;;QAChD,MAAM,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAEvC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAClC;QAED,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAEjC,OAAO,SAAS,CAAC;KAClB;;;;;;IAGD,SAAS,gBAAgB,CAAC,MAAW,EAAE,KAAU;QAC/C,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC3C;;;;;;IAGD,SAAS,iBAAiB,CAAC,OAAc,EAAE,KAAU;;QACnD,MAAM,OAAO,GAA6B,EAAE,CAAC;QAE7C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;;QAEhE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAE7C,IAAI,iBAAiB,EAAE;;YACrB,MAAM,YAAY,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAE1E,IAAI,YAAY,EAAE;gBAChB,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAO,KAAK,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,OAAO,SAAS,CAAC,IAAI,CAAC;aACvB;iBAAM;gBACL,OAAO,SAAS,CAAC,YAAY,CAAC;aAC/B;SACF;QAED,OAAO,SAAS,CAAC,IAAI,CAAC;KACvB;;;;;;IAGD,SAAS,UAAU,CAAC,GAAQ,EAAE,KAAU;;QACtC,MAAM,OAAO,GAAgB,KAAK,CAAC,GAAG,CAAC,MAAM,CAC3C,CAAC,OAAc,EAAE,EAAmB;;YAClC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,OAAO,CAAC;SAChB,EACD,EAAE,CACH,CAAC;;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEjE,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAC1C;;;;;;IAGD,SAAS,gBAAgB,CAAC,MAAW,EAAE,KAAU;QAC/C,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC3C;;;;;;IAGD,SAAS,iBAAiB,CAAC,QAAe,EAAE,KAAU;;QACpD,MAAM,KAAK,GAAU,EAAE,CAAC;;QACxB,MAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;;YAC7B,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;SACF;;QAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;;QAC7D,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEtD,QAAQ,IAAI;YACV,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACtC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YACxB,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACtC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YACxB;gBACE,OAAO,SAAS,CAAC,YAAY,CAAC;SACjC;KACF;IAED,OAAO;QACL,SAAS;QACT,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,mBAAmB,CAAC,cAAc,CAAC;QAC5C,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC;KACrC,CAAC;CACH;;;;;;ACrMD;;;;;;AAQA,SAAgB,wBAAwB,CAAI,QAAa,EAAE,IAAS;IAGlE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,0BAA0B,CACrE,QAAQ,CACT,CAAC;;;;;;IAGF,SAAS,aAAa,CAAC,MAAW,EAAE,KAAU;QAC5C,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KACxC;;;;;;IAGD,SAAS,cAAc,CAAC,SAAgB,EAAE,KAAU;;QAClD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAC7B,KAAK,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAC7D,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;aAAM;YACL,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;KACF;;;;;;IAGD,SAAS,aAAa,CAAC,MAAa,EAAE,KAAU;QAC9C,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QAEf,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE9B,OAAO,SAAS,CAAC,IAAI,CAAC;KACvB;;;;;;IAGD,SAAS,gBAAgB,CAAC,MAAW,EAAE,KAAU;QAC/C,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC3C;;;;;;;IAGD,SAAS,gBAAgB,CAAC,MAAa,EAAE,MAAW,EAAE,KAAU;QAC9D,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;QAC5D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEhD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;KAC7B;;;;;;IAGD,SAAS,iBAAiB,CAAC,OAAc,EAAE,KAAU;;QACnD,MAAM,MAAM,GAAQ,EAAE,CAAC;;QAEvB,MAAM,YAAY,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM;YACxE,CAAC,CAAC;QAEJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;aAAM;;YACL,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;;YAC9B,MAAM,cAAc,GAAU,EAAE,CAAC;YACjC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,KAAa;gBAClD,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACxB,OAAO,IAAI,CAAC;iBACb;qBAAM;oBACL,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,OAAO,KAAK,CAAC;iBACd;aACF,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAErB,IACE,CAAC,YAAY;gBACb,cAAc,CAAC,KAAK,CAAC,CAAC,CAAS,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EACpE;gBACA,OAAO,SAAS,CAAC,YAAY,CAAC;aAC/B;iBAAM;gBACL,OAAO,SAAS,CAAC,IAAI,CAAC;aACvB;SACF;KACF;;;;;;IAGD,SAAS,UAAU,CAAC,YAAiB,EAAE,KAAU;;QAC/C,MAAM,OAAO,GAAgB,KAAK,CAAC,GAAG,CAAC,MAAM,CAC3C,CAAC,OAAc,EAAE,EAAmB;;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,OAAO,CAAC;SAChB,EACD,EAAE,CACH,CAAC;QAEF,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAC1C;;;;;;IAGD,SAAS,gBAAgB,CAAC,MAAW,EAAE,KAAU;QAC/C,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC3C;;;;;;IAGD,SAAS,iBAAiB,CAAC,QAAe,EAAE,KAAU;;QACpD,MAAM,KAAK,GAAU,EAAE,CAAC;;QACxB,MAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;;YAC7B,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;SACF;;QAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;;QAC7D,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEtD,QAAQ,IAAI;YACV,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACtC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YACxB,KAAK,gBAAgB,KAAK,SAAS,CAAC,IAAI;gBACtC,kBAAkB,KAAK,SAAS,CAAC,IAAI;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC;YACxB;gBACE,OAAO,SAAS,CAAC,YAAY,CAAC;SACjC;KACF;;;;;;IAGD,SAAS,KAAK,CAAC,MAAa,EAAE,KAAU;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAElB,MAAM,GAAG,GAAU,EAAE,CAAC;;QAEtB,IAAI,CAAC,GAAG,CAAC,CAAC;;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;YACxB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClB,CAAC,EAAE,CAAC;aACL;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC,EAAE,CAAC;aACL;SACF;QAED,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;YACrB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QAED,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;SACzC,CAAC,CAAC;KACJ;IAED,OAAO;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,mBAAmB,CAAC,cAAc,CAAC;QAC5C,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,UAAU,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAClD,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC;KACrC,CAAC;CACH;;;;;;ACxMD;;;;;AAKA,SAAgB,mBAAmB,CACjC,UAGI,EAAE;IAEN,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,mBAC9B,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,CAAC,QAAa,KAAK,QAAQ,CAAC,EAAE,IACrC,OAAO,EACV;;IAEF,MAAM,YAAY,GAAG,yBAAyB,EAAK,CAAC;;IACpD,MAAM,gBAAgB,GAAG,sBAAsB,EAAK,CAAC;;IACrD,MAAM,YAAY,GAAG,YAAY;UAC7B,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC;UAChD,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAEzC,uBACE,QAAQ;QACR,YAAY,IACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACf;CACH;;;;;;;;;;ACvBD,MAAsB,UAAU;CAE/B;;;;;;;;;;;;;;;;;AChBD;;GAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"entity.js","sources":["../src/entity_state.ts","../src/state_selectors.ts","../src/state_adapter.ts","../src/utils.ts","../src/unsorted_state_adapter.ts","../src/sorted_state_adapter.ts","../src/create_adapter.ts","../src/models.ts","../entity.ts"],"sourcesContent":["import { EntityState } from './models';\n\nexport function getInitialEntityState<V>(): EntityState<V> {\n return {\n ids: [],\n entities: {},\n };\n}\n\nexport function createInitialStateFactory<V>() {\n function getInitialState(): EntityState<V>;\n function getInitialState<S extends object>(\n additionalState: S\n ): EntityState<V> & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(getInitialEntityState(), additionalState);\n }\n\n return { getInitialState };\n}\n","import { createSelector } from '@ngrx/store';\nimport { EntityState, EntitySelectors, Dictionary } from './models';\n\nexport function createSelectorsFactory<T>() {\n function getSelectors(): EntitySelectors<T, EntityState<T>>;\n function getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): EntitySelectors<T, V>;\n function getSelectors(\n selectState?: (state: any) => EntityState<T>\n ): EntitySelectors<T, any> {\n const selectIds = (state: any) => state.ids;\n const selectEntities = (state: EntityState<T>) => state.entities;\n const selectAll = createSelector(\n selectIds,\n selectEntities,\n (ids: T[], entities: Dictionary<T>): any =>\n ids.map((id: any) => (entities as any)[id])\n );\n\n const selectTotal = createSelector(selectIds, ids => ids.length);\n\n if (!selectState) {\n return {\n selectIds,\n selectEntities,\n selectAll,\n selectTotal,\n };\n }\n\n return {\n selectIds: createSelector(selectState, selectIds),\n selectEntities: createSelector(selectState, selectEntities),\n selectAll: createSelector(selectState, selectAll),\n selectTotal: createSelector(selectState, selectTotal),\n };\n }\n\n return { getSelectors };\n}\n","import { EntityState } from './models';\n\nexport enum DidMutate {\n EntitiesOnly,\n Both,\n None,\n}\n\nexport function createStateOperator<V, R>(\n mutator: (arg: R, state: EntityState<V>) => DidMutate\n): EntityState<V>;\nexport function createStateOperator<V, R>(\n mutator: (arg: any, state: any) => DidMutate\n): any {\n return function operation<S extends EntityState<V>>(arg: R, state: any): S {\n const clonedEntityState: EntityState<V> = {\n ids: [...state.ids],\n entities: { ...state.entities },\n };\n\n const didMutate = mutator(arg, clonedEntityState);\n\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n\n if (didMutate === DidMutate.EntitiesOnly) {\n return {\n ...state,\n entities: clonedEntityState.entities,\n };\n }\n\n return state;\n };\n}\n","import { isDevMode } from '@angular/core';\nimport { IdSelector } from './models';\n\nexport function selectIdValue<T>(entity: T, selectId: IdSelector<T>) {\n const key = selectId(entity);\n\n if (isDevMode() && key === undefined) {\n console.warn(\n '@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.',\n 'You should probably provide your own `selectId` implementation.',\n 'The entity that was passed:',\n entity,\n 'The `selectId` implementation:',\n selectId.toString()\n );\n }\n\n return key;\n}\n","import {\n EntityState,\n EntityStateAdapter,\n IdSelector,\n Update,\n Predicate,\n EntityMap,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createUnsortedStateAdapter<T>(\n selectId: IdSelector<T>\n): EntityStateAdapter<T>;\nexport function createUnsortedStateAdapter<T>(selectId: IdSelector<T>): any {\n type R = EntityState<T>;\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n return DidMutate.None;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function addManyMutably(entities: T[], state: R): DidMutate;\n function addManyMutably(entities: any[], state: any): DidMutate {\n let didMutate = false;\n\n for (const entity of entities) {\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function addAllMutably(entities: T[], state: R): DidMutate;\n function addAllMutably(entities: any[], state: any): DidMutate {\n state.ids = [];\n state.entities = {};\n\n addManyMutably(entities, state);\n\n return DidMutate.Both;\n }\n\n function removeOneMutably(key: T, state: R): DidMutate;\n function removeOneMutably(key: any, state: any): DidMutate {\n return removeManyMutably([key], state);\n }\n\n function removeManyMutably(keys: T[], state: R): DidMutate;\n function removeManyMutably(predicate: Predicate<T>, state: R): DidMutate;\n function removeManyMutably(\n keysOrPredicate: any[] | Predicate<T>,\n state: any\n ): DidMutate {\n const keys =\n keysOrPredicate instanceof Array\n ? keysOrPredicate\n : state.ids.filter((key: any) => keysOrPredicate(state.entities[key]));\n\n const didMutate =\n keys\n .filter((key: any) => key in state.entities)\n .map((key: any) => delete state.entities[key]).length > 0;\n\n if (didMutate) {\n state.ids = state.ids.filter((id: any) => id in state.entities);\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function removeAll<S extends R>(state: S): S;\n function removeAll<S extends R>(state: any): S {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n\n function takeNewKey(\n keys: { [id: string]: string },\n update: Update<T>,\n state: R\n ): void;\n function takeNewKey(\n keys: { [id: string]: any },\n update: Update<T>,\n state: any\n ): boolean {\n const original = state.entities[update.id];\n const updated: T = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n const hasNewKey = newKey !== update.id;\n\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n\n state.entities[newKey] = updated;\n\n return hasNewKey;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const newKeys: { [id: string]: string } = {};\n\n updates = updates.filter(update => update.id in state.entities);\n\n const didMutateEntities = updates.length > 0;\n\n if (didMutateEntities) {\n const didMutateIds =\n updates.filter(update => takeNewKey(newKeys, update, state)).length > 0;\n\n if (didMutateIds) {\n state.ids = state.ids.map((id: any) => newKeys[id] || id);\n return DidMutate.Both;\n } else {\n return DidMutate.EntitiesOnly;\n }\n }\n\n return DidMutate.None;\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(map: any, state: any): DidMutate {\n const changes: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = map(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n const updates = changes.filter(({ id }) => id in state.entities);\n\n return updateManyMutably(updates, state);\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n return {\n removeAll,\n addOne: createStateOperator(addOneMutably),\n addMany: createStateOperator(addManyMutably),\n addAll: createStateOperator(addAllMutably),\n updateOne: createStateOperator(updateOneMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n removeOne: createStateOperator(removeOneMutably),\n removeMany: createStateOperator(removeManyMutably),\n map: createStateOperator(mapMutably),\n };\n}\n","import {\n EntityState,\n IdSelector,\n Comparer,\n EntityStateAdapter,\n Update,\n EntityMap,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createSortedStateAdapter<T>(\n selectId: IdSelector<T>,\n sort: Comparer<T>\n): EntityStateAdapter<T>;\nexport function createSortedStateAdapter<T>(selectId: any, sort: any): any {\n type R = EntityState<T>;\n\n const { removeOne, removeMany, removeAll } = createUnsortedStateAdapter(\n selectId\n );\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n return addManyMutably([entity], state);\n }\n\n function addManyMutably(newModels: T[], state: R): DidMutate;\n function addManyMutably(newModels: any[], state: any): DidMutate {\n const models = newModels.filter(\n model => !(selectIdValue(model, selectId) in state.entities)\n );\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n\n function addAllMutably(models: T[], state: R): DidMutate;\n function addAllMutably(models: any[], state: any): DidMutate {\n state.entities = {};\n state.ids = [];\n\n addManyMutably(models, state);\n\n return DidMutate.Both;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function takeUpdatedModel(models: T[], update: Update<T>, state: R): boolean;\n function takeUpdatedModel(models: any[], update: any, state: any): boolean {\n if (!(update.id in state.entities)) {\n return false;\n }\n\n const original = state.entities[update.id];\n const updated = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n\n delete state.entities[update.id];\n\n models.push(updated);\n\n return newKey !== update.id;\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const models: T[] = [];\n\n const didMutateIds =\n updates.filter(update => takeUpdatedModel(models, update, state)).length >\n 0;\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n const originalIds = state.ids;\n const updatedIndexes: any[] = [];\n state.ids = state.ids.filter((id: any, index: number) => {\n if (id in state.entities) {\n return true;\n } else {\n updatedIndexes.push(index);\n return false;\n }\n });\n\n merge(models, state);\n\n if (\n !didMutateIds &&\n updatedIndexes.every((i: number) => state.ids[i] === originalIds[i])\n ) {\n return DidMutate.EntitiesOnly;\n } else {\n return DidMutate.Both;\n }\n }\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(updatesOrMap: any, state: any): DidMutate {\n const updates: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = updatesOrMap(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n\n return updateManyMutably(updates, state);\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n function merge(models: T[], state: R): void;\n function merge(models: any[], state: any): void {\n models.sort(sort);\n\n const ids: any[] = [];\n\n let i = 0;\n let j = 0;\n\n while (i < models.length && j < state.ids.length) {\n const model = models[i];\n const modelId = selectIdValue(model, selectId);\n const entityId = state.ids[j];\n const entity = state.entities[entityId];\n\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n } else {\n ids.push(entityId);\n j++;\n }\n }\n\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n } else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n\n models.forEach((model, i) => {\n state.entities[selectId(model)] = model;\n });\n }\n\n return {\n removeOne,\n removeMany,\n removeAll,\n addOne: createStateOperator(addOneMutably),\n updateOne: createStateOperator(updateOneMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n addAll: createStateOperator(addAllMutably),\n addMany: createStateOperator(addManyMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n map: createStateOperator(mapMutably),\n };\n}\n","import { createSelector } from '@ngrx/store';\nimport {\n EntityDefinition,\n Comparer,\n IdSelector,\n EntityAdapter,\n} from './models';\nimport { createInitialStateFactory } from './entity_state';\nimport { createSelectorsFactory } from './state_selectors';\nimport { createSortedStateAdapter } from './sorted_state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n\nexport function createEntityAdapter<T>(\n options: {\n selectId?: IdSelector<T>;\n sortComparer?: false | Comparer<T>;\n } = {}\n): EntityAdapter<T> {\n const { selectId, sortComparer }: EntityDefinition<T> = {\n sortComparer: false,\n selectId: (instance: any) => instance.id,\n ...options,\n };\n\n const stateFactory = createInitialStateFactory<T>();\n const selectorsFactory = createSelectorsFactory<T>();\n const stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n\n return {\n selectId,\n sortComparer,\n ...stateFactory,\n ...selectorsFactory,\n ...stateAdapter,\n };\n}\n","export type ComparerStr<T> = (a: T, b: T) => string;\nexport type ComparerNum<T> = (a: T, b: T) => number;\n\nexport type Comparer<T> = ComparerNum<T> | ComparerStr<T>;\n\nexport type IdSelectorStr<T> = (model: T) => string;\nexport type IdSelectorNum<T> = (model: T) => number;\n\nexport type IdSelector<T> = IdSelectorStr<T> | IdSelectorNum<T>;\n\nexport interface DictionaryNum<T> {\n [id: number]: T;\n}\n\nexport abstract class Dictionary<T> implements DictionaryNum<T> {\n [id: string]: T;\n}\n\nexport interface UpdateStr<T> {\n id: string;\n changes: Partial<T>;\n}\n\nexport interface UpdateNum<T> {\n id: number;\n changes: Partial<T>;\n}\n\nexport type Update<T> = UpdateStr<T> | UpdateNum<T>;\n\nexport type Predicate<T> = (entity: T) => boolean;\n\nexport type EntityMap<T> = (entity: T) => T;\n\nexport interface EntityState<T> {\n ids: string[] | number[];\n entities: Dictionary<T>;\n}\n\nexport interface EntityDefinition<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n}\n\nexport interface EntityStateAdapter<T> {\n addOne<S extends EntityState<T>>(entity: T, state: S): S;\n addMany<S extends EntityState<T>>(entities: T[], state: S): S;\n addAll<S extends EntityState<T>>(entities: T[], state: S): S;\n\n removeOne<S extends EntityState<T>>(key: string, state: S): S;\n removeOne<S extends EntityState<T>>(key: number, state: S): S;\n\n removeMany<S extends EntityState<T>>(keys: string[], state: S): S;\n removeMany<S extends EntityState<T>>(keys: number[], state: S): S;\n removeMany<S extends EntityState<T>>(predicate: Predicate<T>, state: S): S;\n\n removeAll<S extends EntityState<T>>(state: S): S;\n\n updateOne<S extends EntityState<T>>(update: Update<T>, state: S): S;\n updateMany<S extends EntityState<T>>(updates: Update<T>[], state: S): S;\n\n upsertOne<S extends EntityState<T>>(entity: T, state: S): S;\n upsertMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n map<S extends EntityState<T>>(map: EntityMap<T>, state: S): S;\n}\n\nexport interface EntitySelectors<T, V> {\n selectIds: (state: V) => string[] | number[];\n selectEntities: (state: V) => Dictionary<T>;\n selectAll: (state: V) => T[];\n selectTotal: (state: V) => number;\n}\n\nexport interface EntityAdapter<T> extends EntityStateAdapter<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n getInitialState(): EntityState<T>;\n getInitialState<S extends object>(state: S): EntityState<T> & S;\n getSelectors(): EntitySelectors<T, EntityState<T>>;\n getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): EntitySelectors<T, V>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm5/entity.js
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
|
|
12
|
+
const schematics_core_1 = require("@ngrx/entity/schematics-core");
|
|
13
13
|
function default_1() {
|
|
14
14
|
return schematics_core_1.updatePackage('entity');
|
|
15
15
|
}
|
|
16
16
|
exports.default = default_1;
|
|
17
17
|
});
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9taWdyYXRpb25zLzZfMF8wL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQ0Esa0VBQTZEO0lBRTdEO1FBQ0UsT0FBTywrQkFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFGRCw0QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyB1cGRhdGVQYWNrYWdlIH0gZnJvbSAnQG5ncngvZW50aXR5L3NjaGVtYXRpY3MtY29yZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gdXBkYXRlUGFja2FnZSgnZW50aXR5Jyk7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngrx/entity",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.0",
|
|
4
4
|
"description": "Common utilities for entity reducers",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/ngrx/platform.git"
|
|
8
8
|
},
|
|
9
|
+
"keywords": [
|
|
10
|
+
"Angular",
|
|
11
|
+
"Redux",
|
|
12
|
+
"Entity",
|
|
13
|
+
"Schematics",
|
|
14
|
+
"Angular CLI"
|
|
15
|
+
],
|
|
9
16
|
"author": "NgRx",
|
|
10
17
|
"license": "MIT",
|
|
11
18
|
"bugs": {
|
|
@@ -14,9 +21,10 @@
|
|
|
14
21
|
"homepage": "https://github.com/ngrx/platform#readme",
|
|
15
22
|
"peerDependencies": {
|
|
16
23
|
"@angular/core": "^7.0.0",
|
|
17
|
-
"@ngrx/store": "7.
|
|
24
|
+
"@ngrx/store": "7.4.0",
|
|
18
25
|
"rxjs": "^6.0.0"
|
|
19
26
|
},
|
|
27
|
+
"schematics": "./schematics/collection.json",
|
|
20
28
|
"ng-update": {
|
|
21
29
|
"packageGroup": [
|
|
22
30
|
"@ngrx/store",
|