@ngrx/entity 6.1.2 → 7.0.0-beta.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 (47) hide show
  1. package/bundles/entity.umd.js +54 -19
  2. package/bundles/entity.umd.js.map +1 -1
  3. package/bundles/entity.umd.min.js +2 -2
  4. package/bundles/entity.umd.min.js.map +1 -1
  5. package/entity.metadata.json +1 -1
  6. package/esm2015/index.js +1 -1
  7. package/esm2015/public_api.js +1 -1
  8. package/esm2015/src/create_adapter.js +8 -5
  9. package/esm2015/src/entity_state.js +2 -2
  10. package/esm2015/src/index.js +3 -3
  11. package/esm2015/src/models.js +113 -54
  12. package/esm2015/src/sorted_state_adapter.js +63 -23
  13. package/esm2015/src/state_adapter.js +10 -8
  14. package/esm2015/src/state_selectors.js +10 -6
  15. package/esm2015/src/unsorted_state_adapter.js +64 -23
  16. package/esm2015/src/utils.js +4 -3
  17. package/esm5/index.js +1 -1
  18. package/esm5/src/create_adapter.js +11 -8
  19. package/esm5/src/entity_state.js +1 -1
  20. package/esm5/src/index.js +2 -2
  21. package/esm5/src/models.js +1 -1
  22. package/esm5/src/sorted_state_adapter.js +13 -2
  23. package/esm5/src/state_adapter.js +11 -8
  24. package/esm5/src/state_selectors.js +1 -1
  25. package/esm5/src/unsorted_state_adapter.js +22 -4
  26. package/esm5/src/utils.js +1 -1
  27. package/fesm2015/entity.js +155 -68
  28. package/fesm2015/entity.js.map +1 -1
  29. package/fesm5/entity.js +54 -19
  30. package/fesm5/entity.js.map +1 -1
  31. package/migrations/6_0_0/index.js +1 -1
  32. package/package.json +4 -4
  33. package/schematics-core/index.d.ts +4 -4
  34. package/schematics-core/utility/ast-utils.js +12 -10
  35. package/schematics-core/utility/change.js +1 -1
  36. package/schematics-core/utility/config.js +1 -1
  37. package/schematics-core/utility/find-module.js +1 -1
  38. package/schematics-core/utility/ngrx-utils.js +6 -6
  39. package/schematics-core/utility/package.js +1 -1
  40. package/schematics-core/utility/parse-name.js +1 -1
  41. package/schematics-core/utility/project.js +1 -1
  42. package/schematics-core/utility/route-utils.js +1 -1
  43. package/schematics-core/utility/strings.js +1 -1
  44. package/schematics-core/utility/update.js +1 -1
  45. package/src/index.d.ts +1 -1
  46. package/src/models.d.ts +16 -20
  47. package/src/state_adapter.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license NgRx 6.1.2
2
+ * @license NgRx 7.0.0-beta.0
3
3
  * (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin
4
4
  * License: MIT
5
5
  */
@@ -49,13 +49,16 @@
49
49
  return { getSelectors: getSelectors };
50
50
  }
51
51
 
52
- var __assign = (undefined && undefined.__assign) || Object.assign || function(t) {
53
- for (var s, i = 1, n = arguments.length; i < n; i++) {
54
- s = arguments[i];
55
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
56
- t[p] = s[p];
57
- }
58
- return t;
52
+ var __assign = (undefined && undefined.__assign) || function () {
53
+ __assign = Object.assign || function(t) {
54
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
55
+ s = arguments[i];
56
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
57
+ t[p] = s[p];
58
+ }
59
+ return t;
60
+ };
61
+ return __assign.apply(this, arguments);
59
62
  };
60
63
  var __read = (undefined && undefined.__read) || function (o, n) {
61
64
  var m = typeof Symbol === "function" && o[Symbol.iterator];
@@ -129,6 +132,7 @@
129
132
  return DidMutate.Both;
130
133
  }
131
134
  function addManyMutably(entities, state) {
135
+ var e_1, _a;
132
136
  var didMutate = false;
133
137
  try {
134
138
  for (var entities_1 = __values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {
@@ -144,7 +148,6 @@
144
148
  finally { if (e_1) throw e_1.error; }
145
149
  }
146
150
  return didMutate ? DidMutate.Both : DidMutate.None;
147
- var e_1, _a;
148
151
  }
149
152
  function addAllMutably(entities, state) {
150
153
  state.ids = [];
@@ -155,7 +158,10 @@
155
158
  function removeOneMutably(key, state) {
156
159
  return removeManyMutably([key], state);
157
160
  }
158
- function removeManyMutably(keys, state) {
161
+ function removeManyMutably(keysOrPredicate, state) {
162
+ var keys = keysOrPredicate instanceof Array
163
+ ? keysOrPredicate
164
+ : state.ids.filter(function (key) { return keysOrPredicate(state.entities[key]); });
159
165
  var didMutate = keys
160
166
  .filter(function (key) { return key in state.entities; })
161
167
  .map(function (key) { return delete state.entities[key]; }).length > 0;
@@ -201,10 +207,25 @@
201
207
  }
202
208
  return DidMutate.None;
203
209
  }
210
+ function mapMutably(map, state) {
211
+ var changes = state.ids.reduce(function (changes, id) {
212
+ var change = map(state.entities[id]);
213
+ if (change !== state.entities[id]) {
214
+ changes.push({ id: id, changes: change });
215
+ }
216
+ return changes;
217
+ }, []);
218
+ var updates = changes.filter(function (_a) {
219
+ var id = _a.id;
220
+ return id in state.entities;
221
+ });
222
+ return updateManyMutably(updates, state);
223
+ }
204
224
  function upsertOneMutably(entity, state) {
205
225
  return upsertManyMutably([entity], state);
206
226
  }
207
227
  function upsertManyMutably(entities, state) {
228
+ var e_2, _a;
208
229
  var added = [];
209
230
  var updated = [];
210
231
  try {
@@ -238,7 +259,6 @@
238
259
  default:
239
260
  return DidMutate.EntitiesOnly;
240
261
  }
241
- var e_2, _a;
242
262
  }
243
263
  return {
244
264
  removeAll: removeAll,
@@ -251,6 +271,7 @@
251
271
  upsertMany: createStateOperator(upsertManyMutably),
252
272
  removeOne: createStateOperator(removeOneMutably),
253
273
  removeMany: createStateOperator(removeManyMutably),
274
+ map: createStateOperator(mapMutably),
254
275
  };
255
276
  }
256
277
 
@@ -328,10 +349,21 @@
328
349
  }
329
350
  }
330
351
  }
352
+ function mapMutably(updatesOrMap, state) {
353
+ var updates = state.ids.reduce(function (changes, id) {
354
+ var change = updatesOrMap(state.entities[id]);
355
+ if (change !== state.entities[id]) {
356
+ changes.push({ id: id, changes: change });
357
+ }
358
+ return changes;
359
+ }, []);
360
+ return updateManyMutably(updates, state);
361
+ }
331
362
  function upsertOneMutably(entity, state) {
332
363
  return upsertManyMutably([entity], state);
333
364
  }
334
365
  function upsertManyMutably(entities, state) {
366
+ var e_1, _a;
335
367
  var added = [];
336
368
  var updated = [];
337
369
  try {
@@ -365,7 +397,6 @@
365
397
  default:
366
398
  return DidMutate.EntitiesOnly;
367
399
  }
368
- var e_1, _a;
369
400
  }
370
401
  function merge(models, state) {
371
402
  models.sort(sort);
@@ -407,16 +438,20 @@
407
438
  addMany: createStateOperator(addManyMutably),
408
439
  updateMany: createStateOperator(updateManyMutably),
409
440
  upsertMany: createStateOperator(upsertManyMutably),
441
+ map: createStateOperator(mapMutably),
410
442
  };
