UNPKG

ember-legacy-class-transform

Version:
73 lines (70 loc) 7.29 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConditionalReference = exports.FALSE_REFERENCE = exports.TRUE_REFERENCE = exports.NULL_REFERENCE = exports.UNDEFINED_REFERENCE = exports.PrimitiveReference = undefined; var _reference = require('@glimmer/reference'); class PrimitiveReference extends _reference.ConstReference { constructor(value) { super(value); } static create(value) { if (value === undefined) { return UNDEFINED_REFERENCE; } else if (value === null) { return NULL_REFERENCE; } else if (value === true) { return TRUE_REFERENCE; } else if (value === false) { return FALSE_REFERENCE; } else if (typeof value === 'number') { return new ValueReference(value); } else { return new StringReference(value); } } get(_key) { return UNDEFINED_REFERENCE; } } exports.PrimitiveReference = PrimitiveReference; class StringReference extends PrimitiveReference { constructor() { super(...arguments); this.lengthReference = null; } get(key) { if (key === 'length') { let { lengthReference } = this; if (lengthReference === null) { lengthReference = this.lengthReference = new ValueReference(this.inner.length); } return lengthReference; } else { return super.get(key); } } } class ValueReference extends PrimitiveReference { constructor(value) { super(value); } } const UNDEFINED_REFERENCE = exports.UNDEFINED_REFERENCE = new ValueReference(undefined); const NULL_REFERENCE = exports.NULL_REFERENCE = new ValueReference(null); const TRUE_REFERENCE = exports.TRUE_REFERENCE = new ValueReference(true); const FALSE_REFERENCE = exports.FALSE_REFERENCE = new ValueReference(false); class ConditionalReference { constructor(inner) { this.inner = inner; this.tag = inner.tag; } value() { return this.toBool(this.inner.value()); } toBool(value) { return !!value; } } exports.ConditionalReference = ConditionalReference; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9yZWZlcmVuY2VzLmpzIl0sIm5hbWVzIjpbIlByaW1pdGl2ZVJlZmVyZW5jZSIsImNvbnN0cnVjdG9yIiwidmFsdWUiLCJjcmVhdGUiLCJ1bmRlZmluZWQiLCJVTkRFRklORURfUkVGRVJFTkNFIiwiTlVMTF9SRUZFUkVOQ0UiLCJUUlVFX1JFRkVSRU5DRSIsIkZBTFNFX1JFRkVSRU5DRSIsIlZhbHVlUmVmZXJlbmNlIiwiU3RyaW5nUmVmZXJlbmNlIiwiZ2V0IiwiX2tleSIsImFyZ3VtZW50cyIsImxlbmd0aFJlZmVyZW5jZSIsImtleSIsImlubmVyIiwibGVuZ3RoIiwiQ29uZGl0aW9uYWxSZWZlcmVuY2UiLCJ0YWciLCJ0b0Jvb2wiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDTyxNQUFNQSxrQkFBTixtQ0FBZ0Q7QUFDbkRDLGdCQUFZQyxLQUFaLEVBQW1CO0FBQ2YsY0FBTUEsS0FBTjtBQUNIO0FBQ0QsV0FBT0MsTUFBUCxDQUFjRCxLQUFkLEVBQXFCO0FBQ2pCLFlBQUlBLFVBQVVFLFNBQWQsRUFBeUI7QUFDckIsbUJBQU9DLG1CQUFQO0FBQ0gsU0FGRCxNQUVPLElBQUlILFVBQVUsSUFBZCxFQUFvQjtBQUN2QixtQkFBT0ksY0FBUDtBQUNILFNBRk0sTUFFQSxJQUFJSixVQUFVLElBQWQsRUFBb0I7QUFDdkIsbUJBQU9LLGNBQVA7QUFDSCxTQUZNLE1BRUEsSUFBSUwsVUFBVSxLQUFkLEVBQXFCO0FBQ3hCLG1CQUFPTSxlQUFQO0FBQ0gsU0FGTSxNQUVBLElBQUksT0FBT04sS0FBUCxLQUFpQixRQUFyQixFQUErQjtBQUNsQyxtQkFBTyxJQUFJTyxjQUFKLENBQW1CUCxLQUFuQixDQUFQO0FBQ0gsU0FGTSxNQUVBO0FBQ0gsbUJBQU8sSUFBSVEsZUFBSixDQUFvQlIsS0FBcEIsQ0FBUDtBQUNIO0FBQ0o7QUFDRFMsUUFBSUMsSUFBSixFQUFVO0FBQ04sZUFBT1AsbUJBQVA7QUFDSDtBQXJCa0Q7UUFBMUNMLGtCLEdBQUFBLGtCO0FBdUJiLE1BQU1VLGVBQU4sU0FBOEJWLGtCQUE5QixDQUFpRDtBQUM3Q0Msa0JBQWM7QUFDVixjQUFNLEdBQUdZLFNBQVQ7QUFDQSxhQUFLQyxlQUFMLEdBQXVCLElBQXZCO0FBQ0g7QUFDREgsUUFBSUksR0FBSixFQUFTO0FBQ0wsWUFBSUEsUUFBUSxRQUFaLEVBQXNCO0FBQ2xCLGdCQUFJLEVBQUVELGVBQUYsS0FBc0IsSUFBMUI7QUFDQSxnQkFBSUEsb0JBQW9CLElBQXhCLEVBQThCO0FBQzFCQSxrQ0FBa0IsS0FBS0EsZUFBTCxHQUF1QixJQUFJTCxjQUFKLENBQW1CLEtBQUtPLEtBQUwsQ0FBV0MsTUFBOUIsQ0FBekM7QUFDSDtBQUNELG1CQUFPSCxlQUFQO0FBQ0gsU0FORCxNQU1PO0FBQ0gsbUJBQU8sTUFBTUgsR0FBTixDQUFVSSxHQUFWLENBQVA7QUFDSDtBQUNKO0FBZjRDO0FBaUJqRCxNQUFNTixjQUFOLFNBQTZCVCxrQkFBN0IsQ0FBZ0Q7QUFDNUNDLGdCQUFZQyxLQUFaLEVBQW1CO0FBQ2YsY0FBTUEsS0FBTjtBQUNIO0FBSDJDO0FBS3pDLE1BQU1HLG9EQUFzQixJQUFJSSxjQUFKLENBQW1CTCxTQUFuQixDQUE1QjtBQUNBLE1BQU1FLDBDQUFpQixJQUFJRyxjQUFKLENBQW1CLElBQW5CLENBQXZCO0FBQ0EsTUFBTUYsMENBQWlCLElBQUlFLGNBQUosQ0FBbUIsSUFBbkIsQ0FBdkI7QUFDQSxNQUFNRCw0Q0FBa0IsSUFBSUMsY0FBSixDQUFtQixLQUFuQixDQUF4QjtBQUNBLE1BQU1TLG9CQUFOLENBQTJCO0FBQzlCakIsZ0JBQVllLEtBQVosRUFBbUI7QUFDZixhQUFLQSxLQUFMLEdBQWFBLEtBQWI7QUFDQSxhQUFLRyxHQUFMLEdBQVdILE1BQU1HLEdBQWpCO0FBQ0g7QUFDRGpCLFlBQVE7QUFDSixlQUFPLEtBQUtrQixNQUFMLENBQVksS0FBS0osS0FBTCxDQUFXZCxLQUFYLEVBQVosQ0FBUDtBQUNIO0FBQ0RrQixXQUFPbEIsS0FBUCxFQUFjO0FBQ1YsZUFBTyxDQUFDLENBQUNBLEtBQVQ7QUFDSDtBQVY2QjtRQUFyQmdCLG9CLEdBQUFBLG9CIiwiZmlsZSI6ImxpYi9yZWZlcmVuY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuZXhwb3J0IGNsYXNzIFByaW1pdGl2ZVJlZmVyZW5jZSBleHRlbmRzIENvbnN0UmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZSkge1xuICAgICAgICBzdXBlcih2YWx1ZSk7XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGUodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBVTkRFRklORURfUkVGRVJFTkNFO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gTlVMTF9SRUZFUkVOQ0U7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiBUUlVFX1JFRkVSRU5DRTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBGQUxTRV9SRUZFUkVOQ0U7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBWYWx1ZVJlZmVyZW5jZSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFN0cmluZ1JlZmVyZW5jZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0KF9rZXkpIHtcbiAgICAgICAgcmV0dXJuIFVOREVGSU5FRF9SRUZFUkVOQ0U7XG4gICAgfVxufVxuY2xhc3MgU3RyaW5nUmVmZXJlbmNlIGV4dGVuZHMgUHJpbWl0aXZlUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5sZW5ndGhSZWZlcmVuY2UgPSBudWxsO1xuICAgIH1cbiAgICBnZXQoa2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdsZW5ndGgnKSB7XG4gICAgICAgICAgICBsZXQgeyBsZW5ndGhSZWZlcmVuY2UgfSA9IHRoaXM7XG4gICAgICAgICAgICBpZiAobGVuZ3RoUmVmZXJlbmNlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbGVuZ3RoUmVmZXJlbmNlID0gdGhpcy5sZW5ndGhSZWZlcmVuY2UgPSBuZXcgVmFsdWVSZWZlcmVuY2UodGhpcy5pbm5lci5sZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGxlbmd0aFJlZmVyZW5jZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBzdXBlci5nZXQoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmNsYXNzIFZhbHVlUmVmZXJlbmNlIGV4dGVuZHMgUHJpbWl0aXZlUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZSkge1xuICAgICAgICBzdXBlcih2YWx1ZSk7XG4gICAgfVxufVxuZXhwb3J0IGNvbnN0IFVOREVGSU5FRF9SRUZFUkVOQ0UgPSBuZXcgVmFsdWVSZWZlcmVuY2UodW5kZWZpbmVkKTtcbmV4cG9ydCBjb25zdCBOVUxMX1JFRkVSRU5DRSA9IG5ldyBWYWx1ZVJlZmVyZW5jZShudWxsKTtcbmV4cG9ydCBjb25zdCBUUlVFX1JFRkVSRU5DRSA9IG5ldyBWYWx1ZVJlZmVyZW5jZSh0cnVlKTtcbmV4cG9ydCBjb25zdCBGQUxTRV9SRUZFUkVOQ0UgPSBuZXcgVmFsdWVSZWZlcmVuY2UoZmFsc2UpO1xuZXhwb3J0IGNsYXNzIENvbmRpdGlvbmFsUmVmZXJlbmNlIHtcbiAgICBjb25zdHJ1Y3Rvcihpbm5lcikge1xuICAgICAgICB0aGlzLmlubmVyID0gaW5uZXI7XG4gICAgICAgIHRoaXMudGFnID0gaW5uZXIudGFnO1xuICAgIH1cbiAgICB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Cb29sKHRoaXMuaW5uZXIudmFsdWUoKSk7XG4gICAgfVxuICAgIHRvQm9vbCh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gISF2YWx1ZTtcbiAgICB9XG59Il19