@vertigis/arcgis-extensions 33.5.6 → 34.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/data/_TableExtension.js +1 -1
  2. package/docs/html/assets/js/search.js +1 -1
  3. package/docs/html/classes/data__tableextension.tableextension.html +8 -8
  4. package/docs/html/classes/data__tableextension.tablefeaturesettings.html +10 -10
  5. package/docs/html/classes/data__tableextension.tableschema.html +13 -13
  6. package/docs/html/classes/data_arcgisservicetableextension.arcgisservicetableextension.html +3 -3
  7. package/docs/html/classes/mapping__layerextension.arraywrappedcollection.html +2 -2
  8. package/docs/html/classes/mapping__layerextension.layerextension.html +41 -41
  9. package/docs/html/classes/mapping__layerextension.layerextensionschema.html +6 -6
  10. package/docs/html/classes/mapping__sublayerextension.sublayerextension.html +48 -48
  11. package/docs/html/classes/mapping__sublayerextension.sublayerschema.html +4 -4
  12. package/docs/html/classes/mapping__sublayerextension.subsublayerextensioncollection.html +6 -6
  13. package/docs/html/classes/mapping_arcgissublayerextension.arcgissublayerextension.html +61 -57
  14. package/docs/html/classes/mapping_arcgissublayerextension.arcgissublayerfeaturesettings.html +8 -8
  15. package/docs/html/classes/mapping_arcgissublayerextension.arcgissublayerrelationshipcollection.html +4 -4
  16. package/docs/html/classes/mapping_arcgissublayerextension.arcgissublayerschema.html +15 -15
  17. package/docs/html/classes/mapping_buildingcomponentsublayerextension.buildingcomponentsublayerextension.html +32 -32
  18. package/docs/html/classes/mapping_buildingcomponentsublayerextension.buildingcomponentsublayerschema.html +2 -2
  19. package/docs/html/classes/mapping_buildinggroupsublayerextension.buildinggroupsublayerextension.html +35 -35
  20. package/docs/html/classes/mapping_buildinggroupsublayerextension.buildinggroupsublayerschema.html +4 -4
  21. package/docs/html/classes/mapping_buildingscenelayerextension.buildingscenelayerextension.html +32 -32
  22. package/docs/html/classes/mapping_buildingscenelayerextension.buildingscenelayerreadonlyschema.html +4 -4
  23. package/docs/html/classes/mapping_buildingsublayerextension.buildingsublayerextension.html +42 -42
  24. package/docs/html/classes/mapping_buildingsublayerextension.buildingsublayerschema.html +3 -3
  25. package/docs/html/classes/mapping_csvlayerextension.csvlayerextension.html +39 -39
  26. package/docs/html/classes/mapping_elevationlayerextension.elevationlayerextension.html +37 -37
  27. package/docs/html/classes/mapping_featurecollectionlayerextension.featurecollectionlayerextension.html +33 -33
  28. package/docs/html/classes/mapping_featurelayerextension.featurelayerextension.html +35 -35
  29. package/docs/html/classes/mapping_featurelayerextensionbase.featurelayerextensionbase.html +37 -37
  30. package/docs/html/classes/mapping_featurelayerextensionbase.featurelayerschema.html +4 -4
  31. package/docs/html/classes/mapping_georsslayerextension.georsslayerextension.html +37 -37
  32. package/docs/html/classes/mapping_graphicslayerextension.graphicslayerextension.html +32 -32
  33. package/docs/html/classes/mapping_grouplayerextension.grouplayerextension.html +30 -30
  34. package/docs/html/classes/mapping_imagerylayerextension.imagerylayerextension.html +37 -37
  35. package/docs/html/classes/mapping_imagerytilelayerextension.imagerytilelayerextension.html +34 -34
  36. package/docs/html/classes/mapping_integratedmeshlayerextension.integratedmeshlayerextension.html +38 -38
  37. package/docs/html/classes/mapping_kmllayerextension.kmllayerextension.html +34 -34
  38. package/docs/html/classes/mapping_kmlsublayerextension.kmlsublayerextension.html +36 -36
  39. package/docs/html/classes/mapping_mapextension.mapextension.html +13 -13
  40. package/docs/html/classes/mapping_mapimagelayerextension.mapimagelayerextension.html +35 -35
  41. package/docs/html/classes/mapping_mapimagesublayerextension.mapimagesublayerextension.html +55 -51
  42. package/docs/html/classes/mapping_openstreetmaplayerextension.openstreetmaplayerextension.html +39 -39
  43. package/docs/html/classes/mapping_pointcloudlayerextension.pointcloudlayerextension.html +37 -37
  44. package/docs/html/classes/mapping_scenelayerextension.scenelayerextension.html +37 -37
  45. package/docs/html/classes/mapping_streamlayerextension.streamlayerextension.html +38 -38
  46. package/docs/html/classes/mapping_streamlayerextension.streamlayerschema.html +4 -4
  47. package/docs/html/classes/mapping_tilelayerextension.tilelayerextension.html +33 -33
  48. package/docs/html/classes/mapping_tilesublayerextension.tilesublayerextension.html +62 -62
  49. package/docs/html/classes/mapping_vectortilelayerextension.vectortilelayerextension.html +36 -36
  50. package/docs/html/classes/mapping_webtilelayerextension.webtilelayerextension.html +39 -39
  51. package/docs/html/classes/mapping_wmslayerextension.wmslayerextension.html +34 -34
  52. package/docs/html/classes/mapping_wmssublayerextension.wmssublayerextension.html +36 -36
  53. package/docs/html/classes/mapping_wmtslayerextension.wmtslayerextension.html +34 -34
  54. package/docs/html/classes/mapping_wmtssublayerextension.wmtssublayerextension.html +53 -53
  55. package/docs/html/interfaces/mapping__sublayerextension.sublayerextensionproperties.html +5 -5
  56. package/docs/html/interfaces/mapping__sublayerextension.sublayerproperties.html +2 -2
  57. package/docs/html/interfaces/mapping__sublayerextension.sublayerreference.html +2 -2
  58. package/docs/html/interfaces/mapping_arcgissublayerextension.arcgissublayerextensioncollection.html +3 -3
  59. package/docs/html/interfaces/mapping_arcgissublayerextension.arcgissublayerextensionproperties.html +6 -6
  60. package/docs/html/interfaces/mapping_arcgissublayerextension.arcgissublayerproperties.html +2 -2
  61. package/docs/html/interfaces/mapping_buildingcomponentsublayerextension.buildingcomponentsublayerextensionproperties.html +3 -3
  62. package/docs/html/interfaces/mapping_buildinggroupsublayerextension.buildinggroupsublayerextensionproperties.html +3 -3
  63. package/docs/html/interfaces/mapping_buildingsublayerextension.buildingsublayerextensionproperties.html +3 -3
  64. package/docs/html/interfaces/mapping_buildingsublayerextension.buildingsublayerproperties.html +2 -2
  65. package/docs/html/interfaces/mapping_kmlsublayerextension.kmlsublayerextensionproperties.html +3 -3
  66. package/docs/html/interfaces/mapping_mapimagesublayerextension.mapimagesublayerextensionproperties.html +4 -4
  67. package/docs/html/interfaces/mapping_mapimagesublayerextension.mapimagesublayerproperties.html +2 -2
  68. package/docs/html/interfaces/mapping_tilesublayerextension.tilesublayerextensionproperties.html +6 -6
  69. package/docs/html/interfaces/mapping_tilesublayerextension.tilesublayerproperties.html +2 -2
  70. package/docs/html/interfaces/mapping_wmssublayerextension.wmssublayerextensionproperties.html +3 -3
  71. package/docs/html/interfaces/mapping_wmssublayerextension.wmssublayerproperties.html +2 -2
  72. package/docs/html/interfaces/mapping_wmtssublayerextension.wmtssublayerextensionproperties.html +5 -5
  73. package/docs/html/interfaces/support_serializable.propertydef.html +1 -1
  74. package/docs/html/modules/mapping__layerextension.html +1 -1
  75. package/docs/html/modules/mapping__sublayerextension.html +3 -3
  76. package/docs/html/modules/mapping_mapextension.html +1 -1
  77. package/docs/html/modules/utilities_extensions.html +85 -15
  78. package/docs/html/modules/version.html +1 -1
  79. package/mapping/ArcGISSublayerExtension.d.ts +4 -0
  80. package/mapping/ArcGISSublayerExtension.js +1 -1
  81. package/mapping/MapExtension.js +1 -1
  82. package/mapping/TileSublayerExtension.d.ts +5 -0
  83. package/mapping/TileSublayerExtension.js +1 -1
  84. package/mapping/WMTSSublayerExtension.d.ts +5 -0
  85. package/mapping/WMTSSublayerExtension.js +1 -1
  86. package/mapping/_LayerExtension.js +1 -1
  87. package/mapping/_SublayerExtension.d.ts +1 -1
  88. package/mapping/_SublayerExtension.js +1 -1
  89. package/mapping/support/DefaultSublayerExtensionFactory.js +1 -1
  90. package/package.json +3 -2
  91. package/support/Serializable.d.ts +1 -1
  92. package/utilities/extensions.d.ts +14 -0
  93. package/utilities/extensions.js +1 -1
  94. package/version.d.ts +1 -1
  95. package/version.js +1 -1
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import Collection from"@arcgis/core/core/Collection";import{InvalidOperationError}from"../InvalidOperationError.js";import{ItemType}from"../ItemType.js";import{applyToEsriTable,fromEsriTable,toEsriApiTable}from"../portal/Table.js";import{serializable}from"../support/Serializable.js";import{CollectionProxy}from"../utilities/CollectionProxy.js";import{isFeatureLayer,isLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{deepClone}from"../utilities/object.js";import{FeatureSettings}from"./FeatureSettings.js";import{FeatureSourceBase}from"./FeatureSourceBase.js";import{Schema}from"./Schema.js";const ERR_INVALID_TABLE_TYPE="Invalid type of table for this type of table extension.",ERR_SPATIAL_SETTINGS_NOT_SUPPORTED="Spatial settings are not supported for tables.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1});export class TableExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.TABLE_EXTENSION;const{table:t}={...this.getDefaults(),...e};if(isLayer(t))checkArg("properties.table",t).satisfies((e=>isFeatureLayer(e)),ERR_INVALID_TABLE_TYPE),this._setTable(t);else{if(!t)throw new Error("Missing 'table' property.");this._deferredTableProperties=t}}get mapExtension(){return this._mapExtension}get table(){return this._table}get capabilities(){return DEFAULT_CAPABILITIES}get title(){return this.table?this.table.title:void 0}static create(e){if(!TableExtension.factory)throw new InvalidOperationError("Cannot create table extension: no table extension factory has been registered.");return TableExtension.factory.create(e)}static _matchesRef(e,t){var i,r,s,a;if(!e||!t)return!1;const o=null!==(r=null===(i=e.table)||void 0===i?void 0:i.id)&&void 0!==r?r:e._deferredTableProperties.id,l=null!==(a=null===(s=e.table)||void 0===s?void 0:s.title)&&void 0!==a?a:e._deferredTableProperties.title,n=t.$ref;return"string"==typeof n?o===n||l===n:!!n&&(o===n.id||l===n.title)}async _createBackingTable(){this.table||this._deferredTableProperties&&this._deferredTableProperties.$ref||(this._setTable(await toEsriApiTable(this._deferredTableProperties)),await this.table.load(),checkArg("properties.table",this.table).satisfies((e=>this._isSupportedTable(e)),ERR_INVALID_TABLE_TYPE),this._deferredTableProperties=void 0)}_setMapExtension(e){const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveTable(),this.notifyChange("mapExtension")}_resolveTable(){var e,t;if(this._table||!this._deferredTableProperties||!this.mapExtension)return;let i;i="string"==typeof this._deferredTableProperties.$ref?{id:this._deferredTableProperties.$ref,title:this._deferredTableProperties.$ref}:this._deferredTableProperties.$ref;let r=null===(e=this._mapExtension.map)||void 0===e?void 0:e.tables.find((e=>e.id===i.id));if(r||(r=null===(t=this._mapExtension.map)||void 0===t?void 0:t.tables.find((e=>e.title===i.title))),r&&this._isSupportedTable(r)){this._setTable(r);const e={table:this._deferredTableProperties};this.assignProperties(e),this._originalRef=this._deferredTableProperties.$ref,this._deferredTableProperties=void 0}}_getSerializableProperties(){return{...super._getSerializableProperties(),table:{serializeModes:["initial","project"],serialize:()=>this.table?this._mapExtension&&(this.table.id||this.table.title)?this._originalRef?{$ref:this._originalRef}:{$ref:{id:this.table.id,title:this.table.title}}:fromEsriTable(this.table):this._deferredTableProperties?deepClone(this._deferredTableProperties):void 0,deserialize:e=>{if(isLayer(e)){if(e!==this.table)throw new Error("Property 'table' is read-only.")}else this.table?applyToEsriTable(e,this.table):this._deferredTableProperties&&(this._deferredTableProperties={...this._deferredTableProperties,...e})}}}}async _onInitialize(){if(await super._onInitialize(),await this._createBackingTable(),this._resolveTable(),!this.table){const e=this._deferredTableProperties.$ref;throw this._mapExtension?new InvalidOperationError(`No table found matching reference "${null==e?void 0:e.toString()}".`):new InvalidOperationError("Cannot resolve table reference: missing parent map extension.")}await this.table.load()}_createSchema(){return new TableSchema(this)}_createFeatureSettings(){return new TableFeatureSettings}_setTable(e){this._table=e,this.notifyChange("table"),this.notifyChange("title"),this.notifyChange("capabilities")}}let TableSchema=class extends Schema{constructor(e){if(super(),this._tableBindings=new Map,this._tableExtension=e,this._bindSettingToTableProperty("primaryKeyField","objectIdField"),this._fieldCollection=this._createFieldCollection(),e.table)this._onTableResolved(e.table);else{const t=e.watch("table",(()=>{this._onTableResolved(e.table),t.remove()}),!0)}}get _fields(){return this._fieldCollection}get geometryType(){}set geometryType(e){throw new InvalidOperationError("Tables do not support a geometry type.")}get spatialReference(){}set spatialReference(e){throw new InvalidOperationError("Tables do not support a spatial reference.")}_getSetting(e,t){return this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]:super._getSetting(e,t)}_setSetting(e,t){this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]=t:super._setSetting(e,t)}_bindSettingToTableProperty(e,t){const i=null!=t?t:e;this._tableBindings.set(e,i),this._tableExtension.watch(`table.${i}`,(()=>this.notifyChange(e)),!0)}_onTableResolved(e){for(const t of this._tableBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}_createFieldCollection(){return new FieldCollection(this._tableExtension)}};TableSchema=__decorate([serializable],TableSchema);export{TableSchema};class FieldCollection extends CollectionProxy{constructor(e){super(),this._tableResolved=!1;const t=e.table;if(null==t?void 0:t.fields)this._onTableResolved(e.table);else{this._collection=new Collection;const t=e.watch(["table","table.loaded"],(()=>{const i=e.table;(null==i?void 0:i.fields)&&(this._onTableResolved(e.table),t.remove())}),!0)}}_onTableResolved(e){if(!this._tableResolved){this._tableResolved=!0;const t=e;this.length&&(t.fields.length=0,t.fields.push(...this.toArray())),t.fields||(t.fields=[]),this._collection=wrapArrayWithCollection(t.fields)}}}function wrapArrayWithCollection(e){const t=new Collection;return Object.defineProperty(t,"_items",{get:()=>e}),Object.defineProperty(t,"length",{get:()=>e.length,set:t=>e.length=t}),t}let TableFeatureSettings=class extends FeatureSettings{get returnGeometry(){}set returnGeometry(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get outSpatialReference(){}set outSpatialReference(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get maxAllowableOffset(){}set maxAllowableOffset(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get zoomScale(){}set zoomScale(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get zoomFactor(){}set zoomFactor(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}};TableFeatureSettings=__decorate([serializable],TableFeatureSettings);export{TableFeatureSettings};
1
+ import{__decorate}from"tslib";import Collection from"@arcgis/core/core/Collection";import{InvalidOperationError}from"../InvalidOperationError.js";import{ItemType}from"../ItemType.js";import{applyToEsriTable,fromEsriTable,toEsriApiTable}from"../portal/Table.js";import{serializable}from"../support/Serializable.js";import{CollectionProxy}from"../utilities/CollectionProxy.js";import{isFeatureLayer,isLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{deepClone}from"../utilities/object.js";import{FeatureSettings}from"./FeatureSettings.js";import{FeatureSourceBase}from"./FeatureSourceBase.js";import{Schema}from"./Schema.js";const ERR_INVALID_TABLE_TYPE="Invalid type of table for this type of table extension.",ERR_SPATIAL_SETTINGS_NOT_SUPPORTED="Spatial settings are not supported for tables.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1});export class TableExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.TABLE_EXTENSION;const{table:t}={...this.getDefaults(),...e};if(isLayer(t))checkArg("properties.table",t).satisfies((e=>isFeatureLayer(e)),ERR_INVALID_TABLE_TYPE),this._setTable(t);else{if(!t)throw new Error("Missing 'table' property.");this._deferredTableProperties=t}}get mapExtension(){return this._mapExtension}get table(){return this._table}get capabilities(){return DEFAULT_CAPABILITIES}get title(){var e,t,i,r,s,a,l,o,n,d,b,h;return null!==(h=null!==(r=null!==(t=null===(e=this.table)||void 0===e?void 0:e.title)&&void 0!==t?t:null===(i=this._deferredTableProperties)||void 0===i?void 0:i.title)&&void 0!==r?r:"string"==typeof(null===(s=this._deferredTableProperties)||void 0===s?void 0:s.$ref)?null===(a=this._deferredTableProperties)||void 0===a?void 0:a.$ref:null!==(n=null===(o=null===(l=this._deferredTableProperties)||void 0===l?void 0:l.$ref)||void 0===o?void 0:o.title)&&void 0!==n?n:null===(b=null===(d=this._deferredTableProperties)||void 0===d?void 0:d.$ref)||void 0===b?void 0:b.id)&&void 0!==h?h:"Table"}static create(e){if(!TableExtension.factory)throw new InvalidOperationError("Cannot create table extension: no table extension factory has been registered.");return TableExtension.factory.create(e)}static _matchesRef(e,t){var i,r,s,a;if(!e||!t)return!1;const l=null!==(r=null===(i=e.table)||void 0===i?void 0:i.id)&&void 0!==r?r:e._deferredTableProperties.id,o=null!==(a=null===(s=e.table)||void 0===s?void 0:s.title)&&void 0!==a?a:e._deferredTableProperties.title,n=t.$ref;return"string"==typeof n?l===n||o===n:!!n&&(l===n.id||o===n.title)}async _createBackingTable(){this.table||this._deferredTableProperties&&this._deferredTableProperties.$ref||(this._setTable(await toEsriApiTable(this._deferredTableProperties)),await this.table.load(),checkArg("properties.table",this.table).satisfies((e=>this._isSupportedTable(e)),ERR_INVALID_TABLE_TYPE),this._deferredTableProperties=void 0)}_setMapExtension(e){const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveTable(),this.notifyChange("mapExtension")}_resolveTable(){var e,t;if(this._table||!this._deferredTableProperties||!this.mapExtension)return;let i;i="string"==typeof this._deferredTableProperties.$ref?{id:this._deferredTableProperties.$ref,title:this._deferredTableProperties.$ref}:this._deferredTableProperties.$ref;let r=null===(e=this._mapExtension.map)||void 0===e?void 0:e.tables.find((e=>e.id===i.id));if(r||(r=null===(t=this._mapExtension.map)||void 0===t?void 0:t.tables.find((e=>e.title===i.title))),r&&this._isSupportedTable(r)){this._setTable(r);const e={table:this._deferredTableProperties};this.assignProperties(e),this._originalRef=this._deferredTableProperties.$ref,this._deferredTableProperties=void 0}}_getSerializableProperties(){return{...super._getSerializableProperties(),table:{serializeModes:["initial","project"],serialize:()=>this.table?this._mapExtension&&(this.table.id||this.table.title)?this._originalRef?{$ref:this._originalRef}:{$ref:{id:this.table.id,title:this.table.title}}:fromEsriTable(this.table):this._deferredTableProperties?deepClone(this._deferredTableProperties):void 0,deserialize:e=>{if(isLayer(e)){if(e!==this.table)throw new Error("Property 'table' is read-only.")}else this.table?applyToEsriTable(e,this.table):this._deferredTableProperties&&(this._deferredTableProperties={...this._deferredTableProperties,...e})}}}}async _onInitialize(){if(await super._onInitialize(),await this._createBackingTable(),this._resolveTable(),!this.table){const e=this._deferredTableProperties.$ref;throw this._mapExtension?new InvalidOperationError(`No table found matching reference "${null==e?void 0:e.toString()}".`):new InvalidOperationError("Cannot resolve table reference: missing parent map extension.")}await this.table.load()}_createSchema(){return new TableSchema(this)}_createFeatureSettings(){return new TableFeatureSettings}_setTable(e){this._table=e,this.notifyChange("table"),this.notifyChange("title"),this.notifyChange("capabilities")}}let TableSchema=class extends Schema{constructor(e){if(super(),this._tableBindings=new Map,this._tableExtension=e,this._bindSettingToTableProperty("primaryKeyField","objectIdField"),this._fieldCollection=this._createFieldCollection(),e.table)this._onTableResolved(e.table);else{const t=e.watch("table",(()=>{this._onTableResolved(e.table),t.remove()}),!0)}}get _fields(){return this._fieldCollection}get geometryType(){}set geometryType(e){throw new InvalidOperationError("Tables do not support a geometry type.")}get spatialReference(){}set spatialReference(e){throw new InvalidOperationError("Tables do not support a spatial reference.")}_getSetting(e,t){return this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]:super._getSetting(e,t)}_setSetting(e,t){this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]=t:super._setSetting(e,t)}_bindSettingToTableProperty(e,t){const i=null!=t?t:e;this._tableBindings.set(e,i),this._tableExtension.watch(`table.${i}`,(()=>this.notifyChange(e)),!0)}_onTableResolved(e){for(const t of this._tableBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}_createFieldCollection(){return new FieldCollection(this._tableExtension)}};TableSchema=__decorate([serializable],TableSchema);export{TableSchema};class FieldCollection extends CollectionProxy{constructor(e){super(),this._tableResolved=!1;const t=e.table;if(null==t?void 0:t.fields)this._onTableResolved(e.table);else{this._collection=new Collection;const t=e.watch(["table","table.loaded"],(()=>{const i=e.table;(null==i?void 0:i.fields)&&(this._onTableResolved(e.table),t.remove())}),!0)}}_onTableResolved(e){if(!this._tableResolved){this._tableResolved=!0;const t=e;this.length&&(t.fields.length=0,t.fields.push(...this.toArray())),t.fields||(t.fields=[]),this._collection=wrapArrayWithCollection(t.fields)}}}function wrapArrayWithCollection(e){const t=new Collection;return Object.defineProperty(t,"_items",{get:()=>e}),Object.defineProperty(t,"length",{get:()=>e.length,set:t=>e.length=t}),t}let TableFeatureSettings=class extends FeatureSettings{get returnGeometry(){}set returnGeometry(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get outSpatialReference(){}set outSpatialReference(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get maxAllowableOffset(){}set maxAllowableOffset(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get zoomScale(){}set zoomScale(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}get zoomFactor(){}set zoomFactor(e){throw new InvalidOperationError(ERR_SPATIAL_SETTINGS_NOT_SUPPORTED)}};TableFeatureSettings=__decorate([serializable],TableFeatureSettings);export{TableFeatureSettings};