UNPKG

terriajs

Version:

Geospatial data visualization platform.

34 lines 1.06 kB
import { computed } from "mobx"; import Result from "../../Core/Result"; import Trait from "../Trait"; export default function anyTrait(options) { return function (target, propertyKey) { const constructor = target.constructor; if (!constructor.traits) { constructor.traits = {}; } constructor.traits[propertyKey] = new AnyTrait(propertyKey, options, constructor); }; } export class AnyTrait extends Trait { decoratorForFlattened = computed.struct; getValue(model) { for (const stratum of model.strataTopToBottom.values()) { const stratumAny = stratum; if (stratumAny !== undefined && stratumAny[this.id] !== undefined) { return stratumAny[this.id]; } } return undefined; } fromJson(_model, _stratumName, jsonValue) { return new Result(jsonValue); } toJson(value) { return value; } isSameType(trait) { return trait instanceof AnyTrait; } } //# sourceMappingURL=anyTrait.js.map