{"version":3,"file":"ObjectVisualElement.mjs","sources":["../../../../src/render/object/ObjectVisualElement.ts"],"sourcesContent":["import { createBox } from \"../../projection/geometry/models\"\nimport { ResolvedValues } from \"../types\"\nimport { VisualElement } from \"../VisualElement\"\n\ninterface ObjectRenderState {\n    output: ResolvedValues\n}\n\nfunction isObjectKey(key: string, object: Object): key is keyof Object {\n    return key in object\n}\n\nexport class ObjectVisualElement extends VisualElement<\n    Object,\n    ObjectRenderState\n> {\n    type = \"object\"\n\n    readValueFromInstance(instance: Object, key: string) {\n        if (isObjectKey(key, instance)) {\n            const value = instance[key]\n            if (typeof value === \"string\" || typeof value === \"number\") {\n                return value\n            }\n        }\n\n        return undefined\n    }\n\n    getBaseTargetFromProps() {\n        return undefined\n    }\n\n    removeValueFromRenderState(\n        key: string,\n        renderState: ObjectRenderState\n    ): void {\n        delete renderState.output[key]\n    }\n\n    measureInstanceViewportBox() {\n        return createBox()\n    }\n\n    build(renderState: ObjectRenderState, latestValues: ResolvedValues) {\n        Object.assign(renderState.output, latestValues)\n    }\n\n    renderInstance(instance: Object, { output }: ObjectRenderState) {\n        Object.assign(instance, output)\n    }\n\n    sortInstanceNodePosition() {\n        return 0\n    }\n}\n"],"names":[],"mappings":";;;AAQA,SAAS,WAAW,CAAC,GAAW,EAAE,MAAc,EAAA;IAC5C,OAAO,GAAG,IAAI,MAAM,CAAA;AACxB,CAAC;AAEK,MAAO,mBAAoB,SAAQ,aAGxC,CAAA;AAHD,IAAA,WAAA,GAAA;;QAII,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAA;KAuClB;IArCG,qBAAqB,CAAC,QAAgB,EAAE,GAAW,EAAA;AAC/C,QAAA,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;AAC5B,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACxD,gBAAA,OAAO,KAAK,CAAA;aACf;SACJ;AAED,QAAA,OAAO,SAAS,CAAA;KACnB;IAED,sBAAsB,GAAA;AAClB,QAAA,OAAO,SAAS,CAAA;KACnB;IAED,0BAA0B,CACtB,GAAW,EACX,WAA8B,EAAA;AAE9B,QAAA,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KACjC;IAED,0BAA0B,GAAA;QACtB,OAAO,SAAS,EAAE,CAAA;KACrB;IAED,KAAK,CAAC,WAA8B,EAAE,YAA4B,EAAA;QAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;KAClD;AAED,IAAA,cAAc,CAAC,QAAgB,EAAE,EAAE,MAAM,EAAqB,EAAA;AAC1D,QAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;KAClC;IAED,wBAAwB,GAAA;AACpB,QAAA,OAAO,CAAC,CAAA;KACX;AACJ;;;;"}