{"code":"import { Unit } from \"./unit\";\r\nvar VarType = /** @class */ (function () {\r\n    function VarType(data) {\r\n        if (data === void 0) { data = {}; }\r\n        this.availableInputUnits = [];\r\n        this.availableOutputUnits = [];\r\n        this.schema = {};\r\n        this.name = data.name;\r\n        this.slug = data.slug;\r\n        this.unitFullName = data.storage_units_full;\r\n        this.rawData = data;\r\n        if (\"available_input_units\" in data) {\r\n            var that_1 = this;\r\n            data[\"available_input_units\"].forEach(function (u) {\r\n                var unit = new Unit(u);\r\n                that_1.availableInputUnits.push(unit);\r\n            });\r\n        }\r\n        if (\"available_output_units\" in data) {\r\n            var that_2 = this;\r\n            data[\"available_output_units\"].forEach(function (u) {\r\n                var unit = new Unit(u);\r\n                that_2.availableOutputUnits.push(unit);\r\n            });\r\n        }\r\n        if ('schema' in data) {\r\n            var schema = data['schema'];\r\n            if (schema && 'keys' in schema) {\r\n                this.schema = schema.keys;\r\n            }\r\n        }\r\n    }\r\n    VarType.prototype.toJson = function () {\r\n        return this.rawData;\r\n    };\r\n    VarType.prototype.getInputUnitForSlug = function (slug) {\r\n        var resultingUnit = null;\r\n        this.availableInputUnits.forEach(function (u) {\r\n            if (u.slug === slug) {\r\n                resultingUnit = u;\r\n            }\r\n        });\r\n        return resultingUnit;\r\n    };\r\n    VarType.prototype.getOutputUnitForSlug = function (slug) {\r\n        var resultingUnit = null;\r\n        this.availableOutputUnits.forEach(function (u) {\r\n            if (u.slug === slug) {\r\n                resultingUnit = u;\r\n            }\r\n        });\r\n        return resultingUnit;\r\n    };\r\n    VarType.prototype.getASchemaObj = function (schemaKey) {\r\n        return this.schema && schemaKey in this.schema ? this.schema[schemaKey] : null;\r\n    };\r\n    VarType.prototype.getOutputUnitsForSchema = function (schemaKey) {\r\n        var schemaObj = this.getASchemaObj(schemaKey);\r\n        if (schemaObj && 'output_units' in schemaObj) {\r\n            return schemaObj['output_units'];\r\n        }\r\n    };\r\n    return VarType;\r\n}());\r\nexport { VarType };\r\n//# sourceMappingURL=vartype.js.map","map":{"version":3,"file":"vartype.js","sourceRoot":"","sources":["../src/models/vartype.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAkB5B;IAWE,iBAAY,IAAc;QAAd,qBAAA,EAAA,SAAc;QAJnB,wBAAmB,GAAgB,EAAE,CAAC;QACtC,yBAAoB,GAAgB,EAAE,CAAC;QACvC,WAAM,GAAwB,EAAE,CAAC;QAGtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,uBAAuB,IAAI,IAAI,EAAE;YACnC,IAAI,MAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAM;gBACpD,IAAI,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,wBAAwB,IAAI,IAAI,EAAE;YACpC,IAAI,MAAI,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAM;gBACrD,IAAI,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;aAC3B;SACF;IACH,CAAC;IAEM,wBAAM,GAAb;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,qCAAmB,GAA1B,UAA2B,IAAY;QACrC,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAA,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACnB,aAAa,GAAG,CAAC,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,sCAAoB,GAA3B,UAA4B,IAAY;QACtC,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAA,CAAC;YACjC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACnB,aAAa,GAAG,CAAC,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,+BAAa,GAApB,UAAqB,SAAiB;QACpC,OAAO,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAEM,yCAAuB,GAA9B,UAA+B,SAAiB;QAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,SAAS,IAAI,cAAc,IAAI,SAAS,EAAE;YAC5C,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC;SAClC;IACH,CAAC;IACH,cAAC;AAAD,CAAC,AAhFD,IAgFC"},"dts":{"name":"/Users/jheadley/Documents/GitHub/ts-iotile-cloud/models/vartype.d.ts","text":"import { Unit } from \"./unit\";\r\nexport interface VarTypeDictionary {\r\n    [slug: string]: VarType;\r\n}\r\nexport interface SchemaKey {\r\n    type: string;\r\n    units: string;\r\n    decimal: number;\r\n    label: string;\r\n    output_units: any;\r\n}\r\nexport interface SchemaKeyDictionary {\r\n    [index: string]: SchemaKey;\r\n}\r\nexport declare class VarType {\r\n    [key: string]: any;\r\n    name: string;\r\n    slug: string;\r\n    rawData: any;\r\n    unitFullName: string;\r\n    availableInputUnits: Array<Unit>;\r\n    availableOutputUnits: Array<Unit>;\r\n    schema: SchemaKeyDictionary;\r\n    constructor(data?: any);\r\n    toJson(): any;\r\n    getInputUnitForSlug(slug: string): Unit | null;\r\n    getOutputUnitForSlug(slug: string): Unit | null;\r\n    getASchemaObj(schemaKey: string): SchemaKey | null;\r\n    getOutputUnitsForSchema(schemaKey: string): any;\r\n}\r\n"}}
