@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.17 kB
JavaScript
import{_ as r}from"../chunks/tslib.es6.js";import t from"./Accessor.js";import{assumeNonNull as s}from"./maybe.js";import{DefaultsStore as o}from"./accessorSupport/DefaultsStore.js";import{setupConstructedDefaults as e}from"./accessorSupport/defaultsStoreUtils.js";import{read as i}from"./accessorSupport/read.js";import{getProperties as c}from"./accessorSupport/utils.js";import{write as p}from"./accessorSupport/write.js";import{subclass as a}from"./accessorSupport/decorators/subclass.js";const u=t=>{let u=class extends t{constructor(...r){super(...r);const t=s(c(this)),i=t.store,p=new o;t.store=p,e(t,i,p)}read(r,t){i(this,r,t)}write(r={},t){return p(this,r,t)}toJSON(r){return this.write({},r)}static fromJSON(r,t){return n.call(this,r,t)}};return u=r([a("esri.core.JSONSupport")],u),u.prototype.toJSON.isDefaultToJSON=!0,u};function n(r,t){if(!r)return null;if(r.declaredClass)throw new Error("JSON object is already hydrated");const s=new this;return s.read(r,t),s}function m(r){return r&&"read"in r&&"write"in r&&"toJSON"in r}let l=class extends(u(t)){};l=r([a("esri.core.JSONSupport")],l);export{l as JSONSupport,u as JSONSupportMixin,m as isJSONSupport};