@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 5.56 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{__decorate as e}from"tslib";import t from"../../../core/Logger.js";import{getKey as r}from"../../../core/object.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import n from"../../../geometry/SpatialReference.js";import o from"../../../layers/support/CodedValue.js";import a from"../../../layers/support/CodedValueDomain.js";import s from"../../../layers/support/Domain.js";import p from"../../../layers/support/RangeDomain.js";import d from"../DataModel.js";import l from"../EntityType.js";import u from"../FieldIndex.js";import f from"../GraphObjectType.js";import m from"../GraphProperty.js";import c from"../RelationshipType.js";import _ from"../SearchIndex.js";import y from"../SourceTypeValueBehavior.js";import{EsriUuidMethodHintTypes as g,EsriIdentifierInfoType as h,EsriNamedTypeCategory as v,NamedObjectTypes as j,EsriGraphPropertyRole as b,EsriGeometryTypes as w,EsriFieldTypes as T}from"../types.js";import{EsriDomainType as z}from"./WasmDataModelWrapperInterfaces.js";let I=!1;function L(e){e.deleteLater(),I=!1;const i=new d({timestamp:e.timestamp,spatialReference:new n(e.spatial_reference),strict:e.strict,objectIdField:e.objectid_property,globalIdField:e.globalid_property,arcgisManaged:e.arcgis_managed,identifierInfo:{identifierMappingInfo:{identifierInfoType:r(h,e.identifier_info?.identifier_mapping_info?.identifier_info_type?.value),databaseNativeIdentifier:e.identifier_info?.identifier_mapping_info?.database_native_identifier,uniformPropertyIdentifier:{identifierPropertyName:e.identifier_info?.identifier_mapping_info?.uniform_property_identifier?.identifier_property_name}},identifierGenerationInfo:{uuidMethodHint:r(g,e.identifier_info?.identifier_generation_info?.uuid_method_hint?.value)}},searchIndexes:B(e.search_indexes),entityTypes:q(e.entity_types),relationshipTypes:C(e.relationship_types),metaEntityTypes:q(e.meta_entity_types),provenanceSourceTypeValues:O(e.provenance_source_type_values.value_behavior_array),domains:W(e)});return I&&t.getLogger("esri.rest.knowledgeGraph.knowledgeGraphService").warnOnce("A big integer field was detected in the retrieved data model. The `big-integer` field type is not fully supported in web clients. Please see https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#type"),i}function V(e){return e.deleteLater(),new l(D(e))}function x(e){return e.deleteLater(),new u({name:e.name,unique:e.unique,ascending:e.ascending,description:e.description,fieldNames:E(e.fields)})}function M(e){return e.deleteLater(),new f(D(e))}function D(e){return{name:e.name,alias:e.alias,role:r(j,e.role.value),strict:e.strict,properties:N(e.properties),fieldIndexes:R(e.field_indexes)}}function F(e){return e.deleteLater(),new m({alias:e.alias,name:e.name,fieldType:r(T,e.field_type.value)??void 0,geometryType:r(w,e.geometry_type.value)??null,hasM:e.has_m,hasZ:e.has_z,nullable:e.nullable,editable:e.editable,required:e.required,defaultVisibility:e.default_visibility,systemMaintained:e.system_maintained,role:r(b,e.role.value),defaultValue:e.default_value,domain:e.domain})}let G=class extends s{};function P(e){return e.get_domain_type().value===z.range?new p({name:e.name,minValue:e.range_domain.value_at(0),maxValue:e.range_domain.value_at(1)}):e.get_domain_type().value===z.codedValue?new a({name:e.name,codedValues:A(e)}):new G({name:e.name})}function S(e){e.deleteLater();const t=D(e),r=[];for(let i=0;i<e.end_points.size();i++){const t=e.end_points.get(i);r.push({originEntityType:t.origin_entity_type,destinationEntityType:t.dest_entity_type})}return e.end_points.delete(),new c(Object.assign({endPoints:r},t))}function k(e){return new y({behavior:e.behavior,value:e.value})}function q(e){const t=[];for(let r=0;r<e.size();r++)t.push(V(e.get(r)));return e.delete(),t}function E(e){const t=[];for(let r=0;r<e.size();r++)t.push(e.get(r));return e.delete(),t}function N(e){const t=[];for(let r=0;r<e.size();r++){const i=F(e.get(r));"esriFieldTypeBigInteger"===i.fieldType&&(I=!0),t.push(i)}return e.delete(),t}function R(e){const t=[];for(let r=0;r<e.size();r++)t.push(x(e.get(r)));return e.delete(),t}function C(e){const t=[];for(let r=0;r<e.size();r++)t.push(S(e.get(r)));return e.delete(),t}function O(e){const t=[];for(let r=0;r<e.size();r++){const i=e.get(r);i.deleteLater(),t.push(k(i))}return e.delete(),t}function B(e){const t=[];for(let i=0;i<e.size();i++){const n=new _,o=e.get(i);n.name=o.name,n.supportedCategory=r(v,o.supported_category.value);const a=o.analyzers.size();for(let e=0;e<a;e++)n.analyzers.push({name:o.analyzers.get(e).name});o.analyzers.delete();for(let e=0;e<o.search_properties.keys().size();e++){const t=o.search_properties.keys().get(e),r=o.search_properties.get(t),i=[];for(let e=0;e<r.property_names.size();e++)i.push(r.property_names.get(e));n.searchProperties.set(t,{propertyNames:i})}t.push(n)}return e.delete(),t}function W(e){const t=[];for(let r=0;r<e.domains_count();r++){const i=e.domain_at(r);i.deleteLater(),t.push(P(i))}return t}function A(e){const t=[];for(let r=0;r<e.coded_value_domain.coded_values_count();r++){const i=e.coded_value_domain.coded_value_at(r);i.deleteLater(),t.push(new o({name:i.name,code:i.get_code()}))}return t}G=e([i("esri.rest.knowledgeGraph.wasmInterface.wasmToDataModelFactories")],G);export{L as wasmToDataModel,P as wasmToDomain,V as wasmToEntityType,x as wasmToFieldIndex,M as wasmToGraphObjectType,F as wasmToGraphProperty,S as wasmToRelationshipType,k as wasmToSourceTypeValueBehavior};