UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 932 B
import{ensureOneOfType as t}from"../../core/accessorSupport/ensureType.js";import e from"../elements/AttachmentElement.js";import p from"../elements/Element.js";import r from"../elements/FieldElement.js";import o from"../elements/RelationshipElement.js";function n(t){return{typesWithGroup:{base:p,key:"type",typeMap:{attachment:e,field:r,group:t,relationship:o}},typesWithoutGroup:{base:p,key:"type",typeMap:{attachment:e,field:r,relationship:o}}}}function i(t,e,p=!0){if(!t)return null;const r=p?e.typesWithGroup.typeMap:e.typesWithoutGroup.typeMap;return t.filter((t=>r[t.type])).map((t=>r[t.type].fromJSON(t)))}function u(t,e,p=!0){if(!t)return null;const r=p?e.typesWithGroup.typeMap:e.typesWithoutGroup.typeMap;return t.filter((t=>r[t.type])).map((t=>t.toJSON()))}function s(e,p,r=!0){return e?e.map((e=>t(r?p.typesWithGroup:p.typesWithoutGroup,e))):null}export{n as buildTypeMaps,s as ensureType,i as fromJSON,u as toJSON};