@ngrx/entity 7.3.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.
Files changed (50) hide show
  1. package/bundles/entity.umd.js +4 -4
  2. package/bundles/entity.umd.min.js +2 -2
  3. package/bundles/entity.umd.min.js.map +1 -1
  4. package/esm2015/entity.js +0 -1
  5. package/esm2015/index.js +1 -2
  6. package/esm2015/public_api.js +1 -2
  7. package/esm2015/src/create_adapter.js +7 -4
  8. package/esm2015/src/entity_state.js +2 -3
  9. package/esm2015/src/index.js +1 -2
  10. package/esm2015/src/models.js +161 -94
  11. package/esm2015/src/sorted_state_adapter.js +38 -14
  12. package/esm2015/src/state_adapter.js +11 -6
  13. package/esm2015/src/state_selectors.js +27 -7
  14. package/esm2015/src/unsorted_state_adapter.js +49 -15
  15. package/esm2015/src/utils.js +2 -3
  16. package/esm5/entity.js +0 -1
  17. package/esm5/index.js +0 -1
  18. package/esm5/public_api.js +0 -1
  19. package/esm5/src/create_adapter.js +0 -1
  20. package/esm5/src/entity_state.js +0 -1
  21. package/esm5/src/index.js +0 -1
  22. package/esm5/src/models.js +0 -1
  23. package/esm5/src/sorted_state_adapter.js +0 -1
  24. package/esm5/src/state_adapter.js +0 -1
  25. package/esm5/src/state_selectors.js +0 -1
  26. package/esm5/src/unsorted_state_adapter.js +0 -1
  27. package/esm5/src/utils.js +0 -1
  28. package/fesm2015/entity.js +137 -42
  29. package/fesm2015/entity.js.map +1 -1
  30. package/fesm5/entity.js +1 -1
  31. package/migrations/6_0_0/index.js +2 -2
  32. package/package.json +2 -2
  33. package/schematics/ng-add/index.js +6 -6
  34. package/schematics-core/index.d.ts +1 -2
  35. package/schematics-core/index.js +4 -5
  36. package/schematics-core/utility/ast-utils.d.ts +10 -0
  37. package/schematics-core/utility/ast-utils.js +153 -154
  38. package/schematics-core/utility/change.js +39 -46
  39. package/schematics-core/utility/config.js +8 -8
  40. package/schematics-core/utility/find-module.js +22 -22
  41. package/schematics-core/utility/ngrx-utils.d.ts +2 -0
  42. package/schematics-core/utility/ngrx-utils.js +83 -142
  43. package/schematics-core/utility/package.js +3 -3
  44. package/schematics-core/utility/parse-name.js +4 -4
  45. package/schematics-core/utility/project.js +11 -8
  46. package/schematics-core/utility/strings.d.ts +12 -0
  47. package/schematics-core/utility/strings.js +27 -12
  48. package/schematics-core/utility/update.js +13 -13
  49. package/schematics-core/utility/route-utils.d.ts +0 -20
  50. 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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license NgRx 7.3.0
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 = (state) => state.ids;
54
- /** @type {?} */
55
- const selectEntities = (state) => state.entities;
56
- /** @type {?} */
57
- const selectAll = createSelector(selectIds, selectEntities, (ids, entities) => ids.map((id) => (/** @type {?} */ (entities))[id]));
58
- /** @type {?} */
59
- const selectTotal = createSelector(selectIds, ids => ids.length);
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
- var DidMutate = {
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 function operation(arg, state) {
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((key) => keysOrPredicate(state.entities[key]));
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((key) => key in state.entities)
204
- .map((key) => delete state.entities[key]).length > 0;
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((id) => id in state.entities);
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(update => update.id in state.entities);
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(update => takeNewKey(newKeys, update, state)).length > 0;
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((id) => newKeys[id] || id);
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((changes, id) => {
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(({ id }) => id in state.entities);
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(model => !(selectIdValue(model, selectId) in state.entities));
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(update => takeUpdatedModel(models, update, state)).length >
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((id, index) => {
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((i) => state.ids[i] === originalIds[i])) {
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((changes, id) => {
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((model, i) => {
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: (instance) => instance.id }, options);
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
  /**
@@ -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":"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"}
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;;cAEtC,SAAS;;;;QAAG,CAAC,KAAU,KAAK,KAAK,CAAC,GAAG,CAAA;;cACrC,cAAc;;;;QAAG,CAAC,KAAqB,KAAK,KAAK,CAAC,QAAQ,CAAA;;cAC1D,SAAS,GAAG,cAAc,CAC9B,SAAS,EACT,cAAc;;;;;QACd,CAAC,GAAQ,EAAE,QAAuB,KAChC,GAAG,CAAC,GAAG;;;;QAAC,CAAC,EAAO,KAAK,oBAAC,QAAQ,IAAS,EAAE,CAAC,EAAC,EAC9C;;cAEK,WAAW,GAAG,cAAc,CAAC,SAAS;;;;QAAE,GAAG,IAAI,GAAG,CAAC,MAAM,EAAC;QAEhE,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;;;;;;;;;;AAMN,SAAgB,mBAAmB,CACjC,OAA4C;IAE5C;;;;;;IAAO,SAAS,SAAS,CAA2B,GAAM,EAAE,KAAU;;cAC9D,iBAAiB,GAAmB;YACxC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YACnB,QAAQ,oBAAO,KAAK,CAAC,QAAQ,CAAE;SAChC;;cAEK,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;QAEjD,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,EAAC;CACH;;;;;;ACnCD;;;;;;AAGA,SAAgB,aAAa,CAAI,MAAS,EAAE,QAAuB;;UAC3D,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE5B,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;;cACtC,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC;QAE3C,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;;YAC7C,SAAS,GAAG,KAAK;QAErB,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;;cAEJ,IAAI,GACR,eAAe,YAAY,KAAK;cAC5B,eAAe;cACf,KAAK,CAAC,GAAG,CAAC,MAAM;;;;YAAC,CAAC,GAAQ,KAAK,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC;;cAEpE,SAAS,GACb,IAAI;aACD,MAAM;;;;QAAC,CAAC,GAAQ,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAC;aAC3C,GAAG;;;;QAAC,CAAC,GAAQ,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC,MAAM,GAAG,CAAC;QAE7D,IAAI,SAAS,EAAE;YACb,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM;;;;YAAC,CAAC,EAAO,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAC,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;;cAEJ,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;;cACpC,OAAO,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;;cACxD,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;;cACzC,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC,EAAE;QAEtC,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;;cAC7C,OAAO,GAA6B,EAAE;QAE5C,OAAO,GAAG,OAAO,CAAC,MAAM;;;;QAAC,MAAM,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAC,CAAC;;cAE1D,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;QAE5C,IAAI,iBAAiB,EAAE;;kBACf,YAAY,GAChB,OAAO,CAAC,MAAM;;;;YAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,CAAC,MAAM,GAAG,CAAC;YAEzE,IAAI,YAAY,EAAE;gBAChB,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG;;;;gBAAC,CAAC,EAAO,KAAK,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAC,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;;cAChC,OAAO,GAAgB,KAAK,CAAC,GAAG,CAAC,MAAM;;;;;QAC3C,CAAC,OAAc,EAAE,EAAmB;;kBAC5B,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtC,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,GACD,EAAE,CACH;;cACK,OAAO,GAAG,OAAO,CAAC,MAAM;;;;QAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAC;QAEhE,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;;cAC9C,KAAK,GAAU,EAAE;;cACjB,OAAO,GAAU,EAAE;QAEzB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;;kBACvB,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC1C,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;;cAEK,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;;cACtD,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;QAErD,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;UAG5D,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,0BAA0B,CACrE,QAAQ,CACT;;;;;;IAGD,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;;cAC5C,MAAM,GAAG,SAAS,CAAC,MAAM;;;;QAC7B,KAAK,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAC7D;QAED,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;;cAEK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;;cACpC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;;cACrD,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;QAE/C,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;;cAC7C,MAAM,GAAQ,EAAE;;cAEhB,YAAY,GAChB,OAAO,CAAC,MAAM;;;;QAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,CAAC,MAAM;YACxE,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;aAAM;;kBACC,WAAW,GAAG,KAAK,CAAC,GAAG;;kBACvB,cAAc,GAAU,EAAE;YAChC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM;;;;;YAAC,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,EAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAErB,IACE,CAAC,YAAY;gBACb,cAAc,CAAC,KAAK;;;;gBAAC,CAAC,CAAS,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAC,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;;cACzC,OAAO,GAAgB,KAAK,CAAC,GAAG,CAAC,MAAM;;;;;QAC3C,CAAC,OAAc,EAAE,EAAmB;;kBAC5B,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,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,GACD,EAAE,CACH;QAED,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;;cAC9C,KAAK,GAAU,EAAE;;cACjB,OAAO,GAAU,EAAE;QAEzB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;;kBACvB,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC1C,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;;cAEK,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;;cACtD,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;QAErD,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;;cAEZ,GAAG,GAAU,EAAE;;YAEjB,CAAC,GAAG,CAAC;;YACL,CAAC,GAAG,CAAC;QAET,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;;kBAC1C,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;;kBACjB,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;;kBACxC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;kBACvB,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEvC,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;;;;;QAAC,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;SACzC,EAAC,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;UAEA,EAAE,QAAQ,EAAE,YAAY,EAAE,mBAC9B,YAAY,EAAE,KAAK,EACnB,QAAQ;;;;QAAE,CAAC,QAAa,KAAK,QAAQ,CAAC,EAAE,KACrC,OAAO,CACX;;UAEK,YAAY,GAAG,yBAAyB,EAAK;;UAC7C,gBAAgB,GAAG,sBAAsB,EAAK;;UAC9C,YAAY,GAAG,YAAY;UAC7B,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC;UAChD,0BAA0B,CAAC,QAAQ,CAAC;IAExC,uBACE,QAAQ;QACR,YAAY,IACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACf;CACH;;;;;;;;;;ACvBD,MAAsB,UAAU;CAE/B;;;;;;;;;;;;;;;;;AChBD;;GAEG;;;;"}
package/fesm5/entity.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license NgRx 7.3.0
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
  */
@@ -9,10 +9,10 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- var schematics_core_1 = require("@ngrx/entity/schematics-core");
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9taWdyYXRpb25zLzZfMF8wL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQ0EsZ0VBQTZEO0lBRTdEO1FBQ0UsT0FBTywrQkFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFGRCw0QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyB1cGRhdGVQYWNrYWdlIH0gZnJvbSAnQG5ncngvZW50aXR5L3NjaGVtYXRpY3MtY29yZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gdXBkYXRlUGFja2FnZSgnZW50aXR5Jyk7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9taWdyYXRpb25zLzZfMF8wL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQ0Esa0VBQTZEO0lBRTdEO1FBQ0UsT0FBTywrQkFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFGRCw0QkFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyB1cGRhdGVQYWNrYWdlIH0gZnJvbSAnQG5ncngvZW50aXR5L3NjaGVtYXRpY3MtY29yZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCk6IFJ1bGUge1xuICByZXR1cm4gdXBkYXRlUGFja2FnZSgnZW50aXR5Jyk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngrx/entity",
3
- "version": "7.3.0",
3
+ "version": "7.4.0",
4
4
  "description": "Common utilities for entity reducers",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,7 +21,7 @@
21
21
  "homepage": "https://github.com/ngrx/platform#readme",
22
22
  "peerDependencies": {
23
23
  "@angular/core": "^7.0.0",
24
- "@ngrx/store": "7.3.0",
24
+ "@ngrx/store": "7.4.0",
25
25
  "rxjs": "^6.0.0"
26
26
  },
27
27
  "schematics": "./schematics/collection.json",
@@ -9,18 +9,18 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- var schematics_1 = require("@angular-devkit/schematics");
13
- var tasks_1 = require("@angular-devkit/schematics/tasks");
14
- var schematics_core_1 = require("@ngrx/entity/schematics-core");
12
+ const schematics_1 = require("@angular-devkit/schematics");
13
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
14
+ const schematics_core_1 = require("@ngrx/entity/schematics-core");
15
15
  function addNgRxEntityToPackageJson() {
16
- return function (host, context) {
16
+ return (host, context) => {
17
17
  schematics_core_1.addPackageToPackageJson(host, 'dependencies', '@ngrx/entity', schematics_core_1.platformVersion);
18
18
  context.addTask(new tasks_1.NodePackageInstallTask());
19
19
  return host;
20
20
  };
21
21
  }
22
22
  function default_1(options) {
23
- return function (host, context) {
23
+ return (host, context) => {
24
24
  return schematics_1.chain([
25
25
  options && options.skipPackageJson
26
26
  ? schematics_1.noop()
@@ -30,4 +30,4 @@
30
30
  }
31
31
  exports.default = default_1;
32
32
  });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zY2hlbWF0aWNzL25nLWFkZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBLHlEQU1vQztJQUNwQywwREFBMEU7SUFDMUUsZ0VBR3NDO0lBR3RDLFNBQVMsMEJBQTBCO1FBQ2pDLE9BQU8sVUFBQyxJQUFVLEVBQUUsT0FBeUI7WUFDM0MseUNBQXVCLENBQ3JCLElBQUksRUFDSixjQUFjLEVBQ2QsY0FBYyxFQUNkLGlDQUFlLENBQ2hCLENBQUM7WUFDRixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksOEJBQXNCLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUF3QixPQUFzQjtRQUM1QyxPQUFPLFVBQUMsSUFBVSxFQUFFLE9BQXlCO1lBQzNDLE9BQU8sa0JBQUssQ0FBQztnQkFDWCxPQUFPLElBQUksT0FBTyxDQUFDLGVBQWU7b0JBQ2hDLENBQUMsQ0FBQyxpQkFBSSxFQUFFO29CQUNSLENBQUMsQ0FBQywwQkFBMEIsRUFBRTthQUNqQyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFSRCw0QkFRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJ1bGUsXG4gIFNjaGVtYXRpY0NvbnRleHQsXG4gIFRyZWUsXG4gIGNoYWluLFxuICBub29wLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBOb2RlUGFja2FnZUluc3RhbGxUYXNrIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MvdGFza3MnO1xuaW1wb3J0IHtcbiAgYWRkUGFja2FnZVRvUGFja2FnZUpzb24sXG4gIHBsYXRmb3JtVmVyc2lvbixcbn0gZnJvbSAnQG5ncngvZW50aXR5L3NjaGVtYXRpY3MtY29yZSc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgRW50aXR5T3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuZnVuY3Rpb24gYWRkTmdSeEVudGl0eVRvUGFja2FnZUpzb24oKSB7XG4gIHJldHVybiAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGFkZFBhY2thZ2VUb1BhY2thZ2VKc29uKFxuICAgICAgaG9zdCxcbiAgICAgICdkZXBlbmRlbmNpZXMnLFxuICAgICAgJ0BuZ3J4L2VudGl0eScsXG4gICAgICBwbGF0Zm9ybVZlcnNpb25cbiAgICApO1xuICAgIGNvbnRleHQuYWRkVGFzayhuZXcgTm9kZVBhY2thZ2VJbnN0YWxsVGFzaygpKTtcbiAgICByZXR1cm4gaG9zdDtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24ob3B0aW9uczogRW50aXR5T3B0aW9ucyk6IFJ1bGUge1xuICByZXR1cm4gKGhvc3Q6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgb3B0aW9ucyAmJiBvcHRpb25zLnNraXBQYWNrYWdlSnNvblxuICAgICAgICA/IG5vb3AoKVxuICAgICAgICA6IGFkZE5nUnhFbnRpdHlUb1BhY2thZ2VKc29uKCksXG4gICAgXSkoaG9zdCwgY29udGV4dCk7XG4gIH07XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zY2hlbWF0aWNzL25nLWFkZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUFBLDJEQU1vQztJQUNwQyw0REFBMEU7SUFDMUUsa0VBR3NDO0lBR3RDLFNBQVMsMEJBQTBCO1FBQ2pDLE9BQU8sQ0FBQyxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO1lBQy9DLHlDQUF1QixDQUNyQixJQUFJLEVBQ0osY0FBYyxFQUNkLGNBQWMsRUFDZCxpQ0FBZSxDQUNoQixDQUFDO1lBQ0YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDhCQUFzQixFQUFFLENBQUMsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBd0IsT0FBc0I7UUFDNUMsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUF5QixFQUFFLEVBQUU7WUFDL0MsT0FBTyxrQkFBSyxDQUFDO2dCQUNYLE9BQU8sSUFBSSxPQUFPLENBQUMsZUFBZTtvQkFDaEMsQ0FBQyxDQUFDLGlCQUFJLEVBQUU7b0JBQ1IsQ0FBQyxDQUFDLDBCQUEwQixFQUFFO2FBQ2pDLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVJELDRCQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUnVsZSxcbiAgU2NoZW1hdGljQ29udGV4dCxcbiAgVHJlZSxcbiAgY2hhaW4sXG4gIG5vb3AsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2sgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcy90YXNrcyc7XG5pbXBvcnQge1xuICBhZGRQYWNrYWdlVG9QYWNrYWdlSnNvbixcbiAgcGxhdGZvcm1WZXJzaW9uLFxufSBmcm9tICdAbmdyeC9lbnRpdHkvc2NoZW1hdGljcy1jb3JlJztcbmltcG9ydCB7IFNjaGVtYSBhcyBFbnRpdHlPcHRpb25zIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5mdW5jdGlvbiBhZGROZ1J4RW50aXR5VG9QYWNrYWdlSnNvbigpIHtcbiAgcmV0dXJuIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgYWRkUGFja2FnZVRvUGFja2FnZUpzb24oXG4gICAgICBob3N0LFxuICAgICAgJ2RlcGVuZGVuY2llcycsXG4gICAgICAnQG5ncngvZW50aXR5JyxcbiAgICAgIHBsYXRmb3JtVmVyc2lvblxuICAgICk7XG4gICAgY29udGV4dC5hZGRUYXNrKG5ldyBOb2RlUGFja2FnZUluc3RhbGxUYXNrKCkpO1xuICAgIHJldHVybiBob3N0O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihvcHRpb25zOiBFbnRpdHlPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIHJldHVybiBjaGFpbihbXG4gICAgICBvcHRpb25zICYmIG9wdGlvbnMuc2tpcFBhY2thZ2VKc29uXG4gICAgICAgID8gbm9vcCgpXG4gICAgICAgIDogYWRkTmdSeEVudGl0eVRvUGFja2FnZUpzb24oKSxcbiAgICBdKShob3N0LCBjb250ZXh0KTtcbiAgfTtcbn1cbiJdfQ==