angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 22.9 kB
Source Map (JSON)
{"version":3,"sources":["keyvalue_changes.js"],"names":[],"mappings":"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","file":"angular2/src/change_detection/pipes/keyvalue_changes.js","sourcesContent":["import {ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/facade/collection';\nimport {stringify, looseIdentical, isJsObject} from 'angular2/src/facade/lang';\n\nimport {NO_CHANGE, Pipe} from './pipe';\n\n/**\n * @exportedAs angular2/pipes\n */\nexport class KeyValueChangesFactory {\n supports(obj):boolean {\n return KeyValueChanges.supportsObj(obj);\n }\n\n create(cdRef):Pipe {\n return new KeyValueChanges();\n }\n}\n\n/**\n * @exportedAs angular2/pipes\n */\nexport class KeyValueChanges extends Pipe {\n _records:Map;\n\n _mapHead:KVChangeRecord;\n _previousMapHead:KVChangeRecord;\n _changesHead:KVChangeRecord;\n _changesTail:KVChangeRecord;\n _additionsHead:KVChangeRecord;\n _additionsTail:KVChangeRecord;\n _removalsHead:KVChangeRecord;\n _removalsTail:KVChangeRecord;\n\n constructor() {\n super();\n this._records = MapWrapper.create();\n this._mapHead = null;\n this._previousMapHead = null;\n this._changesHead = null;\n this._changesTail = null;\n this._additionsHead = null;\n this._additionsTail = null;\n this._removalsHead = null;\n this._removalsTail = null;\n }\n\n static supportsObj(obj):boolean {\n return obj instanceof Map || isJsObject(obj);\n }\n\n supports(obj):boolean {\n return KeyValueChanges.supportsObj(obj);\n }\n\n transform(map){\n if (this.check(map)) {\n return this;\n } else {\n return NO_CHANGE;\n }\n }\n\n get isDirty():boolean {\n return this._additionsHead !== null ||\n this._changesHead !== null ||\n this._removalsHead !== null;\n }\n\n forEachItem(fn:Function) {\n var record:KVChangeRecord;\n for (record = this._mapHead; record !== null; record = record._next) {\n fn(record);\n }\n }\n\n forEachPreviousItem(fn:Function) {\n var record:KVChangeRecord;\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n }\n\n forEachChangedItem(fn:Function) {\n var record:KVChangeRecord;\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n fn(record);\n }\n }\n\n forEachAddedItem(fn:Function){\n var record:KVChangeRecord;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n }\n\n forEachRemovedItem(fn:Function){\n var record:KVChangeRecord;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n }\n\n check(map):boolean {\n this._reset();\n var records = this._records;\n var oldSeqRecord:KVChangeRecord = this._mapHead;\n var lastOldSeqRecord:KVChangeRecord = null;\n var lastNewSeqRecord:KVChangeRecord = null;\n var seqChanged:boolean = false;\n\n this._forEach(map, (value, key) => {\n var newSeqRecord;\n if (oldSeqRecord !== null && key === oldSeqRecord.key) {\n newSeqRecord = oldSeqRecord;\n if (!looseIdentical(value, oldSeqRecord.currentValue)) {\n oldSeqRecord.previousValue = oldSeqRecord.currentValue;\n oldSeqRecord.currentValue = value;\n this._addToChanges(oldSeqRecord);\n }\n } else {\n seqChanged = true;\n if (oldSeqRecord !== null) {\n oldSeqRecord._next = null;\n this._removeFromSeq(lastOldSeqRecord, oldSeqRecord);\n this._addToRemovals(oldSeqRecord);\n }\n if (MapWrapper.contains(records, key)) {\n newSeqRecord = MapWrapper.get(records, key);\n } else {\n newSeqRecord = new KVChangeRecord(key);\n MapWrapper.set(records, 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 === null ? null : oldSeqRecord._next;\n });\n this._truncate(lastOldSeqRecord, oldSeqRecord);\n return this.isDirty;\n }\n\n _reset() {\n if (this.isDirty) {\n var record:KVChangeRecord;\n // Record the state of the mapping\n for (record = this._previousMapHead = this._mapHead;\n record !== null;\n 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 // todo(vicb) once assert is supported\n //assert(() {\n // var r = _changesHead;\n // while (r != null) {\n // var nextRecord = r._nextChanged;\n // r._nextChanged = null;\n // r = nextRecord;\n // }\n //\n // r = _additionsHead;\n // while (r != null) {\n // var nextRecord = r._nextAdded;\n // r._nextAdded = null;\n // r = nextRecord;\n // }\n //\n // r = _removalsHead;\n // while (r != null) {\n // var nextRecord = r._nextRemoved;\n // r._nextRemoved = null;\n // r = nextRecord;\n // }\n //\n // return true;\n //});\n this._changesHead = this._changesTail = null;\n this._additionsHead = this._additionsTail = null;\n this._removalsHead = this._removalsTail = null;\n }\n }\n\n _truncate(lastRecord:KVChangeRecord, record:KVChangeRecord) {\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 // todo(vicb) assert\n //assert((() {\n // record._next = null;\n // return true;\n //}));\n this._addToRemovals(record);\n lastRecord = record;\n record = nextRecord;\n }\n\n for (var rec:KVChangeRecord = this._removalsHead; rec !== null; rec = rec._nextRemoved) {\n rec.previousValue = rec.currentValue;\n rec.currentValue = null;\n MapWrapper.delete(this._records, rec.key);\n }\n }\n\n _isInRemovals(record:KVChangeRecord) {\n return record === this._removalsHead ||\n record._nextRemoved !== null ||\n record._prevRemoved !== null;\n }\n\n _addToRemovals(record:KVChangeRecord) {\n // todo(vicb) assert\n //assert(record._next == null);\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n //assert(record._nextRemoved == null);\n //assert(record._prevRemoved == null);\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 _removeFromSeq(prev:KVChangeRecord, record:KVChangeRecord) {\n var next = record._next;\n if (prev === null) {\n this._mapHead = next;\n } else {\n prev._next = next;\n }\n // todo(vicb) assert\n //assert((() {\n // record._next = null;\n // return true;\n //})());\n }\n\n _removeFromRemovals(record:KVChangeRecord) {\n // todo(vicb) assert\n //assert(record._next == null);\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n\n var prev = record._prevRemoved;\n var 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 _addToAdditions(record:KVChangeRecord) {\n // todo(vicb): assert\n //assert(record._next == null);\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n //assert(record._nextRemoved == null);\n //assert(record._prevRemoved == null);\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 _addToChanges(record:KVChangeRecord) {\n // todo(vicb) assert\n //assert(record._nextAdded == null);\n //assert(record._nextChanged == null);\n //assert(record._nextRemoved == null);\n //assert(record._prevRemoved == null);\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 var items = [];\n var previous = [];\n var changes = [];\n var additions = [];\n var removals = [];\n var record:KVChangeRecord;\n\n for (record = this._mapHead; record !== null; record = record._next) {\n ListWrapper.push(items, stringify(record));\n }\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n ListWrapper.push(previous, stringify(record));\n }\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n ListWrapper.push(changes, stringify(record));\n }\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n ListWrapper.push(additions, stringify(record));\n }\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n ListWrapper.push(removals, 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 _forEach(obj, fn:Function) {\n if (obj instanceof Map) {\n MapWrapper.forEach(obj, fn);\n } else {\n StringMapWrapper.forEach(obj, fn);\n }\n }\n}\n\n\n\n/**\n * @exportedAs angular2/pipes\n */\nexport class KVChangeRecord {\n key;\n previousValue;\n currentValue;\n\n _nextPrevious:KVChangeRecord;\n _next:KVChangeRecord;\n _nextAdded:KVChangeRecord;\n _nextRemoved:KVChangeRecord;\n _prevRemoved:KVChangeRecord;\n _nextChanged:KVChangeRecord;\n\n constructor(key) {\n this.key = key;\n this.previousValue = null;\n this.currentValue = null;\n\n this._nextPrevious = null;\n this._next = null;\n this._nextAdded = null;\n this._nextRemoved = null;\n this._prevRemoved = null;\n this._nextChanged = null;\n }\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"]}