UNPKG

ember-material-icons

Version:

Google Material icons for your ember-cli app

236 lines 14.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CONSTANT = 0; exports.INITIAL = 1; exports.VOLATILE = NaN; class RevisionTag { validate(snapshot) { return this.value() === snapshot; } } exports.RevisionTag = RevisionTag; let $REVISION = exports.INITIAL; class DirtyableTag extends RevisionTag { constructor(revision = $REVISION) { super(); this.revision = revision; } value() { return this.revision; } dirty() { this.revision = ++$REVISION; } } exports.DirtyableTag = DirtyableTag; function combineTagged(tagged) { let optimized = []; for (let i = 0, l = tagged.length; i < l; i++) { let tag = tagged[i].tag; if (tag === exports.VOLATILE_TAG) return exports.VOLATILE_TAG; if (tag === exports.CONSTANT_TAG) continue; optimized.push(tag); } return _combine(optimized); } exports.combineTagged = combineTagged; function combineSlice(slice) { let optimized = []; let node = slice.head(); while (node !== null) { let tag = node.tag; if (tag === exports.VOLATILE_TAG) return exports.VOLATILE_TAG; if (tag !== exports.CONSTANT_TAG) optimized.push(tag); node = slice.nextNode(node); } return _combine(optimized); } exports.combineSlice = combineSlice; function combine(tags) { let optimized = []; for (let i = 0, l = tags.length; i < l; i++) { let tag = tags[i]; if (tag === exports.VOLATILE_TAG) return exports.VOLATILE_TAG; if (tag === exports.CONSTANT_TAG) continue; optimized.push(tag); } return _combine(optimized); } exports.combine = combine; function _combine(tags) { switch (tags.length) { case 0: return exports.CONSTANT_TAG; case 1: return tags[0]; case 2: return new TagsPair(tags[0], tags[1]); default: return new TagsCombinator(tags); } ; } class CachedTag extends RevisionTag { constructor() { super(...arguments); this.lastChecked = null; this.lastValue = null; } value() { let { lastChecked, lastValue } = this; if (lastChecked !== $REVISION) { this.lastChecked = $REVISION; this.lastValue = lastValue = this.compute(); } return this.lastValue; } invalidate() { this.lastChecked = null; } } exports.CachedTag = CachedTag; class TagsPair extends CachedTag { constructor(first, second) { super(); this.first = first; this.second = second; } compute() { return Math.max(this.first.value(), this.second.value()); } } class TagsCombinator extends CachedTag { constructor(tags) { super(); this.tags = tags; } compute() { let { tags } = this; let max = -1; for (let i = 0; i < tags.length; i++) { let value = tags[i].value(); max = Math.max(value, max); } return max; } } class UpdatableTag extends CachedTag { constructor(tag) { super(); this.tag = tag; this.lastUpdated = exports.INITIAL; } compute() { return Math.max(this.lastUpdated, this.tag.value()); } update(tag) { if (tag !== this.tag) { this.tag = tag; this.lastUpdated = $REVISION; this.invalidate(); } } } exports.UpdatableTag = UpdatableTag; ////////// exports.CONSTANT_TAG = new (class ConstantTag extends RevisionTag { value() { return exports.CONSTANT; } }); exports.VOLATILE_TAG = new (class VolatileTag extends RevisionTag { value() { return exports.VOLATILE; } }); exports.CURRENT_TAG = new (class CurrentTag extends DirtyableTag { value() { return $REVISION; } }); class CachedReference { constructor() { this.lastRevision = null; this.lastValue = null; } value() { let { tag, lastRevision, lastValue } = this; if (!lastRevision || !tag.validate(lastRevision)) { lastValue = this.lastValue = this.compute(); this.lastRevision = tag.value(); } return lastValue; } invalidate() { this.lastRevision = null; } } exports.CachedReference = CachedReference; class MapperReference extends CachedReference { constructor(reference, mapper) { super(); this.tag = reference.tag; this.reference = reference; this.mapper = mapper; } compute() { let { reference, mapper } = this; return mapper(reference.value()); } } function map(reference, mapper) { return new MapperReference(reference, mapper); } exports.map = map; ////////// class ReferenceCache { constructor(reference) { this.lastValue = null; this.lastRevision = null; this.initialized = false; this.tag = reference.tag; this.reference = reference; } peek() { if (!this.initialized) { return this.initialize(); } return this.lastValue; } revalidate() { if (!this.initialized) { return this.initialize(); } let { reference, lastRevision } = this; let tag = reference.tag; if (tag.validate(lastRevision)) return NOT_MODIFIED; this.lastRevision = tag.value(); let { lastValue } = this; let value = reference.value(); if (value === lastValue) return NOT_MODIFIED; this.lastValue = value; return value; } initialize() { let { reference } = this; let value = this.lastValue = reference.value(); this.lastRevision = reference.tag.value(); this.initialized = true; return value; } } exports.ReferenceCache = ReferenceCache; const NOT_MODIFIED = "adb3b78e-3d22-4e4b-877a-6317c2c5c145"; function isModified(value) { return value !== NOT_MODIFIED; } exports.isModified = isModified; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JhLFFBQUEsUUFBUSxHQUFhLENBQUMsQ0FBQztBQUN2QixRQUFBLE9BQU8sR0FBYyxDQUFDLENBQUM7QUFDdkIsUUFBQSxRQUFRLEdBQWEsR0FBRyxDQUFDO0FBRXRDO0lBR0UsUUFBUSxDQUFDLFFBQWtCO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssUUFBUSxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQU5ELGtDQU1DO0FBRUQsSUFBSSxTQUFTLEdBQUcsZUFBTyxDQUFDO0FBRXhCLGtCQUEwQixTQUFRLFdBQVc7SUFHM0MsWUFBWSxRQUFRLEdBQUcsU0FBUztRQUM5QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsU0FBUyxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQWZELG9DQWVDO0FBRUQsdUJBQThCLE1BQXVDO0lBQ25FLElBQUksU0FBUyxHQUEwQixFQUFFLENBQUM7SUFFMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEdBQUcsR0FBd0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM3QyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssb0JBQVksQ0FBQztZQUFDLE1BQU0sQ0FBQyxvQkFBWSxDQUFDO1FBQzlDLEVBQUUsQ0FB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