@angular/core 2.2.0-rc.0 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/core-testing.umd.js +44 -11
- package/bundles/core.umd.js +560 -513
- package/bundles/core.umd.min.js +8 -8
- package/package.json +1 -1
- package/src/animation/animation_group_player.d.ts +3 -1
- package/src/animation/animation_group_player.js +18 -7
- package/src/animation/animation_group_player.js.map +1 -1
- package/src/animation/animation_player.d.ts +1 -1
- package/src/animation/animation_player.js +1 -1
- package/src/animation/animation_player.js.map +1 -1
- package/src/animation/animation_queue.js +8 -0
- package/src/animation/animation_queue.js.map +1 -1
- package/src/animation/animation_sequence_player.d.ts +3 -1
- package/src/animation/animation_sequence_player.js +20 -8
- package/src/animation/animation_sequence_player.js.map +1 -1
- package/src/animation/animation_style_util.js +1 -0
- package/src/animation/animation_style_util.js.map +1 -1
- package/src/animation/animation_style_util.metadata.json +1 -1
- package/src/animation/metadata.js.map +1 -1
- package/src/animation/view_animation_map.js.map +1 -1
- package/src/change_detection/constants.d.ts +1 -1
- package/src/change_detection/constants.js +1 -1
- package/src/change_detection/constants.js.map +1 -1
- package/src/change_detection/differs/default_iterable_differ.js +2 -2
- package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
- package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
- package/src/change_detection/differs/iterable_differs.js.map +1 -1
- package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
- package/src/core_private_export.d.ts +8 -3
- package/src/core_private_export.js +6 -2
- package/src/core_private_export.js.map +1 -1
- package/src/core_private_export.metadata.json +1 -1
- package/src/debug/debug_node.js +12 -24
- package/src/debug/debug_node.js.map +1 -1
- package/src/debug/debug_node.metadata.json +1 -1
- package/src/debug/debug_renderer.d.ts +2 -2
- package/src/debug/debug_renderer.js +7 -5
- package/src/debug/debug_renderer.js.map +1 -1
- package/src/di/reflective_errors.js.map +1 -1
- package/src/di/reflective_injector.js.map +1 -1
- package/src/di/reflective_key.js.map +1 -1
- package/src/di/reflective_provider.js +13 -14
- package/src/di/reflective_provider.js.map +1 -1
- package/src/facade/collection.d.ts +2 -10
- package/src/facade/collection.js +8 -73
- package/src/facade/collection.js.map +1 -1
- package/src/facade/lang.d.ts +0 -1
- package/src/facade/lang.js +5 -24
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/linker/animation_view_context.d.ts +1 -1
- package/src/linker/animation_view_context.js +16 -5
- package/src/linker/animation_view_context.js.map +1 -1
- package/src/linker/component_factory.d.ts +8 -6
- package/src/linker/component_factory.js +17 -23
- package/src/linker/component_factory.js.map +1 -1
- package/src/linker/component_factory_resolver.js.map +1 -1
- package/src/linker/debug_context.js +6 -9
- package/src/linker/debug_context.js.map +1 -1
- package/src/linker/element_injector.js +1 -8
- package/src/linker/element_injector.js.map +1 -1
- package/src/linker/ng_module_factory.js.map +1 -1
- package/src/linker/ng_module_factory_loader.js.map +1 -1
- package/src/linker/system_js_ng_module_factory_loader.js +2 -1
- package/src/linker/system_js_ng_module_factory_loader.js.map +1 -1
- package/src/linker/template_ref.d.ts +5 -4
- package/src/linker/template_ref.js +8 -6
- package/src/linker/template_ref.js.map +1 -1
- package/src/linker/view.d.ts +29 -17
- package/src/linker/view.js +143 -51
- package/src/linker/view.js.map +1 -1
- package/src/linker/{element.d.ts → view_container.d.ts} +4 -7
- package/src/linker/{element.js → view_container.js} +45 -50
- package/src/linker/view_container.js.map +1 -0
- package/src/linker/view_container_ref.d.ts +2 -2
- package/src/linker/view_container_ref.js.map +1 -1
- package/src/linker/view_utils.d.ts +6 -10
- package/src/linker/view_utils.js +17 -14
- package/src/linker/view_utils.js.map +1 -1
- package/src/linker/view_utils.metadata.json +1 -1
- package/src/profile/wtf_impl.js.map +1 -1
- package/src/reflection/reflection_capabilities.js +5 -2
- package/src/reflection/reflection_capabilities.js.map +1 -1
- package/src/render/api.d.ts +8 -1
- package/src/render/api.js.map +1 -1
- package/src/testability/testability.js +2 -3
- package/src/testability/testability.js.map +1 -1
- package/src/util/decorators.js.map +1 -1
- package/testing/async.js.map +1 -1
- package/testing/facade/lang.d.ts +0 -1
- package/testing/facade/lang.js +5 -24
- package/testing/facade/lang.js.map +1 -1
- package/testing/facade/lang.metadata.json +1 -1
- package/testing/fake_async.js.map +1 -1
- package/testing/mock_animation_player.d.ts +16 -1
- package/testing/mock_animation_player.js +43 -14
- package/testing/mock_animation_player.js.map +1 -1
- package/testing/test_bed.js.map +1 -1
- package/testing/testing.js.map +1 -1
- package/src/linker/element.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default_iterable_differ.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/default_iterable_differ.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {isListLikeIterable, iterateListLike} from '../../facade/collection';\nimport {isBlank, looseIdentical, stringify} from '../../facade/lang';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\nimport {IterableDiffer, IterableDifferFactory, TrackByFn} from './iterable_differs';\n\n\nexport class DefaultIterableDifferFactory implements IterableDifferFactory {\n constructor() {}\n supports(obj: Object): boolean { return isListLikeIterable(obj); }\n create(cdRef: ChangeDetectorRef, trackByFn?: TrackByFn): DefaultIterableDiffer {\n return new DefaultIterableDiffer(trackByFn);\n }\n}\n\nvar trackByIdentity = (index: number, item: any) => item;\n\n/**\n * @stable\n */\nexport class DefaultIterableDiffer implements IterableDiffer {\n private _length: number = null;\n private _collection: any /** TODO #9100 */ = null;\n // Keeps track of the used records at any point in time (during & across `_check()` calls)\n private _linkedRecords: _DuplicateMap = null;\n // Keeps track of the removed records at any point in time during `_check()` calls.\n private _unlinkedRecords: _DuplicateMap = null;\n private _previousItHead: CollectionChangeRecord = null;\n private _itHead: CollectionChangeRecord = null;\n private _itTail: CollectionChangeRecord = null;\n private _additionsHead: CollectionChangeRecord = null;\n private _additionsTail: CollectionChangeRecord = null;\n private _movesHead: CollectionChangeRecord = null;\n private _movesTail: CollectionChangeRecord = null;\n private _removalsHead: CollectionChangeRecord = null;\n private _removalsTail: CollectionChangeRecord = null;\n // Keeps track of records where custom track by is the same, but item identity has changed\n private _identityChangesHead: CollectionChangeRecord = null;\n private _identityChangesTail: CollectionChangeRecord = null;\n\n constructor(private _trackByFn?: TrackByFn) {\n this._trackByFn = this._trackByFn || trackByIdentity;\n }\n\n get collection() { return this._collection; }\n\n get length(): number { return this._length; }\n\n forEachItem(fn: Function) {\n var record: CollectionChangeRecord;\n for (record = this._itHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachOperation(\n fn: (item: CollectionChangeRecord, previousIndex: number, currentIndex: number) => void) {\n var nextIt = this._itHead;\n var nextRemove = this._removalsHead;\n var addRemoveOffset = 0;\n var moveOffsets: number[] = null;\n while (nextIt || nextRemove) {\n // Figure out which is the next record to process\n // Order: remove, add, move\n let record = !nextRemove ||\n nextIt &&\n nextIt.currentIndex < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ?\n nextIt :\n nextRemove;\n var adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);\n var currentIndex = record.currentIndex;\n\n // consume the item, and adjust the addRemoveOffset and update moveDistance if necessary\n if (record === nextRemove) {\n addRemoveOffset--;\n nextRemove = nextRemove._nextRemoved;\n } else {\n nextIt = nextIt._next;\n if (record.previousIndex == null) {\n addRemoveOffset++;\n } else {\n // INVARIANT: currentIndex < previousIndex\n if (!moveOffsets) moveOffsets = [];\n let localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;\n let localCurrentIndex = currentIndex - addRemoveOffset;\n if (localMovePreviousIndex != localCurrentIndex) {\n for (var i = 0; i < localMovePreviousIndex; i++) {\n var offset = i < moveOffsets.length ? moveOffsets[i] : (moveOffsets[i] = 0);\n var index = offset + i;\n if (localCurrentIndex <= index && index < localMovePreviousIndex) {\n moveOffsets[i] = offset + 1;\n }\n }\n var previousIndex = record.previousIndex;\n moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;\n }\n }\n }\n\n if (adjPreviousIndex !== currentIndex) {\n fn(record, adjPreviousIndex, currentIndex);\n }\n }\n }\n\n forEachPreviousItem(fn: Function) {\n var record: CollectionChangeRecord;\n for (record = this._previousItHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn: Function) {\n var record: CollectionChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachMovedItem(fn: Function) {\n var record: CollectionChangeRecord;\n for (record = this._movesHead; record !== null; record = record._nextMoved) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn: Function) {\n var record: CollectionChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n forEachIdentityChange(fn: Function) {\n var record: CollectionChangeRecord;\n for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {\n fn(record);\n }\n }\n\n diff(collection: any): DefaultIterableDiffer {\n if (isBlank(collection)) collection = [];\n if (!isListLikeIterable(collection)) {\n throw new Error(`Error trying to diff '${collection}'`);\n }\n\n if (this.check(collection)) {\n return this;\n } else {\n return null;\n }\n }\n\n onDestroy() {}\n\n // todo(vicb): optim for UnmodifiableListView (frozen arrays)\n check(collection: any): boolean {\n this._reset();\n\n var record: CollectionChangeRecord = this._itHead;\n var mayBeDirty: boolean = false;\n var index: number;\n var item: any;\n var itemTrackBy: any;\n if (Array.isArray(collection)) {\n const list = collection;\n this._length = collection.length;\n\n for (let index = 0; index < this._length; index++) {\n item = list[index];\n itemTrackBy = this._trackByFn(index, item);\n if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n record = this._mismatch(record, item, itemTrackBy, index);\n mayBeDirty = true;\n } else {\n if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, itemTrackBy, index);\n }\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n }\n\n record = record._next;\n }\n } else {\n index = 0;\n iterateListLike(collection, (item: any /** TODO #9100 */) => {\n itemTrackBy = this._trackByFn(index, item);\n if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n record = this._mismatch(record, item, itemTrackBy, index);\n mayBeDirty = true;\n } else {\n if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, itemTrackBy, index);\n }\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n }\n record = record._next;\n index++;\n });\n this._length = index;\n }\n\n this._truncate(record);\n this._collection = collection;\n return this.isDirty;\n }\n\n /* CollectionChanges is considered dirty if it has any additions, moves, removals, or identity\n * changes.\n */\n get isDirty(): boolean {\n return this._additionsHead !== null || this._movesHead !== null ||\n this._removalsHead !== null || this._identityChangesHead !== null;\n }\n\n /**\n * Reset the state of the change objects to show no changes. This means set previousKey to\n * currentKey, and clear all of the queues (additions, moves, removals).\n * Set the previousIndexes of moved and added items to their currentIndexes\n * Reset the list of additions, moves and removals\n *\n * @internal\n */\n _reset() {\n if (this.isDirty) {\n var record: CollectionChangeRecord;\n var nextRecord: CollectionChangeRecord;\n\n for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n record.previousIndex = record.currentIndex;\n }\n this._additionsHead = this._additionsTail = null;\n\n for (record = this._movesHead; record !== null; record = nextRecord) {\n record.previousIndex = record.currentIndex;\n nextRecord = record._nextMoved;\n }\n this._movesHead = this._movesTail = null;\n this._removalsHead = this._removalsTail = null;\n this._identityChangesHead = this._identityChangesTail = null;\n\n // todo(vicb) when assert gets supported\n // assert(!this.isDirty);\n }\n }\n\n /**\n * This is the core function which handles differences between collections.\n *\n * - `record` is the record which we saw at this position last time. If null then it is a new\n * item.\n * - `item` is the current item in the collection\n * - `index` is the position of the item in the collection\n *\n * @internal\n */\n _mismatch(record: CollectionChangeRecord, item: any, itemTrackBy: any, index: number):\n CollectionChangeRecord {\n // The previous record after which we will append the current one.\n var previousRecord: CollectionChangeRecord;\n\n if (record === null) {\n previousRecord = this._itTail;\n } else {\n previousRecord = record._prev;\n // Remove the record from the collection since we know it does not match the item.\n this._remove(record);\n }\n\n // Attempt to see if we have seen the item before.\n record = this._linkedRecords === null ? null : this._linkedRecords.get(itemTrackBy, index);\n if (record !== null) {\n // We have seen this before, we need to move it forward in the collection.\n // But first we need to check if identity changed, so we can update in view if necessary\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n\n this._moveAfter(record, previousRecord, index);\n } else {\n // Never seen it, check evicted list.\n record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);\n if (record !== null) {\n // It is an item which we have evicted earlier: reinsert it back into the list.\n // But first we need to check if identity changed, so we can update in view if necessary\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n\n this._reinsertAfter(record, previousRecord, index);\n } else {\n // It is a new item: add it.\n record =\n this._addAfter(new CollectionChangeRecord(item, itemTrackBy), previousRecord, index);\n }\n }\n return record;\n }\n\n /**\n * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n *\n * Use case: `[a, a]` => `[b, a, a]`\n *\n * If we did not have this check then the insertion of `b` would:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) leave `a` at index `1` as is. <-- this is wrong!\n * 3) reinsert `a` at index 2. <-- this is wrong!\n *\n * The correct behavior is:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) reinsert `a` at index 1.\n * 3) move `a` at from `1` to `2`.\n *\n *\n * Double check that we have not evicted a duplicate item. We need to check if the item type may\n * have already been removed:\n * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n * at the end.\n *\n * @internal\n */\n _verifyReinsertion(record: CollectionChangeRecord, item: any, itemTrackBy: any, index: number):\n CollectionChangeRecord {\n var reinsertRecord: CollectionChangeRecord =\n this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);\n if (reinsertRecord !== null) {\n record = this._reinsertAfter(reinsertRecord, record._prev, index);\n } else if (record.currentIndex != index) {\n record.currentIndex = index;\n this._addToMoves(record, index);\n }\n return record;\n }\n\n /**\n * Get rid of any excess {@link CollectionChangeRecord}s from the previous collection\n *\n * - `record` The first excess {@link CollectionChangeRecord}.\n *\n * @internal\n */\n _truncate(record: CollectionChangeRecord) {\n // Anything after that needs to be removed;\n while (record !== null) {\n var nextRecord: CollectionChangeRecord = record._next;\n this._addToRemovals(this._unlink(record));\n record = nextRecord;\n }\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.clear();\n }\n\n if (this._additionsTail !== null) {\n this._additionsTail._nextAdded = null;\n }\n if (this._movesTail !== null) {\n this._movesTail._nextMoved = null;\n }\n if (this._itTail !== null) {\n this._itTail._next = null;\n }\n if (this._removalsTail !== null) {\n this._removalsTail._nextRemoved = null;\n }\n if (this._identityChangesTail !== null) {\n this._identityChangesTail._nextIdentityChange = null;\n }\n }\n\n /** @internal */\n _reinsertAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.remove(record);\n }\n var prev = record._prevRemoved;\n var next = record._nextRemoved;\n\n if (prev === null) {\n this._removalsHead = next;\n } else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n } else {\n next._prevRemoved = prev;\n }\n\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n }\n\n /** @internal */\n _moveAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n this._unlink(record);\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n }\n\n /** @internal */\n _addAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n this._insertAfter(record, prevRecord, index);\n\n if (this._additionsTail === null) {\n // todo(vicb)\n // assert(this._additionsHead === null);\n this._additionsTail = this._additionsHead = record;\n } else {\n // todo(vicb)\n // assert(_additionsTail._nextAdded === null);\n // assert(record._nextAdded === null);\n this._additionsTail = this._additionsTail._nextAdded = record;\n }\n return record;\n }\n\n /** @internal */\n _insertAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n // todo(vicb)\n // assert(record != prevRecord);\n // assert(record._next === null);\n // assert(record._prev === null);\n\n var next: CollectionChangeRecord = prevRecord === null ? this._itHead : prevRecord._next;\n // todo(vicb)\n // assert(next != record);\n // assert(prevRecord != record);\n record._next = next;\n record._prev = prevRecord;\n if (next === null) {\n this._itTail = record;\n } else {\n next._prev = record;\n }\n if (prevRecord === null) {\n this._itHead = record;\n } else {\n prevRecord._next = record;\n }\n\n if (this._linkedRecords === null) {\n this._linkedRecords = new _DuplicateMap();\n }\n this._linkedRecords.put(record);\n\n record.currentIndex = index;\n return record;\n }\n\n /** @internal */\n _remove(record: CollectionChangeRecord): CollectionChangeRecord {\n return this._addToRemovals(this._unlink(record));\n }\n\n /** @internal */\n _unlink(record: CollectionChangeRecord): CollectionChangeRecord {\n if (this._linkedRecords !== null) {\n this._linkedRecords.remove(record);\n }\n\n var prev = record._prev;\n var next = record._next;\n\n // todo(vicb)\n // assert((record._prev = null) === null);\n // assert((record._next = null) === null);\n\n if (prev === null) {\n this._itHead = next;\n } else {\n prev._next = next;\n }\n if (next === null) {\n this._itTail = prev;\n } else {\n next._prev = prev;\n }\n\n return record;\n }\n\n /** @internal */\n _addToMoves(record: CollectionChangeRecord, toIndex: number): CollectionChangeRecord {\n // todo(vicb)\n // assert(record._nextMoved === null);\n\n if (record.previousIndex === toIndex) {\n return record;\n }\n\n if (this._movesTail === null) {\n // todo(vicb)\n // assert(_movesHead === null);\n this._movesTail = this._movesHead = record;\n } else {\n // todo(vicb)\n // assert(_movesTail._nextMoved === null);\n this._movesTail = this._movesTail._nextMoved = record;\n }\n\n return record;\n }\n\n /** @internal */\n _addToRemovals(record: CollectionChangeRecord): CollectionChangeRecord {\n if (this._unlinkedRecords === null) {\n this._unlinkedRecords = new _DuplicateMap();\n }\n this._unlinkedRecords.put(record);\n record.currentIndex = null;\n record._nextRemoved = null;\n\n if (this._removalsTail === null) {\n // todo(vicb)\n // assert(_removalsHead === null);\n this._removalsTail = this._removalsHead = record;\n record._prevRemoved = null;\n } else {\n // todo(vicb)\n // assert(_removalsTail._nextRemoved === null);\n // assert(record._nextRemoved === null);\n record._prevRemoved = this._removalsTail;\n this._removalsTail = this._removalsTail._nextRemoved = record;\n }\n return record;\n }\n\n /** @internal */\n _addIdentityChange(record: CollectionChangeRecord, item: any) {\n record.item = item;\n if (this._identityChangesTail === null) {\n this._identityChangesTail = this._identityChangesHead = record;\n } else {\n this._identityChangesTail = this._identityChangesTail._nextIdentityChange = record;\n }\n return record;\n }\n\n\n toString(): string {\n var list: any[] /** TODO #9100 */ = [];\n this.forEachItem((record: any /** TODO #9100 */) => list.push(record));\n\n var previous: any[] /** TODO #9100 */ = [];\n this.forEachPreviousItem((record: any /** TODO #9100 */) => previous.push(record));\n\n var additions: any[] /** TODO #9100 */ = [];\n this.forEachAddedItem((record: any /** TODO #9100 */) => additions.push(record));\n\n var moves: any[] /** TODO #9100 */ = [];\n this.forEachMovedItem((record: any /** TODO #9100 */) => moves.push(record));\n\n var removals: any[] /** TODO #9100 */ = [];\n this.forEachRemovedItem((record: any /** TODO #9100 */) => removals.push(record));\n\n var identityChanges: any[] /** TODO #9100 */ = [];\n this.forEachIdentityChange((record: any /** TODO #9100 */) => identityChanges.push(record));\n\n return 'collection: ' + list.join(', ') + '\\n' +\n 'previous: ' + previous.join(', ') + '\\n' +\n 'additions: ' + additions.join(', ') + '\\n' +\n 'moves: ' + moves.join(', ') + '\\n' +\n 'removals: ' + removals.join(', ') + '\\n' +\n 'identityChanges: ' + identityChanges.join(', ') + '\\n';\n }\n}\n\n/**\n * @stable\n */\nexport class CollectionChangeRecord {\n currentIndex: number = null;\n previousIndex: number = null;\n\n /** @internal */\n _nextPrevious: CollectionChangeRecord = null;\n /** @internal */\n _prev: CollectionChangeRecord = null;\n /** @internal */\n _next: CollectionChangeRecord = null;\n /** @internal */\n _prevDup: CollectionChangeRecord = null;\n /** @internal */\n _nextDup: CollectionChangeRecord = null;\n /** @internal */\n _prevRemoved: CollectionChangeRecord = null;\n /** @internal */\n _nextRemoved: CollectionChangeRecord = null;\n /** @internal */\n _nextAdded: CollectionChangeRecord = null;\n /** @internal */\n _nextMoved: CollectionChangeRecord = null;\n /** @internal */\n _nextIdentityChange: CollectionChangeRecord = null;\n\n\n constructor(public item: any, public trackById: any) {}\n\n toString(): string {\n return this.previousIndex === this.currentIndex ? stringify(this.item) :\n stringify(this.item) + '[' +\n stringify(this.previousIndex) + '->' + stringify(this.currentIndex) + ']';\n }\n}\n\n// A linked list of CollectionChangeRecords with the same CollectionChangeRecord.item\nclass _DuplicateItemRecordList {\n /** @internal */\n _head: CollectionChangeRecord = null;\n /** @internal */\n _tail: CollectionChangeRecord = null;\n\n /**\n * Append the record to the list of duplicates.\n *\n * Note: by design all records in the list of duplicates hold the same value in record.item.\n */\n add(record: CollectionChangeRecord): void {\n if (this._head === null) {\n this._head = this._tail = record;\n record._nextDup = null;\n record._prevDup = null;\n } else {\n // todo(vicb)\n // assert(record.item == _head.item ||\n // record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);\n this._tail._nextDup = record;\n record._prevDup = this._tail;\n record._nextDup = null;\n this._tail = record;\n }\n }\n\n // Returns a CollectionChangeRecord having CollectionChangeRecord.trackById == trackById and\n // CollectionChangeRecord.currentIndex >= afterIndex\n get(trackById: any, afterIndex: number): CollectionChangeRecord {\n var record: CollectionChangeRecord;\n for (record = this._head; record !== null; record = record._nextDup) {\n if ((afterIndex === null || afterIndex < record.currentIndex) &&\n looseIdentical(record.trackById, trackById)) {\n return record;\n }\n }\n return null;\n }\n\n /**\n * Remove one {@link CollectionChangeRecord} from the list of duplicates.\n *\n * Returns whether the list of duplicates is empty.\n */\n remove(record: CollectionChangeRecord): boolean {\n // todo(vicb)\n // assert(() {\n // // verify that the record being removed is in the list.\n // for (CollectionChangeRecord cursor = _head; cursor != null; cursor = cursor._nextDup) {\n // if (identical(cursor, record)) return true;\n // }\n // return false;\n //});\n\n var prev: CollectionChangeRecord = record._prevDup;\n var next: CollectionChangeRecord = record._nextDup;\n if (prev === null) {\n this._head = next;\n } else {\n prev._nextDup = next;\n }\n if (next === null) {\n this._tail = prev;\n } else {\n next._prevDup = prev;\n }\n return this._head === null;\n }\n}\n\nclass _DuplicateMap {\n map = new Map<any, _DuplicateItemRecordList>();\n\n put(record: CollectionChangeRecord) {\n const key = record.trackById;\n\n let duplicates = this.map.get(key);\n if (!duplicates) {\n duplicates = new _DuplicateItemRecordList();\n this.map.set(key, duplicates);\n }\n duplicates.add(record);\n }\n\n /**\n * Retrieve the `value` using key. Because the CollectionChangeRecord value may be one which we\n * have already iterated over, we use the afterIndex to pretend it is not there.\n *\n * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n * have any more `a`s needs to return the last `a` not the first or second.\n */\n get(trackById: any, afterIndex: number = null): CollectionChangeRecord {\n const key = trackById;\n const recordList = this.map.get(key);\n return recordList ? recordList.get(trackById, afterIndex) : null;\n }\n\n /**\n * Removes a {@link CollectionChangeRecord} from the list of duplicates.\n *\n * The list of duplicates also is removed from the map if it gets empty.\n */\n remove(record: CollectionChangeRecord): CollectionChangeRecord {\n const key = record.trackById;\n const recordList: _DuplicateItemRecordList = this.map.get(key);\n // Remove the list of duplicates when it gets empty\n if (recordList.remove(record)) {\n this.map.delete(key);\n }\n return record;\n }\n\n get isEmpty(): boolean { return this.map.size === 0; }\n\n clear() { this.map.clear(); }\n\n toString(): string { return '_DuplicateMap(' + stringify(this.map) + ')'; }\n}\n\nfunction getPreviousIndex(item: any, addRemoveOffset: number, moveOffsets: number[]): number {\n var previousIndex = item.previousIndex;\n if (previousIndex === null) return previousIndex;\n var moveOffset = 0;\n if (moveOffsets && previousIndex < moveOffsets.length) {\n moveOffset = moveOffsets[previousIndex];\n }\n return previousIndex + addRemoveOffset + moveOffset;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"default_iterable_differ.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/default_iterable_differ.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {isListLikeIterable, iterateListLike} from '../../facade/collection';\nimport {isBlank, looseIdentical, stringify} from '../../facade/lang';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\nimport {IterableDiffer, IterableDifferFactory, TrackByFn} from './iterable_differs';\n\n\nexport class DefaultIterableDifferFactory implements IterableDifferFactory {\n constructor() {}\n supports(obj: Object): boolean { return isListLikeIterable(obj); }\n create(cdRef: ChangeDetectorRef, trackByFn?: TrackByFn): DefaultIterableDiffer {\n return new DefaultIterableDiffer(trackByFn);\n }\n}\n\nconst trackByIdentity = (index: number, item: any) => item;\n\n/**\n * @stable\n */\nexport class DefaultIterableDiffer implements IterableDiffer {\n private _length: number = null;\n private _collection: any /** TODO #9100 */ = null;\n // Keeps track of the used records at any point in time (during & across `_check()` calls)\n private _linkedRecords: _DuplicateMap = null;\n // Keeps track of the removed records at any point in time during `_check()` calls.\n private _unlinkedRecords: _DuplicateMap = null;\n private _previousItHead: CollectionChangeRecord = null;\n private _itHead: CollectionChangeRecord = null;\n private _itTail: CollectionChangeRecord = null;\n private _additionsHead: CollectionChangeRecord = null;\n private _additionsTail: CollectionChangeRecord = null;\n private _movesHead: CollectionChangeRecord = null;\n private _movesTail: CollectionChangeRecord = null;\n private _removalsHead: CollectionChangeRecord = null;\n private _removalsTail: CollectionChangeRecord = null;\n // Keeps track of records where custom track by is the same, but item identity has changed\n private _identityChangesHead: CollectionChangeRecord = null;\n private _identityChangesTail: CollectionChangeRecord = null;\n\n constructor(private _trackByFn?: TrackByFn) {\n this._trackByFn = this._trackByFn || trackByIdentity;\n }\n\n get collection() { return this._collection; }\n\n get length(): number { return this._length; }\n\n forEachItem(fn: Function) {\n let record: CollectionChangeRecord;\n for (record = this._itHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachOperation(\n fn: (item: CollectionChangeRecord, previousIndex: number, currentIndex: number) => void) {\n let nextIt = this._itHead;\n let nextRemove = this._removalsHead;\n let addRemoveOffset = 0;\n let moveOffsets: number[] = null;\n while (nextIt || nextRemove) {\n // Figure out which is the next record to process\n // Order: remove, add, move\n const record = !nextRemove ||\n nextIt &&\n nextIt.currentIndex < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ?\n nextIt :\n nextRemove;\n const adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);\n const currentIndex = record.currentIndex;\n\n // consume the item, and adjust the addRemoveOffset and update moveDistance if necessary\n if (record === nextRemove) {\n addRemoveOffset--;\n nextRemove = nextRemove._nextRemoved;\n } else {\n nextIt = nextIt._next;\n if (record.previousIndex == null) {\n addRemoveOffset++;\n } else {\n // INVARIANT: currentIndex < previousIndex\n if (!moveOffsets) moveOffsets = [];\n const localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;\n const localCurrentIndex = currentIndex - addRemoveOffset;\n if (localMovePreviousIndex != localCurrentIndex) {\n for (let i = 0; i < localMovePreviousIndex; i++) {\n const offset = i < moveOffsets.length ? moveOffsets[i] : (moveOffsets[i] = 0);\n const index = offset + i;\n if (localCurrentIndex <= index && index < localMovePreviousIndex) {\n moveOffsets[i] = offset + 1;\n }\n }\n const previousIndex = record.previousIndex;\n moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;\n }\n }\n }\n\n if (adjPreviousIndex !== currentIndex) {\n fn(record, adjPreviousIndex, currentIndex);\n }\n }\n }\n\n forEachPreviousItem(fn: Function) {\n let record: CollectionChangeRecord;\n for (record = this._previousItHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn: Function) {\n let record: CollectionChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachMovedItem(fn: Function) {\n let record: CollectionChangeRecord;\n for (record = this._movesHead; record !== null; record = record._nextMoved) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn: Function) {\n let record: CollectionChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n forEachIdentityChange(fn: Function) {\n let record: CollectionChangeRecord;\n for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {\n fn(record);\n }\n }\n\n diff(collection: any): DefaultIterableDiffer {\n if (isBlank(collection)) collection = [];\n if (!isListLikeIterable(collection)) {\n throw new Error(`Error trying to diff '${collection}'`);\n }\n\n if (this.check(collection)) {\n return this;\n } else {\n return null;\n }\n }\n\n onDestroy() {}\n\n // todo(vicb): optim for UnmodifiableListView (frozen arrays)\n check(collection: any): boolean {\n this._reset();\n\n let record: CollectionChangeRecord = this._itHead;\n let mayBeDirty: boolean = false;\n let index: number;\n let item: any;\n let itemTrackBy: any;\n if (Array.isArray(collection)) {\n const list = collection;\n this._length = collection.length;\n\n for (let index = 0; index < this._length; index++) {\n item = list[index];\n itemTrackBy = this._trackByFn(index, item);\n if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n record = this._mismatch(record, item, itemTrackBy, index);\n mayBeDirty = true;\n } else {\n if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, itemTrackBy, index);\n }\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n }\n\n record = record._next;\n }\n } else {\n index = 0;\n iterateListLike(collection, (item: any /** TODO #9100 */) => {\n itemTrackBy = this._trackByFn(index, item);\n if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n record = this._mismatch(record, item, itemTrackBy, index);\n mayBeDirty = true;\n } else {\n if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, itemTrackBy, index);\n }\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n }\n record = record._next;\n index++;\n });\n this._length = index;\n }\n\n this._truncate(record);\n this._collection = collection;\n return this.isDirty;\n }\n\n /* CollectionChanges is considered dirty if it has any additions, moves, removals, or identity\n * changes.\n */\n get isDirty(): boolean {\n return this._additionsHead !== null || this._movesHead !== null ||\n this._removalsHead !== null || this._identityChangesHead !== null;\n }\n\n /**\n * Reset the state of the change objects to show no changes. This means set previousKey to\n * currentKey, and clear all of the queues (additions, moves, removals).\n * Set the previousIndexes of moved and added items to their currentIndexes\n * Reset the list of additions, moves and removals\n *\n * @internal\n */\n _reset() {\n if (this.isDirty) {\n let record: CollectionChangeRecord;\n let nextRecord: CollectionChangeRecord;\n\n for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n record.previousIndex = record.currentIndex;\n }\n this._additionsHead = this._additionsTail = null;\n\n for (record = this._movesHead; record !== null; record = nextRecord) {\n record.previousIndex = record.currentIndex;\n nextRecord = record._nextMoved;\n }\n this._movesHead = this._movesTail = null;\n this._removalsHead = this._removalsTail = null;\n this._identityChangesHead = this._identityChangesTail = null;\n\n // todo(vicb) when assert gets supported\n // assert(!this.isDirty);\n }\n }\n\n /**\n * This is the core function which handles differences between collections.\n *\n * - `record` is the record which we saw at this position last time. If null then it is a new\n * item.\n * - `item` is the current item in the collection\n * - `index` is the position of the item in the collection\n *\n * @internal\n */\n _mismatch(record: CollectionChangeRecord, item: any, itemTrackBy: any, index: number):\n CollectionChangeRecord {\n // The previous record after which we will append the current one.\n let previousRecord: CollectionChangeRecord;\n\n if (record === null) {\n previousRecord = this._itTail;\n } else {\n previousRecord = record._prev;\n // Remove the record from the collection since we know it does not match the item.\n this._remove(record);\n }\n\n // Attempt to see if we have seen the item before.\n record = this._linkedRecords === null ? null : this._linkedRecords.get(itemTrackBy, index);\n if (record !== null) {\n // We have seen this before, we need to move it forward in the collection.\n // But first we need to check if identity changed, so we can update in view if necessary\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n\n this._moveAfter(record, previousRecord, index);\n } else {\n // Never seen it, check evicted list.\n record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);\n if (record !== null) {\n // It is an item which we have evicted earlier: reinsert it back into the list.\n // But first we need to check if identity changed, so we can update in view if necessary\n if (!looseIdentical(record.item, item)) this._addIdentityChange(record, item);\n\n this._reinsertAfter(record, previousRecord, index);\n } else {\n // It is a new item: add it.\n record =\n this._addAfter(new CollectionChangeRecord(item, itemTrackBy), previousRecord, index);\n }\n }\n return record;\n }\n\n /**\n * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n *\n * Use case: `[a, a]` => `[b, a, a]`\n *\n * If we did not have this check then the insertion of `b` would:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) leave `a` at index `1` as is. <-- this is wrong!\n * 3) reinsert `a` at index 2. <-- this is wrong!\n *\n * The correct behavior is:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) reinsert `a` at index 1.\n * 3) move `a` at from `1` to `2`.\n *\n *\n * Double check that we have not evicted a duplicate item. We need to check if the item type may\n * have already been removed:\n * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n * at the end.\n *\n * @internal\n */\n _verifyReinsertion(record: CollectionChangeRecord, item: any, itemTrackBy: any, index: number):\n CollectionChangeRecord {\n const reinsertRecord: CollectionChangeRecord =\n this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);\n if (reinsertRecord !== null) {\n record = this._reinsertAfter(reinsertRecord, record._prev, index);\n } else if (record.currentIndex != index) {\n record.currentIndex = index;\n this._addToMoves(record, index);\n }\n return record;\n }\n\n /**\n * Get rid of any excess {@link CollectionChangeRecord}s from the previous collection\n *\n * - `record` The first excess {@link CollectionChangeRecord}.\n *\n * @internal\n */\n _truncate(record: CollectionChangeRecord) {\n // Anything after that needs to be removed;\n while (record !== null) {\n const nextRecord: CollectionChangeRecord = record._next;\n this._addToRemovals(this._unlink(record));\n record = nextRecord;\n }\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.clear();\n }\n\n if (this._additionsTail !== null) {\n this._additionsTail._nextAdded = null;\n }\n if (this._movesTail !== null) {\n this._movesTail._nextMoved = null;\n }\n if (this._itTail !== null) {\n this._itTail._next = null;\n }\n if (this._removalsTail !== null) {\n this._removalsTail._nextRemoved = null;\n }\n if (this._identityChangesTail !== null) {\n this._identityChangesTail._nextIdentityChange = null;\n }\n }\n\n /** @internal */\n _reinsertAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.remove(record);\n }\n const prev = record._prevRemoved;\n const next = record._nextRemoved;\n\n if (prev === null) {\n this._removalsHead = next;\n } else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n } else {\n next._prevRemoved = prev;\n }\n\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n }\n\n /** @internal */\n _moveAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n this._unlink(record);\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n }\n\n /** @internal */\n _addAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n this._insertAfter(record, prevRecord, index);\n\n if (this._additionsTail === null) {\n // todo(vicb)\n // assert(this._additionsHead === null);\n this._additionsTail = this._additionsHead = record;\n } else {\n // todo(vicb)\n // assert(_additionsTail._nextAdded === null);\n // assert(record._nextAdded === null);\n this._additionsTail = this._additionsTail._nextAdded = record;\n }\n return record;\n }\n\n /** @internal */\n _insertAfter(record: CollectionChangeRecord, prevRecord: CollectionChangeRecord, index: number):\n CollectionChangeRecord {\n // todo(vicb)\n // assert(record != prevRecord);\n // assert(record._next === null);\n // assert(record._prev === null);\n\n const next: CollectionChangeRecord = prevRecord === null ? this._itHead : prevRecord._next;\n // todo(vicb)\n // assert(next != record);\n // assert(prevRecord != record);\n record._next = next;\n record._prev = prevRecord;\n if (next === null) {\n this._itTail = record;\n } else {\n next._prev = record;\n }\n if (prevRecord === null) {\n this._itHead = record;\n } else {\n prevRecord._next = record;\n }\n\n if (this._linkedRecords === null) {\n this._linkedRecords = new _DuplicateMap();\n }\n this._linkedRecords.put(record);\n\n record.currentIndex = index;\n return record;\n }\n\n /** @internal */\n _remove(record: CollectionChangeRecord): CollectionChangeRecord {\n return this._addToRemovals(this._unlink(record));\n }\n\n /** @internal */\n _unlink(record: CollectionChangeRecord): CollectionChangeRecord {\n if (this._linkedRecords !== null) {\n this._linkedRecords.remove(record);\n }\n\n const prev = record._prev;\n const next = record._next;\n\n // todo(vicb)\n // assert((record._prev = null) === null);\n // assert((record._next = null) === null);\n\n if (prev === null) {\n this._itHead = next;\n } else {\n prev._next = next;\n }\n if (next === null) {\n this._itTail = prev;\n } else {\n next._prev = prev;\n }\n\n return record;\n }\n\n /** @internal */\n _addToMoves(record: CollectionChangeRecord, toIndex: number): CollectionChangeRecord {\n // todo(vicb)\n // assert(record._nextMoved === null);\n\n if (record.previousIndex === toIndex) {\n return record;\n }\n\n if (this._movesTail === null) {\n // todo(vicb)\n // assert(_movesHead === null);\n this._movesTail = this._movesHead = record;\n } else {\n // todo(vicb)\n // assert(_movesTail._nextMoved === null);\n this._movesTail = this._movesTail._nextMoved = record;\n }\n\n return record;\n }\n\n /** @internal */\n _addToRemovals(record: CollectionChangeRecord): CollectionChangeRecord {\n if (this._unlinkedRecords === null) {\n this._unlinkedRecords = new _DuplicateMap();\n }\n this._unlinkedRecords.put(record);\n record.currentIndex = null;\n record._nextRemoved = null;\n\n if (this._removalsTail === null) {\n // todo(vicb)\n // assert(_removalsHead === null);\n this._removalsTail = this._removalsHead = record;\n record._prevRemoved = null;\n } else {\n // todo(vicb)\n // assert(_removalsTail._nextRemoved === null);\n // assert(record._nextRemoved === null);\n record._prevRemoved = this._removalsTail;\n this._removalsTail = this._removalsTail._nextRemoved = record;\n }\n return record;\n }\n\n /** @internal */\n _addIdentityChange(record: CollectionChangeRecord, item: any) {\n record.item = item;\n if (this._identityChangesTail === null) {\n this._identityChangesTail = this._identityChangesHead = record;\n } else {\n this._identityChangesTail = this._identityChangesTail._nextIdentityChange = record;\n }\n return record;\n }\n\n\n toString(): string {\n const list: any[] /** TODO #9100 */ = [];\n this.forEachItem((record: any /** TODO #9100 */) => list.push(record));\n\n const previous: any[] /** TODO #9100 */ = [];\n this.forEachPreviousItem((record: any /** TODO #9100 */) => previous.push(record));\n\n const additions: any[] /** TODO #9100 */ = [];\n this.forEachAddedItem((record: any /** TODO #9100 */) => additions.push(record));\n\n const moves: any[] /** TODO #9100 */ = [];\n this.forEachMovedItem((record: any /** TODO #9100 */) => moves.push(record));\n\n const removals: any[] /** TODO #9100 */ = [];\n this.forEachRemovedItem((record: any /** TODO #9100 */) => removals.push(record));\n\n const identityChanges: any[] /** TODO #9100 */ = [];\n this.forEachIdentityChange((record: any /** TODO #9100 */) => identityChanges.push(record));\n\n return 'collection: ' + list.join(', ') + '\\n' +\n 'previous: ' + previous.join(', ') + '\\n' +\n 'additions: ' + additions.join(', ') + '\\n' +\n 'moves: ' + moves.join(', ') + '\\n' +\n 'removals: ' + removals.join(', ') + '\\n' +\n 'identityChanges: ' + identityChanges.join(', ') + '\\n';\n }\n}\n\n/**\n * @stable\n */\nexport class CollectionChangeRecord {\n currentIndex: number = null;\n previousIndex: number = null;\n\n /** @internal */\n _nextPrevious: CollectionChangeRecord = null;\n /** @internal */\n _prev: CollectionChangeRecord = null;\n /** @internal */\n _next: CollectionChangeRecord = null;\n /** @internal */\n _prevDup: CollectionChangeRecord = null;\n /** @internal */\n _nextDup: CollectionChangeRecord = null;\n /** @internal */\n _prevRemoved: CollectionChangeRecord = null;\n /** @internal */\n _nextRemoved: CollectionChangeRecord = null;\n /** @internal */\n _nextAdded: CollectionChangeRecord = null;\n /** @internal */\n _nextMoved: CollectionChangeRecord = null;\n /** @internal */\n _nextIdentityChange: CollectionChangeRecord = null;\n\n\n constructor(public item: any, public trackById: any) {}\n\n toString(): string {\n return this.previousIndex === this.currentIndex ? stringify(this.item) :\n stringify(this.item) + '[' +\n stringify(this.previousIndex) + '->' + stringify(this.currentIndex) + ']';\n }\n}\n\n// A linked list of CollectionChangeRecords with the same CollectionChangeRecord.item\nclass _DuplicateItemRecordList {\n /** @internal */\n _head: CollectionChangeRecord = null;\n /** @internal */\n _tail: CollectionChangeRecord = null;\n\n /**\n * Append the record to the list of duplicates.\n *\n * Note: by design all records in the list of duplicates hold the same value in record.item.\n */\n add(record: CollectionChangeRecord): void {\n if (this._head === null) {\n this._head = this._tail = record;\n record._nextDup = null;\n record._prevDup = null;\n } else {\n // todo(vicb)\n // assert(record.item == _head.item ||\n // record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);\n this._tail._nextDup = record;\n record._prevDup = this._tail;\n record._nextDup = null;\n this._tail = record;\n }\n }\n\n // Returns a CollectionChangeRecord having CollectionChangeRecord.trackById == trackById and\n // CollectionChangeRecord.currentIndex >= afterIndex\n get(trackById: any, afterIndex: number): CollectionChangeRecord {\n let record: CollectionChangeRecord;\n for (record = this._head; record !== null; record = record._nextDup) {\n if ((afterIndex === null || afterIndex < record.currentIndex) &&\n looseIdentical(record.trackById, trackById)) {\n return record;\n }\n }\n return null;\n }\n\n /**\n * Remove one {@link CollectionChangeRecord} from the list of duplicates.\n *\n * Returns whether the list of duplicates is empty.\n */\n remove(record: CollectionChangeRecord): boolean {\n // todo(vicb)\n // assert(() {\n // // verify that the record being removed is in the list.\n // for (CollectionChangeRecord cursor = _head; cursor != null; cursor = cursor._nextDup) {\n // if (identical(cursor, record)) return true;\n // }\n // return false;\n //});\n\n const prev: CollectionChangeRecord = record._prevDup;\n const next: CollectionChangeRecord = record._nextDup;\n if (prev === null) {\n this._head = next;\n } else {\n prev._nextDup = next;\n }\n if (next === null) {\n this._tail = prev;\n } else {\n next._prevDup = prev;\n }\n return this._head === null;\n }\n}\n\nclass _DuplicateMap {\n map = new Map<any, _DuplicateItemRecordList>();\n\n put(record: CollectionChangeRecord) {\n const key = record.trackById;\n\n let duplicates = this.map.get(key);\n if (!duplicates) {\n duplicates = new _DuplicateItemRecordList();\n this.map.set(key, duplicates);\n }\n duplicates.add(record);\n }\n\n /**\n * Retrieve the `value` using key. Because the CollectionChangeRecord value may be one which we\n * have already iterated over, we use the afterIndex to pretend it is not there.\n *\n * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n * have any more `a`s needs to return the last `a` not the first or second.\n */\n get(trackById: any, afterIndex: number = null): CollectionChangeRecord {\n const key = trackById;\n const recordList = this.map.get(key);\n return recordList ? recordList.get(trackById, afterIndex) : null;\n }\n\n /**\n * Removes a {@link CollectionChangeRecord} from the list of duplicates.\n *\n * The list of duplicates also is removed from the map if it gets empty.\n */\n remove(record: CollectionChangeRecord): CollectionChangeRecord {\n const key = record.trackById;\n const recordList: _DuplicateItemRecordList = this.map.get(key);\n // Remove the list of duplicates when it gets empty\n if (recordList.remove(record)) {\n this.map.delete(key);\n }\n return record;\n }\n\n get isEmpty(): boolean { return this.map.size === 0; }\n\n clear() { this.map.clear(); }\n\n toString(): string { return '_DuplicateMap(' + stringify(this.map) + ')'; }\n}\n\nfunction getPreviousIndex(item: any, addRemoveOffset: number, moveOffsets: number[]): number {\n const previousIndex = item.previousIndex;\n if (previousIndex === null) return previousIndex;\n let moveOffset = 0;\n if (moveOffsets && previousIndex < moveOffsets.length) {\n moveOffset = moveOffsets[previousIndex];\n }\n return previousIndex + addRemoveOffset + moveOffset;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default_keyvalue_differ.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {StringMapWrapper} from '../../facade/collection';\nimport {isJsObject, looseIdentical, stringify} from '../../facade/lang';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\nimport {KeyValueDiffer, KeyValueDifferFactory} from './keyvalue_differs';\n\n\nexport class DefaultKeyValueDifferFactory implements KeyValueDifferFactory {\n constructor() {}\n supports(obj: any): boolean { return obj instanceof Map || isJsObject(obj); }\n\n create(cdRef: ChangeDetectorRef): KeyValueDiffer { return new DefaultKeyValueDiffer(); }\n}\n\nexport class DefaultKeyValueDiffer implements KeyValueDiffer {\n private _records: Map<any, any> = new Map();\n private _mapHead: KeyValueChangeRecord = null;\n private _previousMapHead: KeyValueChangeRecord = null;\n private _changesHead: KeyValueChangeRecord = null;\n private _changesTail: KeyValueChangeRecord = null;\n private _additionsHead: KeyValueChangeRecord = null;\n private _additionsTail: KeyValueChangeRecord = null;\n private _removalsHead: KeyValueChangeRecord = null;\n private _removalsTail: KeyValueChangeRecord = null;\n\n get isDirty(): boolean {\n return this._additionsHead !== null || this._changesHead !== null ||\n this._removalsHead !== null;\n }\n\n forEachItem(fn: (r: KeyValueChangeRecord) => void) {\n var record: KeyValueChangeRecord;\n for (record = this._mapHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachPreviousItem(fn: (r: KeyValueChangeRecord) => void) {\n var record: KeyValueChangeRecord;\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachChangedItem(fn: (r: KeyValueChangeRecord) => void) {\n var record: KeyValueChangeRecord;\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn: (r: KeyValueChangeRecord) => void) {\n var record: KeyValueChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn: (r: KeyValueChangeRecord) => void) {\n var record: KeyValueChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n diff(map: Map<any, any>|{[k: string]: any}): any {\n if (!map) {\n map = new Map();\n } else if (!(map instanceof Map || isJsObject(map))) {\n throw new Error(`Error trying to diff '${map}'`);\n }\n\n return this.check(map) ? this : null;\n }\n\n onDestroy() {}\n\n check(map: Map<any, any>|{[k: string]: any}): boolean {\n this._reset();\n let records = this._records;\n let oldSeqRecord: KeyValueChangeRecord = this._mapHead;\n let lastOldSeqRecord: KeyValueChangeRecord = null;\n let lastNewSeqRecord: KeyValueChangeRecord = null;\n let seqChanged: boolean = false;\n\n this._forEach(map, (value: any, key: any) => {\n let newSeqRecord: any;\n if (oldSeqRecord && key === oldSeqRecord.key) {\n newSeqRecord = oldSeqRecord;\n this._maybeAddToChanges(newSeqRecord, value);\n } else {\n seqChanged = true;\n if (oldSeqRecord !== null) {\n this._removeFromSeq(lastOldSeqRecord, oldSeqRecord);\n this._addToRemovals(oldSeqRecord);\n }\n if (records.has(key)) {\n newSeqRecord = records.get(key);\n this._maybeAddToChanges(newSeqRecord, value);\n } else {\n newSeqRecord = new KeyValueChangeRecord(key);\n records.set(key, newSeqRecord);\n newSeqRecord.currentValue = value;\n this._addToAdditions(newSeqRecord);\n }\n }\n\n if (seqChanged) {\n if (this._isInRemovals(newSeqRecord)) {\n this._removeFromRemovals(newSeqRecord);\n }\n if (lastNewSeqRecord == null) {\n this._mapHead = newSeqRecord;\n } else {\n lastNewSeqRecord._next = newSeqRecord;\n }\n }\n lastOldSeqRecord = oldSeqRecord;\n lastNewSeqRecord = newSeqRecord;\n oldSeqRecord = oldSeqRecord && oldSeqRecord._next;\n });\n this._truncate(lastOldSeqRecord, oldSeqRecord);\n return this.isDirty;\n }\n\n /** @internal */\n _reset() {\n if (this.isDirty) {\n let record: KeyValueChangeRecord;\n // Record the state of the mapping\n for (record = this._previousMapHead = this._mapHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n record.previousValue = record.currentValue;\n }\n\n for (record = this._additionsHead; record != null; record = record._nextAdded) {\n record.previousValue = record.currentValue;\n }\n\n this._changesHead = this._changesTail = null;\n this._additionsHead = this._additionsTail = null;\n this._removalsHead = this._removalsTail = null;\n }\n }\n\n /** @internal */\n _truncate(lastRecord: KeyValueChangeRecord, record: KeyValueChangeRecord) {\n while (record !== null) {\n if (lastRecord === null) {\n this._mapHead = null;\n } else {\n lastRecord._next = null;\n }\n var nextRecord = record._next;\n this._addToRemovals(record);\n lastRecord = record;\n record = nextRecord;\n }\n\n for (let rec: KeyValueChangeRecord = this._removalsHead; rec !== null; rec = rec._nextRemoved) {\n rec.previousValue = rec.currentValue;\n rec.currentValue = null;\n this._records.delete(rec.key);\n }\n }\n\n private _maybeAddToChanges(record: KeyValueChangeRecord, newValue: any): void {\n if (!looseIdentical(newValue, record.currentValue)) {\n record.previousValue = record.currentValue;\n record.currentValue = newValue;\n this._addToChanges(record);\n }\n }\n\n /** @internal */\n _isInRemovals(record: KeyValueChangeRecord) {\n return record === this._removalsHead || record._nextRemoved !== null ||\n record._prevRemoved !== null;\n }\n\n /** @internal */\n _addToRemovals(record: KeyValueChangeRecord) {\n if (this._removalsHead === null) {\n this._removalsHead = this._removalsTail = record;\n } else {\n this._removalsTail._nextRemoved = record;\n record._prevRemoved = this._removalsTail;\n this._removalsTail = record;\n }\n }\n\n /** @internal */\n _removeFromSeq(prev: KeyValueChangeRecord, record: KeyValueChangeRecord) {\n var next = record._next;\n if (prev === null) {\n this._mapHead = next;\n } else {\n prev._next = next;\n }\n record._next = null;\n }\n\n /** @internal */\n _removeFromRemovals(record: KeyValueChangeRecord) {\n const prev = record._prevRemoved;\n const next = record._nextRemoved;\n if (prev === null) {\n this._removalsHead = next;\n } else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n } else {\n next._prevRemoved = prev;\n }\n record._prevRemoved = record._nextRemoved = null;\n }\n\n /** @internal */\n _addToAdditions(record: KeyValueChangeRecord) {\n if (this._additionsHead === null) {\n this._additionsHead = this._additionsTail = record;\n } else {\n this._additionsTail._nextAdded = record;\n this._additionsTail = record;\n }\n }\n\n /** @internal */\n _addToChanges(record: KeyValueChangeRecord) {\n if (this._changesHead === null) {\n this._changesHead = this._changesTail = record;\n } else {\n this._changesTail._nextChanged = record;\n this._changesTail = record;\n }\n }\n\n toString(): string {\n const items: any[] = [];\n const previous: any[] = [];\n const changes: any[] = [];\n const additions: any[] = [];\n const removals: any[] = [];\n let record: KeyValueChangeRecord;\n\n for (record = this._mapHead; record !== null; record = record._next) {\n items.push(stringify(record));\n }\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n previous.push(stringify(record));\n }\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n changes.push(stringify(record));\n }\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n additions.push(stringify(record));\n }\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n removals.push(stringify(record));\n }\n\n return 'map: ' + items.join(', ') + '\\n' +\n 'previous: ' + previous.join(', ') + '\\n' +\n 'additions: ' + additions.join(', ') + '\\n' +\n 'changes: ' + changes.join(', ') + '\\n' +\n 'removals: ' + removals.join(', ') + '\\n';\n }\n\n /** @internal */\n private _forEach<K, V>(obj: Map<K, V>|{[k: string]: V}, fn: (v: V, k: any) => void) {\n if (obj instanceof Map) {\n obj.forEach(fn);\n } else {\n Object.keys(obj).forEach(k => fn(obj[k], k));\n }\n }\n}\n\n\n/**\n * @stable\n */\nexport class KeyValueChangeRecord {\n previousValue: any = null;\n currentValue: any = null;\n\n /** @internal */\n _nextPrevious: KeyValueChangeRecord = null;\n /** @internal */\n _next: KeyValueChangeRecord = null;\n /** @internal */\n _nextAdded: KeyValueChangeRecord = null;\n /** @internal */\n _nextRemoved: KeyValueChangeRecord = null;\n /** @internal */\n _prevRemoved: KeyValueChangeRecord = null;\n /** @internal */\n _nextChanged: KeyValueChangeRecord = null;\n\n constructor(public key: any) {}\n\n toString(): string {\n return looseIdentical(this.previousValue, this.currentValue) ?\n stringify(this.key) :\n (stringify(this.key) + '[' + stringify(this.previousValue) + '->' +\n stringify(this.currentValue) + ']');\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"default_keyvalue_differ.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {StringMapWrapper} from '../../facade/collection';\nimport {isJsObject, looseIdentical, stringify} from '../../facade/lang';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\nimport {KeyValueDiffer, KeyValueDifferFactory} from './keyvalue_differs';\n\n\nexport class DefaultKeyValueDifferFactory implements KeyValueDifferFactory {\n constructor() {}\n supports(obj: any): boolean { return obj instanceof Map || isJsObject(obj); }\n\n create(cdRef: ChangeDetectorRef): KeyValueDiffer { return new DefaultKeyValueDiffer(); }\n}\n\nexport class DefaultKeyValueDiffer implements KeyValueDiffer {\n private _records: Map<any, any> = new Map();\n private _mapHead: KeyValueChangeRecord = null;\n private _previousMapHead: KeyValueChangeRecord = null;\n private _changesHead: KeyValueChangeRecord = null;\n private _changesTail: KeyValueChangeRecord = null;\n private _additionsHead: KeyValueChangeRecord = null;\n private _additionsTail: KeyValueChangeRecord = null;\n private _removalsHead: KeyValueChangeRecord = null;\n private _removalsTail: KeyValueChangeRecord = null;\n\n get isDirty(): boolean {\n return this._additionsHead !== null || this._changesHead !== null ||\n this._removalsHead !== null;\n }\n\n forEachItem(fn: (r: KeyValueChangeRecord) => void) {\n let record: KeyValueChangeRecord;\n for (record = this._mapHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachPreviousItem(fn: (r: KeyValueChangeRecord) => void) {\n let record: KeyValueChangeRecord;\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachChangedItem(fn: (r: KeyValueChangeRecord) => void) {\n let record: KeyValueChangeRecord;\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn: (r: KeyValueChangeRecord) => void) {\n let record: KeyValueChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn: (r: KeyValueChangeRecord) => void) {\n let record: KeyValueChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n diff(map: Map<any, any>|{[k: string]: any}): any {\n if (!map) {\n map = new Map();\n } else if (!(map instanceof Map || isJsObject(map))) {\n throw new Error(`Error trying to diff '${map}'`);\n }\n\n return this.check(map) ? this : null;\n }\n\n onDestroy() {}\n\n check(map: Map<any, any>|{[k: string]: any}): boolean {\n this._reset();\n const records = this._records;\n let oldSeqRecord: KeyValueChangeRecord = this._mapHead;\n let lastOldSeqRecord: KeyValueChangeRecord = null;\n let lastNewSeqRecord: KeyValueChangeRecord = null;\n let seqChanged: boolean = false;\n\n this._forEach(map, (value: any, key: any) => {\n let newSeqRecord: any;\n if (oldSeqRecord && key === oldSeqRecord.key) {\n newSeqRecord = oldSeqRecord;\n this._maybeAddToChanges(newSeqRecord, value);\n } else {\n seqChanged = true;\n if (oldSeqRecord !== null) {\n this._removeFromSeq(lastOldSeqRecord, oldSeqRecord);\n this._addToRemovals(oldSeqRecord);\n }\n if (records.has(key)) {\n newSeqRecord = records.get(key);\n this._maybeAddToChanges(newSeqRecord, value);\n } else {\n newSeqRecord = new KeyValueChangeRecord(key);\n records.set(key, newSeqRecord);\n newSeqRecord.currentValue = value;\n this._addToAdditions(newSeqRecord);\n }\n }\n\n if (seqChanged) {\n if (this._isInRemovals(newSeqRecord)) {\n this._removeFromRemovals(newSeqRecord);\n }\n if (lastNewSeqRecord == null) {\n this._mapHead = newSeqRecord;\n } else {\n lastNewSeqRecord._next = newSeqRecord;\n }\n }\n lastOldSeqRecord = oldSeqRecord;\n lastNewSeqRecord = newSeqRecord;\n oldSeqRecord = oldSeqRecord && oldSeqRecord._next;\n });\n this._truncate(lastOldSeqRecord, oldSeqRecord);\n return this.isDirty;\n }\n\n /** @internal */\n _reset() {\n if (this.isDirty) {\n let record: KeyValueChangeRecord;\n // Record the state of the mapping\n for (record = this._previousMapHead = this._mapHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n record.previousValue = record.currentValue;\n }\n\n for (record = this._additionsHead; record != null; record = record._nextAdded) {\n record.previousValue = record.currentValue;\n }\n\n this._changesHead = this._changesTail = null;\n this._additionsHead = this._additionsTail = null;\n this._removalsHead = this._removalsTail = null;\n }\n }\n\n /** @internal */\n _truncate(lastRecord: KeyValueChangeRecord, record: KeyValueChangeRecord) {\n while (record !== null) {\n if (lastRecord === null) {\n this._mapHead = null;\n } else {\n lastRecord._next = null;\n }\n const nextRecord = record._next;\n this._addToRemovals(record);\n lastRecord = record;\n record = nextRecord;\n }\n\n for (let rec: KeyValueChangeRecord = this._removalsHead; rec !== null; rec = rec._nextRemoved) {\n rec.previousValue = rec.currentValue;\n rec.currentValue = null;\n this._records.delete(rec.key);\n }\n }\n\n private _maybeAddToChanges(record: KeyValueChangeRecord, newValue: any): void {\n if (!looseIdentical(newValue, record.currentValue)) {\n record.previousValue = record.currentValue;\n record.currentValue = newValue;\n this._addToChanges(record);\n }\n }\n\n /** @internal */\n _isInRemovals(record: KeyValueChangeRecord) {\n return record === this._removalsHead || record._nextRemoved !== null ||\n record._prevRemoved !== null;\n }\n\n /** @internal */\n _addToRemovals(record: KeyValueChangeRecord) {\n if (this._removalsHead === null) {\n this._removalsHead = this._removalsTail = record;\n } else {\n this._removalsTail._nextRemoved = record;\n record._prevRemoved = this._removalsTail;\n this._removalsTail = record;\n }\n }\n\n /** @internal */\n _removeFromSeq(prev: KeyValueChangeRecord, record: KeyValueChangeRecord) {\n const next = record._next;\n if (prev === null) {\n this._mapHead = next;\n } else {\n prev._next = next;\n }\n record._next = null;\n }\n\n /** @internal */\n _removeFromRemovals(record: KeyValueChangeRecord) {\n const prev = record._prevRemoved;\n const next = record._nextRemoved;\n if (prev === null) {\n this._removalsHead = next;\n } else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n } else {\n next._prevRemoved = prev;\n }\n record._prevRemoved = record._nextRemoved = null;\n }\n\n /** @internal */\n _addToAdditions(record: KeyValueChangeRecord) {\n if (this._additionsHead === null) {\n this._additionsHead = this._additionsTail = record;\n } else {\n this._additionsTail._nextAdded = record;\n this._additionsTail = record;\n }\n }\n\n /** @internal */\n _addToChanges(record: KeyValueChangeRecord) {\n if (this._changesHead === null) {\n this._changesHead = this._changesTail = record;\n } else {\n this._changesTail._nextChanged = record;\n this._changesTail = record;\n }\n }\n\n toString(): string {\n const items: any[] = [];\n const previous: any[] = [];\n const changes: any[] = [];\n const additions: any[] = [];\n const removals: any[] = [];\n let record: KeyValueChangeRecord;\n\n for (record = this._mapHead; record !== null; record = record._next) {\n items.push(stringify(record));\n }\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n previous.push(stringify(record));\n }\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n changes.push(stringify(record));\n }\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n additions.push(stringify(record));\n }\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n removals.push(stringify(record));\n }\n\n return 'map: ' + items.join(', ') + '\\n' +\n 'previous: ' + previous.join(', ') + '\\n' +\n 'additions: ' + additions.join(', ') + '\\n' +\n 'changes: ' + changes.join(', ') + '\\n' +\n 'removals: ' + removals.join(', ') + '\\n';\n }\n\n /** @internal */\n private _forEach<K, V>(obj: Map<K, V>|{[k: string]: V}, fn: (v: V, k: any) => void) {\n if (obj instanceof Map) {\n obj.forEach(fn);\n } else {\n Object.keys(obj).forEach(k => fn(obj[k], k));\n }\n }\n}\n\n\n/**\n * @stable\n */\nexport class KeyValueChangeRecord {\n previousValue: any = null;\n currentValue: any = null;\n\n /** @internal */\n _nextPrevious: KeyValueChangeRecord = null;\n /** @internal */\n _next: KeyValueChangeRecord = null;\n /** @internal */\n _nextAdded: KeyValueChangeRecord = null;\n /** @internal */\n _nextRemoved: KeyValueChangeRecord = null;\n /** @internal */\n _prevRemoved: KeyValueChangeRecord = null;\n /** @internal */\n _nextChanged: KeyValueChangeRecord = null;\n\n constructor(public key: any) {}\n\n toString(): string {\n return looseIdentical(this.previousValue, this.currentValue) ?\n stringify(this.key) :\n (stringify(this.key) + '[' + stringify(this.previousValue) + '->' +\n stringify(this.currentValue) + ']');\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable_differs.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/iterable_differs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,QAAQ,EAAY,QAAQ,EAAC,MAAM,UAAU;OAC9C,EAAC,uBAAuB,EAAE,SAAS,EAAC,MAAM,mBAAmB;AAkCpE;;;GAGG;AACH;IACE,yBAAmB,SAAkC;QAAlC,cAAS,GAAT,SAAS,CAAyB;IAAG,CAAC;IAElD,sBAAM,GAAb,UAAc,SAAkC,EAAE,MAAwB;QACxE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,
|
|
1
|
+
{"version":3,"file":"iterable_differs.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/iterable_differs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,QAAQ,EAAY,QAAQ,EAAC,MAAM,UAAU;OAC9C,EAAC,uBAAuB,EAAE,SAAS,EAAC,MAAM,mBAAmB;AAkCpE;;;GAGG;AACH;IACE,yBAAmB,SAAkC;QAAlC,cAAS,GAAT,SAAS,CAAyB;IAAG,CAAC;IAElD,sBAAM,GAAb,UAAc,SAAkC,EAAE,MAAwB;QACxE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACxC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,sBAAM,GAAb,UAAc,SAAkC;QAC9C,MAAM,CAAC;YACL,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,UAAC,MAAuB;gBAClC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACZ,0FAA0F;oBAC1F,KAAK;oBACL,6EAA6E;oBAC7E,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6FAA6F;YAC7F,IAAI,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,8BAAI,GAAJ,UAAK,QAAa;QAChB,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAApB,CAAoB,CAAC,CAAC;QAC/D,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC;QACjB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,KAAK,CACX,6CAA2C,QAAQ,mBAAc,uBAAuB,CAAC,QAAQ,CAAC,MAAG,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AA1DD,IA0DC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Optional, Provider, SkipSelf} from '../../di';\nimport {getTypeNameForDebugging, isPresent} from '../../facade/lang';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\n\n/**\n * A strategy for tracking changes over time to an iterable. Used for {@link NgFor} to\n * respond to changes in an iterable by effecting equivalent changes in the DOM.\n *\n * @stable\n */\nexport interface IterableDiffer {\n diff(object: any): any;\n onDestroy(): any /** TODO #9100 */;\n}\n\n/**\n * An optional function passed into {@link NgFor} that defines how to track\n * items in an iterable (e.g. by index or id)\n *\n * @stable\n */\nexport interface TrackByFn { (index: number, item: any): any; }\n\n\n/**\n * Provides a factory for {@link IterableDiffer}.\n *\n * @stable\n */\nexport interface IterableDifferFactory {\n supports(objects: any): boolean;\n create(cdRef: ChangeDetectorRef, trackByFn?: TrackByFn): IterableDiffer;\n}\n\n/**\n * A repository of different iterable diffing strategies used by NgFor, NgClass, and others.\n * @stable\n */\nexport class IterableDiffers {\n constructor(public factories: IterableDifferFactory[]) {}\n\n static create(factories: IterableDifferFactory[], parent?: IterableDiffers): IterableDiffers {\n if (isPresent(parent)) {\n const copied = parent.factories.slice();\n factories = factories.concat(copied);\n return new IterableDiffers(factories);\n } else {\n return new IterableDiffers(factories);\n }\n }\n\n /**\n * Takes an array of {@link IterableDifferFactory} and returns a provider used to extend the\n * inherited {@link IterableDiffers} instance with the provided factories and return a new\n * {@link IterableDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {@link IterableDiffer} available.\n *\n * ### Example\n *\n * ```\n * @Component({\n * viewProviders: [\n * IterableDiffers.extend([new ImmutableListDiffer()])\n * ]\n * })\n * ```\n */\n static extend(factories: IterableDifferFactory[]): Provider {\n return {\n provide: IterableDiffers,\n useFactory: (parent: IterableDiffers) => {\n if (!parent) {\n // Typically would occur when calling IterableDiffers.extend inside of dependencies passed\n // to\n // bootstrap(), which would override default pipes instead of extending them.\n throw new Error('Cannot extend IterableDiffers without a parent injector');\n }\n return IterableDiffers.create(factories, parent);\n },\n // Dependency technically isn't optional, but we can provide a better error message this way.\n deps: [[IterableDiffers, new SkipSelf(), new Optional()]]\n };\n }\n\n find(iterable: any): IterableDifferFactory {\n const factory = this.factories.find(f => f.supports(iterable));\n if (isPresent(factory)) {\n return factory;\n } else {\n throw new Error(\n `Cannot find a differ supporting object '${iterable}' of type '${getTypeNameForDebugging(iterable)}'`);\n }\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyvalue_differs.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/keyvalue_differs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,QAAQ,EAAY,QAAQ,EAAC,MAAM,UAAU;OAE9C,EAAC,SAAS,EAAC,MAAM,mBAAmB;AAwB3C;;;GAGG;AACH;IACE,yBAAmB,SAAkC;QAAlC,cAAS,GAAT,SAAS,CAAyB;IAAG,CAAC;IAElD,sBAAM,GAAb,UAAc,SAAkC,EAAE,MAAwB;QACxE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,
|
|
1
|
+
{"version":3,"file":"keyvalue_differs.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/change_detection/differs/keyvalue_differs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,QAAQ,EAAY,QAAQ,EAAC,MAAM,UAAU;OAE9C,EAAC,SAAS,EAAC,MAAM,mBAAmB;AAwB3C;;;GAGG;AACH;IACE,yBAAmB,SAAkC;QAAlC,cAAS,GAAT,SAAS,CAAyB;IAAG,CAAC;IAElD,sBAAM,GAAb,UAAc,SAAkC,EAAE,MAAwB;QACxE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACxC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,sBAAM,GAAb,UAAc,SAAkC;QAC9C,MAAM,CAAC;YACL,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,UAAC,MAAuB;gBAClC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACZ,0FAA0F;oBAC1F,KAAK;oBACL,6EAA6E;oBAC7E,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6FAA6F;YAC7F,IAAI,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,8BAAI,GAAJ,UAAK,EAAU;QACb,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAd,CAAc,CAAC,CAAC;QACzD,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC;QACjB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6CAA2C,EAAE,MAAG,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AAzDD,IAyDC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Optional, Provider, SkipSelf} from '../../di';\nimport {ListWrapper} from '../../facade/collection';\nimport {isPresent} from '../../facade/lang';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\n\n/**\n * A differ that tracks changes made to an object over time.\n *\n * @stable\n */\nexport interface KeyValueDiffer {\n diff(object: any): any /** TODO #9100 */;\n onDestroy(): any /** TODO #9100 */;\n}\n\n/**\n * Provides a factory for {@link KeyValueDiffer}.\n *\n * @stable\n */\nexport interface KeyValueDifferFactory {\n supports(objects: any): boolean;\n create(cdRef: ChangeDetectorRef): KeyValueDiffer;\n}\n\n/**\n * A repository of different Map diffing strategies used by NgClass, NgStyle, and others.\n * @stable\n */\nexport class KeyValueDiffers {\n constructor(public factories: KeyValueDifferFactory[]) {}\n\n static create(factories: KeyValueDifferFactory[], parent?: KeyValueDiffers): KeyValueDiffers {\n if (isPresent(parent)) {\n const copied = parent.factories.slice();\n factories = factories.concat(copied);\n return new KeyValueDiffers(factories);\n } else {\n return new KeyValueDiffers(factories);\n }\n }\n\n /**\n * Takes an array of {@link KeyValueDifferFactory} and returns a provider used to extend the\n * inherited {@link KeyValueDiffers} instance with the provided factories and return a new\n * {@link KeyValueDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {@link KeyValueDiffer} available.\n *\n * ### Example\n *\n * ```\n * @Component({\n * viewProviders: [\n * KeyValueDiffers.extend([new ImmutableMapDiffer()])\n * ]\n * })\n * ```\n */\n static extend(factories: KeyValueDifferFactory[]): Provider {\n return {\n provide: KeyValueDiffers,\n useFactory: (parent: KeyValueDiffers) => {\n if (!parent) {\n // Typically would occur when calling KeyValueDiffers.extend inside of dependencies passed\n // to\n // bootstrap(), which would override default pipes instead of extending them.\n throw new Error('Cannot extend KeyValueDiffers without a parent injector');\n }\n return KeyValueDiffers.create(factories, parent);\n },\n // Dependency technically isn't optional, but we can provide a better error message this way.\n deps: [[KeyValueDiffers, new SkipSelf(), new Optional()]]\n };\n }\n\n find(kv: Object): KeyValueDifferFactory {\n const factory = this.factories.find(f => f.supports(kv));\n if (isPresent(factory)) {\n return factory;\n } else {\n throw new Error(`Cannot find a differ supporting object '${kv}'`);\n }\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -13,19 +13,21 @@ import { AnimationSequencePlayer as AnimationSequencePlayer_ } from './animation
|
|
|
13
13
|
import * as animationUtils from './animation/animation_style_util';
|
|
14
14
|
import { AnimationStyles as AnimationStyles_ } from './animation/animation_styles';
|
|
15
15
|
import { AnimationTransition } from './animation/animation_transition';
|
|
16
|
+
import * as application_tokens from './application_tokens';
|
|
16
17
|
import * as change_detection_util from './change_detection/change_detection_util';
|
|
17
18
|
import * as constants from './change_detection/constants';
|
|
18
19
|
import * as console from './console';
|
|
19
20
|
import * as debug from './debug/debug_renderer';
|
|
20
21
|
import * as reflective_provider from './di/reflective_provider';
|
|
21
22
|
import { ComponentStillLoadingError } from './linker/compiler';
|
|
23
|
+
import * as component_factory from './linker/component_factory';
|
|
22
24
|
import * as component_factory_resolver from './linker/component_factory_resolver';
|
|
23
25
|
import * as debug_context from './linker/debug_context';
|
|
24
|
-
import * as element from './linker/element';
|
|
25
26
|
import * as ng_module_factory from './linker/ng_module_factory';
|
|
26
27
|
import * as ng_module_factory_loader from './linker/ng_module_factory_loader';
|
|
27
28
|
import * as template_ref from './linker/template_ref';
|
|
28
29
|
import * as view from './linker/view';
|
|
30
|
+
import * as view_container from './linker/view_container';
|
|
29
31
|
import * as view_type from './linker/view_type';
|
|
30
32
|
import * as view_utils from './linker/view_utils';
|
|
31
33
|
import * as lifecycle_hooks from './metadata/lifecycle_hooks';
|
|
@@ -51,9 +53,10 @@ export declare var __core_private__: {
|
|
|
51
53
|
_GetterFn?: reflection_types.GetterFn;
|
|
52
54
|
_MethodFn?: reflection_types.MethodFn;
|
|
53
55
|
CodegenComponentFactoryResolver: typeof component_factory_resolver.CodegenComponentFactoryResolver;
|
|
56
|
+
ComponentRef_: typeof component_factory.ComponentRef_;
|
|
54
57
|
_CodegenComponentFactoryResolver?: component_factory_resolver.CodegenComponentFactoryResolver;
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
ViewContainer: typeof view_container.ViewContainer;
|
|
59
|
+
_ViewContainer?: view_container.ViewContainer;
|
|
57
60
|
AppView: typeof view.AppView;
|
|
58
61
|
_AppView?: view.AppView<any>;
|
|
59
62
|
DebugAppView: typeof view.DebugAppView;
|
|
@@ -75,6 +78,7 @@ export declare var __core_private__: {
|
|
|
75
78
|
_ValueUnwrapper?: change_detection_util.ValueUnwrapper;
|
|
76
79
|
RenderDebugInfo: typeof api.RenderDebugInfo;
|
|
77
80
|
_RenderDebugInfo?: api.RenderDebugInfo;
|
|
81
|
+
_DirectRenderer?: api.DirectRenderer;
|
|
78
82
|
TemplateRef_: typeof template_ref.TemplateRef_;
|
|
79
83
|
_TemplateRef_?: template_ref.TemplateRef_<any>;
|
|
80
84
|
ReflectionCapabilities: typeof reflection_capabilities.ReflectionCapabilities;
|
|
@@ -103,6 +107,7 @@ export declare var __core_private__: {
|
|
|
103
107
|
clearStyles: typeof animationUtils.clearStyles;
|
|
104
108
|
renderStyles: typeof animationUtils.renderStyles;
|
|
105
109
|
collectAndResolveStyles: typeof animationUtils.collectAndResolveStyles;
|
|
110
|
+
APP_ID_RANDOM_PROVIDER: typeof application_tokens.APP_ID_RANDOM_PROVIDER;
|
|
106
111
|
AnimationStyles: typeof AnimationStyles_;
|
|
107
112
|
_AnimationStyles?: AnimationStyles_;
|
|
108
113
|
ANY_STATE: typeof ANY_STATE_;
|
|
@@ -13,19 +13,21 @@ import { AnimationSequencePlayer as AnimationSequencePlayer_ } from './animation
|
|
|
13
13
|
import * as animationUtils from './animation/animation_style_util';
|
|
14
14
|
import { AnimationStyles as AnimationStyles_ } from './animation/animation_styles';
|
|
15
15
|
import { AnimationTransition } from './animation/animation_transition';
|
|
16
|
+
import * as application_tokens from './application_tokens';
|
|
16
17
|
import * as change_detection_util from './change_detection/change_detection_util';
|
|
17
18
|
import * as constants from './change_detection/constants';
|
|
18
19
|
import * as console from './console';
|
|
19
20
|
import * as debug from './debug/debug_renderer';
|
|
20
21
|
import * as reflective_provider from './di/reflective_provider';
|
|
21
22
|
import { ComponentStillLoadingError } from './linker/compiler';
|
|
23
|
+
import * as component_factory from './linker/component_factory';
|
|
22
24
|
import * as component_factory_resolver from './linker/component_factory_resolver';
|
|
23
25
|
import * as debug_context from './linker/debug_context';
|
|
24
|
-
import * as element from './linker/element';
|
|
25
26
|
import * as ng_module_factory from './linker/ng_module_factory';
|
|
26
27
|
import * as ng_module_factory_loader from './linker/ng_module_factory_loader';
|
|
27
28
|
import * as template_ref from './linker/template_ref';
|
|
28
29
|
import * as view from './linker/view';
|
|
30
|
+
import * as view_container from './linker/view_container';
|
|
29
31
|
import * as view_type from './linker/view_type';
|
|
30
32
|
import * as view_utils from './linker/view_utils';
|
|
31
33
|
import * as lifecycle_hooks from './metadata/lifecycle_hooks';
|
|
@@ -44,7 +46,8 @@ export var __core_private__ = {
|
|
|
44
46
|
LIFECYCLE_HOOKS_VALUES: lifecycle_hooks.LIFECYCLE_HOOKS_VALUES,
|
|
45
47
|
ReflectorReader: reflector_reader.ReflectorReader,
|
|
46
48
|
CodegenComponentFactoryResolver: component_factory_resolver.CodegenComponentFactoryResolver,
|
|
47
|
-
|
|
49
|
+
ComponentRef_: component_factory.ComponentRef_,
|
|
50
|
+
ViewContainer: view_container.ViewContainer,
|
|
48
51
|
AppView: view.AppView,
|
|
49
52
|
DebugAppView: view.DebugAppView,
|
|
50
53
|
NgModuleInjector: ng_module_factory.NgModuleInjector,
|
|
@@ -76,6 +79,7 @@ export var __core_private__ = {
|
|
|
76
79
|
clearStyles: animationUtils.clearStyles,
|
|
77
80
|
renderStyles: animationUtils.renderStyles,
|
|
78
81
|
collectAndResolveStyles: animationUtils.collectAndResolveStyles,
|
|
82
|
+
APP_ID_RANDOM_PROVIDER: application_tokens.APP_ID_RANDOM_PROVIDER,
|
|
79
83
|
AnimationStyles: AnimationStyles_,
|
|
80
84
|
ANY_STATE: ANY_STATE_,
|
|
81
85
|
DEFAULT_STATE: DEFAULT_STATE_,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core_private_export.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/core_private_export.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ANY_STATE as ANY_STATE_, DEFAULT_STATE as DEFAULT_STATE_, EMPTY_STATE as EMPTY_STATE_, FILL_STYLE_FLAG as FILL_STYLE_FLAG_} from './animation/animation_constants';\nimport {AnimationGroupPlayer as AnimationGroupPlayer_} from './animation/animation_group_player';\nimport {AnimationKeyframe as AnimationKeyframe_} from './animation/animation_keyframe';\nimport {AnimationPlayer as AnimationPlayer_, NoOpAnimationPlayer as NoOpAnimationPlayer_} from './animation/animation_player';\nimport {AnimationSequencePlayer as AnimationSequencePlayer_} from './animation/animation_sequence_player';\nimport * as animationUtils from './animation/animation_style_util';\nimport {AnimationStyles as AnimationStyles_} from './animation/animation_styles';\nimport {AnimationTransition} from './animation/animation_transition';\nimport * as change_detection_util from './change_detection/change_detection_util';\nimport * as constants from './change_detection/constants';\nimport * as console from './console';\nimport * as debug from './debug/debug_renderer';\nimport * as reflective_provider from './di/reflective_provider';\nimport {ComponentStillLoadingError} from './linker/compiler';\nimport * as component_factory_resolver from './linker/component_factory_resolver';\nimport * as debug_context from './linker/debug_context';\nimport * as element from './linker/element';\nimport * as ng_module_factory from './linker/ng_module_factory';\nimport * as ng_module_factory_loader from './linker/ng_module_factory_loader';\nimport * as template_ref from './linker/template_ref';\nimport * as view from './linker/view';\nimport * as view_type from './linker/view_type';\nimport * as view_utils from './linker/view_utils';\nimport * as lifecycle_hooks from './metadata/lifecycle_hooks';\nimport * as metadata_view from './metadata/view';\nimport * as reflection from './reflection/reflection';\n// We need to import this name separately from the above wildcard, because this symbol is exposed.\nimport {Reflector} from './reflection/reflection'; // tslint:disable-line\nimport * as reflection_capabilities from './reflection/reflection_capabilities';\nimport * as reflector_reader from './reflection/reflector_reader';\nimport * as reflection_types from './reflection/types';\nimport * as api from './render/api';\nimport * as decorators from './util/decorators';\nimport {isPromise} from './util/lang';\n\nexport var __core_private__: {\n isDefaultChangeDetectionStrategy: typeof constants.isDefaultChangeDetectionStrategy,\n ChangeDetectorStatus: typeof constants.ChangeDetectorStatus,\n _ChangeDetectorStatus?: constants.ChangeDetectorStatus,\n constructDependencies: typeof reflective_provider.constructDependencies,\n LifecycleHooks: typeof lifecycle_hooks.LifecycleHooks,\n _LifecycleHooks?: lifecycle_hooks.LifecycleHooks,\n LIFECYCLE_HOOKS_VALUES: typeof lifecycle_hooks.LIFECYCLE_HOOKS_VALUES,\n ReflectorReader: typeof reflector_reader.ReflectorReader,\n _ReflectorReader?: reflector_reader.ReflectorReader,\n _SetterFn?: reflection_types.SetterFn;\n _GetterFn?: reflection_types.GetterFn;\n _MethodFn?: reflection_types.MethodFn;\n CodegenComponentFactoryResolver:\n typeof component_factory_resolver.CodegenComponentFactoryResolver,\n _CodegenComponentFactoryResolver?: component_factory_resolver.CodegenComponentFactoryResolver,\n AppElement: typeof element.AppElement, _AppElement?: element.AppElement,\n AppView: typeof view.AppView, _AppView?: view.AppView<any>,\n DebugAppView: typeof view.DebugAppView, _DebugAppView?: view.DebugAppView<any>,\n NgModuleInjector: typeof ng_module_factory.NgModuleInjector,\n _NgModuleInjector?: ng_module_factory.NgModuleInjector<any>,\n registerModuleFactory: typeof ng_module_factory_loader.registerModuleFactory,\n ViewType: typeof view_type.ViewType, _ViewType?: view_type.ViewType,\n ViewMetadata: typeof metadata_view.ViewMetadata, _ViewMetadata?: metadata_view.ViewMetadata,\n DebugContext: typeof debug_context.DebugContext, _DebugContext?: debug_context.DebugContext,\n StaticNodeDebugInfo: typeof debug_context.StaticNodeDebugInfo,\n _StaticNodeDebugInfo?: debug_context.StaticNodeDebugInfo,\n devModeEqual: typeof change_detection_util.devModeEqual,\n UNINITIALIZED: typeof change_detection_util.UNINITIALIZED,\n ValueUnwrapper: typeof change_detection_util.ValueUnwrapper,\n _ValueUnwrapper?: change_detection_util.ValueUnwrapper,\n RenderDebugInfo: typeof api.RenderDebugInfo, _RenderDebugInfo?: api.RenderDebugInfo,\n TemplateRef_: typeof template_ref.TemplateRef_, _TemplateRef_?: template_ref.TemplateRef_<any>,\n ReflectionCapabilities: typeof reflection_capabilities.ReflectionCapabilities,\n _ReflectionCapabilities?: reflection_capabilities.ReflectionCapabilities,\n makeDecorator: typeof decorators.makeDecorator,\n DebugDomRootRenderer: typeof debug.DebugDomRootRenderer,\n _DebugDomRootRenderer?: debug.DebugDomRootRenderer,\n Console: typeof console.Console, _Console?: console.Console,\n reflector: typeof reflection.reflector,\n Reflector: typeof reflection.Reflector, _Reflector?: reflection.Reflector,\n NoOpAnimationPlayer: typeof NoOpAnimationPlayer_, _NoOpAnimationPlayer?: NoOpAnimationPlayer_,\n AnimationPlayer: typeof AnimationPlayer_, _AnimationPlayer?: AnimationPlayer_,\n AnimationSequencePlayer: typeof AnimationSequencePlayer_,\n _AnimationSequencePlayer?: AnimationSequencePlayer_,\n AnimationGroupPlayer: typeof AnimationGroupPlayer_, _AnimationGroupPlayer?: AnimationGroupPlayer_,\n AnimationKeyframe: typeof AnimationKeyframe_, _AnimationKeyframe?: AnimationKeyframe_,\n prepareFinalAnimationStyles: typeof animationUtils.prepareFinalAnimationStyles,\n balanceAnimationKeyframes: typeof animationUtils.balanceAnimationKeyframes,\n flattenStyles: typeof animationUtils.flattenStyles,\n clearStyles: typeof animationUtils.clearStyles,\n renderStyles: typeof animationUtils.renderStyles,\n collectAndResolveStyles: typeof animationUtils.collectAndResolveStyles,\n AnimationStyles: typeof AnimationStyles_, _AnimationStyles?: AnimationStyles_,\n ANY_STATE: typeof ANY_STATE_,\n DEFAULT_STATE: typeof DEFAULT_STATE_,\n EMPTY_STATE: typeof EMPTY_STATE_,\n FILL_STYLE_FLAG: typeof FILL_STYLE_FLAG_,\n _ComponentStillLoadingError?: ComponentStillLoadingError,\n ComponentStillLoadingError: typeof ComponentStillLoadingError,\n isPromise: typeof isPromise,\n AnimationTransition: typeof AnimationTransition\n view_utils: typeof view_utils,\n} = {\n isDefaultChangeDetectionStrategy: constants.isDefaultChangeDetectionStrategy,\n ChangeDetectorStatus: constants.ChangeDetectorStatus,\n constructDependencies: reflective_provider.constructDependencies,\n LifecycleHooks: lifecycle_hooks.LifecycleHooks,\n LIFECYCLE_HOOKS_VALUES: lifecycle_hooks.LIFECYCLE_HOOKS_VALUES,\n ReflectorReader: reflector_reader.ReflectorReader,\n CodegenComponentFactoryResolver: component_factory_resolver.CodegenComponentFactoryResolver,\n AppElement: element.AppElement,\n AppView: view.AppView,\n DebugAppView: view.DebugAppView,\n NgModuleInjector: ng_module_factory.NgModuleInjector,\n registerModuleFactory: ng_module_factory_loader.registerModuleFactory,\n ViewType: view_type.ViewType,\n view_utils: view_utils,\n ViewMetadata: metadata_view.ViewMetadata,\n DebugContext: debug_context.DebugContext,\n StaticNodeDebugInfo: debug_context.StaticNodeDebugInfo,\n devModeEqual: change_detection_util.devModeEqual,\n UNINITIALIZED: change_detection_util.UNINITIALIZED,\n ValueUnwrapper: change_detection_util.ValueUnwrapper,\n RenderDebugInfo: api.RenderDebugInfo,\n TemplateRef_: template_ref.TemplateRef_,\n ReflectionCapabilities: reflection_capabilities.ReflectionCapabilities,\n makeDecorator: decorators.makeDecorator,\n DebugDomRootRenderer: debug.DebugDomRootRenderer,\n Console: console.Console,\n reflector: reflection.reflector,\n Reflector: reflection.Reflector,\n NoOpAnimationPlayer: NoOpAnimationPlayer_,\n AnimationPlayer: AnimationPlayer_,\n AnimationSequencePlayer: AnimationSequencePlayer_,\n AnimationGroupPlayer: AnimationGroupPlayer_,\n AnimationKeyframe: AnimationKeyframe_,\n prepareFinalAnimationStyles: animationUtils.prepareFinalAnimationStyles,\n balanceAnimationKeyframes: animationUtils.balanceAnimationKeyframes,\n flattenStyles: animationUtils.flattenStyles,\n clearStyles: animationUtils.clearStyles,\n renderStyles: animationUtils.renderStyles,\n collectAndResolveStyles: animationUtils.collectAndResolveStyles,\n AnimationStyles: AnimationStyles_,\n ANY_STATE: ANY_STATE_,\n DEFAULT_STATE: DEFAULT_STATE_,\n EMPTY_STATE: EMPTY_STATE_,\n FILL_STYLE_FLAG: FILL_STYLE_FLAG_,\n ComponentStillLoadingError: ComponentStillLoadingError,\n isPromise: isPromise,\n AnimationTransition: AnimationTransition\n};\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"core_private_export.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/core_private_export.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ANY_STATE as ANY_STATE_, DEFAULT_STATE as DEFAULT_STATE_, EMPTY_STATE as EMPTY_STATE_, FILL_STYLE_FLAG as FILL_STYLE_FLAG_} from './animation/animation_constants';\nimport {AnimationGroupPlayer as AnimationGroupPlayer_} from './animation/animation_group_player';\nimport {AnimationKeyframe as AnimationKeyframe_} from './animation/animation_keyframe';\nimport {AnimationPlayer as AnimationPlayer_, NoOpAnimationPlayer as NoOpAnimationPlayer_} from './animation/animation_player';\nimport {AnimationSequencePlayer as AnimationSequencePlayer_} from './animation/animation_sequence_player';\nimport * as animationUtils from './animation/animation_style_util';\nimport {AnimationStyles as AnimationStyles_} from './animation/animation_styles';\nimport {AnimationTransition} from './animation/animation_transition';\nimport * as application_tokens from './application_tokens';\nimport * as change_detection_util from './change_detection/change_detection_util';\nimport * as constants from './change_detection/constants';\nimport * as console from './console';\nimport * as debug from './debug/debug_renderer';\nimport * as reflective_provider from './di/reflective_provider';\nimport {ComponentStillLoadingError} from './linker/compiler';\nimport * as component_factory from './linker/component_factory';\nimport * as component_factory_resolver from './linker/component_factory_resolver';\nimport * as debug_context from './linker/debug_context';\nimport * as ng_module_factory from './linker/ng_module_factory';\nimport * as ng_module_factory_loader from './linker/ng_module_factory_loader';\nimport * as template_ref from './linker/template_ref';\nimport * as view from './linker/view';\nimport * as view_container from './linker/view_container';\nimport * as view_type from './linker/view_type';\nimport * as view_utils from './linker/view_utils';\nimport * as lifecycle_hooks from './metadata/lifecycle_hooks';\nimport * as metadata_view from './metadata/view';\nimport * as reflection from './reflection/reflection';\n// We need to import this name separately from the above wildcard, because this symbol is exposed.\nimport {Reflector} from './reflection/reflection'; // tslint:disable-line\nimport * as reflection_capabilities from './reflection/reflection_capabilities';\nimport * as reflector_reader from './reflection/reflector_reader';\nimport * as reflection_types from './reflection/types';\nimport * as api from './render/api';\nimport * as decorators from './util/decorators';\nimport {isPromise} from './util/lang';\n\nexport var __core_private__: {\n isDefaultChangeDetectionStrategy: typeof constants.isDefaultChangeDetectionStrategy,\n ChangeDetectorStatus: typeof constants.ChangeDetectorStatus,\n _ChangeDetectorStatus?: constants.ChangeDetectorStatus,\n constructDependencies: typeof reflective_provider.constructDependencies,\n LifecycleHooks: typeof lifecycle_hooks.LifecycleHooks,\n _LifecycleHooks?: lifecycle_hooks.LifecycleHooks,\n LIFECYCLE_HOOKS_VALUES: typeof lifecycle_hooks.LIFECYCLE_HOOKS_VALUES,\n ReflectorReader: typeof reflector_reader.ReflectorReader,\n _ReflectorReader?: reflector_reader.ReflectorReader,\n _SetterFn?: reflection_types.SetterFn;\n _GetterFn?: reflection_types.GetterFn;\n _MethodFn?: reflection_types.MethodFn;\n CodegenComponentFactoryResolver:\n typeof component_factory_resolver.CodegenComponentFactoryResolver,\n ComponentRef_: typeof component_factory.ComponentRef_,\n _CodegenComponentFactoryResolver?: component_factory_resolver.CodegenComponentFactoryResolver,\n ViewContainer: typeof view_container.ViewContainer, _ViewContainer?: view_container.ViewContainer,\n AppView: typeof view.AppView, _AppView?: view.AppView<any>,\n DebugAppView: typeof view.DebugAppView, _DebugAppView?: view.DebugAppView<any>,\n NgModuleInjector: typeof ng_module_factory.NgModuleInjector,\n _NgModuleInjector?: ng_module_factory.NgModuleInjector<any>,\n registerModuleFactory: typeof ng_module_factory_loader.registerModuleFactory,\n ViewType: typeof view_type.ViewType, _ViewType?: view_type.ViewType,\n ViewMetadata: typeof metadata_view.ViewMetadata, _ViewMetadata?: metadata_view.ViewMetadata,\n DebugContext: typeof debug_context.DebugContext, _DebugContext?: debug_context.DebugContext,\n StaticNodeDebugInfo: typeof debug_context.StaticNodeDebugInfo,\n _StaticNodeDebugInfo?: debug_context.StaticNodeDebugInfo,\n devModeEqual: typeof change_detection_util.devModeEqual,\n UNINITIALIZED: typeof change_detection_util.UNINITIALIZED,\n ValueUnwrapper: typeof change_detection_util.ValueUnwrapper,\n _ValueUnwrapper?: change_detection_util.ValueUnwrapper,\n RenderDebugInfo: typeof api.RenderDebugInfo,\n _RenderDebugInfo?: api.RenderDebugInfo,\n _DirectRenderer?: api.DirectRenderer,\n TemplateRef_: typeof template_ref.TemplateRef_, _TemplateRef_?: template_ref.TemplateRef_<any>,\n ReflectionCapabilities: typeof reflection_capabilities.ReflectionCapabilities,\n _ReflectionCapabilities?: reflection_capabilities.ReflectionCapabilities,\n makeDecorator: typeof decorators.makeDecorator,\n DebugDomRootRenderer: typeof debug.DebugDomRootRenderer,\n _DebugDomRootRenderer?: debug.DebugDomRootRenderer,\n Console: typeof console.Console, _Console?: console.Console,\n reflector: typeof reflection.reflector,\n Reflector: typeof reflection.Reflector, _Reflector?: reflection.Reflector,\n NoOpAnimationPlayer: typeof NoOpAnimationPlayer_, _NoOpAnimationPlayer?: NoOpAnimationPlayer_,\n AnimationPlayer: typeof AnimationPlayer_, _AnimationPlayer?: AnimationPlayer_,\n AnimationSequencePlayer: typeof AnimationSequencePlayer_,\n _AnimationSequencePlayer?: AnimationSequencePlayer_,\n AnimationGroupPlayer: typeof AnimationGroupPlayer_, _AnimationGroupPlayer?: AnimationGroupPlayer_,\n AnimationKeyframe: typeof AnimationKeyframe_, _AnimationKeyframe?: AnimationKeyframe_,\n prepareFinalAnimationStyles: typeof animationUtils.prepareFinalAnimationStyles,\n balanceAnimationKeyframes: typeof animationUtils.balanceAnimationKeyframes,\n flattenStyles: typeof animationUtils.flattenStyles,\n clearStyles: typeof animationUtils.clearStyles,\n renderStyles: typeof animationUtils.renderStyles,\n collectAndResolveStyles: typeof animationUtils.collectAndResolveStyles,\n APP_ID_RANDOM_PROVIDER: typeof application_tokens.APP_ID_RANDOM_PROVIDER,\n AnimationStyles: typeof AnimationStyles_, _AnimationStyles?: AnimationStyles_,\n ANY_STATE: typeof ANY_STATE_,\n DEFAULT_STATE: typeof DEFAULT_STATE_,\n EMPTY_STATE: typeof EMPTY_STATE_,\n FILL_STYLE_FLAG: typeof FILL_STYLE_FLAG_,\n _ComponentStillLoadingError?: ComponentStillLoadingError,\n ComponentStillLoadingError: typeof ComponentStillLoadingError,\n isPromise: typeof isPromise,\n AnimationTransition: typeof AnimationTransition\n view_utils: typeof view_utils,\n} = {\n isDefaultChangeDetectionStrategy: constants.isDefaultChangeDetectionStrategy,\n ChangeDetectorStatus: constants.ChangeDetectorStatus,\n constructDependencies: reflective_provider.constructDependencies,\n LifecycleHooks: lifecycle_hooks.LifecycleHooks,\n LIFECYCLE_HOOKS_VALUES: lifecycle_hooks.LIFECYCLE_HOOKS_VALUES,\n ReflectorReader: reflector_reader.ReflectorReader,\n CodegenComponentFactoryResolver: component_factory_resolver.CodegenComponentFactoryResolver,\n ComponentRef_: component_factory.ComponentRef_,\n ViewContainer: view_container.ViewContainer,\n AppView: view.AppView,\n DebugAppView: view.DebugAppView,\n NgModuleInjector: ng_module_factory.NgModuleInjector,\n registerModuleFactory: ng_module_factory_loader.registerModuleFactory,\n ViewType: view_type.ViewType,\n view_utils: view_utils,\n ViewMetadata: metadata_view.ViewMetadata,\n DebugContext: debug_context.DebugContext,\n StaticNodeDebugInfo: debug_context.StaticNodeDebugInfo,\n devModeEqual: change_detection_util.devModeEqual,\n UNINITIALIZED: change_detection_util.UNINITIALIZED,\n ValueUnwrapper: change_detection_util.ValueUnwrapper,\n RenderDebugInfo: api.RenderDebugInfo,\n TemplateRef_: template_ref.TemplateRef_,\n ReflectionCapabilities: reflection_capabilities.ReflectionCapabilities,\n makeDecorator: decorators.makeDecorator,\n DebugDomRootRenderer: debug.DebugDomRootRenderer,\n Console: console.Console,\n reflector: reflection.reflector,\n Reflector: reflection.Reflector,\n NoOpAnimationPlayer: NoOpAnimationPlayer_,\n AnimationPlayer: AnimationPlayer_,\n AnimationSequencePlayer: AnimationSequencePlayer_,\n AnimationGroupPlayer: AnimationGroupPlayer_,\n AnimationKeyframe: AnimationKeyframe_,\n prepareFinalAnimationStyles: animationUtils.prepareFinalAnimationStyles,\n balanceAnimationKeyframes: animationUtils.balanceAnimationKeyframes,\n flattenStyles: animationUtils.flattenStyles,\n clearStyles: animationUtils.clearStyles,\n renderStyles: animationUtils.renderStyles,\n collectAndResolveStyles: animationUtils.collectAndResolveStyles,\n APP_ID_RANDOM_PROVIDER: application_tokens.APP_ID_RANDOM_PROVIDER,\n AnimationStyles: AnimationStyles_,\n ANY_STATE: ANY_STATE_,\n DEFAULT_STATE: DEFAULT_STATE_,\n EMPTY_STATE: EMPTY_STATE_,\n FILL_STYLE_FLAG: FILL_STYLE_FLAG_,\n ComponentStillLoadingError: ComponentStillLoadingError,\n isPromise: isPromise,\n AnimationTransition: AnimationTransition\n};\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":1,"metadata":{"___core_private__":{"isDefaultChangeDetectionStrategy":{"__symbolic":"reference","module":"./change_detection/constants","name":"isDefaultChangeDetectionStrategy"},"ChangeDetectorStatus":{"__symbolic":"reference","module":"./change_detection/constants","name":"ChangeDetectorStatus"},"constructDependencies":{"__symbolic":"reference","module":"./di/reflective_provider","name":"constructDependencies"},"LifecycleHooks":{"__symbolic":"reference","module":"./metadata/lifecycle_hooks","name":"LifecycleHooks"},"LIFECYCLE_HOOKS_VALUES":{"__symbolic":"reference","module":"./metadata/lifecycle_hooks","name":"LIFECYCLE_HOOKS_VALUES"},"ReflectorReader":{"__symbolic":"reference","module":"./reflection/reflector_reader","name":"ReflectorReader"},"CodegenComponentFactoryResolver":{"__symbolic":"reference","module":"./linker/component_factory_resolver","name":"CodegenComponentFactoryResolver"},"
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"___core_private__":{"isDefaultChangeDetectionStrategy":{"__symbolic":"reference","module":"./change_detection/constants","name":"isDefaultChangeDetectionStrategy"},"ChangeDetectorStatus":{"__symbolic":"reference","module":"./change_detection/constants","name":"ChangeDetectorStatus"},"constructDependencies":{"__symbolic":"reference","module":"./di/reflective_provider","name":"constructDependencies"},"LifecycleHooks":{"__symbolic":"reference","module":"./metadata/lifecycle_hooks","name":"LifecycleHooks"},"LIFECYCLE_HOOKS_VALUES":{"__symbolic":"reference","module":"./metadata/lifecycle_hooks","name":"LIFECYCLE_HOOKS_VALUES"},"ReflectorReader":{"__symbolic":"reference","module":"./reflection/reflector_reader","name":"ReflectorReader"},"CodegenComponentFactoryResolver":{"__symbolic":"reference","module":"./linker/component_factory_resolver","name":"CodegenComponentFactoryResolver"},"ComponentRef_":{"__symbolic":"reference","module":"./linker/component_factory","name":"ComponentRef_"},"ViewContainer":{"__symbolic":"reference","module":"./linker/view_container","name":"ViewContainer"},"AppView":{"__symbolic":"reference","module":"./linker/view","name":"AppView"},"DebugAppView":{"__symbolic":"reference","module":"./linker/view","name":"DebugAppView"},"NgModuleInjector":{"__symbolic":"reference","module":"./linker/ng_module_factory","name":"NgModuleInjector"},"registerModuleFactory":{"__symbolic":"reference","module":"./linker/ng_module_factory_loader","name":"registerModuleFactory"},"ViewType":{"__symbolic":"reference","module":"./linker/view_type","name":"ViewType"},"view_utils":{"__symbolic":"reference","module":"./linker/view_utils"},"ViewMetadata":{"__symbolic":"reference","module":"./metadata/view","name":"ViewMetadata"},"DebugContext":{"__symbolic":"reference","module":"./linker/debug_context","name":"DebugContext"},"StaticNodeDebugInfo":{"__symbolic":"reference","module":"./linker/debug_context","name":"StaticNodeDebugInfo"},"devModeEqual":{"__symbolic":"reference","module":"./change_detection/change_detection_util","name":"devModeEqual"},"UNINITIALIZED":{"__symbolic":"reference","module":"./change_detection/change_detection_util","name":"UNINITIALIZED"},"ValueUnwrapper":{"__symbolic":"reference","module":"./change_detection/change_detection_util","name":"ValueUnwrapper"},"RenderDebugInfo":{"__symbolic":"reference","module":"./render/api","name":"RenderDebugInfo"},"TemplateRef_":{"__symbolic":"reference","module":"./linker/template_ref","name":"TemplateRef_"},"ReflectionCapabilities":{"__symbolic":"reference","module":"./reflection/reflection_capabilities","name":"ReflectionCapabilities"},"makeDecorator":{"__symbolic":"reference","module":"./util/decorators","name":"makeDecorator"},"DebugDomRootRenderer":{"__symbolic":"reference","module":"./debug/debug_renderer","name":"DebugDomRootRenderer"},"Console":{"__symbolic":"reference","module":"./console","name":"Console"},"reflector":{"__symbolic":"reference","module":"./reflection/reflection","name":"reflector"},"Reflector":{"__symbolic":"reference","module":"./reflection/reflection","name":"Reflector"},"NoOpAnimationPlayer":{"__symbolic":"reference","module":"./animation/animation_player","name":"NoOpAnimationPlayer"},"AnimationPlayer":{"__symbolic":"reference","module":"./animation/animation_player","name":"AnimationPlayer"},"AnimationSequencePlayer":{"__symbolic":"reference","module":"./animation/animation_sequence_player","name":"AnimationSequencePlayer"},"AnimationGroupPlayer":{"__symbolic":"reference","module":"./animation/animation_group_player","name":"AnimationGroupPlayer"},"AnimationKeyframe":{"__symbolic":"reference","module":"./animation/animation_keyframe","name":"AnimationKeyframe"},"prepareFinalAnimationStyles":{"__symbolic":"reference","module":"./animation/animation_style_util","name":"prepareFinalAnimationStyles"},"balanceAnimationKeyframes":{"__symbolic":"reference","module":"./animation/animation_style_util","name":"balanceAnimationKeyframes"},"flattenStyles":{"__symbolic":"reference","module":"./animation/animation_style_util","name":"flattenStyles"},"clearStyles":{"__symbolic":"reference","module":"./animation/animation_style_util","name":"clearStyles"},"renderStyles":{"__symbolic":"reference","module":"./animation/animation_style_util","name":"renderStyles"},"collectAndResolveStyles":{"__symbolic":"reference","module":"./animation/animation_style_util","name":"collectAndResolveStyles"},"APP_ID_RANDOM_PROVIDER":{"__symbolic":"reference","module":"./application_tokens","name":"APP_ID_RANDOM_PROVIDER"},"AnimationStyles":{"__symbolic":"reference","module":"./animation/animation_styles","name":"AnimationStyles"},"ANY_STATE":{"__symbolic":"reference","module":"./animation/animation_constants","name":"ANY_STATE"},"DEFAULT_STATE":{"__symbolic":"reference","module":"./animation/animation_constants","name":"DEFAULT_STATE"},"EMPTY_STATE":{"__symbolic":"reference","module":"./animation/animation_constants","name":"EMPTY_STATE"},"FILL_STYLE_FLAG":{"__symbolic":"reference","module":"./animation/animation_constants","name":"FILL_STYLE_FLAG"},"ComponentStillLoadingError":{"__symbolic":"reference","module":"./linker/compiler","name":"ComponentStillLoadingError"},"isPromise":{"__symbolic":"reference","module":"./util/lang","name":"isPromise"},"AnimationTransition":{"__symbolic":"reference","module":"./animation/animation_transition","name":"AnimationTransition"}}}}
|