411
443
  }
412
444
 
413
- var __assign$1 = (undefined && undefined.__assign) || Object.assign || function(t) {
414
- for (var s, i = 1, n = arguments.length; i < n; i++) {
415
- s = arguments[i];
416
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
417
- t[p] = s[p];
418
- }
419
- return t;
445
+ var __assign$1 = (undefined && undefined.__assign) || function () {
446
+ __assign$1 = Object.assign || function(t) {
447
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
448
+ s = arguments[i];
449
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
450
+ t[p] = s[p];
451
+ }
452
+ return t;
453
+ };
454
+ return __assign$1.apply(this, arguments);
420
455
  };
421
456
  function createEntityAdapter(options) {
422
457
  if (options === void 0) { options = {}; }
@@ -1 +1 @@
1
- {"version":3,"file":"entity.umd.js","sources":["../../../../../../../../../../execroot/ngrx/modules/entity/src/entity_state.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/state_selectors.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/state_adapter.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/utils.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/unsorted_state_adapter.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/sorted_state_adapter.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/create_adapter.ts","../../../../../../../../../../execroot/ngrx/modules/entity/src/models.ts","../../../../../../../../../../execroot/ngrx/modules/entity/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, EntityStateAdapter } 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 { EntityState, EntityStateAdapter, IdSelector, Update } 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(keys: any[], state: any): DidMutate {\n const didMutate =\n keys\n .filter(key => key in state.entities)\n .map(key => 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 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 };\n}\n","import {\n EntityState,\n IdSelector,\n Comparer,\n Dictionary,\n EntityStateAdapter,\n Update,\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 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 };\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> = {\n (a: T, b: T): string;\n};\n\nexport type ComparerNum<T> = {\n (a: T, b: T): number;\n};\n\nexport type Comparer<T> = ComparerNum<T> | ComparerStr<T>;\n\nexport type IdSelectorStr<T> = {\n (model: T): string;\n};\n\nexport type IdSelectorNum<T> = {\n (model: T): number;\n};\n\nexport type IdSelector<T> = IdSelectorStr<T> | IdSelectorNum<T>;\n\nexport type DictionaryNum<T> = {\n [id: number]: T;\n};\n\nexport abstract class Dictionary<T> implements DictionaryNum<T> {\n [id: string]: T;\n}\n\nexport type UpdateStr<T> = {\n id: string;\n changes: Partial<T>;\n};\n\nexport type UpdateNum<T> = {\n id: number;\n changes: Partial<T>;\n};\n\nexport type Update<T> = UpdateStr<T> | UpdateNum<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\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\nexport type 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":["createSelector","isDevMode","__values"],"mappings":"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"}
1
+ {"version":3,"file":"entity.umd.js","sources":["../../../../../modules/entity/src/entity_state.ts","../../../../../modules/entity/src/state_selectors.ts","../../../../../modules/entity/src/state_adapter.ts","../../../../../modules/entity/src/utils.ts","../../../../../modules/entity/src/unsorted_state_adapter.ts","../../../../../modules/entity/src/sorted_state_adapter.ts","../../../../../modules/entity/src/create_adapter.ts","../../../../../modules/entity/src/models.ts","../../../../../modules/entity/index.ts","../../../../../modules/entity/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 * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["createSelector","isDevMode","__values"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license NgRx 6.1.2
2
+ * @license NgRx 7.0.0-beta.0
3
3
  * (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin
4
4
  * License: MIT
5
5
  */
6
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@ngrx/store"),require("@angular/core")):"function"==typeof define&&define.amd?define("@ngrx/entity",["exports","@ngrx/store","@angular/core"],t):t((e.ngrx=e.ngrx||{},e.ngrx.entity={}),e["@ngrx/store"],e.ng.core)}(this,function(e,t,n){"use strict";var r,i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},o=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)u.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return u},u=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e};function a(e){return function t(n,o){var a={ids:u(o.ids),entities:i({},o.entities)},c=e(n,a);return c===r.Both?Object.assign({},o,a):c===r.EntitiesOnly?i({},o,{entities:a.entities}):o}}function c(e,t){var r=t(e);return n.isDevMode()&&void 0===r&&console.warn("@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.","You should probably provide your own `selectId` implementation.","The entity that was passed:",e,"The `selectId` implementation:",t.toString()),r}!function(e){e[e.EntitiesOnly=0]="EntitiesOnly",e[e.Both=1]="Both",e[e.None=2]="None"}(r||(r={}));var s=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};function l(e){function t(t,n){var i=c(t,e);return i in n.entities?r.None:(n.ids.push(i),n.entities[i]=t,r.Both)}function n(e,n){var i,o,u=!1;try{for(var a=s(e),c=a.next();!c.done;c=a.next())u=t(c.value,n)!==r.None||u}catch(e){i={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}return u?r.Both:r.None}function i(e,t){var n=e.filter(function(e){return e in t.entities}).map(function(e){return delete t.entities[e]}).length>0;return n&&(t.ids=t.ids.filter(function(e){return e in t.entities})),n?r.Both:r.None}function o(t,n){var i={};return(t=t.filter(function(e){return e.id in n.entities})).length>0?t.filter(function(t){return function r(t,n,i){var o=Object.assign({},i.entities[n.id],n.changes),u=c(o,e),a=u!==n.id;return a&&(t[n.id]=u,delete i.entities[n.id]),i.entities[u]=o,a}(i,t,n)}).length>0?(n.ids=n.ids.map(function(e){return i[e]||e}),r.Both):r.EntitiesOnly:r.None}function u(t,i){var u=[],a=[];try{for(var l=s(t),f=l.next();!f.done;f=l.next()){var d=f.value,h=c(d,e);h in i.entities?a.push({id:h,changes:d}):u.push(d)}}catch(e){v={error:e}}finally{try{f&&!f.done&&(y=l.return)&&y.call(l)}finally{if(v)throw v.error}}var v,y,p=o(a,i),g=n(u,i);switch(!0){case g===r.None&&p===r.None:return r.None;case g===r.Both||p===r.Both:return r.Both;default:return r.EntitiesOnly}}return{removeAll:function l(e){return Object.assign({},e,{ids:[],entities:{}})},addOne:a(t),addMany:a(n),addAll:a(function f(e,t){return t.ids=[],t.entities={},n(e,t),r.Both}),updateOne:a(function d(e,t){return o([e],t)}),updateMany:a(o),upsertOne:a(function h(e,t){return u([e],t)}),upsertMany:a(u),removeOne:a(function v(e,t){return i([e],t)}),removeMany:a(i)}}var f=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}},d=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},h=function h(){};e.createEntityAdapter=function v(e){void 0===e&&(e={});var n=d({sortComparer:!1,selectId:function(e){return e.id}},e),i=n.selectId,o=n.sortComparer,u=function s(){return{getInitialState:function e(t){return void 0===t&&(t={}),Object.assign({ids:[],entities:{}},t)}}}(),h=function v(){return{getSelectors:function e(n){var r=function(e){return e.ids},i=function(e){return e.entities},o=t.createSelector(r,i,function(e,t){return e.map(function(e){return t[e]})}),u=t.createSelector(r,function(e){return e.length});return n?{selectIds:t.createSelector(n,r),selectEntities:t.createSelector(n,i),selectAll:t.createSelector(n,o),selectTotal:t.createSelector(n,u)}:{selectIds:r,selectEntities:i,selectAll:o,selectTotal:u}}}}(),y=o?function p(e,t){var n=l(e);function i(t,n){var i=t.filter(function(t){return!(c(t,e)in n.entities)});return 0===i.length?r.None:(s(i,n),r.Both)}function o(t,n){var i=[],o=t.filter(function(t){return function r(t,n,i){if(!(n.id in i.entities))return!1;var o=Object.assign({},i.entities[n.id],n.changes),u=c(o,e);return delete i.entities[n.id],t.push(o),u!==n.id}(i,t,n)}).length>0;if(0===i.length)return r.None;var u=n.ids,a=[];return n.ids=n.ids.filter(function(e,t){return e in n.entities||(a.push(t),!1)}),s(i,n),!o&&a.every(function(e){return n.ids[e]===u[e]})?r.EntitiesOnly:r.Both}function u(t,n){var u=[],a=[];try{for(var s=f(t),l=s.next();!l.done;l=s.next()){var d=l.value,h=c(d,e);h in n.entities?a.push({id:h,changes:d}):u.push(d)}}catch(e){v={error:e}}finally{try{l&&!l.done&&(y=s.return)&&y.call(s)}finally{if(v)throw v.error}}var v,y,p=o(a,n),g=i(u,n);switch(!0){case g===r.None&&p===r.None:return r.None;case g===r.Both||p===r.Both:return r.Both;default:return r.EntitiesOnly}}function s(n,r){n.sort(t);for(var i=[],o=0,u=0;o<n.length&&u<r.ids.length;){var a=n[o],s=c(a,e),l=r.ids[u];t(a,r.entities[l])<=0?(i.push(s),o++):(i.push(l),u++)}r.ids=i.concat(o<n.length?n.slice(o).map(e):r.ids.slice(u)),n.forEach(function(t,n){r.entities[e(t)]=t})}return{removeOne:n.removeOne,removeMany:n.removeMany,removeAll:n.removeAll,addOne:a(function d(e,t){return i([e],t)}),updateOne:a(function h(e,t){return o([e],t)}),upsertOne:a(function v(e,t){return u([e],t)}),addAll:a(function y(e,t){return t.entities={},t.ids=[],i(e,t),r.Both}),addMany:a(i),updateMany:a(o),upsertMany:a(u)}}(i,o):l(i);return d({selectId:i,sortComparer:o},u,h,y)},e.Dictionary=h,Object.defineProperty(e,"__esModule",{value:!0})});
6
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@ngrx/store"),require("@angular/core")):"function"==typeof define&&define.amd?define("@ngrx/entity",["exports","@ngrx/store","@angular/core"],t):t((e.ngrx=e.ngrx||{},e.ngrx.entity={}),e["@ngrx/store"],e.ng.core)}(this,function(e,t,n){"use strict";var r,i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},o=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)u.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return u},u=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e};function c(e){return function t(n,o){var c={ids:u(o.ids),entities:i({},o.entities)},a=e(n,c);return a===r.Both?Object.assign({},o,c):a===r.EntitiesOnly?i({},o,{entities:c.entities}):o}}function a(e,t){var r=t(e);return n.isDevMode()&&void 0===r&&console.warn("@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.","You should probably provide your own `selectId` implementation.","The entity that was passed:",e,"The `selectId` implementation:",t.toString()),r}!function(e){e[e.EntitiesOnly=0]="EntitiesOnly",e[e.Both=1]="Both",e[e.None=2]="None"}(r||(r={}));var s=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}};function l(e){function t(t,n){var i=a(t,e);return i in n.entities?r.None:(n.ids.push(i),n.entities[i]=t,r.Both)}function n(e,n){var i,o,u=!1;try{for(var c=s(e),a=c.next();!a.done;a=c.next())u=t(a.value,n)!==r.None||u}catch(e){i={error:e}}finally{try{a&&!a.done&&(o=c.return)&&o.call(c)}finally{if(i)throw i.error}}return u?r.Both:r.None}function i(e,t){var n=(e instanceof Array?e:t.ids.filter(function(n){return e(t.entities[n])})).filter(function(e){return e in t.entities}).map(function(e){return delete t.entities[e]}).length>0;return n&&(t.ids=t.ids.filter(function(e){return e in t.entities})),n?r.Both:r.None}function o(t,n){var i={};return(t=t.filter(function(e){return e.id in n.entities})).length>0?t.filter(function(t){return function r(t,n,i){var o=Object.assign({},i.entities[n.id],n.changes),u=a(o,e),c=u!==n.id;return c&&(t[n.id]=u,delete i.entities[n.id]),i.entities[u]=o,c}(i,t,n)}).length>0?(n.ids=n.ids.map(function(e){return i[e]||e}),r.Both):r.EntitiesOnly:r.None}function u(t,i){var u,c,l=[],f=[];try{for(var d=s(t),h=d.next();!h.done;h=d.next()){var v=h.value,y=a(v,e);y in i.entities?f.push({id:y,changes:v}):l.push(v)}}catch(e){u={error:e}}finally{try{h&&!h.done&&(c=d.return)&&c.call(d)}finally{if(u)throw u.error}}var p=o(f,i),g=n(l,i);switch(!0){case g===r.None&&p===r.None:return r.None;case g===r.Both||p===r.Both:return r.Both;default:return r.EntitiesOnly}}return{removeAll:function l(e){return Object.assign({},e,{ids:[],entities:{}})},addOne:c(t),addMany:c(n),addAll:c(function f(e,t){return t.ids=[],t.entities={},n(e,t),r.Both}),updateOne:c(function d(e,t){return o([e],t)}),updateMany:c(o),upsertOne:c(function h(e,t){return u([e],t)}),upsertMany:c(u),removeOne:c(function v(e,t){return i([e],t)}),removeMany:c(i),map:c(function y(e,t){return o(t.ids.reduce(function(n,r){var i=e(t.entities[r]);return i!==t.entities[r]&&n.push({id:r,changes:i}),n},[]).filter(function(e){return e.id in t.entities}),t)})}}var f=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}},d=function(){return(d=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},h=function h(){};e.createEntityAdapter=function v(e){void 0===e&&(e={});var n=d({sortComparer:!1,selectId:function(e){return e.id}},e),i=n.selectId,o=n.sortComparer,u=function s(){return{getInitialState:function e(t){return void 0===t&&(t={}),Object.assign({ids:[],entities:{}},t)}}}(),h=function v(){return{getSelectors:function e(n){var r=function(e){return e.ids},i=function(e){return e.entities},o=t.createSelector(r,i,function(e,t){return e.map(function(e){return t[e]})}),u=t.createSelector(r,function(e){return e.length});return n?{selectIds:t.createSelector(n,r),selectEntities:t.createSelector(n,i),selectAll:t.createSelector(n,o),selectTotal:t.createSelector(n,u)}:{selectIds:r,selectEntities:i,selectAll:o,selectTotal:u}}}}(),y=o?function p(e,t){var n=l(e);function i(t,n){var i=t.filter(function(t){return!(a(t,e)in n.entities)});return 0===i.length?r.None:(s(i,n),r.Both)}function o(t,n){var i=[],o=t.filter(function(t){return function r(t,n,i){if(!(n.id in i.entities))return!1;var o=Object.assign({},i.entities[n.id],n.changes),u=a(o,e);return delete i.entities[n.id],t.push(o),u!==n.id}(i,t,n)}).length>0;if(0===i.length)return r.None;var u=n.ids,c=[];return n.ids=n.ids.filter(function(e,t){return e in n.entities||(c.push(t),!1)}),s(i,n),!o&&c.every(function(e){return n.ids[e]===u[e]})?r.EntitiesOnly:r.Both}function u(t,n){var u,c,s=[],l=[];try{for(var d=f(t),h=d.next();!h.done;h=d.next()){var v=h.value,y=a(v,e);y in n.entities?l.push({id:y,changes:v}):s.push(v)}}catch(e){u={error:e}}finally{try{h&&!h.done&&(c=d.return)&&c.call(d)}finally{if(u)throw u.error}}var p=o(l,n),g=i(s,n);switch(!0){case g===r.None&&p===r.None:return r.None;case g===r.Both||p===r.Both:return r.Both;default:return r.EntitiesOnly}}function s(n,r){n.sort(t);for(var i=[],o=0,u=0;o<n.length&&u<r.ids.length;){var c=n[o],s=a(c,e),l=r.ids[u];t(c,r.entities[l])<=0?(i.push(s),o++):(i.push(l),u++)}r.ids=i.concat(o<n.length?n.slice(o).map(e):r.ids.slice(u)),n.forEach(function(t,n){r.entities[e(t)]=t})}return{removeOne:n.removeOne,removeMany:n.removeMany,removeAll:n.removeAll,addOne:c(function d(e,t){return i([e],t)}),updateOne:c(function h(e,t){return o([e],t)}),upsertOne:c(function v(e,t){return u([e],t)}),addAll:c(function y(e,t){return t.entities={},t.ids=[],i(e,t),r.Both}),addMany:c(i),updateMany:c(o),upsertMany:c(u),map:c(function p(e,t){return o(t.ids.reduce(function(n,r){var i=e(t.entities[r]);return i!==t.entities[r]&&n.push({id:r,changes:i}),n},[]),t)})}}(i,o):l(i);return d({selectId:i,sortComparer:o},u,h,y)},e.Dictionary=h,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -1 +1 @@
1
- {"version":3,"sources":["modules/entity/entity.umd.js"],"names":["global","factory","exports","module","require","define","amd","ngrx","entity","ng","core","this","store","DidMutate","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spread","concat","createStateOperator","mutator","operation","arg","state","clonedEntityState","ids","entities","didMutate","Both","EntitiesOnly","selectIdValue","selectId","key","isDevMode","undefined","console","warn","toString","__values","createUnsortedStateAdapter","addOneMutably","None","addManyMutably","e_1","_a","entities_1","entities_1_1","e_1_1","return","removeManyMutably","keys","filter","map","id","updateManyMutably","updates","newKeys","update","takeNewKey","updated","changes","newKey","hasNewKey","upsertManyMutably","added","entities_2","entities_2_1","e_2_1","e_2","didMutateByUpdated","didMutateByAdded","removeAll","addOne","addMany","addAll","addAllMutably","updateOne","updateOneMutably","updateMany","upsertOne","upsertOneMutably","upsertMany","removeOne","removeOneMutably","removeMany","__values$1","__assign$1","Dictionary","createEntityAdapter","options","sortComparer","instance","stateFactory","createInitialStateFactory","getInitialState","additionalState","selectorsFactory","createSelectorsFactory","getSelectors","selectState","selectIds","selectEntities","selectAll","createSelector","selectTotal","stateAdapter","createSortedStateAdapter","sort","newModels","models","model","merge","didMutateIds","takeUpdatedModel","originalIds_1","updatedIndexes_1","index","every","j","modelId","entityId","slice","forEach","defineProperty"],"mappings":"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","sourcesContent":["/**\n * @license NgRx 6.1.2\n * (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin\n * License: MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ngrx/store'), require('@angular/core')) :\n typeof define === 'function' && define.amd ? define('@ngrx/entity', ['exports', '@ngrx/store', '@angular/core'], factory) :\n (factory((global.ngrx = global.ngrx || {}, global.ngrx.entity = {}),global['@ngrx/store'],global.ng.core));\n}(this, (function (exports,store,core) { 'use strict';\n\n function getInitialEntityState() {\n return {\n ids: [],\n entities: {},\n };\n }\n function createInitialStateFactory() {\n function getInitialState(additionalState) {\n if (additionalState === void 0) { additionalState = {}; }\n return Object.assign(getInitialEntityState(), additionalState);\n }\n return { getInitialState: getInitialState };\n }\n\n function createSelectorsFactory() {\n function getSelectors(selectState) {\n var selectIds = function (state) { return state.ids; };\n var selectEntities = function (state) { return state.entities; };\n var selectAll = store.createSelector(selectIds, selectEntities, function (ids, entities) {\n return ids.map(function (id) { return entities[id]; });\n });\n var selectTotal = store.createSelector(selectIds, function (ids) { return ids.length; });\n if (!selectState) {\n return {\n selectIds: selectIds,\n selectEntities: selectEntities,\n selectAll: selectAll,\n selectTotal: selectTotal,\n };\n }\n return {\n selectIds: store.createSelector(selectState, selectIds),\n selectEntities: store.createSelector(selectState, selectEntities),\n selectAll: store.createSelector(selectState, selectAll),\n selectTotal: store.createSelector(selectState, selectTotal),\n };\n }\n return { getSelectors: getSelectors };\n }\n\n var __assign = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n var __read = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };\n var __spread = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };\n var DidMutate;\n (function (DidMutate) {\n DidMutate[DidMutate[\"EntitiesOnly\"] = 0] = \"EntitiesOnly\";\n DidMutate[DidMutate[\"Both\"] = 1] = \"Both\";\n DidMutate[DidMutate[\"None\"] = 2] = \"None\";\n })(DidMutate || (DidMutate = {}));\n function createStateOperator(mutator) {\n return function operation(arg, state) {\n var clonedEntityState = {\n ids: __spread(state.ids),\n entities: __assign({}, state.entities),\n };\n var didMutate = mutator(arg, clonedEntityState);\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n if (didMutate === DidMutate.EntitiesOnly) {\n return __assign({}, state, { entities: clonedEntityState.entities });\n }\n return state;\n };\n }\n\n function selectIdValue(entity, selectId) {\n var key = selectId(entity);\n if (core.isDevMode() && key === undefined) {\n console.warn('@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.', 'You should probably provide your own `selectId` implementation.', 'The entity that was passed:', entity, 'The `selectId` implementation:', selectId.toString());\n }\n return key;\n }\n\n var __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n function createUnsortedStateAdapter(selectId) {\n function addOneMutably(entity, state) {\n var key = selectIdValue(entity, selectId);\n if (key in state.entities) {\n return DidMutate.None;\n }\n state.ids.push(key);\n state.entities[key] = entity;\n return DidMutate.Both;\n }\n function addManyMutably(entities, state) {\n var didMutate = false;\n try {\n for (var entities_1 = __values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {\n var entity = entities_1_1.value;\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return didMutate ? DidMutate.Both : DidMutate.None;\n var e_1, _a;\n }\n function addAllMutably(entities, state) {\n state.ids = [];\n state.entities = {};\n addManyMutably(entities, state);\n return DidMutate.Both;\n }\n function removeOneMutably(key, state) {\n return removeManyMutably([key], state);\n }\n function removeManyMutably(keys, state) {\n var didMutate = keys\n .filter(function (key) { return key in state.entities; })\n .map(function (key) { return delete state.entities[key]; }).length > 0;\n if (didMutate) {\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\n }\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n function removeAll(state) {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n function takeNewKey(keys, update, state) {\n var original = state.entities[update.id];\n var updated = Object.assign({}, original, update.changes);\n var newKey = selectIdValue(updated, selectId);\n var hasNewKey = newKey !== update.id;\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n state.entities[newKey] = updated;\n return hasNewKey;\n }\n function updateOneMutably(update, state) {\n return updateManyMutably([update], state);\n }\n function updateManyMutably(updates, state) {\n var newKeys = {};\n updates = updates.filter(function (update) { return update.id in state.entities; });\n var didMutateEntities = updates.length > 0;\n if (didMutateEntities) {\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\n if (didMutateIds) {\n state.ids = state.ids.map(function (id) { return newKeys[id] || id; });\n return DidMutate.Both;\n }\n else {\n return DidMutate.EntitiesOnly;\n }\n }\n return DidMutate.None;\n }\n function upsertOneMutably(entity, state) {\n return upsertManyMutably([entity], state);\n }\n function upsertManyMutably(entities, state) {\n var added = [];\n var updated = [];\n try {\n for (var entities_2 = __values(entities), entities_2_1 = entities_2.next(); !entities_2_1.done; entities_2_1 = entities_2.next()) {\n var entity = entities_2_1.value;\n var id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id: id, changes: entity });\n }\n else {\n added.push(entity);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (entities_2_1 && !entities_2_1.done && (_a = entities_2.return)) _a.call(entities_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var didMutateByUpdated = updateManyMutably(updated, state);\n var didMutateByAdded = addManyMutably(added, state);\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 var e_2, _a;\n }\n return {\n removeAll: 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 };\n }\n\n var __values$1 = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n function createSortedStateAdapter(selectId, sort) {\n var _a = createUnsortedStateAdapter(selectId), removeOne = _a.removeOne, removeMany = _a.removeMany, removeAll = _a.removeAll;\n function addOneMutably(entity, state) {\n return addManyMutably([entity], state);\n }\n function addManyMutably(newModels, state) {\n var models = newModels.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\n if (models.length === 0) {\n return DidMutate.None;\n }\n else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n function addAllMutably(models, state) {\n state.entities = {};\n state.ids = [];\n addManyMutably(models, state);\n return DidMutate.Both;\n }\n function updateOneMutably(update, state) {\n return updateManyMutably([update], state);\n }\n function takeUpdatedModel(models, update, state) {\n if (!(update.id in state.entities)) {\n return false;\n }\n var original = state.entities[update.id];\n var updated = Object.assign({}, original, update.changes);\n var newKey = selectIdValue(updated, selectId);\n delete state.entities[update.id];\n models.push(updated);\n return newKey !== update.id;\n }\n function updateManyMutably(updates, state) {\n var models = [];\n var didMutateIds = updates.filter(function (update) { return takeUpdatedModel(models, update, state); }).length >\n 0;\n if (models.length === 0) {\n return DidMutate.None;\n }\n else {\n var originalIds_1 = state.ids;\n var updatedIndexes_1 = [];\n state.ids = state.ids.filter(function (id, index) {\n if (id in state.entities) {\n return true;\n }\n else {\n updatedIndexes_1.push(index);\n return false;\n }\n });\n merge(models, state);\n if (!didMutateIds &&\n updatedIndexes_1.every(function (i) { return state.ids[i] === originalIds_1[i]; })) {\n return DidMutate.EntitiesOnly;\n }\n else {\n return DidMutate.Both;\n }\n }\n }\n function upsertOneMutably(entity, state) {\n return upsertManyMutably([entity], state);\n }\n function upsertManyMutably(entities, state) {\n var added = [];\n var updated = [];\n try {\n for (var entities_1 = __values$1(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {\n var entity = entities_1_1.value;\n var id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id: id, changes: entity });\n }\n else {\n added.push(entity);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var didMutateByUpdated = updateManyMutably(updated, state);\n var didMutateByAdded = addManyMutably(added, state);\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 var e_1, _a;\n }\n function merge(models, state) {\n models.sort(sort);\n var ids = [];\n var i = 0;\n var j = 0;\n while (i < models.length && j < state.ids.length) {\n var model = models[i];\n var modelId = selectIdValue(model, selectId);\n var entityId = state.ids[j];\n var entity = state.entities[entityId];\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n }\n else {\n ids.push(entityId);\n j++;\n }\n }\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n }\n else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n models.forEach(function (model, i) {\n state.entities[selectId(model)] = model;\n });\n }\n return {\n removeOne: removeOne,\n removeMany: removeMany,\n removeAll: 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 };\n }\n\n var __assign$1 = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n function createEntityAdapter(options) {\n if (options === void 0) { options = {}; }\n var _a = __assign$1({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _a.selectId, sortComparer = _a.sortComparer;\n var stateFactory = createInitialStateFactory();\n var selectorsFactory = createSelectorsFactory();\n var stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n return __assign$1({ selectId: selectId,\n sortComparer: sortComparer }, stateFactory, selectorsFactory, stateAdapter);\n }\n\n var Dictionary = /** @class */ (function () {\n function Dictionary() {\n }\n return Dictionary;\n }());\n\n /**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.createEntityAdapter = createEntityAdapter;\n exports.Dictionary = Dictionary;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=entity.umd.js.map\n"]}
1
+ {"version":3,"sources":["modules/entity/entity.umd.js"],"names":["global","factory","exports","module","require","define","amd","ngrx","entity","ng","core","this","store","DidMutate","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__read","o","m","Symbol","iterator","r","e","ar","next","done","push","value","error","__spread","concat","createStateOperator","mutator","operation","arg","state","clonedEntityState","ids","entities","didMutate","Both","EntitiesOnly","selectIdValue","selectId","key","isDevMode","undefined","console","warn","toString","__values","createUnsortedStateAdapter","addOneMutably","None","addManyMutably","e_1","_a","entities_1","entities_1_1","e_1_1","return","removeManyMutably","keysOrPredicate","Array","filter","map","id","updateManyMutably","updates","newKeys","update","takeNewKey","keys","updated","changes","newKey","hasNewKey","upsertManyMutably","e_2","added","entities_2","entities_2_1","e_2_1","didMutateByUpdated","didMutateByAdded","removeAll","addOne","addMany","addAll","addAllMutably","updateOne","updateOneMutably","updateMany","upsertOne","upsertOneMutably","upsertMany","removeOne","removeOneMutably","removeMany","mapMutably","reduce","change","__values$1","__assign$1","Dictionary","createEntityAdapter","options","sortComparer","instance","stateFactory","createInitialStateFactory","getInitialState","additionalState","selectorsFactory","createSelectorsFactory","getSelectors","selectState","selectIds","selectEntities","selectAll","createSelector","selectTotal","stateAdapter","createSortedStateAdapter","sort","newModels","models","model","merge","didMutateIds","takeUpdatedModel","originalIds_1","updatedIndexes_1","index","every","j","modelId","entityId","slice","forEach","updatesOrMap","defineProperty"],"mappings":"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","sourcesContent":["/**\n * @license NgRx 7.0.0-beta.0\n * (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin\n * License: MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@ngrx/store'), require('@angular/core')) :\n typeof define === 'function' && define.amd ? define('@ngrx/entity', ['exports', '@ngrx/store', '@angular/core'], factory) :\n (factory((global.ngrx = global.ngrx || {}, global.ngrx.entity = {}),global['@ngrx/store'],global.ng.core));\n}(this, (function (exports,store,core) { 'use strict';\n\n function getInitialEntityState() {\n return {\n ids: [],\n entities: {},\n };\n }\n function createInitialStateFactory() {\n function getInitialState(additionalState) {\n if (additionalState === void 0) { additionalState = {}; }\n return Object.assign(getInitialEntityState(), additionalState);\n }\n return { getInitialState: getInitialState };\n }\n\n function createSelectorsFactory() {\n function getSelectors(selectState) {\n var selectIds = function (state) { return state.ids; };\n var selectEntities = function (state) { return state.entities; };\n var selectAll = store.createSelector(selectIds, selectEntities, function (ids, entities) {\n return ids.map(function (id) { return entities[id]; });\n });\n var selectTotal = store.createSelector(selectIds, function (ids) { return ids.length; });\n if (!selectState) {\n return {\n selectIds: selectIds,\n selectEntities: selectEntities,\n selectAll: selectAll,\n selectTotal: selectTotal,\n };\n }\n return {\n selectIds: store.createSelector(selectState, selectIds),\n selectEntities: store.createSelector(selectState, selectEntities),\n selectAll: store.createSelector(selectState, selectAll),\n selectTotal: store.createSelector(selectState, selectTotal),\n };\n }\n return { getSelectors: getSelectors };\n }\n\n var __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n var __read = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };\n var __spread = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };\n var DidMutate;\n (function (DidMutate) {\n DidMutate[DidMutate[\"EntitiesOnly\"] = 0] = \"EntitiesOnly\";\n DidMutate[DidMutate[\"Both\"] = 1] = \"Both\";\n DidMutate[DidMutate[\"None\"] = 2] = \"None\";\n })(DidMutate || (DidMutate = {}));\n function createStateOperator(mutator) {\n return function operation(arg, state) {\n var clonedEntityState = {\n ids: __spread(state.ids),\n entities: __assign({}, state.entities),\n };\n var didMutate = mutator(arg, clonedEntityState);\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n if (didMutate === DidMutate.EntitiesOnly) {\n return __assign({}, state, { entities: clonedEntityState.entities });\n }\n return state;\n };\n }\n\n function selectIdValue(entity, selectId) {\n var key = selectId(entity);\n if (core.isDevMode() && key === undefined) {\n console.warn('@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.', 'You should probably provide your own `selectId` implementation.', 'The entity that was passed:', entity, 'The `selectId` implementation:', selectId.toString());\n }\n return key;\n }\n\n var __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n function createUnsortedStateAdapter(selectId) {\n function addOneMutably(entity, state) {\n var key = selectIdValue(entity, selectId);\n if (key in state.entities) {\n return DidMutate.None;\n }\n state.ids.push(key);\n state.entities[key] = entity;\n return DidMutate.Both;\n }\n function addManyMutably(entities, state) {\n var e_1, _a;\n var didMutate = false;\n try {\n for (var entities_1 = __values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {\n var entity = entities_1_1.value;\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n function addAllMutably(entities, state) {\n state.ids = [];\n state.entities = {};\n addManyMutably(entities, state);\n return DidMutate.Both;\n }\n function removeOneMutably(key, state) {\n return removeManyMutably([key], state);\n }\n function removeManyMutably(keysOrPredicate, state) {\n var keys = keysOrPredicate instanceof Array\n ? keysOrPredicate\n : state.ids.filter(function (key) { return keysOrPredicate(state.entities[key]); });\n var didMutate = keys\n .filter(function (key) { return key in state.entities; })\n .map(function (key) { return delete state.entities[key]; }).length > 0;\n if (didMutate) {\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\n }\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n function removeAll(state) {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n function takeNewKey(keys, update, state) {\n var original = state.entities[update.id];\n var updated = Object.assign({}, original, update.changes);\n var newKey = selectIdValue(updated, selectId);\n var hasNewKey = newKey !== update.id;\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n state.entities[newKey] = updated;\n return hasNewKey;\n }\n function updateOneMutably(update, state) {\n return updateManyMutably([update], state);\n }\n function updateManyMutably(updates, state) {\n var newKeys = {};\n updates = updates.filter(function (update) { return update.id in state.entities; });\n var didMutateEntities = updates.length > 0;\n if (didMutateEntities) {\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\n if (didMutateIds) {\n state.ids = state.ids.map(function (id) { return newKeys[id] || id; });\n return DidMutate.Both;\n }\n else {\n return DidMutate.EntitiesOnly;\n }\n }\n return DidMutate.None;\n }\n function mapMutably(map, state) {\n var changes = state.ids.reduce(function (changes, id) {\n var change = map(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id: id, changes: change });\n }\n return changes;\n }, []);\n var updates = changes.filter(function (_a) {\n var id = _a.id;\n return id in state.entities;\n });\n return updateManyMutably(updates, state);\n }\n function upsertOneMutably(entity, state) {\n return upsertManyMutably([entity], state);\n }\n function upsertManyMutably(entities, state) {\n var e_2, _a;\n var added = [];\n var updated = [];\n try {\n for (var entities_2 = __values(entities), entities_2_1 = entities_2.next(); !entities_2_1.done; entities_2_1 = entities_2.next()) {\n var entity = entities_2_1.value;\n var id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id: id, changes: entity });\n }\n else {\n added.push(entity);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (entities_2_1 && !entities_2_1.done && (_a = entities_2.return)) _a.call(entities_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var didMutateByUpdated = updateManyMutably(updated, state);\n var didMutateByAdded = addManyMutably(added, state);\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 return {\n removeAll: 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\n var __values$1 = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n };\n function createSortedStateAdapter(selectId, sort) {\n var _a = createUnsortedStateAdapter(selectId), removeOne = _a.removeOne, removeMany = _a.removeMany, removeAll = _a.removeAll;\n function addOneMutably(entity, state) {\n return addManyMutably([entity], state);\n }\n function addManyMutably(newModels, state) {\n var models = newModels.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\n if (models.length === 0) {\n return DidMutate.None;\n }\n else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n function addAllMutably(models, state) {\n state.entities = {};\n state.ids = [];\n addManyMutably(models, state);\n return DidMutate.Both;\n }\n function updateOneMutably(update, state) {\n return updateManyMutably([update], state);\n }\n function takeUpdatedModel(models, update, state) {\n if (!(update.id in state.entities)) {\n return false;\n }\n var original = state.entities[update.id];\n var updated = Object.assign({}, original, update.changes);\n var newKey = selectIdValue(updated, selectId);\n delete state.entities[update.id];\n models.push(updated);\n return newKey !== update.id;\n }\n function updateManyMutably(updates, state) {\n var models = [];\n var didMutateIds = updates.filter(function (update) { return takeUpdatedModel(models, update, state); }).length >\n 0;\n if (models.length === 0) {\n return DidMutate.None;\n }\n else {\n var originalIds_1 = state.ids;\n var updatedIndexes_1 = [];\n state.ids = state.ids.filter(function (id, index) {\n if (id in state.entities) {\n return true;\n }\n else {\n updatedIndexes_1.push(index);\n return false;\n }\n });\n merge(models, state);\n if (!didMutateIds &&\n updatedIndexes_1.every(function (i) { return state.ids[i] === originalIds_1[i]; })) {\n return DidMutate.EntitiesOnly;\n }\n else {\n return DidMutate.Both;\n }\n }\n }\n function mapMutably(updatesOrMap, state) {\n var updates = state.ids.reduce(function (changes, id) {\n var change = updatesOrMap(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id: id, changes: change });\n }\n return changes;\n }, []);\n return updateManyMutably(updates, state);\n }\n function upsertOneMutably(entity, state) {\n return upsertManyMutably([entity], state);\n }\n function upsertManyMutably(entities, state) {\n var e_1, _a;\n var added = [];\n var updated = [];\n try {\n for (var entities_1 = __values$1(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {\n var entity = entities_1_1.value;\n var id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id: id, changes: entity });\n }\n else {\n added.push(entity);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var didMutateByUpdated = updateManyMutably(updated, state);\n var didMutateByAdded = addManyMutably(added, state);\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 function merge(models, state) {\n models.sort(sort);\n var ids = [];\n var i = 0;\n var j = 0;\n while (i < models.length && j < state.ids.length) {\n var model = models[i];\n var modelId = selectIdValue(model, selectId);\n var entityId = state.ids[j];\n var entity = state.entities[entityId];\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n }\n else {\n ids.push(entityId);\n j++;\n }\n }\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n }\n else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n models.forEach(function (model, i) {\n state.entities[selectId(model)] = model;\n });\n }\n return {\n removeOne: removeOne,\n removeMany: removeMany,\n removeAll: 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\n var __assign$1 = (undefined && undefined.__assign) || function () {\n __assign$1 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$1.apply(this, arguments);\n };\n function createEntityAdapter(options) {\n if (options === void 0) { options = {}; }\n var _a = __assign$1({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _a.selectId, sortComparer = _a.sortComparer;\n var stateFactory = createInitialStateFactory();\n var selectorsFactory = createSelectorsFactory();\n var stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n return __assign$1({ selectId: selectId,\n sortComparer: sortComparer }, stateFactory, selectorsFactory, stateAdapter);\n }\n\n var Dictionary = /** @class */ (function () {\n function Dictionary() {\n }\n return Dictionary;\n }());\n\n /**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.createEntityAdapter = createEntityAdapter;\n exports.Dictionary = Dictionary;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=entity.umd.js.map\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"createEntityAdapter":{"__symbolic":"function"},"Dictionary":{"__symbolic":"class","arity":1,"members":{}},"EntityState":{"__symbolic":"interface"},"EntityAdapter":{"__symbolic":"interface"},"Update":{"__symbolic":"interface"}},"origins":{"createEntityAdapter":"./src/create_adapter","Dictionary":"./src/models","EntityState":"./src/models","EntityAdapter":"./src/models","Update":"./src/models"},"importAs":"@ngrx/entity"}
1
+ {"__symbolic":"module","version":4,"metadata":{"createEntityAdapter":{"__symbolic":"function"},"Dictionary":{"__symbolic":"class","arity":1,"members":{}},"EntityState":{"__symbolic":"interface"},"EntityAdapter":{"__symbolic":"interface"},"Update":{"__symbolic":"interface"},"EntityMap":{"__symbolic":"interface"},"Predicate":{"__symbolic":"interface"}},"origins":{"createEntityAdapter":"./src/create_adapter","Dictionary":"./src/models","EntityState":"./src/models","EntityAdapter":"./src/models","Update":"./src/models","EntityMap":"./src/models","Predicate":"./src/models"},"importAs":"@ngrx/entity"}
package/esm2015/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
- * @suppress {checkTypes} checked by tsc
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
4
  */
5
5
  /**
6
6
  * DO NOT EDIT
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
- * @suppress {checkTypes} checked by tsc
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
4
  */
5
5
  export { createEntityAdapter, Dictionary } from './src/index';
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
- * @suppress {checkTypes} checked by tsc
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
4
  */
5
5
  import { createInitialStateFactory } from './entity_state';
6
6
  import { createSelectorsFactory } from './state_selectors';
@@ -13,13 +13,16 @@ import { createUnsortedStateAdapter } from './unsorted_state_adapter';
13
13
  */
14
14
  export function createEntityAdapter(options = {}) {
15
15
  const { selectId, sortComparer } = Object.assign({ sortComparer: false, selectId: (instance) => instance.id }, options);
16
- const /** @type {?} */ stateFactory = createInitialStateFactory();
17
- const /** @type {?} */ selectorsFactory = createSelectorsFactory();
18
- const /** @type {?} */ stateAdapter = sortComparer
16
+ /** @type {?} */
17
+ const stateFactory = createInitialStateFactory();
18
+ /** @type {?} */
19
+ const selectorsFactory = createSelectorsFactory();
20
+ /** @type {?} */
21
+ const stateAdapter = sortComparer
19
22
  ? createSortedStateAdapter(selectId, sortComparer)
20
23
  : createUnsortedStateAdapter(selectId);
21
24
  return Object.assign({ selectId,
22
25
  sortComparer }, stateFactory, selectorsFactory, stateAdapter);
23
26
  }
24
27
 
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvY3JlYXRlX2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFFdEUsTUFBTSw4QkFDSixVQUdJLEVBQUU7SUFFTixNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxtQkFDOUIsWUFBWSxFQUFFLEtBQUssRUFDbkIsUUFBUSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUNyQyxPQUFPLENBQ1gsQ0FBQztJQUVGLHVCQUFNLFlBQVksR0FBRyx5QkFBeUIsRUFBSyxDQUFDO0lBQ3BELHVCQUFNLGdCQUFnQixHQUFHLHNCQUFzQixFQUFLLENBQUM7SUFDckQsdUJBQU0sWUFBWSxHQUFHLFlBQVk7UUFDL0IsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7UUFDbEQsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXpDLE1BQU0saUJBQ0osUUFBUTtRQUNSLFlBQVksSUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDZjtDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBFbnRpdHlEZWZpbml0aW9uLFxuICBDb21wYXJlcixcbiAgSWRTZWxlY3RvcixcbiAgRW50aXR5QWRhcHRlcixcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY3JlYXRlSW5pdGlhbFN0YXRlRmFjdG9yeSB9IGZyb20gJy4vZW50aXR5X3N0YXRlJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yc0ZhY3RvcnkgfSBmcm9tICcuL3N0YXRlX3NlbGVjdG9ycyc7XG5pbXBvcnQgeyBjcmVhdGVTb3J0ZWRTdGF0ZUFkYXB0ZXIgfSBmcm9tICcuL3NvcnRlZF9zdGF0ZV9hZGFwdGVyJztcbmltcG9ydCB7IGNyZWF0ZVVuc29ydGVkU3RhdGVBZGFwdGVyIH0gZnJvbSAnLi91bnNvcnRlZF9zdGF0ZV9hZGFwdGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVudGl0eUFkYXB0ZXI8VD4oXG4gIG9wdGlvbnM6IHtcbiAgICBzZWxlY3RJZD86IElkU2VsZWN0b3I8VD47XG4gICAgc29ydENvbXBhcmVyPzogZmFsc2UgfCBDb21wYXJlcjxUPjtcbiAgfSA9IHt9XG4pOiBFbnRpdHlBZGFwdGVyPFQ+IHtcbiAgY29uc3QgeyBzZWxlY3RJZCwgc29ydENvbXBhcmVyIH06IEVudGl0eURlZmluaXRpb248VD4gPSB7XG4gICAgc29ydENvbXBhcmVyOiBmYWxzZSxcbiAgICBzZWxlY3RJZDogKGluc3RhbmNlOiBhbnkpID0+IGluc3RhbmNlLmlkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgY29uc3Qgc3RhdGVGYWN0b3J5ID0gY3JlYXRlSW5pdGlhbFN0YXRlRmFjdG9yeTxUPigpO1xuICBjb25zdCBzZWxlY3RvcnNGYWN0b3J5ID0gY3JlYXRlU2VsZWN0b3JzRmFjdG9yeTxUPigpO1xuICBjb25zdCBzdGF0ZUFkYXB0ZXIgPSBzb3J0Q29tcGFyZXJcbiAgICA/IGNyZWF0ZVNvcnRlZFN0YXRlQWRhcHRlcihzZWxlY3RJZCwgc29ydENvbXBhcmVyKVxuICAgIDogY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIoc2VsZWN0SWQpO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0SWQsXG4gICAgc29ydENvbXBhcmVyLFxuICAgIC4uLnN0YXRlRmFjdG9yeSxcbiAgICAuLi5zZWxlY3RvcnNGYWN0b3J5LFxuICAgIC4uLnN0YXRlQWRhcHRlcixcbiAgfTtcbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvY3JlYXRlX2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFFdEUsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxVQUdJLEVBQUU7SUFFTixNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxtQkFDOUIsWUFBWSxFQUFFLEtBQUssRUFDbkIsUUFBUSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUNyQyxPQUFPLEVBQ1Y7O0lBRUYsTUFBTSxZQUFZLEdBQUcseUJBQXlCLEVBQUssQ0FBQzs7SUFDcEQsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsRUFBSyxDQUFDOztJQUNyRCxNQUFNLFlBQVksR0FBRyxZQUFZO1FBQy9CLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2xELENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6Qyx1QkFDRSxRQUFRO1FBQ1IsWUFBWSxJQUNULFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNmO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEVudGl0eURlZmluaXRpb24sXG4gIENvbXBhcmVyLFxuICBJZFNlbGVjdG9yLFxuICBFbnRpdHlBZGFwdGVyLFxufSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVJbml0aWFsU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9lbnRpdHlfc3RhdGUnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3JzRmFjdG9yeSB9IGZyb20gJy4vc3RhdGVfc2VsZWN0b3JzJztcbmltcG9ydCB7IGNyZWF0ZVNvcnRlZFN0YXRlQWRhcHRlciB9IGZyb20gJy4vc29ydGVkX3N0YXRlX2FkYXB0ZXInO1xuaW1wb3J0IHsgY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIgfSBmcm9tICcuL3Vuc29ydGVkX3N0YXRlX2FkYXB0ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW50aXR5QWRhcHRlcjxUPihcbiAgb3B0aW9uczoge1xuICAgIHNlbGVjdElkPzogSWRTZWxlY3RvcjxUPjtcbiAgICBzb3J0Q29tcGFyZXI/OiBmYWxzZSB8IENvbXBhcmVyPFQ+O1xuICB9ID0ge31cbik6IEVudGl0eUFkYXB0ZXI8VD4ge1xuICBjb25zdCB7IHNlbGVjdElkLCBzb3J0Q29tcGFyZXIgfTogRW50aXR5RGVmaW5pdGlvbjxUPiA9IHtcbiAgICBzb3J0Q29tcGFyZXI6IGZhbHNlLFxuICAgIHNlbGVjdElkOiAoaW5zdGFuY2U6IGFueSkgPT4gaW5zdGFuY2UuaWQsXG4gICAgLi4ub3B0aW9ucyxcbiAgfTtcblxuICBjb25zdCBzdGF0ZUZhY3RvcnkgPSBjcmVhdGVJbml0aWFsU3RhdGVGYWN0b3J5PFQ+KCk7XG4gIGNvbnN0IHNlbGVjdG9yc0ZhY3RvcnkgPSBjcmVhdGVTZWxlY3RvcnNGYWN0b3J5PFQ+KCk7XG4gIGNvbnN0IHN0YXRlQWRhcHRlciA9IHNvcnRDb21wYXJlclxuICAgID8gY3JlYXRlU29ydGVkU3RhdGVBZGFwdGVyKHNlbGVjdElkLCBzb3J0Q29tcGFyZXIpXG4gICAgOiBjcmVhdGVVbnNvcnRlZFN0YXRlQWRhcHRlcihzZWxlY3RJZCk7XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RJZCxcbiAgICBzb3J0Q29tcGFyZXIsXG4gICAgLi4uc3RhdGVGYWN0b3J5LFxuICAgIC4uLnNlbGVjdG9yc0ZhY3RvcnksXG4gICAgLi4uc3RhdGVBZGFwdGVyLFxuICB9O1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
- * @suppress {checkTypes} checked by tsc
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
4
  */
5
5
  /**
6
6
  * @template V
@@ -27,4 +27,4 @@ export function createInitialStateFactory() {
27
27
  return { getInitialState };
28
28
  }
29
29
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5X3N0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL2VudGl0eV9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLE1BQU07SUFDSixNQUFNLENBQUM7UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztDQUNIOzs7OztBQUVELE1BQU07Ozs7O0lBS0oseUJBQXlCLGtCQUF1QixFQUFFO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDaEU7SUFFRCxNQUFNLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQztDQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVN0YXRlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbEVudGl0eVN0YXRlPFY+KCk6IEVudGl0eVN0YXRlPFY+IHtcbiAgcmV0dXJuIHtcbiAgICBpZHM6IFtdLFxuICAgIGVudGl0aWVzOiB7fSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxTdGF0ZUZhY3Rvcnk8Vj4oKSB7XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZSgpOiBFbnRpdHlTdGF0ZTxWPjtcbiAgZnVuY3Rpb24gZ2V0SW5pdGlhbFN0YXRlPFMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGFkZGl0aW9uYWxTdGF0ZTogU1xuICApOiBFbnRpdHlTdGF0ZTxWPiAmIFM7XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZShhZGRpdGlvbmFsU3RhdGU6IGFueSA9IHt9KTogYW55IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihnZXRJbml0aWFsRW50aXR5U3RhdGUoKSwgYWRkaXRpb25hbFN0YXRlKTtcbiAgfVxuXG4gIHJldHVybiB7IGdldEluaXRpYWxTdGF0ZSB9O1xufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5X3N0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL2VudGl0eV9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLE1BQU0sVUFBVSxxQkFBcUI7SUFDbkMsT0FBTztRQUNMLEdBQUcsRUFBRSxFQUFFO1FBQ1AsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDO0NBQ0g7Ozs7O0FBRUQsTUFBTSxVQUFVLHlCQUF5Qjs7Ozs7SUFLdkMsU0FBUyxlQUFlLENBQUMsa0JBQXVCLEVBQUU7UUFDaEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDaEU7SUFFRCxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7Q0FDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTdGF0ZSB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxFbnRpdHlTdGF0ZTxWPigpOiBFbnRpdHlTdGF0ZTxWPiB7XG4gIHJldHVybiB7XG4gICAgaWRzOiBbXSxcbiAgICBlbnRpdGllczoge30sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbml0aWFsU3RhdGVGYWN0b3J5PFY+KCkge1xuICBmdW5jdGlvbiBnZXRJbml0aWFsU3RhdGUoKTogRW50aXR5U3RhdGU8Vj47XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZTxTIGV4dGVuZHMgb2JqZWN0PihcbiAgICBhZGRpdGlvbmFsU3RhdGU6IFNcbiAgKTogRW50aXR5U3RhdGU8Vj4gJiBTO1xuICBmdW5jdGlvbiBnZXRJbml0aWFsU3RhdGUoYWRkaXRpb25hbFN0YXRlOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oZ2V0SW5pdGlhbEVudGl0eVN0YXRlKCksIGFkZGl0aW9uYWxTdGF0ZSk7XG4gIH1cblxuICByZXR1cm4geyBnZXRJbml0aWFsU3RhdGUgfTtcbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
- * @suppress {checkTypes} checked by tsc
3
+ * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
4
  */
5
5
  export { createEntityAdapter } from './create_adapter';
6
- export { Dictionary } from './models';
6
+ export { Dictionary, } from './models';
7
7
 
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQXNDLE1BQU0sVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gJy4vY3JlYXRlX2FkYXB0ZXInO1xuZXhwb3J0IHsgRGljdGlvbmFyeSwgRW50aXR5U3RhdGUsIEVudGl0eUFkYXB0ZXIsIFVwZGF0ZSB9IGZyb20gJy4vbW9kZWxzJztcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCxVQUFVLEdBTVgsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjcmVhdGVFbnRpdHlBZGFwdGVyIH0gZnJvbSAnLi9jcmVhdGVfYWRhcHRlcic7XG5leHBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBFbnRpdHlTdGF0ZSxcbiAgRW50aXR5QWRhcHRlcixcbiAgVXBkYXRlLFxuICBFbnRpdHlNYXAsXG4gIFByZWRpY2F0ZSxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuIl19