/* COPYRIGHT Esri - https://js.arcgis.com/5.0.18/LICENSE.txt */
import{__decorate as r}from"tslib";import{clone as t}from"../core/lang.js";import{numericHash as o}from"../core/string.js";import{property as e,subclass as s}from"../core/accessorSupport/decorators.js";import{collectArcadeFieldNames as a}from"../layers/support/fieldUtils.js";import i from"./Symbol.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{writer as c}from"../core/accessorSupport/decorators/writer.js";import{enumeration as l}from"../core/accessorSupport/decorators/enumeration.js";var n;let m=n=class extends i{constructor(r){super(r),this.data=null,this.type="cim"}readData(r,t){return t}writeData(r,t){Object.assign(t,r)}async collectRequiredFields(r,t){if("CIMSymbolReference"===this.data?.type){const o=this.data.primitiveOverrides;if(o){const e=o.map(o=>{const e=o.valueExpressionInfo;return e?a(r,t,null,e.expression):null});await Promise.all(e)}}}clone(){return new n({data:t(this.data)})}hash(){return o(JSON.stringify(this.data)).toString()}};r([e({json:{write:!1}})],m.prototype,"color",void 0),r([e({json:{write:!0}})],m.prototype,"data",void 0),r([p("data",["symbol"])],m.prototype,"readData",null),r([c("data",{})],m.prototype,"writeData",null),r([l({CIMSymbolReference:"cim"},{readOnly:!0})],m.prototype,"type",void 0),m=n=r([s("esri.symbols.CIMSymbol")],m);export{m as default};
