{"code":"import { Mdo } from \"./mdo\";\r\nimport { Unit } from \"./unit\";\r\n;\r\nvar Variable = /** @class */ (function () {\r\n    function Variable(data) {\r\n        if (data === void 0) { data = {}; }\r\n        this.inputUnit = null;\r\n        this.outputUnit = null;\r\n        this.id = data.id;\r\n        this.slug = data.slug;\r\n        this.lid = data.lid;\r\n        this.name = data.name || data.slug;\r\n        this.units = data.units;\r\n        this.appOnly = data.app_only || false;\r\n        this.webOnly = data.web_only || false;\r\n        this.sysVar = data.project === null;\r\n        this.about = data.about || \"\";\r\n        this.mdo = new Mdo(data);\r\n        this.type = data.var_type;\r\n        this.rawData = data;\r\n        this.project = data.project;\r\n        this.decimalPlaces = data.decimal_places || 0;\r\n        if (data.input_unit) {\r\n            this.inputUnit = new Unit(data.input_unit);\r\n        }\r\n        if (data.output_unit) {\r\n            this.outputUnit = new Unit(data.output_unit);\r\n        }\r\n    }\r\n    Variable.prototype.toJson = function () {\r\n        return this.rawData;\r\n    };\r\n    Variable.prototype.getHexLid = function () {\r\n        if (this.slug) {\r\n            var elements = this.slug.split(\"--\");\r\n            if (elements.length === 3) {\r\n                return elements[2];\r\n            }\r\n        }\r\n        return \"\";\r\n    };\r\n    Variable.prototype.getPatchPayload = function () {\r\n        var basic = {\r\n            name: this.name\r\n        };\r\n        var payload = Object.assign(basic, this.mdo.getPatchPayload());\r\n        if (this.units) {\r\n            payload['units'] = this.units;\r\n        }\r\n        if (this.inputUnit) {\r\n            payload['input_unit'] = this.inputUnit.slug;\r\n        }\r\n        if (this.outputUnit) {\r\n            payload['output_unit'] = this.outputUnit.slug;\r\n        }\r\n        if (this.about) {\r\n            payload['about'] = this.about;\r\n        }\r\n        return payload;\r\n    };\r\n    return Variable;\r\n}());\r\nexport { Variable };\r\n//# sourceMappingURL=variable.js.map","map":{"version":3,"file":"variable.js","sourceRoot":"","sources":["../src/models/variable.ts"],"names":[],"mappings":"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"},"dts":{"name":"/Users/jheadley/Documents/GitHub/ts-iotile-cloud/models/variable.d.ts","text":"import { Mdo } from \"./mdo\";\r\nimport { Unit } from \"./unit\";\r\nexport interface VariableDictionary {\r\n    [index: string]: Variable;\r\n}\r\nexport interface VariableTemplate {\r\n    id: number;\r\n    label: string;\r\n    lid_hex: string;\r\n    derived_lid_hex: string;\r\n    var_type: string;\r\n    default_input_unit: string;\r\n    default_output_unit: string;\r\n    ctype: string;\r\n    m: number;\r\n    d: number;\r\n    o: number;\r\n    app_only: boolean;\r\n    web_only: boolean;\r\n}\r\nexport declare class Variable {\r\n    [key: string]: any;\r\n    id: string;\r\n    slug: string;\r\n    lid: number;\r\n    name: string;\r\n    units: string;\r\n    appOnly: boolean;\r\n    webOnly: boolean;\r\n    sysVar: boolean;\r\n    about: string;\r\n    mdo: Mdo;\r\n    inputUnit: Unit | null;\r\n    outputUnit: Unit | null;\r\n    decimalPlaces: number;\r\n    type: string;\r\n    rawData: any;\r\n    project: string;\r\n    constructor(data?: any);\r\n    toJson(): any;\r\n    getHexLid(): string;\r\n    getPatchPayload(): any;\r\n}\r\n"}}
