expo-arcgis 0.3.1 → 0.3.3

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.
package/README.md CHANGED
@@ -6,7 +6,7 @@ SDK-faithful component API to JS/TS — `<MapView>` / `<SceneView>` with layers,
6
6
  editing, query, analysis, geocoding, routing, geoprocessing, utility networks, offline, real-time and
7
7
  authentication.
8
8
 
9
- 📖 **[Documentation & samples →](https://alex-krassavin.github.io/expo-arcgis)**
9
+ 📖 **[Documentation & samples →](https://mapforge.dev/expo-arcgis)**
10
10
 
11
11
  ## Features
12
12
 
@@ -3,6 +3,7 @@ package expo.modules.arcgis
3
3
  import android.content.Context
4
4
  import com.arcgismaps.ApiKey
5
5
  import com.arcgismaps.ArcGISEnvironment
6
+ import com.arcgismaps.LicenseKey
6
7
  import com.arcgismaps.httpcore.authentication.OAuthApplicationCredential
7
8
  import com.arcgismaps.httpcore.authentication.OAuthUserCredential
8
9
  import com.arcgismaps.httpcore.authentication.TokenCredential
@@ -33,6 +34,14 @@ class ExpoArcgisModule : Module() {
33
34
  ArcGISEnvironment.apiKey = ApiKey.create(apiKey)
34
35
  }
35
36
 
37
+ // Apply a deployment license string to remove the "Licensed for Developer Use Only" watermark.
38
+ // Returns the license status: "valid" / "invalid" / "expired" / "loginRequired".
39
+ Function("setLicense") { licenseKey: String ->
40
+ val key = LicenseKey.create(licenseKey)
41
+ val status = if (key != null) ArcGISEnvironment.setLicense(key)?.licenseStatus else null
42
+ status?.javaClass?.simpleName?.replaceFirstChar { it.lowercase() } ?: "invalid"
43
+ }
44
+
36
45
  // Token auth for secured services (e.g. utility-network feature services) — store the login;
37
46
  // the challenge handler mints a TokenCredential for the exact challenged resource on demand.
38
47
  // `tokenExpirationMinutes` is optional; the server's default expiry is used when omitted.
@@ -252,6 +252,12 @@ export type GeoModelRef = MapRef | SceneRef;
252
252
  declare class ExpoArcgisModule extends NativeModule {
253
253
  /** Sets the ArcGIS API key (access token) used to authenticate with ArcGIS services. */
254
254
  setApiKey(apiKey: string): void;
255
+ /**
256
+ * Applies a deployment license string, removing the "Licensed for Developer Use Only" watermark.
257
+ * Returns the resulting license status (`"valid"`, `"invalid"`, `"expired"` or `"loginRequired"`).
258
+ * Separate from {@link setApiKey}: the key authenticates services, the license unlocks deployment.
259
+ */
260
+ setLicense(licenseKey: string): string;
255
261
  /**
256
262
  * Stores a login used to authenticate token-secured services (e.g. a utility-network feature
257
263
  * service). The challenge handler mints a `TokenCredential` for the exact resource the SDK
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoArcgisModule.d.ts","sourceRoot":"","sources":["../src/ExpoArcgisModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,QAAQ,EACR,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,sGAAsG;AACtG,MAAM,CAAC,OAAO,OAAO,QAAQ,CAC3B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/E,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CACnD;AAED,8FAA8F;AAC9F,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,QAAQ;IACjD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IACpC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;CACxC;AAED,oHAAoH;AACpH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC/C,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAClC,QAAQ,IAAI,IAAI;IAChB,SAAS,IAAI,IAAI;IACjB,SAAS,IAAI,IAAI;CAClB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,QAAQ;IACnD,aAAa,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1D,iBAAiB,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3D,WAAW,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC9D,eAAe,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAC7E,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IACnD,UAAU,CACR,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,CAAC,EAAE,QAAQ,EACnB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,sBAAsB,CACpB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,CAAC,EAAE,QAAQ,EACnB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,CAAC,EAAE,QAAQ,EACnB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IACjG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACxE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACrG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9H,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IACvD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACpH;;;;;OAKG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAC1F;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,YAAY;IAC7D,aAAa,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC9C,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACvE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1C,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,aAAa,IAAI,OAAO;IACxB,cAAc,IAAI,MAAM;IACxB,qBAAqB,IAAI,MAAM;IAC/B,wBAAwB,IAAI,OAAO;IACnC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;CAClD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAClC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,eAAe,IAAI,OAAO;IAC1B,oBAAoB,IAAI,MAAM,EAAE;IAChC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3E,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,IAAI,CAAC;IAChB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;CACpD;AAED,6FAA6F;AAC7F,KAAK,wBAAwB,GAAG;IAC9B,wBAAwB,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,gBAAgB,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE,qBAAqB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC7D,CAAC;AAEF,2FAA2F;AAC3F,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,QAAQ,CAAC,wBAAwB,CAAC;IACnF,oBAAoB,IAAI,OAAO,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;SAAE,EAAE,CAAC;KAChF,CAAC;IACF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAC1F,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAC/E;AAED,mEAAmE;AACnE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;IAClD,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CACnD;AAED,sFAAsF;AACtF,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IAC1D,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IACrC,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IACxC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;CAC7C;AAED,sGAAsG;AACtG,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IACrE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAClC;AAED,oEAAoE;AACpE,KAAK,oBAAoB,GAAG;IAC1B,gBAAgB,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,4GAA4G;AAC5G,MAAM,CAAC,OAAO,OAAO,WAAW,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/E,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CACnD;AAED,kFAAkF;AAClF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;CAAG;AAEvD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,WAAW;CAAG;AAEjE,uGAAuG;AACvG,KAAK,iBAAiB,GAAG;IACvB,wBAAwB,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,gBAAgB,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW,CAAC,iBAAiB,CAAC;CAAG;AAE7E;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,WAAW,CAAC,iBAAiB,CAAC;CAAG;AAEvF,qFAAqF;AACrF,KAAK,yBAAyB,GAAG;IAC/B,mBAAmB,CAAC,OAAO,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;CAAG;AAE7F,wEAAwE;AACxE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IAC1D,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI;IAC7C,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI;IAChD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CACnC;AAED,kFAAkF;AAClF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAY,CAAC,oBAAoB,CAAC;IAC/E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC3B,IAAI,IAAI,QAAQ,GAAG,IAAI;IACvB,aAAa,IAAI,IAAI;IACrB,IAAI,IAAI,IAAI;IACZ,IAAI,IAAI,IAAI;IACZ,qBAAqB,IAAI,IAAI;CAC9B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAC5C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IACpC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;CACxC;AAED,wEAAwE;AACxE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAChD,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IACpC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;CACxC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAY;IACzD,wFAAwF;IACxF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAClC,4EAA4E;IAC5E,eAAe,IAAI;QAAE,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE;IAC/C,oDAAoD;IACpD,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,wBAAwB,EAAE,GAC5C,OAAO,CAAC,kBAAkB,CAAC;IAC9B,8FAA8F;IAC9F,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAC9B,sDAAsD;IACtD,6BAA6B,IAAI,OAAO,CAAC,8BAA8B,EAAE,CAAC;IAC1E,0FAA0F;IAC1F,sBAAsB,CACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAC9B,qDAAqD;IACrD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IACxF,wGAAwG;IACxG,yBAAyB,IAAI,4BAA4B,EAAE;IAC3D,oFAAoF;IACpF,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IACxC,2FAA2F;IAC3F,uBAAuB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1E;AAED,qEAAqE;AACrE,KAAK,SAAS,GAAG;IAAE,UAAU,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC5D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CACxB;AAED,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C,OAAO,OAAO,gBAAiB,SAAQ,YAAY;IACjD,wFAAwF;IACxF,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC/B;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACnG;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAC5C,0EAA0E;IAC1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACxB,6FAA6F;IAC7F,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxF,gGAAgG;IAChG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACrF,8EAA8E;IAC9E,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACjD,+FAA+F;IAC/F,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1F,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC;IACzC,QAAQ,EAAE,KAAK,KAAK,CAAC,EAAE,UAAU,KAAK,QAAQ,CAAC;IAC/C,eAAe,EAAE,KAAK,KAAK,EAAE,iBAAiB,KAAK,eAAe,CAAC;IACnE,aAAa,EAAE,KAAK,KAAK,EAAE,cAAc,KAAK,QAAQ,CAAC;IACvD,gBAAgB,EAAE,KAAK,KAAK,EAAE,kBAAkB,KAAK,QAAQ,CAAC;IAC9D,aAAa,EAAE,KAAK,KAAK,EAAE,eAAe,KAAK,QAAQ,CAAC;IACxD,mBAAmB,EAAE,KAAK,KAAK,EAAE,oBAAoB,KAAK,QAAQ,CAAC;IACnE,sBAAsB,EAAE,KAAK,KAAK,EAAE,wBAAwB,KAAK,QAAQ,CAAC;IAC1E,kBAAkB,EAAE,KAAK,KAAK,EAAE,oBAAoB,KAAK,QAAQ,CAAC;IAClE,kBAAkB,EAAE,KAAK,KAAK,EAAE,oBAAoB,KAAK,QAAQ,CAAC;IAClE,gBAAgB,EAAE,KAAK,KAAK,EAAE,kBAAkB,KAAK,QAAQ,CAAC;IAC9D,qBAAqB,EAAE,UAAU,QAAQ,CAAC;IAC1C,WAAW,EAAE,KAAK,KAAK,EAAE,aAAa,KAAK,QAAQ,CAAC;IACpD,YAAY,EAAE,KAAK,KAAK,EAAE,cAAc,KAAK,QAAQ,CAAC;IACtD,cAAc,EAAE,KAAK,KAAK,EAAE,gBAAgB,KAAK,QAAQ,CAAC;IAC1D,WAAW,EAAE,KAAK,KAAK,EAAE,aAAa,KAAK,WAAW,CAAC;IACvD,WAAW,EAAE,KAAK,KAAK,EAAE,aAAa,KAAK,QAAQ,CAAC;IACpD,kBAAkB,EAAE,KAAK,KAAK,EAAE,oBAAoB,KAAK,QAAQ,CAAC;IAClE,qBAAqB,EAAE,KAAK,KAAK,EAAE,uBAAuB,KAAK,qBAAqB,CAAC;IACrF,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;IACjD,UAAU,EAAE,KAAK,KAAK,EAAE,YAAY,KAAK,UAAU,CAAC;IACpD,iBAAiB,EAAE,UAAU,iBAAiB,CAAC;IAC/C,kBAAkB,EAAE,UAAU,kBAAkB,CAAC;IACjD,WAAW,EAAE,KAAK,KAAK,EAAE,aAAa,KAAK,WAAW,CAAC;IACvD,qBAAqB,EAAE,KAAK,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,KAAK,qBAAqB,CAAC;IAC1G,cAAc,EAAE,KAAK,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,QAAQ,CAAC,KAAK,cAAc,CAAC;IAC7F,wBAAwB,EAAE,KAAK,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,wBAAwB,CAAC;IACrG,sBAAsB,EAAE,KACtB,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,eAAe,GAAG,aAAa,CAAC,KACnE,sBAAsB,CAAC;CAE7B;;AAED,wBAAmE"}
1
+ {"version":3,"file":"ExpoArcgisModule.d.ts","sourceRoot":"","sources":["../src/ExpoArcgisModule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoArcgisModule.js","sourceRoot":"","sources":["../src/ExpoArcgisModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,MAAM,CAAC;AA8YzD,eAAe,mBAAmB,CAAmB,YAAY,CAAC,CAAC","sourcesContent":["import { NativeModule, requireNativeModule } from 'expo';\nimport { SharedObject } from 'expo-modules-core';\n\nimport type {\n AttachmentInfo,\n ConnectionStatus,\n ContingentValuesResult,\n DynamicEntityChange,\n DynamicEntityObservationInfo,\n DistanceMeasurementProps,\n DynamicEntityLayerProps,\n CreateVersionParams,\n EditResult,\n Envelope,\n ServiceVersionInfo,\n Feature,\n FeatureLayerProps,\n FeatureTemplate,\n GeoElementViewshedProps,\n Geometry,\n RelatedFeaturesResult,\n GraphicProps,\n LineOfSightProps,\n QueryParameters,\n StatisticRecord,\n StatisticsQueryParameters,\n IntegratedMeshLayerProps,\n KmlLayerProps,\n KmlNodeInfo,\n OgcFeatureLayerProps,\n WfsLayerProps,\n MapImageLayerProps,\n MapProps,\n Ogc3DTilesLayerProps,\n PointCloudLayerProps,\n RasterLayerProps,\n Renderer,\n SceneLayerProps,\n SceneProps,\n TargetVisibility,\n TileLayerProps,\n UtilityAssociationSummary,\n UtilityElementDescriptor,\n UtilityNamedTraceConfiguration,\n UtilityNetworkState,\n UtilityTerminalConfiguration,\n UtilityTraceResult,\n VectorTileLayerProps,\n ViewshedProps,\n WebTiledLayerProps,\n WmsLayerProps,\n WmtsLayerProps,\n} from './ExpoArcgis.types';\n\n/** Reference to a native operational layer (FeatureLayer / ArcGISTiledLayer), shared by reference. */\nexport declare class LayerRef<\n TEvents extends Record<string, (...args: any[]) => void> = Record<never, never>,\n> extends SharedObject<TEvents> {\n applyProps(changed: Record<string, unknown>): void;\n}\n\n/** Reference to a native `GroupLayer` — a `LayerRef` that also hosts its own child layers. */\nexport declare class GroupLayerRef extends LayerRef {\n addLayer(layer: LayerRef<any>): void;\n removeLayer(layer: LayerRef<any>): void;\n}\n\n/** Reference to a native `KmlLayer` — a `LayerRef` plus `getNodes` and tour controls (mirrors `KmlLayerHandle`). */\nexport declare class KmlLayerRef extends LayerRef {\n getNodes(): Promise<KmlNodeInfo[]>;\n playTour(): void;\n pauseTour(): void;\n resetTour(): void;\n}\n\n/**\n * Reference to a native `FeatureLayer` — a `LayerRef` plus the async query methods (these match\n * `FeatureLayerHandle`, so the component just hands this ref over via `useImperativeHandle`).\n */\nexport declare class FeatureLayerRef extends LayerRef {\n queryFeatures(query?: QueryParameters): Promise<Feature[]>;\n queryFeatureCount(query?: QueryParameters): Promise<number>;\n queryExtent(query?: QueryParameters): Promise<Geometry | null>;\n queryStatistics(query: StatisticsQueryParameters): Promise<StatisticRecord[]>;\n queryFeatureTemplates(): Promise<FeatureTemplate[]>;\n addFeature(\n attributes: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n addFeatureWithTemplate(\n templateName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n addFeatureWithSubtype(\n subtypeName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n updateFeature(objectId: number, changes: Record<string, unknown>, apply?: boolean): Promise<void>;\n deleteFeature(objectId: number, apply?: boolean): Promise<void>;\n applyEdits(): Promise<EditResult[]>;\n undoLocalEdits(): Promise<void>;\n queryRelatedFeatures(objectId: number): Promise<RelatedFeaturesResult[]>;\n queryAttachments(objectId: number): Promise<AttachmentInfo[]>;\n addAttachment(objectId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n fetchAttachment(objectId: number, attachmentId: number): Promise<string>;\n deleteAttachment(objectId: number, attachmentId: number): Promise<void>;\n updateAttachment(objectId: number, attachmentId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n getServiceGeodatabase(): Promise<ServiceGeodatabaseRef>;\n /**\n * Returns the valid coded values for `fieldName` given the feature's current `attributes`.\n * Use this to drive editing-form dropdowns: pass the feature's current attribute state and the\n * name of the field being edited; returns `[{ name, code }]` for coded values that satisfy all\n * contingent-value constraints.\n *\n * Requires an ArcGIS feature table; rejects for shapefiles and WFS tables.\n * Resolves with an empty array when no constraints are defined for `fieldName`.\n */\n contingentValues(attributes: Record<string, unknown>, fieldName: string): Promise<{ name: string; code: unknown }[]>;\n /**\n * Returns the valid contingent values for `fieldName` on the feature with `objectId`.\n * The `fieldName` is the name of an attribute field whose valid values may be constrained by\n * contingent-value rules (e.g. a \"species\" field whose options depend on \"habitat\"). Requires\n * an ArcGIS feature table; rejects for shapefiles and WFS tables.\n */\n getContingentValues(objectId: number, fieldName: string): Promise<ContingentValuesResult>;\n}\n\n/**\n * Reference to a native `ServiceGeodatabase`'s branch-versioning surface. Built by\n * `FeatureLayerRef.getServiceGeodatabase()` (never constructed directly). Mirrors\n * `ServiceGeodatabaseHandle`.\n */\nexport declare class ServiceGeodatabaseRef extends SharedObject {\n fetchVersions(): Promise<ServiceVersionInfo[]>;\n createVersion(params: CreateVersionParams): Promise<ServiceVersionInfo>;\n switchVersion(name: string): Promise<void>;\n applyEdits(): Promise<EditResult[]>;\n undoLocalEdits(): Promise<void>;\n hasLocalEdits(): boolean;\n getVersionName(): string;\n getDefaultVersionName(): string;\n supportsBranchVersioning(): boolean;\n getFeatureLayer(layerId: number): FeatureLayerRef;\n}\n\n/**\n * Reference to a native local mobile `Geodatabase` with transactional editing. Built by\n * `offline.openGeodatabase(path)` (never constructed directly). Mirrors `GeodatabaseHandle`.\n */\nexport declare class GeodatabaseRef extends SharedObject {\n beginTransaction(): Promise<void>;\n commitTransaction(): Promise<void>;\n rollbackTransaction(): Promise<void>;\n isInTransaction(): boolean;\n getFeatureTableNames(): string[];\n queryFeatureCount(tableName: string, whereClause?: string): Promise<number>;\n addFeature(\n tableName: string,\n attributes: Record<string, unknown>,\n geometry?: Geometry\n ): Promise<void>;\n getFeatureLayer(tableName: string): FeatureLayerRef;\n}\n\n/** Events emitted by a `DynamicEntityLayerRef` as its data source connects / disconnects. */\ntype DynamicEntityLayerEvents = {\n onConnectionStatusChange: (event: { status: ConnectionStatus }) => void;\n onDynamicEntityChange: (event: DynamicEntityChange) => void;\n};\n\n/** Reference to a native real-time `DynamicEntityLayer` (stream service / custom feed). */\nexport declare class DynamicEntityLayerRef extends LayerRef<DynamicEntityLayerEvents> {\n queryDynamicEntities(): Promise<{\n count: number;\n entities: { attributes: Record<string, unknown>; geometry: Geometry | null }[];\n }>;\n queryObservations(entityId: string, max?: number): Promise<DynamicEntityObservationInfo[]>;\n pushObservation(attributes: Record<string, unknown>, geometry: Geometry): void;\n}\n\n/** Reference to a native `Graphic` drawn on a graphics overlay. */\nexport declare class GraphicRef extends SharedObject {\n applyProps(changed: Record<string, unknown>): void;\n}\n\n/** Reference to a native `GraphicsOverlay` owned by a `<MapView>` / `<SceneView>`. */\nexport declare class GraphicsOverlayRef extends SharedObject {\n addGraphic(graphic: GraphicRef): void;\n removeGraphic(graphic: GraphicRef): void;\n setRenderer(renderer: Renderer | null): void;\n}\n\n/** Reference to a native `ImageOverlay`. Built via the `<ImageOverlay>` component (extras module). */\nexport declare class ImageOverlayRef extends SharedObject {\n setFrame(imagePath: string, extent: Envelope, opacity?: number): void;\n setOpacity(opacity: number): void;\n}\n\n/** Events emitted by a `GeometryEditorRef` as the user sketches. */\ntype GeometryEditorEvents = {\n onGeometryChange(payload: { geometry?: Geometry }): void;\n};\n\n/** Reference to a native exploratory `Analysis` (viewshed / line-of-sight) drawn on an analysis overlay. */\nexport declare class AnalysisRef<\n TEvents extends Record<string, (...args: any[]) => void> = Record<never, never>,\n> extends SharedObject<TEvents> {\n applyProps(changed: Record<string, unknown>): void;\n}\n\n/** Reference to a native exploratory viewshed (`ExploratoryLocationViewshed`). */\nexport declare class ViewshedRef extends AnalysisRef {}\n\n/**\n * Reference to a native GeoElement-anchored viewshed (`ExploratoryGeoElementViewshed`).\n * The observer tracks the graphic's position as it moves, so the viewshed follows the graphic.\n */\nexport declare class GeoElementViewshedRef extends AnalysisRef {}\n\n/** Events emitted by a `LineOfSightRef` or `GeoElementLineOfSightRef` as target visibility changes. */\ntype LineOfSightEvents = {\n onTargetVisibilityChange(payload: { visibility: TargetVisibility }): void;\n};\n\n/** Reference to a native exploratory line of sight (`ExploratoryLocationLineOfSight`). */\nexport declare class LineOfSightRef extends AnalysisRef<LineOfSightEvents> {}\n\n/**\n * Reference to a native GeoElement-anchored line of sight (`ExploratoryGeoElementLineOfSight`).\n * Both the observer and target track their respective graphics as they move.\n */\nexport declare class GeoElementLineOfSightRef extends AnalysisRef<LineOfSightEvents> {}\n\n/** Events emitted by a `DistanceMeasurementRef` as the measured distances change. */\ntype DistanceMeasurementEvents = {\n onMeasurementChange(payload: {\n directDistance: number;\n horizontalDistance: number;\n verticalDistance: number;\n }): void;\n};\n\n/** Reference to a native distance measurement (`ExploratoryLocationDistanceMeasurement`). */\nexport declare class DistanceMeasurementRef extends AnalysisRef<DistanceMeasurementEvents> {}\n\n/** Reference to a native `AnalysisOverlay` owned by a `<SceneView>`. */\nexport declare class AnalysisOverlayRef extends SharedObject {\n addAnalysis(analysis: AnalysisRef<any>): void;\n removeAnalysis(analysis: AnalysisRef<any>): void;\n setVisible(visible: boolean): void;\n}\n\n/** Reference to a native interactive `GeometryEditor`, bound to a `<MapView>`. */\nexport declare class GeometryEditorRef extends SharedObject<GeometryEditorEvents> {\n start(type: string): void;\n setTool(name: string): void;\n stop(): Geometry | null;\n clearGeometry(): void;\n undo(): void;\n redo(): void;\n deleteSelectedElement(): void;\n}\n\n/**\n * Reference to a native `ArcGISMap`. The `<Map>` component constructs one, reconciles prop changes\n * via `applyProps`, and attaches operational layers via `addLayer` / `removeLayer`.\n */\nexport declare class MapRef extends SharedObject {\n applyProps(changed: Partial<MapProps>): void;\n addLayer(layer: LayerRef<any>): void;\n removeLayer(layer: LayerRef<any>): void;\n}\n\n/** Reference to a native `ArcGISScene` (3D). Same shape as `MapRef`. */\nexport declare class SceneRef extends SharedObject {\n applyProps(changed: Partial<SceneProps>): void;\n addLayer(layer: LayerRef<any>): void;\n removeLayer(layer: LayerRef<any>): void;\n}\n\n/**\n * Reference to a native `UtilityNetwork` loaded from a feature service. The `<UtilityNetwork>`\n * component builds one, loads it (attaching it to the map), and runs traces through it.\n */\nexport declare class UtilityNetworkRef extends SharedObject {\n /** Builds + loads the network, adds it to `map`, and resolves with the network name. */\n load(map: MapRef): Promise<string>;\n /** Returns metadata about the loaded network (its network-source names). */\n describeNetwork(): { networkSources: string[] };\n /** Runs a trace and returns the element results. */\n trace(\n traceType: string,\n startingLocations: UtilityElementDescriptor[]\n ): Promise<UtilityTraceResult>;\n /** Queries a starting feature, traces from it, and selects the result features on the map. */\n traceFromQuery(\n tableName: string,\n whereClause: string,\n traceType: string\n ): Promise<UtilityTraceResult>;\n /** Lists the network's named trace configurations. */\n queryNamedTraceConfigurations(): Promise<UtilityNamedTraceConfiguration[]>;\n /** Traces using a named configuration (by global id), from a queried starting feature. */\n traceWithConfiguration(\n configGlobalId: string,\n tableName: string,\n whereClause: string\n ): Promise<UtilityTraceResult>;\n /** Returns the associations of a queried feature. */\n associations(tableName: string, whereClause: string): Promise<UtilityAssociationSummary>;\n /** Returns the terminal configurations defined in the network (synchronous — reads from definition). */\n getTerminalConfigurations(): UtilityTerminalConfiguration[];\n /** Returns the network's topology state (dirty areas, errors, topology enabled). */\n getState(): Promise<UtilityNetworkState>;\n /** Validates the network topology over `extent`; returns a job to run / track / cancel. */\n validateNetworkTopology(extent: Geometry): JobRef<{ validated: boolean }>;\n}\n\n/** Events emitted by a `JobRef` as a long-running job progresses. */\ntype JobEvents = { onProgress(payload: { progress: number }): void };\n\n/**\n * Handle for a long-running ArcGIS job (e.g. an offline-map download). Await `result()` to run it\n * to completion, observe `onProgress` (0–100) via `addListener`, or `cancel()` it.\n */\nexport declare class JobRef<R> extends SharedObject<JobEvents> {\n result(): Promise<R>;\n cancel(): Promise<void>;\n}\n\n/** The geo model that operational layers attach to — a `<Map>` or a `<Scene>`. */\nexport type GeoModelRef = MapRef | SceneRef;\n\ndeclare class ExpoArcgisModule extends NativeModule {\n /** Sets the ArcGIS API key (access token) used to authenticate with ArcGIS services. */\n setApiKey(apiKey: string): void;\n /**\n * Stores a login used to authenticate token-secured services (e.g. a utility-network feature\n * service). The challenge handler mints a `TokenCredential` for the exact resource the SDK\n * challenges for — no service URL or up-front timing needed.\n * `tokenExpirationMinutes` sets the token lifetime; pass `null` to use the server's default.\n */\n setTokenCredential(username: string, password: string, tokenExpirationMinutes: number | null): void;\n /**\n * Installs (`true`) or removes (`false`) a network-layer handler that trusts every TLS\n * server-trust challenge, including self-signed certificates.\n * **Dev/on-prem only** — disables TLS validation; never call with `true` in production.\n */\n setAllowUntrustedHosts(allow: boolean): void;\n /** Clears the stored login and all cached credentials (token + OAuth). */\n signOut(): Promise<void>;\n /** iOS-only OAuth sign-in: the SDK presents the auth browser, then caches the credential. */\n signInWithOAuth(portalUrl: string, clientId: string, redirectUrl: string): Promise<void>;\n /** Android OAuth step 1: starts the flow and returns the authorize URL to open in a browser. */\n oauthStart(portalUrl: string, clientId: string, redirectUrl: string): Promise<string>;\n /** Android OAuth step 2: completes the flow with the browser redirect URL. */\n oauthComplete(redirectUrl: string): Promise<void>;\n /** App authentication (client id + secret, no user login) — caches an app token credential. */\n setAppCredential(portalUrl: string, clientId: string, clientSecret: string): Promise<void>;\n // Constructable native handles (SharedObjects). JS names mirror the native classes.\n MapRef: new (props?: MapProps) => MapRef;\n SceneRef: new (props?: SceneProps) => SceneRef;\n FeatureLayerRef: new (props: FeatureLayerProps) => FeatureLayerRef;\n TiledLayerRef: new (props: TileLayerProps) => LayerRef;\n MapImageLayerRef: new (props: MapImageLayerProps) => LayerRef;\n SceneLayerRef: new (props: SceneLayerProps) => LayerRef;\n VectorTiledLayerRef: new (props: VectorTileLayerProps) => LayerRef;\n IntegratedMeshLayerRef: new (props: IntegratedMeshLayerProps) => LayerRef;\n PointCloudLayerRef: new (props: PointCloudLayerProps) => LayerRef;\n Ogc3DTilesLayerRef: new (props: Ogc3DTilesLayerProps) => LayerRef;\n WebTiledLayerRef: new (props: WebTiledLayerProps) => LayerRef;\n OpenStreetMapLayerRef: new () => LayerRef;\n WmsLayerRef: new (props: WmsLayerProps) => LayerRef;\n WmtsLayerRef: new (props: WmtsLayerProps) => LayerRef;\n RasterLayerRef: new (props: RasterLayerProps) => LayerRef;\n KmlLayerRef: new (props: KmlLayerProps) => KmlLayerRef;\n WfsLayerRef: new (props: WfsLayerProps) => LayerRef;\n OgcFeatureLayerRef: new (props: OgcFeatureLayerProps) => LayerRef;\n DynamicEntityLayerRef: new (props: DynamicEntityLayerProps) => DynamicEntityLayerRef;\n GraphicsOverlayRef: new () => GraphicsOverlayRef;\n GraphicRef: new (props: GraphicProps) => GraphicRef;\n GeometryEditorRef: new () => GeometryEditorRef;\n AnalysisOverlayRef: new () => AnalysisOverlayRef;\n ViewshedRef: new (props: ViewshedProps) => ViewshedRef;\n GeoElementViewshedRef: new (graphic: GraphicRef, props: GeoElementViewshedProps) => GeoElementViewshedRef;\n LineOfSightRef: new (props: Pick<LineOfSightProps, 'observer' | 'target'>) => LineOfSightRef;\n GeoElementLineOfSightRef: new (observer: GraphicRef, target: GraphicRef) => GeoElementLineOfSightRef;\n DistanceMeasurementRef: new (\n props: Pick<DistanceMeasurementProps, 'startLocation' | 'endLocation'>\n ) => DistanceMeasurementRef;\n // UtilityNetworkRef is constructed via the Extras module (main-module 64 KB budget).\n}\n\nexport default requireNativeModule<ExpoArcgisModule>('ExpoArcgis');\n"]}
1
+ {"version":3,"file":"ExpoArcgisModule.js","sourceRoot":"","sources":["../src/ExpoArcgisModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAoZzD,eAAe,mBAAmB,CAAmB,YAAY,CAAC,CAAC","sourcesContent":["import { NativeModule, requireNativeModule } from 'expo';\nimport { SharedObject } from 'expo-modules-core';\n\nimport type {\n AttachmentInfo,\n ConnectionStatus,\n ContingentValuesResult,\n DynamicEntityChange,\n DynamicEntityObservationInfo,\n DistanceMeasurementProps,\n DynamicEntityLayerProps,\n CreateVersionParams,\n EditResult,\n Envelope,\n ServiceVersionInfo,\n Feature,\n FeatureLayerProps,\n FeatureTemplate,\n GeoElementViewshedProps,\n Geometry,\n RelatedFeaturesResult,\n GraphicProps,\n LineOfSightProps,\n QueryParameters,\n StatisticRecord,\n StatisticsQueryParameters,\n IntegratedMeshLayerProps,\n KmlLayerProps,\n KmlNodeInfo,\n OgcFeatureLayerProps,\n WfsLayerProps,\n MapImageLayerProps,\n MapProps,\n Ogc3DTilesLayerProps,\n PointCloudLayerProps,\n RasterLayerProps,\n Renderer,\n SceneLayerProps,\n SceneProps,\n TargetVisibility,\n TileLayerProps,\n UtilityAssociationSummary,\n UtilityElementDescriptor,\n UtilityNamedTraceConfiguration,\n UtilityNetworkState,\n UtilityTerminalConfiguration,\n UtilityTraceResult,\n VectorTileLayerProps,\n ViewshedProps,\n WebTiledLayerProps,\n WmsLayerProps,\n WmtsLayerProps,\n} from './ExpoArcgis.types';\n\n/** Reference to a native operational layer (FeatureLayer / ArcGISTiledLayer), shared by reference. */\nexport declare class LayerRef<\n TEvents extends Record<string, (...args: any[]) => void> = Record<never, never>,\n> extends SharedObject<TEvents> {\n applyProps(changed: Record<string, unknown>): void;\n}\n\n/** Reference to a native `GroupLayer` — a `LayerRef` that also hosts its own child layers. */\nexport declare class GroupLayerRef extends LayerRef {\n addLayer(layer: LayerRef<any>): void;\n removeLayer(layer: LayerRef<any>): void;\n}\n\n/** Reference to a native `KmlLayer` — a `LayerRef` plus `getNodes` and tour controls (mirrors `KmlLayerHandle`). */\nexport declare class KmlLayerRef extends LayerRef {\n getNodes(): Promise<KmlNodeInfo[]>;\n playTour(): void;\n pauseTour(): void;\n resetTour(): void;\n}\n\n/**\n * Reference to a native `FeatureLayer` — a `LayerRef` plus the async query methods (these match\n * `FeatureLayerHandle`, so the component just hands this ref over via `useImperativeHandle`).\n */\nexport declare class FeatureLayerRef extends LayerRef {\n queryFeatures(query?: QueryParameters): Promise<Feature[]>;\n queryFeatureCount(query?: QueryParameters): Promise<number>;\n queryExtent(query?: QueryParameters): Promise<Geometry | null>;\n queryStatistics(query: StatisticsQueryParameters): Promise<StatisticRecord[]>;\n queryFeatureTemplates(): Promise<FeatureTemplate[]>;\n addFeature(\n attributes: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n addFeatureWithTemplate(\n templateName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n addFeatureWithSubtype(\n subtypeName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n updateFeature(objectId: number, changes: Record<string, unknown>, apply?: boolean): Promise<void>;\n deleteFeature(objectId: number, apply?: boolean): Promise<void>;\n applyEdits(): Promise<EditResult[]>;\n undoLocalEdits(): Promise<void>;\n queryRelatedFeatures(objectId: number): Promise<RelatedFeaturesResult[]>;\n queryAttachments(objectId: number): Promise<AttachmentInfo[]>;\n addAttachment(objectId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n fetchAttachment(objectId: number, attachmentId: number): Promise<string>;\n deleteAttachment(objectId: number, attachmentId: number): Promise<void>;\n updateAttachment(objectId: number, attachmentId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n getServiceGeodatabase(): Promise<ServiceGeodatabaseRef>;\n /**\n * Returns the valid coded values for `fieldName` given the feature's current `attributes`.\n * Use this to drive editing-form dropdowns: pass the feature's current attribute state and the\n * name of the field being edited; returns `[{ name, code }]` for coded values that satisfy all\n * contingent-value constraints.\n *\n * Requires an ArcGIS feature table; rejects for shapefiles and WFS tables.\n * Resolves with an empty array when no constraints are defined for `fieldName`.\n */\n contingentValues(attributes: Record<string, unknown>, fieldName: string): Promise<{ name: string; code: unknown }[]>;\n /**\n * Returns the valid contingent values for `fieldName` on the feature with `objectId`.\n * The `fieldName` is the name of an attribute field whose valid values may be constrained by\n * contingent-value rules (e.g. a \"species\" field whose options depend on \"habitat\"). Requires\n * an ArcGIS feature table; rejects for shapefiles and WFS tables.\n */\n getContingentValues(objectId: number, fieldName: string): Promise<ContingentValuesResult>;\n}\n\n/**\n * Reference to a native `ServiceGeodatabase`'s branch-versioning surface. Built by\n * `FeatureLayerRef.getServiceGeodatabase()` (never constructed directly). Mirrors\n * `ServiceGeodatabaseHandle`.\n */\nexport declare class ServiceGeodatabaseRef extends SharedObject {\n fetchVersions(): Promise<ServiceVersionInfo[]>;\n createVersion(params: CreateVersionParams): Promise<ServiceVersionInfo>;\n switchVersion(name: string): Promise<void>;\n applyEdits(): Promise<EditResult[]>;\n undoLocalEdits(): Promise<void>;\n hasLocalEdits(): boolean;\n getVersionName(): string;\n getDefaultVersionName(): string;\n supportsBranchVersioning(): boolean;\n getFeatureLayer(layerId: number): FeatureLayerRef;\n}\n\n/**\n * Reference to a native local mobile `Geodatabase` with transactional editing. Built by\n * `offline.openGeodatabase(path)` (never constructed directly). Mirrors `GeodatabaseHandle`.\n */\nexport declare class GeodatabaseRef extends SharedObject {\n beginTransaction(): Promise<void>;\n commitTransaction(): Promise<void>;\n rollbackTransaction(): Promise<void>;\n isInTransaction(): boolean;\n getFeatureTableNames(): string[];\n queryFeatureCount(tableName: string, whereClause?: string): Promise<number>;\n addFeature(\n tableName: string,\n attributes: Record<string, unknown>,\n geometry?: Geometry\n ): Promise<void>;\n getFeatureLayer(tableName: string): FeatureLayerRef;\n}\n\n/** Events emitted by a `DynamicEntityLayerRef` as its data source connects / disconnects. */\ntype DynamicEntityLayerEvents = {\n onConnectionStatusChange: (event: { status: ConnectionStatus }) => void;\n onDynamicEntityChange: (event: DynamicEntityChange) => void;\n};\n\n/** Reference to a native real-time `DynamicEntityLayer` (stream service / custom feed). */\nexport declare class DynamicEntityLayerRef extends LayerRef<DynamicEntityLayerEvents> {\n queryDynamicEntities(): Promise<{\n count: number;\n entities: { attributes: Record<string, unknown>; geometry: Geometry | null }[];\n }>;\n queryObservations(entityId: string, max?: number): Promise<DynamicEntityObservationInfo[]>;\n pushObservation(attributes: Record<string, unknown>, geometry: Geometry): void;\n}\n\n/** Reference to a native `Graphic` drawn on a graphics overlay. */\nexport declare class GraphicRef extends SharedObject {\n applyProps(changed: Record<string, unknown>): void;\n}\n\n/** Reference to a native `GraphicsOverlay` owned by a `<MapView>` / `<SceneView>`. */\nexport declare class GraphicsOverlayRef extends SharedObject {\n addGraphic(graphic: GraphicRef): void;\n removeGraphic(graphic: GraphicRef): void;\n setRenderer(renderer: Renderer | null): void;\n}\n\n/** Reference to a native `ImageOverlay`. Built via the `<ImageOverlay>` component (extras module). */\nexport declare class ImageOverlayRef extends SharedObject {\n setFrame(imagePath: string, extent: Envelope, opacity?: number): void;\n setOpacity(opacity: number): void;\n}\n\n/** Events emitted by a `GeometryEditorRef` as the user sketches. */\ntype GeometryEditorEvents = {\n onGeometryChange(payload: { geometry?: Geometry }): void;\n};\n\n/** Reference to a native exploratory `Analysis` (viewshed / line-of-sight) drawn on an analysis overlay. */\nexport declare class AnalysisRef<\n TEvents extends Record<string, (...args: any[]) => void> = Record<never, never>,\n> extends SharedObject<TEvents> {\n applyProps(changed: Record<string, unknown>): void;\n}\n\n/** Reference to a native exploratory viewshed (`ExploratoryLocationViewshed`). */\nexport declare class ViewshedRef extends AnalysisRef {}\n\n/**\n * Reference to a native GeoElement-anchored viewshed (`ExploratoryGeoElementViewshed`).\n * The observer tracks the graphic's position as it moves, so the viewshed follows the graphic.\n */\nexport declare class GeoElementViewshedRef extends AnalysisRef {}\n\n/** Events emitted by a `LineOfSightRef` or `GeoElementLineOfSightRef` as target visibility changes. */\ntype LineOfSightEvents = {\n onTargetVisibilityChange(payload: { visibility: TargetVisibility }): void;\n};\n\n/** Reference to a native exploratory line of sight (`ExploratoryLocationLineOfSight`). */\nexport declare class LineOfSightRef extends AnalysisRef<LineOfSightEvents> {}\n\n/**\n * Reference to a native GeoElement-anchored line of sight (`ExploratoryGeoElementLineOfSight`).\n * Both the observer and target track their respective graphics as they move.\n */\nexport declare class GeoElementLineOfSightRef extends AnalysisRef<LineOfSightEvents> {}\n\n/** Events emitted by a `DistanceMeasurementRef` as the measured distances change. */\ntype DistanceMeasurementEvents = {\n onMeasurementChange(payload: {\n directDistance: number;\n horizontalDistance: number;\n verticalDistance: number;\n }): void;\n};\n\n/** Reference to a native distance measurement (`ExploratoryLocationDistanceMeasurement`). */\nexport declare class DistanceMeasurementRef extends AnalysisRef<DistanceMeasurementEvents> {}\n\n/** Reference to a native `AnalysisOverlay` owned by a `<SceneView>`. */\nexport declare class AnalysisOverlayRef extends SharedObject {\n addAnalysis(analysis: AnalysisRef<any>): void;\n removeAnalysis(analysis: AnalysisRef<any>): void;\n setVisible(visible: boolean): void;\n}\n\n/** Reference to a native interactive `GeometryEditor`, bound to a `<MapView>`. */\nexport declare class GeometryEditorRef extends SharedObject<GeometryEditorEvents> {\n start(type: string): void;\n setTool(name: string): void;\n stop(): Geometry | null;\n clearGeometry(): void;\n undo(): void;\n redo(): void;\n deleteSelectedElement(): void;\n}\n\n/**\n * Reference to a native `ArcGISMap`. The `<Map>` component constructs one, reconciles prop changes\n * via `applyProps`, and attaches operational layers via `addLayer` / `removeLayer`.\n */\nexport declare class MapRef extends SharedObject {\n applyProps(changed: Partial<MapProps>): void;\n addLayer(layer: LayerRef<any>): void;\n removeLayer(layer: LayerRef<any>): void;\n}\n\n/** Reference to a native `ArcGISScene` (3D). Same shape as `MapRef`. */\nexport declare class SceneRef extends SharedObject {\n applyProps(changed: Partial<SceneProps>): void;\n addLayer(layer: LayerRef<any>): void;\n removeLayer(layer: LayerRef<any>): void;\n}\n\n/**\n * Reference to a native `UtilityNetwork` loaded from a feature service. The `<UtilityNetwork>`\n * component builds one, loads it (attaching it to the map), and runs traces through it.\n */\nexport declare class UtilityNetworkRef extends SharedObject {\n /** Builds + loads the network, adds it to `map`, and resolves with the network name. */\n load(map: MapRef): Promise<string>;\n /** Returns metadata about the loaded network (its network-source names). */\n describeNetwork(): { networkSources: string[] };\n /** Runs a trace and returns the element results. */\n trace(\n traceType: string,\n startingLocations: UtilityElementDescriptor[]\n ): Promise<UtilityTraceResult>;\n /** Queries a starting feature, traces from it, and selects the result features on the map. */\n traceFromQuery(\n tableName: string,\n whereClause: string,\n traceType: string\n ): Promise<UtilityTraceResult>;\n /** Lists the network's named trace configurations. */\n queryNamedTraceConfigurations(): Promise<UtilityNamedTraceConfiguration[]>;\n /** Traces using a named configuration (by global id), from a queried starting feature. */\n traceWithConfiguration(\n configGlobalId: string,\n tableName: string,\n whereClause: string\n ): Promise<UtilityTraceResult>;\n /** Returns the associations of a queried feature. */\n associations(tableName: string, whereClause: string): Promise<UtilityAssociationSummary>;\n /** Returns the terminal configurations defined in the network (synchronous — reads from definition). */\n getTerminalConfigurations(): UtilityTerminalConfiguration[];\n /** Returns the network's topology state (dirty areas, errors, topology enabled). */\n getState(): Promise<UtilityNetworkState>;\n /** Validates the network topology over `extent`; returns a job to run / track / cancel. */\n validateNetworkTopology(extent: Geometry): JobRef<{ validated: boolean }>;\n}\n\n/** Events emitted by a `JobRef` as a long-running job progresses. */\ntype JobEvents = { onProgress(payload: { progress: number }): void };\n\n/**\n * Handle for a long-running ArcGIS job (e.g. an offline-map download). Await `result()` to run it\n * to completion, observe `onProgress` (0–100) via `addListener`, or `cancel()` it.\n */\nexport declare class JobRef<R> extends SharedObject<JobEvents> {\n result(): Promise<R>;\n cancel(): Promise<void>;\n}\n\n/** The geo model that operational layers attach to — a `<Map>` or a `<Scene>`. */\nexport type GeoModelRef = MapRef | SceneRef;\n\ndeclare class ExpoArcgisModule extends NativeModule {\n /** Sets the ArcGIS API key (access token) used to authenticate with ArcGIS services. */\n setApiKey(apiKey: string): void;\n /**\n * Applies a deployment license string, removing the \"Licensed for Developer Use Only\" watermark.\n * Returns the resulting license status (`\"valid\"`, `\"invalid\"`, `\"expired\"` or `\"loginRequired\"`).\n * Separate from {@link setApiKey}: the key authenticates services, the license unlocks deployment.\n */\n setLicense(licenseKey: string): string;\n /**\n * Stores a login used to authenticate token-secured services (e.g. a utility-network feature\n * service). The challenge handler mints a `TokenCredential` for the exact resource the SDK\n * challenges for — no service URL or up-front timing needed.\n * `tokenExpirationMinutes` sets the token lifetime; pass `null` to use the server's default.\n */\n setTokenCredential(username: string, password: string, tokenExpirationMinutes: number | null): void;\n /**\n * Installs (`true`) or removes (`false`) a network-layer handler that trusts every TLS\n * server-trust challenge, including self-signed certificates.\n * **Dev/on-prem only** — disables TLS validation; never call with `true` in production.\n */\n setAllowUntrustedHosts(allow: boolean): void;\n /** Clears the stored login and all cached credentials (token + OAuth). */\n signOut(): Promise<void>;\n /** iOS-only OAuth sign-in: the SDK presents the auth browser, then caches the credential. */\n signInWithOAuth(portalUrl: string, clientId: string, redirectUrl: string): Promise<void>;\n /** Android OAuth step 1: starts the flow and returns the authorize URL to open in a browser. */\n oauthStart(portalUrl: string, clientId: string, redirectUrl: string): Promise<string>;\n /** Android OAuth step 2: completes the flow with the browser redirect URL. */\n oauthComplete(redirectUrl: string): Promise<void>;\n /** App authentication (client id + secret, no user login) — caches an app token credential. */\n setAppCredential(portalUrl: string, clientId: string, clientSecret: string): Promise<void>;\n // Constructable native handles (SharedObjects). JS names mirror the native classes.\n MapRef: new (props?: MapProps) => MapRef;\n SceneRef: new (props?: SceneProps) => SceneRef;\n FeatureLayerRef: new (props: FeatureLayerProps) => FeatureLayerRef;\n TiledLayerRef: new (props: TileLayerProps) => LayerRef;\n MapImageLayerRef: new (props: MapImageLayerProps) => LayerRef;\n SceneLayerRef: new (props: SceneLayerProps) => LayerRef;\n VectorTiledLayerRef: new (props: VectorTileLayerProps) => LayerRef;\n IntegratedMeshLayerRef: new (props: IntegratedMeshLayerProps) => LayerRef;\n PointCloudLayerRef: new (props: PointCloudLayerProps) => LayerRef;\n Ogc3DTilesLayerRef: new (props: Ogc3DTilesLayerProps) => LayerRef;\n WebTiledLayerRef: new (props: WebTiledLayerProps) => LayerRef;\n OpenStreetMapLayerRef: new () => LayerRef;\n WmsLayerRef: new (props: WmsLayerProps) => LayerRef;\n WmtsLayerRef: new (props: WmtsLayerProps) => LayerRef;\n RasterLayerRef: new (props: RasterLayerProps) => LayerRef;\n KmlLayerRef: new (props: KmlLayerProps) => KmlLayerRef;\n WfsLayerRef: new (props: WfsLayerProps) => LayerRef;\n OgcFeatureLayerRef: new (props: OgcFeatureLayerProps) => LayerRef;\n DynamicEntityLayerRef: new (props: DynamicEntityLayerProps) => DynamicEntityLayerRef;\n GraphicsOverlayRef: new () => GraphicsOverlayRef;\n GraphicRef: new (props: GraphicProps) => GraphicRef;\n GeometryEditorRef: new () => GeometryEditorRef;\n AnalysisOverlayRef: new () => AnalysisOverlayRef;\n ViewshedRef: new (props: ViewshedProps) => ViewshedRef;\n GeoElementViewshedRef: new (graphic: GraphicRef, props: GeoElementViewshedProps) => GeoElementViewshedRef;\n LineOfSightRef: new (props: Pick<LineOfSightProps, 'observer' | 'target'>) => LineOfSightRef;\n GeoElementLineOfSightRef: new (observer: GraphicRef, target: GraphicRef) => GeoElementLineOfSightRef;\n DistanceMeasurementRef: new (\n props: Pick<DistanceMeasurementProps, 'startLocation' | 'endLocation'>\n ) => DistanceMeasurementRef;\n // UtilityNetworkRef is constructed via the Extras module (main-module 64 KB budget).\n}\n\nexport default requireNativeModule<ExpoArcgisModule>('ExpoArcgis');\n"]}
@@ -2,15 +2,20 @@ import { type PropsWithChildren } from 'react';
2
2
  export type MapSettingsConfig = {
3
3
  /** ArcGIS API key. Equivalent to passing `apiKey` to the config plugin, but at runtime. */
4
4
  apiKey?: string;
5
+ /**
6
+ * ArcGIS deployment license string. Removes the "Licensed for Developer Use Only" watermark.
7
+ * Separate from `apiKey`: the key authenticates services, the license unlocks deployment.
8
+ */
9
+ license?: string;
5
10
  };
6
11
  type MapSettingsProps = {
7
12
  config?: MapSettingsConfig;
8
13
  };
9
14
  export declare function useMapSettings(): MapSettingsConfig | undefined;
10
15
  /**
11
- * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key **synchronously during render**,
12
- * before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so the very first
13
- * map load already sees the key. Guarded by value so it only re-applies when the key changes.
16
+ * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key and license **synchronously
17
+ * during render**, before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so
18
+ * the very first map load already sees them. Guarded by value so each only re-applies when it changes.
14
19
  */
15
20
  export declare function MapSettings({ config, children }: PropsWithChildren<MapSettingsProps>): import("react").JSX.Element;
16
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MapSettings.d.ts","sourceRoot":"","sources":["../src/MapSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIlF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAIF,wBAAgB,cAAc,IAAI,iBAAiB,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,+BAQpF"}
1
+ {"version":3,"file":"MapSettings.d.ts","sourceRoot":"","sources":["../src/MapSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIlF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAIF,wBAAgB,cAAc,IAAI,iBAAiB,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,+BAcpF"}
@@ -5,9 +5,9 @@ export function useMapSettings() {
5
5
  return useContext(MapSettingsContext);
6
6
  }
7
7
  /**
8
- * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key **synchronously during render**,
9
- * before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so the very first
10
- * map load already sees the key. Guarded by value so it only re-applies when the key changes.
8
+ * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key and license **synchronously
9
+ * during render**, before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so
10
+ * the very first map load already sees them. Guarded by value so each only re-applies when it changes.
11
11
  */
12
12
  export function MapSettings({ config, children }) {
13
13
  const appliedKey = useRef(undefined);
@@ -15,6 +15,11 @@ export function MapSettings({ config, children }) {
15
15
  appliedKey.current = config.apiKey;
16
16
  ExpoArcgisModule.setApiKey(config.apiKey);
17
17
  }
18
+ const appliedLicense = useRef(undefined);
19
+ if (config?.license && config.license !== appliedLicense.current) {
20
+ appliedLicense.current = config.license;
21
+ ExpoArcgisModule.setLicense(config.license);
22
+ }
18
23
  return <MapSettingsContext.Provider value={config}>{children}</MapSettingsContext.Provider>;
19
24
  }
20
25
  //# sourceMappingURL=MapSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapSettings.js","sourceRoot":"","sources":["../src/MapSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAA0B,MAAM,OAAO,CAAC;AAElF,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAWlD,MAAM,kBAAkB,GAAG,aAAa,CAAgC,SAAS,CAAC,CAAC;AAEnF,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAuC;IACnF,MAAM,UAAU,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IACzD,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3D,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC9F,CAAC","sourcesContent":["import { createContext, useContext, useRef, type PropsWithChildren } from 'react';\n\nimport ExpoArcgisModule from './ExpoArcgisModule';\n\nexport type MapSettingsConfig = {\n /** ArcGIS API key. Equivalent to passing `apiKey` to the config plugin, but at runtime. */\n apiKey?: string;\n};\n\ntype MapSettingsProps = {\n config?: MapSettingsConfig;\n};\n\nconst MapSettingsContext = createContext<MapSettingsConfig | undefined>(undefined);\n\nexport function useMapSettings(): MapSettingsConfig | undefined {\n return useContext(MapSettingsContext);\n}\n\n/**\n * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key **synchronously during render**,\n * before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so the very first\n * map load already sees the key. Guarded by value so it only re-applies when the key changes.\n */\nexport function MapSettings({ config, children }: PropsWithChildren<MapSettingsProps>) {\n const appliedKey = useRef<string | undefined>(undefined);\n if (config?.apiKey && config.apiKey !== appliedKey.current) {\n appliedKey.current = config.apiKey;\n ExpoArcgisModule.setApiKey(config.apiKey);\n }\n\n return <MapSettingsContext.Provider value={config}>{children}</MapSettingsContext.Provider>;\n}\n"]}
1
+ {"version":3,"file":"MapSettings.js","sourceRoot":"","sources":["../src/MapSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAA0B,MAAM,OAAO,CAAC;AAElF,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAgBlD,MAAM,kBAAkB,GAAG,aAAa,CAAgC,SAAS,CAAC,CAAC;AAEnF,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAuC;IACnF,MAAM,UAAU,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IACzD,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3D,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;QACjE,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACxC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC9F,CAAC","sourcesContent":["import { createContext, useContext, useRef, type PropsWithChildren } from 'react';\n\nimport ExpoArcgisModule from './ExpoArcgisModule';\n\nexport type MapSettingsConfig = {\n /** ArcGIS API key. Equivalent to passing `apiKey` to the config plugin, but at runtime. */\n apiKey?: string;\n /**\n * ArcGIS deployment license string. Removes the \"Licensed for Developer Use Only\" watermark.\n * Separate from `apiKey`: the key authenticates services, the license unlocks deployment.\n */\n license?: string;\n};\n\ntype MapSettingsProps = {\n config?: MapSettingsConfig;\n};\n\nconst MapSettingsContext = createContext<MapSettingsConfig | undefined>(undefined);\n\nexport function useMapSettings(): MapSettingsConfig | undefined {\n return useContext(MapSettingsContext);\n}\n\n/**\n * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key and license **synchronously\n * during render**, before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so\n * the very first map load already sees them. Guarded by value so each only re-applies when it changes.\n */\nexport function MapSettings({ config, children }: PropsWithChildren<MapSettingsProps>) {\n const appliedKey = useRef<string | undefined>(undefined);\n if (config?.apiKey && config.apiKey !== appliedKey.current) {\n appliedKey.current = config.apiKey;\n ExpoArcgisModule.setApiKey(config.apiKey);\n }\n\n const appliedLicense = useRef<string | undefined>(undefined);\n if (config?.license && config.license !== appliedLicense.current) {\n appliedLicense.current = config.license;\n ExpoArcgisModule.setLicense(config.license);\n }\n\n return <MapSettingsContext.Provider value={config}>{children}</MapSettingsContext.Provider>;\n}\n"]}
@@ -19,6 +19,20 @@ public class ExpoArcgisModule: Module {
19
19
  ArcGISEnvironment.apiKey = APIKey(apiKey)
20
20
  }
21
21
 
22
+ // Apply a deployment license string to remove the "Licensed for Developer Use Only" watermark.
23
+ // Returns the license status: "valid" / "invalid" / "expired" / "loginRequired".
24
+ Function("setLicense") { (licenseKey: String) -> String in
25
+ guard let key = LicenseKey(licenseKey) else { return "invalid" }
26
+ let result = try ArcGISEnvironment.setLicense(with: key)
27
+ switch result.licenseStatus {
28
+ case .valid: return "valid"
29
+ case .invalid: return "invalid"
30
+ case .expired: return "expired"
31
+ case .loginRequired: return "loginRequired"
32
+ @unknown default: return "unknown"
33
+ }
34
+ }
35
+
22
36
  // Token auth for secured services (e.g. utility-network feature services) — store the login;
23
37
  // the challenge handler mints a TokenCredential for the exact challenged resource on demand.
24
38
  // `tokenExpirationMinutes` is optional; the server's default expiry is used when omitted.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-arcgis",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "ArcGIS Maps SDK for React Native — native Android (Kotlin) & iOS (Swift) map rendering as an Expo module",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "author": "krassavin <walonade@icloud.com>",
46
46
  "license": "MIT",
47
- "homepage": "https://alex-krassavin.github.io/expo-arcgis",
47
+ "homepage": "https://mapforge.dev/expo-arcgis",
48
48
  "devDependencies": {
49
49
  "@arethetypeswrong/cli": "^0.18.3",
50
50
  "@babel/core": "^7.26.0",
@@ -59,7 +59,8 @@
59
59
  "prettier": "^3.0.0",
60
60
  "publint": "^0.3.21",
61
61
  "react-native": "0.82.1",
62
- "typescript": "^5.9.2"
62
+ "typescript": "^5.9.2",
63
+ "xcode": "^3.0.1"
63
64
  },
64
65
  "jest": {
65
66
  "preset": "jest-expo",
@@ -1,4 +1,15 @@
1
- import { ConfigPlugin } from 'expo/config-plugins';
1
+ import { ConfigPlugin, XcodeProject } from 'expo/config-plugins';
2
2
  import { ArcGISPluginProps } from './types';
3
3
  export declare const withArcGISIos: ConfigPlugin<ArcGISPluginProps>;
4
+ /** Mutates the parsed Xcode project in place. Exported for tests. */
5
+ export declare function embedArcGISFramework(project: XcodeProject): void;
6
+ /**
7
+ * Both the app target and the ExpoArcgis pod target run SignatureCollection for the signed
8
+ * ArcGIS xcframework, and archive-time signature aggregation copies both results into
9
+ * Signatures/ — failing with `"ArcGIS.xcframework-ios.signature" couldn't be copied to
10
+ * "Signatures" because an item with the same name already exists` (same Xcode bug as
11
+ * maplibre-react-native#1489). Delete the app-level copy during the build so aggregation
12
+ * only sees the pod target's. Mutates the parsed Xcode project in place; exported for tests.
13
+ */
14
+ export declare function addSignatureCleanupPhase(project: XcodeProject): void;
4
15
  //# sourceMappingURL=withArcGISIos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withArcGISIos.d.ts","sourceRoot":"","sources":["../src/withArcGISIos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK5C,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAmBzD,CAAC"}
1
+ {"version":3,"file":"withArcGISIos.d.ts","sourceRoot":"","sources":["../src/withArcGISIos.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK5C,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,iBAAiB,CAoBzD,CAAC;AAyCF,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CA8DhE;AAUD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAqBpE"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withArcGISIos = void 0;
4
+ exports.embedArcGISFramework = embedArcGISFramework;
5
+ exports.addSignatureCleanupPhase = addSignatureCleanupPhase;
4
6
  const config_plugins_1 = require("expo/config-plugins");
5
7
  /** ArcGIS Maps SDK for Swift 300.0 requires iOS 17.0+. */
6
8
  const REQUIRED_IOS_DEPLOYMENT_TARGET = '17.0';
@@ -14,6 +16,7 @@ const withArcGISIos = (config, props) => {
14
16
  config = withArcGISPodfileDeploymentTarget(config, target);
15
17
  config = withArcGISAppDeploymentTarget(config, target);
16
18
  config = withArcGISEmbedFramework(config);
19
+ config = withArcGISSignatureCleanup(config);
17
20
  if (props.apiKey) {
18
21
  config = withArcGISApiKeyInfoPlist(config, props.apiKey);
19
22
  }
@@ -54,7 +57,11 @@ const withArcGISAppDeploymentTarget = (config, target) => (0, config_plugins_1.w
54
57
  * (CodeSignOnCopy) on the app target referencing the built product — Xcode's "Embed & Sign".
55
58
  */
56
59
  const withArcGISEmbedFramework = (config) => (0, config_plugins_1.withXcodeProject)(config, (cfg) => {
57
- const project = cfg.modResults;
60
+ embedArcGISFramework(cfg.modResults);
61
+ return cfg;
62
+ });
63
+ /** Mutates the parsed Xcode project in place. Exported for tests. */
64
+ function embedArcGISFramework(project) {
58
65
  const FRAMEWORK = 'ArcGIS.framework';
59
66
  const COMMENT = `${FRAMEWORK} in Embed Frameworks`;
60
67
  const objects = project.hash.project.objects;
@@ -62,24 +69,11 @@ const withArcGISEmbedFramework = (config) => (0, config_plugins_1.withXcodeProje
62
69
  const buildFiles = objects.PBXBuildFile || {};
63
70
  for (const key of Object.keys(buildFiles)) {
64
71
  if (buildFiles[key] === COMMENT) {
65
- return cfg;
72
+ return;
66
73
  }
67
74
  }
68
- // Find the application target (fall back to the first target).
69
75
  const nativeTargets = objects.PBXNativeTarget || {};
70
- let targetUuid;
71
- for (const key of Object.keys(nativeTargets)) {
72
- if (key.endsWith('_comment'))
73
- continue;
74
- const productType = String(nativeTargets[key].productType || '').replace(/"/g, '');
75
- if (productType === 'com.apple.product-type.application') {
76
- targetUuid = key;
77
- break;
78
- }
79
- }
80
- if (!targetUuid) {
81
- targetUuid = project.getFirstTarget().uuid;
82
- }
76
+ const targetUuid = findApplicationTargetUuid(project);
83
77
  // Create an "Embed Frameworks" copy-files phase (dstSubfolderSpec 10 = Frameworks).
84
78
  const phase = project.addBuildPhase([], 'PBXCopyFilesBuildPhase', 'Embed Frameworks', targetUuid, 'frameworks');
85
79
  // Reference the framework as a build product and embed it with code signing.
@@ -101,8 +95,62 @@ const withArcGISEmbedFramework = (config) => (0, config_plugins_1.withXcodeProje
101
95
  };
102
96
  objects.PBXBuildFile[`${buildFileUuid}_comment`] = COMMENT;
103
97
  phase.buildPhase.files.push({ value: buildFileUuid, comment: COMMENT });
98
+ // addBuildPhase appends, which can land this copy phase after script phases other
99
+ // plugins added earlier (e.g. expo-datadog's dSYM upload) — Xcode then reports a
100
+ // dependency cycle: the copy is gated on the script phase, whose dSYM input needs
101
+ // the finished .app, which needs the copy. Move it to the slot after Resources,
102
+ // where Xcode itself puts Embed Frameworks, ahead of any tail script phases.
103
+ const buildPhases = (nativeTargets[targetUuid] || {}).buildPhases || [];
104
+ const embedIndex = buildPhases.findIndex((entry) => entry.value === phase.uuid);
105
+ const resourcesIndex = buildPhases.findIndex((entry) => entry.comment === 'Resources');
106
+ if (embedIndex !== -1 && resourcesIndex !== -1 && embedIndex > resourcesIndex + 1) {
107
+ const [entry] = buildPhases.splice(embedIndex, 1);
108
+ buildPhases.splice(resourcesIndex + 1, 0, entry);
109
+ }
110
+ }
111
+ const withArcGISSignatureCleanup = (config) => (0, config_plugins_1.withXcodeProject)(config, (cfg) => {
112
+ addSignatureCleanupPhase(cfg.modResults);
104
113
  return cfg;
105
114
  });
115
+ const SIGNATURE_CLEANUP_PHASE_NAME = '[expo-arcgis] Remove duplicate ArcGIS.xcframework signature';
116
+ /**
117
+ * Both the app target and the ExpoArcgis pod target run SignatureCollection for the signed
118
+ * ArcGIS xcframework, and archive-time signature aggregation copies both results into
119
+ * Signatures/ — failing with `"ArcGIS.xcframework-ios.signature" couldn't be copied to
120
+ * "Signatures" because an item with the same name already exists` (same Xcode bug as
121
+ * maplibre-react-native#1489). Delete the app-level copy during the build so aggregation
122
+ * only sees the pod target's. Mutates the parsed Xcode project in place; exported for tests.
123
+ */
124
+ function addSignatureCleanupPhase(project) {
125
+ var _a;
126
+ const scriptPhases = project.hash.project.objects.PBXShellScriptBuildPhase || {};
127
+ // Idempotent: skip if already added (prebuild may run plugins more than once).
128
+ for (const key of Object.keys(scriptPhases)) {
129
+ if (key.endsWith('_comment'))
130
+ continue;
131
+ if (String(((_a = scriptPhases[key]) === null || _a === void 0 ? void 0 : _a.name) || '').includes(SIGNATURE_CLEANUP_PHASE_NAME)) {
132
+ return;
133
+ }
134
+ }
135
+ const phase = project.addBuildPhase([], 'PBXShellScriptBuildPhase', SIGNATURE_CLEANUP_PHASE_NAME, findApplicationTargetUuid(project), {
136
+ shellPath: '/bin/sh',
137
+ shellScript: 'rm -rf "$CONFIGURATION_BUILD_DIR/ArcGIS.xcframework-ios.signature"',
138
+ });
139
+ phase.buildPhase.alwaysOutOfDate = 1;
140
+ }
141
+ /** Finds the application target (falls back to the first target). */
142
+ function findApplicationTargetUuid(project) {
143
+ const nativeTargets = project.hash.project.objects.PBXNativeTarget || {};
144
+ for (const key of Object.keys(nativeTargets)) {
145
+ if (key.endsWith('_comment'))
146
+ continue;
147
+ const productType = String(nativeTargets[key].productType || '').replace(/"/g, '');
148
+ if (productType === 'com.apple.product-type.application') {
149
+ return key;
150
+ }
151
+ }
152
+ return project.getFirstTarget().uuid;
153
+ }
106
154
  /** Stores the API key in Info.plist as `ArcGISAPIKey` for the native runtime to read. */
107
155
  const withArcGISApiKeyInfoPlist = (config, apiKey) => (0, config_plugins_1.withInfoPlist)(config, (cfg) => {
108
156
  cfg.modResults.ArcGISAPIKey = apiKey;
@@ -1 +1 @@
1
- {"version":3,"file":"withArcGISIos.js","sourceRoot":"","sources":["../src/withArcGISIos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withArcGISIos.js","sourceRoot":"","sources":["../src/withArcGISIos.ts"],"names":[],"mappings":"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"}
@@ -339,6 +339,12 @@ export type GeoModelRef = MapRef | SceneRef;
339
339
  declare class ExpoArcgisModule extends NativeModule {
340
340
  /** Sets the ArcGIS API key (access token) used to authenticate with ArcGIS services. */
341
341
  setApiKey(apiKey: string): void;
342
+ /**
343
+ * Applies a deployment license string, removing the "Licensed for Developer Use Only" watermark.
344
+ * Returns the resulting license status (`"valid"`, `"invalid"`, `"expired"` or `"loginRequired"`).
345
+ * Separate from {@link setApiKey}: the key authenticates services, the license unlocks deployment.
346
+ */
347
+ setLicense(licenseKey: string): string;
342
348
  /**
343
349
  * Stores a login used to authenticate token-secured services (e.g. a utility-network feature
344
350
  * service). The challenge handler mints a `TokenCredential` for the exact resource the SDK
@@ -5,6 +5,11 @@ import ExpoArcgisModule from './ExpoArcgisModule';
5
5
  export type MapSettingsConfig = {
6
6
  /** ArcGIS API key. Equivalent to passing `apiKey` to the config plugin, but at runtime. */
7
7
  apiKey?: string;
8
+ /**
9
+ * ArcGIS deployment license string. Removes the "Licensed for Developer Use Only" watermark.
10
+ * Separate from `apiKey`: the key authenticates services, the license unlocks deployment.
11
+ */
12
+ license?: string;
8
13
  };
9
14
 
10
15
  type MapSettingsProps = {
@@ -18,9 +23,9 @@ export function useMapSettings(): MapSettingsConfig | undefined {
18
23
  }
19
24
 
20
25
  /**
21
- * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key **synchronously during render**,
22
- * before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so the very first
23
- * map load already sees the key. Guarded by value so it only re-applies when the key changes.
26
+ * Global ArcGIS settings (mirrors `esriConfig`). Applies the API key and license **synchronously
27
+ * during render**, before any descendant `<Map>` / `<MapView>` (and the native map load) mount — so
28
+ * the very first map load already sees them. Guarded by value so each only re-applies when it changes.
24
29
  */
25
30
  export function MapSettings({ config, children }: PropsWithChildren<MapSettingsProps>) {
26
31
  const appliedKey = useRef<string | undefined>(undefined);
@@ -29,5 +34,11 @@ export function MapSettings({ config, children }: PropsWithChildren<MapSettingsP
29
34
  ExpoArcgisModule.setApiKey(config.apiKey);
30
35
  }
31
36
 
37
+ const appliedLicense = useRef<string | undefined>(undefined);
38
+ if (config?.license && config.license !== appliedLicense.current) {
39
+ appliedLicense.current = config.license;
40
+ ExpoArcgisModule.setLicense(config.license);
41
+ }
42
+
32
43
  return <MapSettingsContext.Provider value={config}>{children}</MapSettingsContext.Provider>;
33
44
  }