@deck.gl/arcgis 8.6.3 → 8.7.0-alpha.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/dist/dist.dev.js CHANGED
@@ -97,9 +97,9 @@ return /******/ (function(modules) { // webpackBootstrap
97
97
  /******/ ({
98
98
 
99
99
  /***/ "../../node_modules/esri-loader/dist/umd/esri-loader.js":
100
- /*!************************************************************************************!*\
101
- !*** /Users/missx/Source/deck.gl/node_modules/esri-loader/dist/umd/esri-loader.js ***!
102
- \************************************************************************************/
100
+ /*!***********************************************************************************!*\
101
+ !*** /Users/alasarr/dev/deck.gl/node_modules/esri-loader/dist/umd/esri-loader.js ***!
102
+ \***********************************************************************************/
103
103
  /*! no static exports found */
104
104
  /***/ (function(module, exports, __webpack_require__) {
105
105
 
@@ -118,7 +118,7 @@ var utils = {
118
118
 
119
119
  /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
120
120
  * Apache-2.0 */
121
- var DEFAULT_VERSION = '4.20';
121
+ var DEFAULT_VERSION = '4.21';
122
122
  var NEXT = 'next';
123
123
  function parseVersion(version) {
124
124
  if (version.toLowerCase() === NEXT) {
@@ -133,7 +133,7 @@ function parseVersion(version) {
133
133
  /**
134
134
  * Get the CDN url for a given version
135
135
  *
136
- * @param version Ex: '4.20' or '3.37'. Defaults to the latest 4.x version.
136
+ * @param version Ex: '4.21' or '3.38'. Defaults to the latest 4.x version.
137
137
  */
138
138
  function getCdnUrl(version) {
139
139
  if (version === void 0) { version = DEFAULT_VERSION; }
@@ -142,7 +142,7 @@ function getCdnUrl(version) {
142
142
  /**
143
143
  * Get the CDN url for a the CSS for a given version and/or theme
144
144
  *
145
- * @param version Ex: '4.20', '3.37', or 'next'. Defaults to the latest 4.x version.
145
+ * @param version Ex: '4.21', '3.38', or 'next'. Defaults to the latest 4.x version.
146
146
  */
147
147
  function getCdnCssUrl(version) {
148
148
  if (version === void 0) { version = DEFAULT_VERSION; }
@@ -406,7 +406,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
406
406
  /*! no static exports found */
407
407
  /***/ (function(module, exports, __webpack_require__) {
408
408
 
409
- const ArcGISUtils = __webpack_require__(/*! ./src */ "./src/index.js");
409
+ const ArcGISUtils = __webpack_require__(/*! ./src/load-modules */ "./src/load-modules.js");
410
410
 
411
411
  /* global window, global */
412
412
  const _global = typeof window === 'undefined' ? global : window;
@@ -675,7 +675,7 @@ function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {
675
675
 
676
676
  "use strict";
677
677
  __webpack_require__.r(__webpack_exports__);
678
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return loadDeckProps; });
678
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createDeckProps; });
679
679
  const properties = {
680
680
  layers: {},
681
681
  layerFilter: {},
@@ -697,7 +697,7 @@ const properties = {
697
697
  };
698
698
 
699
699
  /* eslint-disable callback-return */
700
- function loadDeckProps(Accessor) {
700
+ function createDeckProps(Accessor) {
701
701
  const DeckProps = Accessor.createSubclass({
702
702
  properties,
703
703
 
@@ -811,10 +811,10 @@ function createDeckRenderer(DeckProps, externalRenderers) {
811
811
 
812
812
  /***/ }),
813
813
 
814
- /***/ "./src/index.js":
815
- /*!**********************!*\
816
- !*** ./src/index.js ***!
817
- \**********************/
814
+ /***/ "./src/load-modules.js":
815
+ /*!*****************************!*\
816
+ !*** ./src/load-modules.js ***!
817
+ \*****************************/
818
818
  /*! exports provided: loadArcGISModules */
819
819
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
820
820
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = loadDeckProps;
6
+ exports.default = createDeckProps;
7
7
  const properties = {
8
8
  layers: {},
9
9
  layerFilter: {},
@@ -24,7 +24,7 @@ const properties = {
24
24
  getTooltip: {}
25
25
  };
26
26
 
27
- function loadDeckProps(Accessor) {
27
+ function createDeckProps(Accessor) {
28
28
  const DeckProps = Accessor.createSubclass({
29
29
  properties,
30
30
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/deck-props.js"],"names":["properties","layers","layerFilter","parameters","effects","pickingRadius","onBeforeRender","onAfterRender","onClick","onHover","onDragStart","onDrag","onDragEnd","onError","debug","drawPickingColors","getCursor","getTooltip","loadDeckProps","Accessor","DeckProps","createSubclass","constructor","_callbacks","watch","Object","keys","newValue","oldValue","propName","emit","on","eventName","cb","push","details","callbacks","toJSON","result","key","undefined"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,MAAM,EAAE,EADS;AAEjBC,EAAAA,WAAW,EAAE,EAFI;AAGjBC,EAAAA,UAAU,EAAE,EAHK;AAIjBC,EAAAA,OAAO,EAAE,EAJQ;AAKjBC,EAAAA,aAAa,EAAE,EALE;AAMjBC,EAAAA,cAAc,EAAE,EANC;AAOjBC,EAAAA,aAAa,EAAE,EAPE;AAQjBC,EAAAA,OAAO,EAAE,EARQ;AASjBC,EAAAA,OAAO,EAAE,EATQ;AAUjBC,EAAAA,WAAW,EAAE,EAVI;AAWjBC,EAAAA,MAAM,EAAE,EAXS;AAYjBC,EAAAA,SAAS,EAAE,EAZM;AAajBC,EAAAA,OAAO,EAAE,EAbQ;AAcjBC,EAAAA,KAAK,EAAE,EAdU;AAejBC,EAAAA,iBAAiB,EAAE,EAfF;AAgBjBC,EAAAA,SAAS,EAAE,EAhBM;AAiBjBC,EAAAA,UAAU,EAAE;AAjBK,CAAnB;;AAqBe,SAASC,aAAT,CAAuBC,QAAvB,EAAiC;AAC9C,QAAMC,SAAS,GAAGD,QAAQ,CAACE,cAAT,CAAwB;AACxCrB,IAAAA,UADwC;;AAGxCsB,IAAAA,WAAW,GAAG;AACZ,WAAKC,UAAL,GAAkB,EAAlB;AAEA,WAAKC,KAAL,CAAWC,MAAM,CAACC,IAAP,CAAY1B,UAAZ,CAAX,EAAoC,CAAC2B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,KAAkC;AACpE,aAAKC,IAAL,CAAU,QAAV,EAAoB;AAAC,WAACD,QAAD,GAAYF;AAAb,SAApB;AACD,OAFD;AAGD,KATuC;;AAWxCI,IAAAA,EAAE,CAACC,SAAD,EAAYC,EAAZ,EAAgB;AAChB,WAAKV,UAAL,CAAgBS,SAAhB,IAA6B,KAAKT,UAAL,CAAgBS,SAAhB,KAA8B,EAA3D;;AACA,WAAKT,UAAL,CAAgBS,SAAhB,EAA2BE,IAA3B,CAAgCD,EAAhC;AACD,KAduC;;AAgBxCH,IAAAA,IAAI,CAACE,SAAD,EAAYG,OAAZ,EAAqB;AACvB,YAAMC,SAAS,GAAG,KAAKb,UAAL,CAAgBS,SAAhB,CAAlB;;AACA,UAAII,SAAJ,EAAe;AACb,aAAK,MAAMH,EAAX,IAAiBG,SAAjB,EAA4B;AAC1BH,UAAAA,EAAE,CAACE,OAAD,CAAF;AACD;AACF;AACF,KAvBuC;;AAyBxCE,IAAAA,MAAM,GAAG;AACP,YAAMC,MAAM,GAAG,EAAf;;AACA,WAAK,MAAMC,GAAX,IAAkB,KAAKb,IAAL,EAAlB,EAA+B;AAC7B,YAAI,KAAKa,GAAL,MAAcC,SAAlB,EAA6B;AAC3BF,UAAAA,MAAM,CAACC,GAAD,CAAN,GAAc,KAAKA,GAAL,CAAd;AACD;AACF;;AACD,aAAOD,MAAP;AACD;;AAjCuC,GAAxB,CAAlB;AAoCA,SAAOlB,SAAP;AACD","sourcesContent":["const properties = {\n layers: {},\n layerFilter: {},\n parameters: {},\n effects: {},\n pickingRadius: {},\n onBeforeRender: {},\n onAfterRender: {},\n onClick: {},\n onHover: {},\n onDragStart: {},\n onDrag: {},\n onDragEnd: {},\n onError: {},\n debug: {},\n drawPickingColors: {},\n getCursor: {},\n getTooltip: {}\n};\n\n/* eslint-disable callback-return */\nexport default function loadDeckProps(Accessor) {\n const DeckProps = Accessor.createSubclass({\n properties,\n\n constructor() {\n this._callbacks = {};\n\n this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n this.emit('change', {[propName]: newValue});\n });\n },\n\n on(eventName, cb) {\n this._callbacks[eventName] = this._callbacks[eventName] || [];\n this._callbacks[eventName].push(cb);\n },\n\n emit(eventName, details) {\n const callbacks = this._callbacks[eventName];\n if (callbacks) {\n for (const cb of callbacks) {\n cb(details);\n }\n }\n },\n\n toJSON() {\n const result = {};\n for (const key of this.keys()) {\n if (this[key] !== undefined) {\n result[key] = this[key];\n }\n }\n return result;\n }\n });\n\n return DeckProps;\n}\n"],"file":"deck-props.js"}
1
+ {"version":3,"sources":["../../src/deck-props.js"],"names":["properties","layers","layerFilter","parameters","effects","pickingRadius","onBeforeRender","onAfterRender","onClick","onHover","onDragStart","onDrag","onDragEnd","onError","debug","drawPickingColors","getCursor","getTooltip","createDeckProps","Accessor","DeckProps","createSubclass","constructor","_callbacks","watch","Object","keys","newValue","oldValue","propName","emit","on","eventName","cb","push","details","callbacks","toJSON","result","key","undefined"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,MAAM,EAAE,EADS;AAEjBC,EAAAA,WAAW,EAAE,EAFI;AAGjBC,EAAAA,UAAU,EAAE,EAHK;AAIjBC,EAAAA,OAAO,EAAE,EAJQ;AAKjBC,EAAAA,aAAa,EAAE,EALE;AAMjBC,EAAAA,cAAc,EAAE,EANC;AAOjBC,EAAAA,aAAa,EAAE,EAPE;AAQjBC,EAAAA,OAAO,EAAE,EARQ;AASjBC,EAAAA,OAAO,EAAE,EATQ;AAUjBC,EAAAA,WAAW,EAAE,EAVI;AAWjBC,EAAAA,MAAM,EAAE,EAXS;AAYjBC,EAAAA,SAAS,EAAE,EAZM;AAajBC,EAAAA,OAAO,EAAE,EAbQ;AAcjBC,EAAAA,KAAK,EAAE,EAdU;AAejBC,EAAAA,iBAAiB,EAAE,EAfF;AAgBjBC,EAAAA,SAAS,EAAE,EAhBM;AAiBjBC,EAAAA,UAAU,EAAE;AAjBK,CAAnB;;AAqBe,SAASC,eAAT,CAAyBC,QAAzB,EAAmC;AAChD,QAAMC,SAAS,GAAGD,QAAQ,CAACE,cAAT,CAAwB;AACxCrB,IAAAA,UADwC;;AAGxCsB,IAAAA,WAAW,GAAG;AACZ,WAAKC,UAAL,GAAkB,EAAlB;AAEA,WAAKC,KAAL,CAAWC,MAAM,CAACC,IAAP,CAAY1B,UAAZ,CAAX,EAAoC,CAAC2B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,KAAkC;AACpE,aAAKC,IAAL,CAAU,QAAV,EAAoB;AAAC,WAACD,QAAD,GAAYF;AAAb,SAApB;AACD,OAFD;AAGD,KATuC;;AAWxCI,IAAAA,EAAE,CAACC,SAAD,EAAYC,EAAZ,EAAgB;AAChB,WAAKV,UAAL,CAAgBS,SAAhB,IAA6B,KAAKT,UAAL,CAAgBS,SAAhB,KAA8B,EAA3D;;AACA,WAAKT,UAAL,CAAgBS,SAAhB,EAA2BE,IAA3B,CAAgCD,EAAhC;AACD,KAduC;;AAgBxCH,IAAAA,IAAI,CAACE,SAAD,EAAYG,OAAZ,EAAqB;AACvB,YAAMC,SAAS,GAAG,KAAKb,UAAL,CAAgBS,SAAhB,CAAlB;;AACA,UAAII,SAAJ,EAAe;AACb,aAAK,MAAMH,EAAX,IAAiBG,SAAjB,EAA4B;AAC1BH,UAAAA,EAAE,CAACE,OAAD,CAAF;AACD;AACF;AACF,KAvBuC;;AAyBxCE,IAAAA,MAAM,GAAG;AACP,YAAMC,MAAM,GAAG,EAAf;;AACA,WAAK,MAAMC,GAAX,IAAkB,KAAKb,IAAL,EAAlB,EAA+B;AAC7B,YAAI,KAAKa,GAAL,MAAcC,SAAlB,EAA6B;AAC3BF,UAAAA,MAAM,CAACC,GAAD,CAAN,GAAc,KAAKA,GAAL,CAAd;AACD;AACF;;AACD,aAAOD,MAAP;AACD;;AAjCuC,GAAxB,CAAlB;AAoCA,SAAOlB,SAAP;AACD","sourcesContent":["const properties = {\n layers: {},\n layerFilter: {},\n parameters: {},\n effects: {},\n pickingRadius: {},\n onBeforeRender: {},\n onAfterRender: {},\n onClick: {},\n onHover: {},\n onDragStart: {},\n onDrag: {},\n onDragEnd: {},\n onError: {},\n debug: {},\n drawPickingColors: {},\n getCursor: {},\n getTooltip: {}\n};\n\n/* eslint-disable callback-return */\nexport default function createDeckProps(Accessor) {\n const DeckProps = Accessor.createSubclass({\n properties,\n\n constructor() {\n this._callbacks = {};\n\n this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n this.emit('change', {[propName]: newValue});\n });\n },\n\n on(eventName, cb) {\n this._callbacks[eventName] = this._callbacks[eventName] || [];\n this._callbacks[eventName].push(cb);\n },\n\n emit(eventName, details) {\n const callbacks = this._callbacks[eventName];\n if (callbacks) {\n for (const cb of callbacks) {\n cb(details);\n }\n }\n },\n\n toJSON() {\n const result = {};\n for (const key of this.keys()) {\n if (this[key] !== undefined) {\n result[key] = this[key];\n }\n }\n return result;\n }\n });\n\n return DeckProps;\n}\n"],"file":"deck-props.js"}
package/dist/es5/index.js CHANGED
@@ -5,7 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.loadArcGISModules = loadArcGISModules;
8
+ Object.defineProperty(exports, "loadArcGISModules", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _loadModules.loadArcGISModules;
12
+ }
13
+ });
14
+ exports.DeckRenderer = exports.DeckLayer = void 0;
9
15
 
10
16
  var _deckProps = _interopRequireDefault(require("./deck-props"));
11
17
 
@@ -15,52 +21,24 @@ var _deckLayerView2d = _interopRequireDefault(require("./deck-layer-view-2d"));
15
21
 
16
22
  var _deckRenderer = _interopRequireDefault(require("./deck-renderer"));
17
23
 
18
- var _esriLoader = require("esri-loader");
19
-
20
- let arcGIS = null;
24
+ var _Accessor = _interopRequireDefault(require("@arcgis/core/core/Accessor"));
21
25
 
22
- async function loadArcGISModules(modules, loadScriptOptions) {
23
- const namespace = Array.isArray(modules) ? null : modules;
24
- await loadArcGISModule(namespace, loadScriptOptions);
26
+ var _Layer = _interopRequireDefault(require("@arcgis/core/layers/Layer"));
25
27
 
26
- if (Array.isArray(modules)) {
27
- return (0, _esriLoader.loadModules)(modules, loadScriptOptions).then(array => {
28
- return { ...arcGIS,
29
- modules: array
30
- };
31
- });
32
- }
28
+ var _BaseLayerViewGL2D = _interopRequireDefault(require("@arcgis/core/views/2d/layers/BaseLayerViewGL2D"));
33
29
 
34
- return arcGIS;
35
- }
30
+ var externalRenderers = _interopRequireWildcard(require("@arcgis/core/views/3d/externalRenderers"));
36
31
 
37
- function loadArcGISModule(esri, loadScriptOptions) {
38
- if (arcGIS) {
39
- return arcGIS;
40
- }
32
+ var _loadModules = require("./load-modules");
41
33
 
42
- if (esri) {
43
- const Layer = esri.layers.Layer;
44
- const Accessor = esri.core.Accessor;
45
- const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
46
- const externalRenderers = esri.views['3d'].externalRenderers;
47
- return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
48
- }
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
35
 
50
- return (0, _esriLoader.loadModules)(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
51
- return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
52
- });
53
- }
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
54
37
 
55
- function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
56
- const DeckProps = (0, _deckProps.default)(Accessor);
57
- const DeckLayerView2D = (0, _deckLayerView2d.default)(BaseLayerViewGL2D);
58
- const DeckLayer = (0, _deckLayer.default)(DeckProps, Layer, DeckLayerView2D);
59
- const DeckRenderer = (0, _deckRenderer.default)(DeckProps, externalRenderers);
60
- arcGIS = {
61
- DeckLayer,
62
- DeckRenderer
63
- };
64
- return arcGIS;
65
- }
38
+ const DeckProps = (0, _deckProps.default)(_Accessor.default);
39
+ const DeckLayerView2D = (0, _deckLayerView2d.default)(_BaseLayerViewGL2D.default);
40
+ const DeckLayer = (0, _deckLayer.default)(DeckProps, _Layer.default, DeckLayerView2D);
41
+ exports.DeckLayer = DeckLayer;
42
+ const DeckRenderer = (0, _deckRenderer.default)(DeckProps, externalRenderers);
43
+ exports.DeckRenderer = DeckRenderer;
66
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":["arcGIS","loadArcGISModules","modules","loadScriptOptions","namespace","Array","isArray","loadArcGISModule","then","array","esri","Layer","layers","Accessor","core","BaseLayerViewGL2D","views","externalRenderers","initialize","DeckProps","DeckLayerView2D","DeckLayer","DeckRenderer"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAIA,MAAM,GAAG,IAAb;;AAEO,eAAeC,iBAAf,CAAiCC,OAAjC,EAA0CC,iBAA1C,EAA6D;AAClE,QAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcJ,OAAd,IAAyB,IAAzB,GAAgCA,OAAlD;AACA,QAAMK,gBAAgB,CAACH,SAAD,EAAYD,iBAAZ,CAAtB;;AAEA,MAAIE,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAJ,EAA4B;AAC1B,WAAO,6BAAsBA,OAAtB,EAA+BC,iBAA/B,EAAkDK,IAAlD,CAAuDC,KAAK,IAAI;AACrE,aAAO,EAAC,GAAGT,MAAJ;AAAYE,QAAAA,OAAO,EAAEO;AAArB,OAAP;AACD,KAFM,CAAP;AAGD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASO,gBAAT,CAA0BG,IAA1B,EAAgCP,iBAAhC,EAAmD;AACjD,MAAIH,MAAJ,EAAY;AAEV,WAAOA,MAAP;AACD;;AACD,MAAIU,IAAJ,EAAU;AAGR,UAAMC,KAAK,GAAGD,IAAI,CAACE,MAAL,CAAYD,KAA1B;AACA,UAAME,QAAQ,GAAGH,IAAI,CAACI,IAAL,CAAUD,QAA3B;AACA,UAAME,iBAAiB,GAAGL,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBJ,MAAjB,CAAwBG,iBAAlD;AACA,UAAME,iBAAiB,GAAGP,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBC,iBAA3C;AAEA,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD;;AAED,SAAO,6BACL,CACE,mBADF,EAEE,oBAFF,EAGE,wCAHF,EAIE,iCAJF,CADK,EAOLd,iBAPK,EAQLK,IARK,CAQA,CAAC,CAACG,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAD,KAA6D;AAClE,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD,GAVM,CAAP;AAWD;;AAED,SAASC,UAAT,CAAoBP,KAApB,EAA2BE,QAA3B,EAAqCE,iBAArC,EAAwDE,iBAAxD,EAA2E;AACzE,QAAME,SAAS,GAAG,wBAAgBN,QAAhB,CAAlB;AACA,QAAMO,eAAe,GAAG,8BAAsBL,iBAAtB,CAAxB;AACA,QAAMM,SAAS,GAAG,wBAAgBF,SAAhB,EAA2BR,KAA3B,EAAkCS,eAAlC,CAAlB;AACA,QAAME,YAAY,GAAG,2BAAmBH,SAAnB,EAA8BF,iBAA9B,CAArB;AAEAjB,EAAAA,MAAM,GAAG;AAACqB,IAAAA,SAAD;AAAYC,IAAAA;AAAZ,GAAT;AACA,SAAOtB,MAAP;AACD","sourcesContent":["import createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\nimport {loadModules as esriLoaderLoadModules} from 'esri-loader';\n\nlet arcGIS = null;\n\nexport async function loadArcGISModules(modules, loadScriptOptions) {\n const namespace = Array.isArray(modules) ? null : modules;\n await loadArcGISModule(namespace, loadScriptOptions);\n\n if (Array.isArray(modules)) {\n return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n return {...arcGIS, modules: array};\n });\n }\n return arcGIS;\n}\n\nfunction loadArcGISModule(esri, loadScriptOptions) {\n if (arcGIS) {\n // Already loaded\n return arcGIS;\n }\n if (esri) {\n // Using user-provided dependencies\n // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?\n const Layer = esri.layers.Layer;\n const Accessor = esri.core.Accessor;\n const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;\n const externalRenderers = esri.views['3d'].externalRenderers;\n\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n }\n\n return esriLoaderLoadModules(\n [\n 'esri/layers/Layer',\n 'esri/core/Accessor',\n 'esri/views/2d/layers/BaseLayerViewGL2D',\n 'esri/views/3d/externalRenderers'\n ],\n loadScriptOptions\n ).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n });\n}\n\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {\n const DeckProps = createDeckProps(Accessor);\n const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n\n arcGIS = {DeckLayer, DeckRenderer};\n return arcGIS;\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":["DeckProps","Accessor","DeckLayerView2D","BaseLayerViewGL2D","DeckLayer","Layer","DeckRenderer","externalRenderers"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAGA;;;;;;AAGA,MAAMA,SAAS,GAAG,wBAAgBC,iBAAhB,CAAlB;AACA,MAAMC,eAAe,GAAG,8BAAsBC,0BAAtB,CAAxB;AACO,MAAMC,SAAS,GAAG,wBAAgBJ,SAAhB,EAA2BK,cAA3B,EAAkCH,eAAlC,CAAlB;;AACA,MAAMI,YAAY,GAAG,2BAAmBN,SAAnB,EAA8BO,iBAA9B,CAArB","sourcesContent":["import createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\n\nimport Accessor from '@arcgis/core/core/Accessor';\nimport Layer from '@arcgis/core/layers/Layer';\nimport BaseLayerViewGL2D from '@arcgis/core/views/2d/layers/BaseLayerViewGL2D';\nimport * as externalRenderers from '@arcgis/core/views/3d/externalRenderers';\n\n// require-style loader\nexport {loadArcGISModules} from './load-modules';\n\n// ESM-style classes\nconst DeckProps = createDeckProps(Accessor);\nconst DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\nexport const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\nexport const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n"],"file":"index.js"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.loadArcGISModules = loadArcGISModules;
9
+
10
+ var _deckProps = _interopRequireDefault(require("./deck-props"));
11
+
12
+ var _deckLayer = _interopRequireDefault(require("./deck-layer"));
13
+
14
+ var _deckLayerView2d = _interopRequireDefault(require("./deck-layer-view-2d"));
15
+
16
+ var _deckRenderer = _interopRequireDefault(require("./deck-renderer"));
17
+
18
+ var _esriLoader = require("esri-loader");
19
+
20
+ let arcGIS = null;
21
+
22
+ async function loadArcGISModules(modules, loadScriptOptions) {
23
+ const namespace = Array.isArray(modules) ? null : modules;
24
+ await loadArcGISModule(namespace, loadScriptOptions);
25
+
26
+ if (Array.isArray(modules)) {
27
+ return (0, _esriLoader.loadModules)(modules, loadScriptOptions).then(array => {
28
+ return { ...arcGIS,
29
+ modules: array
30
+ };
31
+ });
32
+ }
33
+
34
+ return arcGIS;
35
+ }
36
+
37
+ function loadArcGISModule(esri, loadScriptOptions) {
38
+ if (arcGIS) {
39
+ return arcGIS;
40
+ }
41
+
42
+ if (esri) {
43
+ const Layer = esri.layers.Layer;
44
+ const Accessor = esri.core.Accessor;
45
+ const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
46
+ const externalRenderers = esri.views['3d'].externalRenderers;
47
+ return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
48
+ }
49
+
50
+ return (0, _esriLoader.loadModules)(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
51
+ return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
52
+ });
53
+ }
54
+
55
+ function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
56
+ const DeckProps = (0, _deckProps.default)(Accessor);
57
+ const DeckLayerView2D = (0, _deckLayerView2d.default)(BaseLayerViewGL2D);
58
+ const DeckLayer = (0, _deckLayer.default)(DeckProps, Layer, DeckLayerView2D);
59
+ const DeckRenderer = (0, _deckRenderer.default)(DeckProps, externalRenderers);
60
+ arcGIS = {
61
+ DeckLayer,
62
+ DeckRenderer
63
+ };
64
+ return arcGIS;
65
+ }
66
+ //# sourceMappingURL=load-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/load-modules.js"],"names":["arcGIS","loadArcGISModules","modules","loadScriptOptions","namespace","Array","isArray","loadArcGISModule","then","array","esri","Layer","layers","Accessor","core","BaseLayerViewGL2D","views","externalRenderers","initialize","DeckProps","DeckLayerView2D","DeckLayer","DeckRenderer"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAIA,MAAM,GAAG,IAAb;;AAEO,eAAeC,iBAAf,CAAiCC,OAAjC,EAA0CC,iBAA1C,EAA6D;AAClE,QAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcJ,OAAd,IAAyB,IAAzB,GAAgCA,OAAlD;AACA,QAAMK,gBAAgB,CAACH,SAAD,EAAYD,iBAAZ,CAAtB;;AAEA,MAAIE,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAJ,EAA4B;AAC1B,WAAO,6BAAsBA,OAAtB,EAA+BC,iBAA/B,EAAkDK,IAAlD,CAAuDC,KAAK,IAAI;AACrE,aAAO,EAAC,GAAGT,MAAJ;AAAYE,QAAAA,OAAO,EAAEO;AAArB,OAAP;AACD,KAFM,CAAP;AAGD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASO,gBAAT,CAA0BG,IAA1B,EAAgCP,iBAAhC,EAAmD;AACjD,MAAIH,MAAJ,EAAY;AAEV,WAAOA,MAAP;AACD;;AACD,MAAIU,IAAJ,EAAU;AAGR,UAAMC,KAAK,GAAGD,IAAI,CAACE,MAAL,CAAYD,KAA1B;AACA,UAAME,QAAQ,GAAGH,IAAI,CAACI,IAAL,CAAUD,QAA3B;AACA,UAAME,iBAAiB,GAAGL,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBJ,MAAjB,CAAwBG,iBAAlD;AACA,UAAME,iBAAiB,GAAGP,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBC,iBAA3C;AAEA,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD;;AAED,SAAO,6BACL,CACE,mBADF,EAEE,oBAFF,EAGE,wCAHF,EAIE,iCAJF,CADK,EAOLd,iBAPK,EAQLK,IARK,CAQA,CAAC,CAACG,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAD,KAA6D;AAClE,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD,GAVM,CAAP;AAWD;;AAED,SAASC,UAAT,CAAoBP,KAApB,EAA2BE,QAA3B,EAAqCE,iBAArC,EAAwDE,iBAAxD,EAA2E;AACzE,QAAME,SAAS,GAAG,wBAAgBN,QAAhB,CAAlB;AACA,QAAMO,eAAe,GAAG,8BAAsBL,iBAAtB,CAAxB;AACA,QAAMM,SAAS,GAAG,wBAAgBF,SAAhB,EAA2BR,KAA3B,EAAkCS,eAAlC,CAAlB;AACA,QAAME,YAAY,GAAG,2BAAmBH,SAAnB,EAA8BF,iBAA9B,CAArB;AAEAjB,EAAAA,MAAM,GAAG;AAACqB,IAAAA,SAAD;AAAYC,IAAAA;AAAZ,GAAT;AACA,SAAOtB,MAAP;AACD","sourcesContent":["import createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\nimport {loadModules as esriLoaderLoadModules} from 'esri-loader';\n\nlet arcGIS = null;\n\nexport async function loadArcGISModules(modules, loadScriptOptions) {\n const namespace = Array.isArray(modules) ? null : modules;\n await loadArcGISModule(namespace, loadScriptOptions);\n\n if (Array.isArray(modules)) {\n return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n return {...arcGIS, modules: array};\n });\n }\n return arcGIS;\n}\n\nfunction loadArcGISModule(esri, loadScriptOptions) {\n if (arcGIS) {\n // Already loaded\n return arcGIS;\n }\n if (esri) {\n // Using user-provided dependencies\n // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?\n const Layer = esri.layers.Layer;\n const Accessor = esri.core.Accessor;\n const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;\n const externalRenderers = esri.views['3d'].externalRenderers;\n\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n }\n\n return esriLoaderLoadModules(\n [\n 'esri/layers/Layer',\n 'esri/core/Accessor',\n 'esri/views/2d/layers/BaseLayerViewGL2D',\n 'esri/views/3d/externalRenderers'\n ],\n loadScriptOptions\n ).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n });\n}\n\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {\n const DeckProps = createDeckProps(Accessor);\n const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n\n arcGIS = {DeckLayer, DeckRenderer};\n return arcGIS;\n}\n"],"file":"load-modules.js"}
@@ -17,7 +17,7 @@ const properties = {
17
17
  getCursor: {},
18
18
  getTooltip: {}
19
19
  };
20
- export default function loadDeckProps(Accessor) {
20
+ export default function createDeckProps(Accessor) {
21
21
  const DeckProps = Accessor.createSubclass({
22
22
  properties,
23
23
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/deck-props.js"],"names":["properties","layers","layerFilter","parameters","effects","pickingRadius","onBeforeRender","onAfterRender","onClick","onHover","onDragStart","onDrag","onDragEnd","onError","debug","drawPickingColors","getCursor","getTooltip","loadDeckProps","Accessor","DeckProps","createSubclass","constructor","_callbacks","watch","Object","keys","newValue","oldValue","propName","emit","on","eventName","cb","push","details","callbacks","toJSON","result","key","undefined"],"mappings":"AAAA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,MAAM,EAAE,EADS;AAEjBC,EAAAA,WAAW,EAAE,EAFI;AAGjBC,EAAAA,UAAU,EAAE,EAHK;AAIjBC,EAAAA,OAAO,EAAE,EAJQ;AAKjBC,EAAAA,aAAa,EAAE,EALE;AAMjBC,EAAAA,cAAc,EAAE,EANC;AAOjBC,EAAAA,aAAa,EAAE,EAPE;AAQjBC,EAAAA,OAAO,EAAE,EARQ;AASjBC,EAAAA,OAAO,EAAE,EATQ;AAUjBC,EAAAA,WAAW,EAAE,EAVI;AAWjBC,EAAAA,MAAM,EAAE,EAXS;AAYjBC,EAAAA,SAAS,EAAE,EAZM;AAajBC,EAAAA,OAAO,EAAE,EAbQ;AAcjBC,EAAAA,KAAK,EAAE,EAdU;AAejBC,EAAAA,iBAAiB,EAAE,EAfF;AAgBjBC,EAAAA,SAAS,EAAE,EAhBM;AAiBjBC,EAAAA,UAAU,EAAE;AAjBK,CAAnB;AAqBA,eAAe,SAASC,aAAT,CAAuBC,QAAvB,EAAiC;AAC9C,QAAMC,SAAS,GAAGD,QAAQ,CAACE,cAAT,CAAwB;AACxCrB,IAAAA,UADwC;;AAGxCsB,IAAAA,WAAW,GAAG;AACZ,WAAKC,UAAL,GAAkB,EAAlB;AAEA,WAAKC,KAAL,CAAWC,MAAM,CAACC,IAAP,CAAY1B,UAAZ,CAAX,EAAoC,CAAC2B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,KAAkC;AACpE,aAAKC,IAAL,CAAU,QAAV,EAAoB;AAAC,WAACD,QAAD,GAAYF;AAAb,SAApB;AACD,OAFD;AAGD,KATuC;;AAWxCI,IAAAA,EAAE,CAACC,SAAD,EAAYC,EAAZ,EAAgB;AAChB,WAAKV,UAAL,CAAgBS,SAAhB,IAA6B,KAAKT,UAAL,CAAgBS,SAAhB,KAA8B,EAA3D;;AACA,WAAKT,UAAL,CAAgBS,SAAhB,EAA2BE,IAA3B,CAAgCD,EAAhC;AACD,KAduC;;AAgBxCH,IAAAA,IAAI,CAACE,SAAD,EAAYG,OAAZ,EAAqB;AACvB,YAAMC,SAAS,GAAG,KAAKb,UAAL,CAAgBS,SAAhB,CAAlB;;AACA,UAAII,SAAJ,EAAe;AACb,aAAK,MAAMH,EAAX,IAAiBG,SAAjB,EAA4B;AAC1BH,UAAAA,EAAE,CAACE,OAAD,CAAF;AACD;AACF;AACF,KAvBuC;;AAyBxCE,IAAAA,MAAM,GAAG;AACP,YAAMC,MAAM,GAAG,EAAf;;AACA,WAAK,MAAMC,GAAX,IAAkB,KAAKb,IAAL,EAAlB,EAA+B;AAC7B,YAAI,KAAKa,GAAL,MAAcC,SAAlB,EAA6B;AAC3BF,UAAAA,MAAM,CAACC,GAAD,CAAN,GAAc,KAAKA,GAAL,CAAd;AACD;AACF;;AACD,aAAOD,MAAP;AACD;;AAjCuC,GAAxB,CAAlB;AAoCA,SAAOlB,SAAP;AACD","sourcesContent":["const properties = {\n layers: {},\n layerFilter: {},\n parameters: {},\n effects: {},\n pickingRadius: {},\n onBeforeRender: {},\n onAfterRender: {},\n onClick: {},\n onHover: {},\n onDragStart: {},\n onDrag: {},\n onDragEnd: {},\n onError: {},\n debug: {},\n drawPickingColors: {},\n getCursor: {},\n getTooltip: {}\n};\n\n/* eslint-disable callback-return */\nexport default function loadDeckProps(Accessor) {\n const DeckProps = Accessor.createSubclass({\n properties,\n\n constructor() {\n this._callbacks = {};\n\n this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n this.emit('change', {[propName]: newValue});\n });\n },\n\n on(eventName, cb) {\n this._callbacks[eventName] = this._callbacks[eventName] || [];\n this._callbacks[eventName].push(cb);\n },\n\n emit(eventName, details) {\n const callbacks = this._callbacks[eventName];\n if (callbacks) {\n for (const cb of callbacks) {\n cb(details);\n }\n }\n },\n\n toJSON() {\n const result = {};\n for (const key of this.keys()) {\n if (this[key] !== undefined) {\n result[key] = this[key];\n }\n }\n return result;\n }\n });\n\n return DeckProps;\n}\n"],"file":"deck-props.js"}
1
+ {"version":3,"sources":["../../src/deck-props.js"],"names":["properties","layers","layerFilter","parameters","effects","pickingRadius","onBeforeRender","onAfterRender","onClick","onHover","onDragStart","onDrag","onDragEnd","onError","debug","drawPickingColors","getCursor","getTooltip","createDeckProps","Accessor","DeckProps","createSubclass","constructor","_callbacks","watch","Object","keys","newValue","oldValue","propName","emit","on","eventName","cb","push","details","callbacks","toJSON","result","key","undefined"],"mappings":"AAAA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,MAAM,EAAE,EADS;AAEjBC,EAAAA,WAAW,EAAE,EAFI;AAGjBC,EAAAA,UAAU,EAAE,EAHK;AAIjBC,EAAAA,OAAO,EAAE,EAJQ;AAKjBC,EAAAA,aAAa,EAAE,EALE;AAMjBC,EAAAA,cAAc,EAAE,EANC;AAOjBC,EAAAA,aAAa,EAAE,EAPE;AAQjBC,EAAAA,OAAO,EAAE,EARQ;AASjBC,EAAAA,OAAO,EAAE,EATQ;AAUjBC,EAAAA,WAAW,EAAE,EAVI;AAWjBC,EAAAA,MAAM,EAAE,EAXS;AAYjBC,EAAAA,SAAS,EAAE,EAZM;AAajBC,EAAAA,OAAO,EAAE,EAbQ;AAcjBC,EAAAA,KAAK,EAAE,EAdU;AAejBC,EAAAA,iBAAiB,EAAE,EAfF;AAgBjBC,EAAAA,SAAS,EAAE,EAhBM;AAiBjBC,EAAAA,UAAU,EAAE;AAjBK,CAAnB;AAqBA,eAAe,SAASC,eAAT,CAAyBC,QAAzB,EAAmC;AAChD,QAAMC,SAAS,GAAGD,QAAQ,CAACE,cAAT,CAAwB;AACxCrB,IAAAA,UADwC;;AAGxCsB,IAAAA,WAAW,GAAG;AACZ,WAAKC,UAAL,GAAkB,EAAlB;AAEA,WAAKC,KAAL,CAAWC,MAAM,CAACC,IAAP,CAAY1B,UAAZ,CAAX,EAAoC,CAAC2B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,KAAkC;AACpE,aAAKC,IAAL,CAAU,QAAV,EAAoB;AAAC,WAACD,QAAD,GAAYF;AAAb,SAApB;AACD,OAFD;AAGD,KATuC;;AAWxCI,IAAAA,EAAE,CAACC,SAAD,EAAYC,EAAZ,EAAgB;AAChB,WAAKV,UAAL,CAAgBS,SAAhB,IAA6B,KAAKT,UAAL,CAAgBS,SAAhB,KAA8B,EAA3D;;AACA,WAAKT,UAAL,CAAgBS,SAAhB,EAA2BE,IAA3B,CAAgCD,EAAhC;AACD,KAduC;;AAgBxCH,IAAAA,IAAI,CAACE,SAAD,EAAYG,OAAZ,EAAqB;AACvB,YAAMC,SAAS,GAAG,KAAKb,UAAL,CAAgBS,SAAhB,CAAlB;;AACA,UAAII,SAAJ,EAAe;AACb,aAAK,MAAMH,EAAX,IAAiBG,SAAjB,EAA4B;AAC1BH,UAAAA,EAAE,CAACE,OAAD,CAAF;AACD;AACF;AACF,KAvBuC;;AAyBxCE,IAAAA,MAAM,GAAG;AACP,YAAMC,MAAM,GAAG,EAAf;;AACA,WAAK,MAAMC,GAAX,IAAkB,KAAKb,IAAL,EAAlB,EAA+B;AAC7B,YAAI,KAAKa,GAAL,MAAcC,SAAlB,EAA6B;AAC3BF,UAAAA,MAAM,CAACC,GAAD,CAAN,GAAc,KAAKA,GAAL,CAAd;AACD;AACF;;AACD,aAAOD,MAAP;AACD;;AAjCuC,GAAxB,CAAlB;AAoCA,SAAOlB,SAAP;AACD","sourcesContent":["const properties = {\n layers: {},\n layerFilter: {},\n parameters: {},\n effects: {},\n pickingRadius: {},\n onBeforeRender: {},\n onAfterRender: {},\n onClick: {},\n onHover: {},\n onDragStart: {},\n onDrag: {},\n onDragEnd: {},\n onError: {},\n debug: {},\n drawPickingColors: {},\n getCursor: {},\n getTooltip: {}\n};\n\n/* eslint-disable callback-return */\nexport default function createDeckProps(Accessor) {\n const DeckProps = Accessor.createSubclass({\n properties,\n\n constructor() {\n this._callbacks = {};\n\n this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n this.emit('change', {[propName]: newValue});\n });\n },\n\n on(eventName, cb) {\n this._callbacks[eventName] = this._callbacks[eventName] || [];\n this._callbacks[eventName].push(cb);\n },\n\n emit(eventName, details) {\n const callbacks = this._callbacks[eventName];\n if (callbacks) {\n for (const cb of callbacks) {\n cb(details);\n }\n }\n },\n\n toJSON() {\n const result = {};\n for (const key of this.keys()) {\n if (this[key] !== undefined) {\n result[key] = this[key];\n }\n }\n return result;\n }\n });\n\n return DeckProps;\n}\n"],"file":"deck-props.js"}
package/dist/esm/index.js CHANGED
@@ -2,50 +2,13 @@ import createDeckProps from './deck-props';
2
2
  import createDeckLayer from './deck-layer';
3
3
  import createDeckLayerView2D from './deck-layer-view-2d';
4
4
  import createDeckRenderer from './deck-renderer';
5
- import { loadModules as esriLoaderLoadModules } from 'esri-loader';
6
- let arcGIS = null;
7
- export async function loadArcGISModules(modules, loadScriptOptions) {
8
- const namespace = Array.isArray(modules) ? null : modules;
9
- await loadArcGISModule(namespace, loadScriptOptions);
10
-
11
- if (Array.isArray(modules)) {
12
- return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {
13
- return { ...arcGIS,
14
- modules: array
15
- };
16
- });
17
- }
18
-
19
- return arcGIS;
20
- }
21
-
22
- function loadArcGISModule(esri, loadScriptOptions) {
23
- if (arcGIS) {
24
- return arcGIS;
25
- }
26
-
27
- if (esri) {
28
- const Layer = esri.layers.Layer;
29
- const Accessor = esri.core.Accessor;
30
- const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
31
- const externalRenderers = esri.views['3d'].externalRenderers;
32
- return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
33
- }
34
-
35
- return esriLoaderLoadModules(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
36
- return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
37
- });
38
- }
39
-
40
- function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
41
- const DeckProps = createDeckProps(Accessor);
42
- const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
43
- const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);
44
- const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
45
- arcGIS = {
46
- DeckLayer,
47
- DeckRenderer
48
- };
49
- return arcGIS;
50
- }
5
+ import Accessor from '@arcgis/core/core/Accessor';
6
+ import Layer from '@arcgis/core/layers/Layer';
7
+ import BaseLayerViewGL2D from '@arcgis/core/views/2d/layers/BaseLayerViewGL2D';
8
+ import * as externalRenderers from '@arcgis/core/views/3d/externalRenderers';
9
+ export { loadArcGISModules } from './load-modules';
10
+ const DeckProps = createDeckProps(Accessor);
11
+ const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
12
+ export const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);
13
+ export const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
51
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":["createDeckProps","createDeckLayer","createDeckLayerView2D","createDeckRenderer","loadModules","esriLoaderLoadModules","arcGIS","loadArcGISModules","modules","loadScriptOptions","namespace","Array","isArray","loadArcGISModule","then","array","esri","Layer","layers","Accessor","core","BaseLayerViewGL2D","views","externalRenderers","initialize","DeckProps","DeckLayerView2D","DeckLayer","DeckRenderer"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,cAA5B;AACA,OAAOC,eAAP,MAA4B,cAA5B;AACA,OAAOC,qBAAP,MAAkC,sBAAlC;AACA,OAAOC,kBAAP,MAA+B,iBAA/B;AACA,SAAQC,WAAW,IAAIC,qBAAvB,QAAmD,aAAnD;AAEA,IAAIC,MAAM,GAAG,IAAb;AAEA,OAAO,eAAeC,iBAAf,CAAiCC,OAAjC,EAA0CC,iBAA1C,EAA6D;AAClE,QAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcJ,OAAd,IAAyB,IAAzB,GAAgCA,OAAlD;AACA,QAAMK,gBAAgB,CAACH,SAAD,EAAYD,iBAAZ,CAAtB;;AAEA,MAAIE,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAJ,EAA4B;AAC1B,WAAOH,qBAAqB,CAACG,OAAD,EAAUC,iBAAV,CAArB,CAAkDK,IAAlD,CAAuDC,KAAK,IAAI;AACrE,aAAO,EAAC,GAAGT,MAAJ;AAAYE,QAAAA,OAAO,EAAEO;AAArB,OAAP;AACD,KAFM,CAAP;AAGD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASO,gBAAT,CAA0BG,IAA1B,EAAgCP,iBAAhC,EAAmD;AACjD,MAAIH,MAAJ,EAAY;AAEV,WAAOA,MAAP;AACD;;AACD,MAAIU,IAAJ,EAAU;AAGR,UAAMC,KAAK,GAAGD,IAAI,CAACE,MAAL,CAAYD,KAA1B;AACA,UAAME,QAAQ,GAAGH,IAAI,CAACI,IAAL,CAAUD,QAA3B;AACA,UAAME,iBAAiB,GAAGL,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBJ,MAAjB,CAAwBG,iBAAlD;AACA,UAAME,iBAAiB,GAAGP,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBC,iBAA3C;AAEA,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD;;AAED,SAAOlB,qBAAqB,CAC1B,CACE,mBADF,EAEE,oBAFF,EAGE,wCAHF,EAIE,iCAJF,CAD0B,EAO1BI,iBAP0B,CAArB,CAQLK,IARK,CAQA,CAAC,CAACG,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAD,KAA6D;AAClE,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD,GAVM,CAAP;AAWD;;AAED,SAASC,UAAT,CAAoBP,KAApB,EAA2BE,QAA3B,EAAqCE,iBAArC,EAAwDE,iBAAxD,EAA2E;AACzE,QAAME,SAAS,GAAGzB,eAAe,CAACmB,QAAD,CAAjC;AACA,QAAMO,eAAe,GAAGxB,qBAAqB,CAACmB,iBAAD,CAA7C;AACA,QAAMM,SAAS,GAAG1B,eAAe,CAACwB,SAAD,EAAYR,KAAZ,EAAmBS,eAAnB,CAAjC;AACA,QAAME,YAAY,GAAGzB,kBAAkB,CAACsB,SAAD,EAAYF,iBAAZ,CAAvC;AAEAjB,EAAAA,MAAM,GAAG;AAACqB,IAAAA,SAAD;AAAYC,IAAAA;AAAZ,GAAT;AACA,SAAOtB,MAAP;AACD","sourcesContent":["import createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\nimport {loadModules as esriLoaderLoadModules} from 'esri-loader';\n\nlet arcGIS = null;\n\nexport async function loadArcGISModules(modules, loadScriptOptions) {\n const namespace = Array.isArray(modules) ? null : modules;\n await loadArcGISModule(namespace, loadScriptOptions);\n\n if (Array.isArray(modules)) {\n return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n return {...arcGIS, modules: array};\n });\n }\n return arcGIS;\n}\n\nfunction loadArcGISModule(esri, loadScriptOptions) {\n if (arcGIS) {\n // Already loaded\n return arcGIS;\n }\n if (esri) {\n // Using user-provided dependencies\n // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?\n const Layer = esri.layers.Layer;\n const Accessor = esri.core.Accessor;\n const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;\n const externalRenderers = esri.views['3d'].externalRenderers;\n\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n }\n\n return esriLoaderLoadModules(\n [\n 'esri/layers/Layer',\n 'esri/core/Accessor',\n 'esri/views/2d/layers/BaseLayerViewGL2D',\n 'esri/views/3d/externalRenderers'\n ],\n loadScriptOptions\n ).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n });\n}\n\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {\n const DeckProps = createDeckProps(Accessor);\n const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n\n arcGIS = {DeckLayer, DeckRenderer};\n return arcGIS;\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":["createDeckProps","createDeckLayer","createDeckLayerView2D","createDeckRenderer","Accessor","Layer","BaseLayerViewGL2D","externalRenderers","loadArcGISModules","DeckProps","DeckLayerView2D","DeckLayer","DeckRenderer"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,cAA5B;AACA,OAAOC,eAAP,MAA4B,cAA5B;AACA,OAAOC,qBAAP,MAAkC,sBAAlC;AACA,OAAOC,kBAAP,MAA+B,iBAA/B;AAEA,OAAOC,QAAP,MAAqB,4BAArB;AACA,OAAOC,KAAP,MAAkB,2BAAlB;AACA,OAAOC,iBAAP,MAA8B,gDAA9B;AACA,OAAO,KAAKC,iBAAZ,MAAmC,yCAAnC;AAGA,SAAQC,iBAAR,QAAgC,gBAAhC;AAGA,MAAMC,SAAS,GAAGT,eAAe,CAACI,QAAD,CAAjC;AACA,MAAMM,eAAe,GAAGR,qBAAqB,CAACI,iBAAD,CAA7C;AACA,OAAO,MAAMK,SAAS,GAAGV,eAAe,CAACQ,SAAD,EAAYJ,KAAZ,EAAmBK,eAAnB,CAAjC;AACP,OAAO,MAAME,YAAY,GAAGT,kBAAkB,CAACM,SAAD,EAAYF,iBAAZ,CAAvC","sourcesContent":["import createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\n\nimport Accessor from '@arcgis/core/core/Accessor';\nimport Layer from '@arcgis/core/layers/Layer';\nimport BaseLayerViewGL2D from '@arcgis/core/views/2d/layers/BaseLayerViewGL2D';\nimport * as externalRenderers from '@arcgis/core/views/3d/externalRenderers';\n\n// require-style loader\nexport {loadArcGISModules} from './load-modules';\n\n// ESM-style classes\nconst DeckProps = createDeckProps(Accessor);\nconst DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\nexport const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\nexport const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n"],"file":"index.js"}
@@ -0,0 +1,51 @@
1
+ import createDeckProps from './deck-props';
2
+ import createDeckLayer from './deck-layer';
3
+ import createDeckLayerView2D from './deck-layer-view-2d';
4
+ import createDeckRenderer from './deck-renderer';
5
+ import { loadModules as esriLoaderLoadModules } from 'esri-loader';
6
+ let arcGIS = null;
7
+ export async function loadArcGISModules(modules, loadScriptOptions) {
8
+ const namespace = Array.isArray(modules) ? null : modules;
9
+ await loadArcGISModule(namespace, loadScriptOptions);
10
+
11
+ if (Array.isArray(modules)) {
12
+ return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {
13
+ return { ...arcGIS,
14
+ modules: array
15
+ };
16
+ });
17
+ }
18
+
19
+ return arcGIS;
20
+ }
21
+
22
+ function loadArcGISModule(esri, loadScriptOptions) {
23
+ if (arcGIS) {
24
+ return arcGIS;
25
+ }
26
+
27
+ if (esri) {
28
+ const Layer = esri.layers.Layer;
29
+ const Accessor = esri.core.Accessor;
30
+ const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
31
+ const externalRenderers = esri.views['3d'].externalRenderers;
32
+ return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
33
+ }
34
+
35
+ return esriLoaderLoadModules(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
36
+ return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
37
+ });
38
+ }
39
+
40
+ function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
41
+ const DeckProps = createDeckProps(Accessor);
42
+ const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
43
+ const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);
44
+ const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
45
+ arcGIS = {
46
+ DeckLayer,
47
+ DeckRenderer
48
+ };
49
+ return arcGIS;
50
+ }
51
+ //# sourceMappingURL=load-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/load-modules.js"],"names":["createDeckProps","createDeckLayer","createDeckLayerView2D","createDeckRenderer","loadModules","esriLoaderLoadModules","arcGIS","loadArcGISModules","modules","loadScriptOptions","namespace","Array","isArray","loadArcGISModule","then","array","esri","Layer","layers","Accessor","core","BaseLayerViewGL2D","views","externalRenderers","initialize","DeckProps","DeckLayerView2D","DeckLayer","DeckRenderer"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,cAA5B;AACA,OAAOC,eAAP,MAA4B,cAA5B;AACA,OAAOC,qBAAP,MAAkC,sBAAlC;AACA,OAAOC,kBAAP,MAA+B,iBAA/B;AACA,SAAQC,WAAW,IAAIC,qBAAvB,QAAmD,aAAnD;AAEA,IAAIC,MAAM,GAAG,IAAb;AAEA,OAAO,eAAeC,iBAAf,CAAiCC,OAAjC,EAA0CC,iBAA1C,EAA6D;AAClE,QAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcJ,OAAd,IAAyB,IAAzB,GAAgCA,OAAlD;AACA,QAAMK,gBAAgB,CAACH,SAAD,EAAYD,iBAAZ,CAAtB;;AAEA,MAAIE,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAJ,EAA4B;AAC1B,WAAOH,qBAAqB,CAACG,OAAD,EAAUC,iBAAV,CAArB,CAAkDK,IAAlD,CAAuDC,KAAK,IAAI;AACrE,aAAO,EAAC,GAAGT,MAAJ;AAAYE,QAAAA,OAAO,EAAEO;AAArB,OAAP;AACD,KAFM,CAAP;AAGD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASO,gBAAT,CAA0BG,IAA1B,EAAgCP,iBAAhC,EAAmD;AACjD,MAAIH,MAAJ,EAAY;AAEV,WAAOA,MAAP;AACD;;AACD,MAAIU,IAAJ,EAAU;AAGR,UAAMC,KAAK,GAAGD,IAAI,CAACE,MAAL,CAAYD,KAA1B;AACA,UAAME,QAAQ,GAAGH,IAAI,CAACI,IAAL,CAAUD,QAA3B;AACA,UAAME,iBAAiB,GAAGL,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBJ,MAAjB,CAAwBG,iBAAlD;AACA,UAAME,iBAAiB,GAAGP,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBC,iBAA3C;AAEA,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD;;AAED,SAAOlB,qBAAqB,CAC1B,CACE,mBADF,EAEE,oBAFF,EAGE,wCAHF,EAIE,iCAJF,CAD0B,EAO1BI,iBAP0B,CAArB,CAQLK,IARK,CAQA,CAAC,CAACG,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAD,KAA6D;AAClE,WAAOC,UAAU,CAACP,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAAjB;AACD,GAVM,CAAP;AAWD;;AAED,SAASC,UAAT,CAAoBP,KAApB,EAA2BE,QAA3B,EAAqCE,iBAArC,EAAwDE,iBAAxD,EAA2E;AACzE,QAAME,SAAS,GAAGzB,eAAe,CAACmB,QAAD,CAAjC;AACA,QAAMO,eAAe,GAAGxB,qBAAqB,CAACmB,iBAAD,CAA7C;AACA,QAAMM,SAAS,GAAG1B,eAAe,CAACwB,SAAD,EAAYR,KAAZ,EAAmBS,eAAnB,CAAjC;AACA,QAAME,YAAY,GAAGzB,kBAAkB,CAACsB,SAAD,EAAYF,iBAAZ,CAAvC;AAEAjB,EAAAA,MAAM,GAAG;AAACqB,IAAAA,SAAD;AAAYC,IAAAA;AAAZ,GAAT;AACA,SAAOtB,MAAP;AACD","sourcesContent":["import createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\nimport {loadModules as esriLoaderLoadModules} from 'esri-loader';\n\nlet arcGIS = null;\n\nexport async function loadArcGISModules(modules, loadScriptOptions) {\n const namespace = Array.isArray(modules) ? null : modules;\n await loadArcGISModule(namespace, loadScriptOptions);\n\n if (Array.isArray(modules)) {\n return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n return {...arcGIS, modules: array};\n });\n }\n return arcGIS;\n}\n\nfunction loadArcGISModule(esri, loadScriptOptions) {\n if (arcGIS) {\n // Already loaded\n return arcGIS;\n }\n if (esri) {\n // Using user-provided dependencies\n // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?\n const Layer = esri.layers.Layer;\n const Accessor = esri.core.Accessor;\n const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;\n const externalRenderers = esri.views['3d'].externalRenderers;\n\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n }\n\n return esriLoaderLoadModules(\n [\n 'esri/layers/Layer',\n 'esri/core/Accessor',\n 'esri/views/2d/layers/BaseLayerViewGL2D',\n 'esri/views/3d/externalRenderers'\n ],\n loadScriptOptions\n ).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n });\n}\n\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {\n const DeckProps = createDeckProps(Accessor);\n const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n\n arcGIS = {DeckLayer, DeckRenderer};\n return arcGIS;\n}\n"],"file":"load-modules.js"}
package/dist.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("luma"),require("deck")):"function"==typeof define&&define.amd?define(["luma","deck"],t):"object"==typeof exports?exports.deck=t(require("luma"),require("deck")):e.deck=t(e.luma,e.deck)}(window,(function(e,t){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=9)}([function(e,t,r){var n=r(11),o=r(12),i=r(13);e.exports=function(e,t){return n(e)||o(e,t)||i()}},function(t,r){t.exports=e},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){e.exports=r(10)},function(e,t,r){!function(e){"use strict";var t={Promise:"undefined"!=typeof window?window.Promise:void 0};function r(e){if("next"===e.toLowerCase())return"next";var t=e&&e.match(/^(\d)\.(\d+)/);return t&&{major:parseInt(t[1],10),minor:parseInt(t[2],10)}}function n(e){return void 0===e&&(e="4.20"),"https://js.arcgis.com/"+e+"/"}function o(e){return!e||r(e)?function(e){void 0===e&&(e="4.20");var t=n(e),o=r(e);return"next"!==o&&3===o.major?t+(o.minor<=10?"js/":"")+"esri/css/esri.css":t+"esri/themes/light/main.css"}(e):e}function i(e,t){var r=o(e),n=function(e){return document.querySelector('link[href*="'+e+'"]')}(r);return n||function(e,t){if(t){var r=document.querySelector(t);r.parentNode.insertBefore(e,r)}else document.head.appendChild(e)}(n=function(e){var t=document.createElement("link");return t.rel="stylesheet",t.href=e,t}(r),t),n}var a={};function c(e,t,r){var n;r&&(n=function(e,t){var r=function(n){t(n.error||new Error("There was an error attempting to load "+e.src)),e.removeEventListener("error",r,!1)};return e.addEventListener("error",r,!1),r}(e,r));var o=function(){t(e),e.removeEventListener("load",o,!1),n&&e.removeEventListener("error",n,!1)};e.addEventListener("load",o,!1)}function u(){return document.querySelector("script[data-esri-loader]")}function s(){var e=window.require;return e&&e.on}function l(e){void 0===e&&(e={});var r={};[a,e].forEach((function(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])}));var o=r.version,l=r.url||n(o);return new t.Promise((function(e,t){var n=u();if(n){var a=n.getAttribute("src");a!==l?t(new Error("The ArcGIS API for JavaScript is already loaded ("+a+").")):s()?e(n):c(n,e,t)}else if(s())t(new Error("The ArcGIS API for JavaScript is already loaded."));else{var f=r.css;f&&i(!0===f?o:f,r.insertCssBefore),c(n=function(e){var t=document.createElement("script");return t.type="text/javascript",t.src=e,t.setAttribute("data-esri-loader","loading"),t}(l),(function(){n.setAttribute("data-esri-loader","loaded"),e(n)}),t),document.body.appendChild(n)}}))}function f(e){return new t.Promise((function(t,r){var n=window.require.on("error",r);window.require(e,(function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.remove(),t(e)}))}))}e.utils=t,e.loadModules=function(e,t){if(void 0===t&&(t={}),s())return f(e);var r=u(),n=r&&r.getAttribute("src");return!t.url&&n&&(t.url=n),l(t).then((function(){return f(e)}))},e.getScript=u,e.isLoaded=s,e.loadScript=l,e.setDefaultOptions=function(e){void 0===e&&(e={}),a=e},e.loadCss=i,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t){function r(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,o)}e.exports=function(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function c(e){r(a,o,i,c,u,"next",e)}function u(e){r(a,o,i,c,u,"throw",e)}c(void 0)}))}}},function(e,r){e.exports=t},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(14),o=("undefined"==typeof window?global:window).deck||{};if(!o.Layer)throw new Error("@deck.gl/core is not found");e.exports=Object.assign(o,n)},function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function c(e,t,r,n){var o=t&&t.prototype instanceof l?t:l,i=Object.create(o.prototype),a=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return j()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=g(a,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=u(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===s)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,a),i}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var s={};function l(){}function f(){}function d(){}var h={};h[o]=function(){return this};var v=Object.getPrototypeOf,p=v&&v(v(O([])));p&&p!==t&&r.call(p,o)&&(h=p);var y=d.prototype=l.prototype=Object.create(h);function m(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(n,o){function i(){return new Promise((function(t,i){!function t(n,o,i,a){var c=u(e[n],e,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,i,a)}),(function(e){t("throw",e,i,a)})):Promise.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return t("throw",e,i,a)}))}a(c.arg)}(n,o,t,i)}))}return t=t?t.then(i,i):i()}}function g(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,g(e,t),"throw"===t.method))return s;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function b(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function O(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:j}}function j(){return{value:void 0,done:!0}}return f.prototype=y.constructor=d,d.constructor=f,d[a]=f.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,a in e||(e[a]="GeneratorFunction")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},m(w.prototype),w.prototype[i]=function(){return this},e.AsyncIterator=w,e.async=function(t,r,n,o){var i=new w(c(t,r,n,o));return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},m(y),y[a]="Generator",y[o]=function(){return this},y.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=O,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,r){"use strict";r.r(t);var n=r(3),o=r.n(n),i=r(2),a=r.n(i),c=r(0),u=r.n(c),s=r(5),l=r.n(s);function f(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var h={layers:{},layerFilter:{},parameters:{},effects:{},pickingRadius:{},onBeforeRender:{},onAfterRender:{},onClick:{},onHover:{},onDragStart:{},onDrag:{},onDragEnd:{},onError:{},debug:{},drawPickingColors:{},getCursor:{},getTooltip:{}};var v=r(6),p=r(1);function y(e){var t=this;Object(p.instrumentGLContext)(e),this.buffer=new p.Buffer(e,new Int8Array([-1,-1,1,-1,-1,1,1,1])),this.model=new p.Model(e,{vs:"\n attribute vec2 a_pos;\n varying vec2 v_texcoord;\n void main(void) {\n gl_Position = vec4(a_pos, 0.0, 1.0);\n v_texcoord = (a_pos + 1.0) / 2.0;\n }\n ",fs:"\n precision mediump float;\n uniform sampler2D u_texture;\n varying vec2 v_texcoord;\n void main(void) {\n vec4 rgba = texture2D(u_texture, v_texcoord);\n rgba.rgb *= rgba.a;\n gl_FragColor = rgba;\n }\n ",attributes:{a_pos:this.buffer},vertexCount:4,drawMode:5}),this.deckFbo=new p.Framebuffer(e,{width:1,height:1}),this.deckInstance=new v.Deck({viewState:{},controller:!1,gl:e,parameters:{depthTest:!0},_framebuffer:this.deckFbo,width:null,height:null,_customRender:function(e){"arcgis"===e?t.deckInstance._drawLayers(e):t.redraw()}})}function m(e){var t=this,r=e.gl,n=e.width,o=e.height,i=e.viewState,a=r.getParameter(36006),c=window.devicePixelRatio;n=Math.round(n*c),o=Math.round(o*c),this.deckFbo.resize({width:n,height:o}),this.deckInstance.setProps({viewState:i}),this.deckInstance.redraw("arcgis"),Object(p.withParameters)(r,{blend:!0,blendFunc:[1,771],framebuffer:a,viewport:[0,0,n,o]},(function(){t.model.setUniforms({u_texture:t.deckFbo}).draw()}))}function w(){var e,t,r,n;null===(e=this.deckInstance)||void 0===e||e.finalize(),this.deckInstance=null,null===(t=this.model)||void 0===t||t.delete(),null===(r=this.buffer)||void 0===r||r.delete(),null===(n=this.deckFbo)||void 0===n||n.delete()}var g=r(7),b=r.n(g),x=r(8),k=r.n(x);var O=r(4);function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function L(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}r.d(t,"loadArcGISModules",(function(){return _}));var S=null;function _(e,t){return P.apply(this,arguments)}function P(){return(P=l()(o.a.mark((function e(t,r){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Array.isArray(t)?null:t,e.next=3,E(n,r);case 3:if(!Array.isArray(t)){e.next=5;break}return e.abrupt("return",Object(O.loadModules)(t,r).then((function(e){return L(L({},S),{},{modules:e})})));case 5:return e.abrupt("return",S);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function E(e,t){return S||(e?A(e.layers.Layer,e.core.Accessor,e.views["2d"].layers.BaseLayerViewGL2D,e.views["3d"].externalRenderers):Object(O.loadModules)(["esri/layers/Layer","esri/core/Accessor","esri/views/2d/layers/BaseLayerViewGL2D","esri/views/3d/externalRenderers"],t).then((function(e){var t=u()(e,4);return A(t[0],t[1],t[2],t[3])})))}function A(e,t,r,n){var o=function(e){return e.createSubclass({properties:h,constructor:function(){var e=this;this._callbacks={},this.watch(Object.keys(h),(function(t,r,n){e.emit("change",a()({},n,t))}))},on:function(e,t){this._callbacks[e]=this._callbacks[e]||[],this._callbacks[e].push(t)},emit:function(e,t){var r=this._callbacks[e];if(r){var n,o=f(r);try{for(o.s();!(n=o.n()).done;){(0,n.value)(t)}}catch(e){o.e(e)}finally{o.f()}}},toJSON:function(){var e,t={},r=f(this.keys());try{for(r.s();!(e=r.n()).done;){var n=e.value;void 0!==this[n]&&(t[n]=this[n])}}catch(e){r.e(e)}finally{r.f()}return t}})}(t),i=function(e,t,r){return t.createSubclass({properties:{deck:{},blendMode:{},effect:{}},constructor:function(){this.deck=new e},createLayerView:function(e){return"2d"===e.type?new r({view:e,layer:this}):(console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead."),null)}})}(o,e,function(e){return e.createSubclass({properties:{deckgl:{},deckFbo:{},model:{},buffer:{}},attach:function(){var e=this,t=this.context;y.call(this,t),this.layer.deck.on("change",(function(t){return e.deckInstance.setProps(t)})),this.deckInstance.setProps(this.layer.deck.toJSON())},redraw:function(){this.requestRender()},detach:function(){w.call(this)},render:function(e){var t=u()(this.view.state.size,2),r=t[0],n=t[1],o=e.state;m.call(this,{gl:e.context,width:r,height:n,viewState:{latitude:this.view.center.latitude,longitude:this.view.center.longitude,zoom:this.view.featuresTilingScheme.scaleToLevel(o.scale),bearing:-o.rotation,pitch:0}})}})}(r)),c=function(e,t){return function(){function r(t,n){b()(this,r),this.view=t,this.deck=new e(n)}return k()(r,[{key:"setup",value:function(e){var t=this,r=e.gl;y.call(this,r),this.deck.on("change",(function(e){return t.deckInstance.setProps(e)})),this.deckInstance.setProps(this.deck.toJSON())}},{key:"dispose",value:function(){w.call(this)}},{key:"redraw",value:function(){t.requestRender(this.view)}},{key:"render",value:function(e){var t,r,n,o,i=u()(this.view.size,2),a=i[0],c=i[1];m.call(this,{gl:e.gl,width:a,height:c,viewState:{latitude:this.view.center.latitude,longitude:this.view.center.longitude,altitude:(t=this.view.camera.fov,r=a/c,n=Math.sqrt(1+Math.pow(r,2)),o=t/2/180*Math.PI,n/2/Math.tan(o)),zoom:this.view.zoom,bearing:this.view.camera.heading,pitch:this.view.camera.tilt}})}}]),r}()}(o,n);return S={DeckLayer:i,DeckRenderer:c}}}])}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("luma"),require("deck")):"function"==typeof define&&define.amd?define(["luma","deck"],t):"object"==typeof exports?exports.deck=t(require("luma"),require("deck")):e.deck=t(e.luma,e.deck)}(window,(function(e,t){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=9)}([function(e,t,r){var n=r(10),o=r(11),i=r(12);e.exports=function(e,t){return n(e)||o(e,t)||i()}},function(t,r){t.exports=e},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){e.exports=r(13)},function(e,t,r){!function(e){"use strict";var t={Promise:"undefined"!=typeof window?window.Promise:void 0};function r(e){if("next"===e.toLowerCase())return"next";var t=e&&e.match(/^(\d)\.(\d+)/);return t&&{major:parseInt(t[1],10),minor:parseInt(t[2],10)}}function n(e){return void 0===e&&(e="4.21"),"https://js.arcgis.com/"+e+"/"}function o(e){return!e||r(e)?function(e){void 0===e&&(e="4.21");var t=n(e),o=r(e);return"next"!==o&&3===o.major?t+(o.minor<=10?"js/":"")+"esri/css/esri.css":t+"esri/themes/light/main.css"}(e):e}function i(e,t){var r=o(e),n=function(e){return document.querySelector('link[href*="'+e+'"]')}(r);return n||function(e,t){if(t){var r=document.querySelector(t);r.parentNode.insertBefore(e,r)}else document.head.appendChild(e)}(n=function(e){var t=document.createElement("link");return t.rel="stylesheet",t.href=e,t}(r),t),n}var a={};function c(e,t,r){var n;r&&(n=function(e,t){var r=function(n){t(n.error||new Error("There was an error attempting to load "+e.src)),e.removeEventListener("error",r,!1)};return e.addEventListener("error",r,!1),r}(e,r));var o=function(){t(e),e.removeEventListener("load",o,!1),n&&e.removeEventListener("error",n,!1)};e.addEventListener("load",o,!1)}function u(){return document.querySelector("script[data-esri-loader]")}function s(){var e=window.require;return e&&e.on}function l(e){void 0===e&&(e={});var r={};[a,e].forEach((function(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])}));var o=r.version,l=r.url||n(o);return new t.Promise((function(e,t){var n=u();if(n){var a=n.getAttribute("src");a!==l?t(new Error("The ArcGIS API for JavaScript is already loaded ("+a+").")):s()?e(n):c(n,e,t)}else if(s())t(new Error("The ArcGIS API for JavaScript is already loaded."));else{var f=r.css;f&&i(!0===f?o:f,r.insertCssBefore),c(n=function(e){var t=document.createElement("script");return t.type="text/javascript",t.src=e,t.setAttribute("data-esri-loader","loading"),t}(l),(function(){n.setAttribute("data-esri-loader","loaded"),e(n)}),t),document.body.appendChild(n)}}))}function f(e){return new t.Promise((function(t,r){var n=window.require.on("error",r);window.require(e,(function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];n.remove(),t(e)}))}))}e.utils=t,e.loadModules=function(e,t){if(void 0===t&&(t={}),s())return f(e);var r=u(),n=r&&r.getAttribute("src");return!t.url&&n&&(t.url=n),l(t).then((function(){return f(e)}))},e.getScript=u,e.isLoaded=s,e.loadScript=l,e.setDefaultOptions=function(e){void 0===e&&(e={}),a=e},e.loadCss=i,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t){function r(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,o)}e.exports=function(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function c(e){r(a,o,i,c,u,"next",e)}function u(e){r(a,o,i,c,u,"throw",e)}c(void 0)}))}}},function(e,r){e.exports=t},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n=r(14),o=("undefined"==typeof window?global:window).deck||{};if(!o.Layer)throw new Error("@deck.gl/core is not found");e.exports=Object.assign(o,n)},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function c(e,t,r,n){var o=t&&t.prototype instanceof l?t:l,i=Object.create(o.prototype),a=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return j()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=g(a,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=u(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===s)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,a),i}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var s={};function l(){}function f(){}function d(){}var h={};h[o]=function(){return this};var v=Object.getPrototypeOf,p=v&&v(v(O([])));p&&p!==t&&r.call(p,o)&&(h=p);var y=d.prototype=l.prototype=Object.create(h);function m(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(n,o){function i(){return new Promise((function(t,i){!function t(n,o,i,a){var c=u(e[n],e,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,i,a)}),(function(e){t("throw",e,i,a)})):Promise.resolve(l).then((function(e){s.value=e,i(s)}),(function(e){return t("throw",e,i,a)}))}a(c.arg)}(n,o,t,i)}))}return t=t?t.then(i,i):i()}}function g(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,g(e,t),"throw"===t.method))return s;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function b(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function O(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:j}}function j(){return{value:void 0,done:!0}}return f.prototype=y.constructor=d,d.constructor=f,d[a]=f.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,a in e||(e[a]="GeneratorFunction")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},m(w.prototype),w.prototype[i]=function(){return this},e.AsyncIterator=w,e.async=function(t,r,n,o){var i=new w(c(t,r,n,o));return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},m(y),y[a]="Generator",y[o]=function(){return this},y.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=O,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,t,r){"use strict";r.r(t);var n=r(2),o=r.n(n),i=r(0),a=r.n(i),c=r(5),u=r.n(c),s=r(3),l=r.n(s);function f(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var h={layers:{},layerFilter:{},parameters:{},effects:{},pickingRadius:{},onBeforeRender:{},onAfterRender:{},onClick:{},onHover:{},onDragStart:{},onDrag:{},onDragEnd:{},onError:{},debug:{},drawPickingColors:{},getCursor:{},getTooltip:{}};var v=r(6),p=r(1);function y(e){var t=this;Object(p.instrumentGLContext)(e),this.buffer=new p.Buffer(e,new Int8Array([-1,-1,1,-1,-1,1,1,1])),this.model=new p.Model(e,{vs:"\n attribute vec2 a_pos;\n varying vec2 v_texcoord;\n void main(void) {\n gl_Position = vec4(a_pos, 0.0, 1.0);\n v_texcoord = (a_pos + 1.0) / 2.0;\n }\n ",fs:"\n precision mediump float;\n uniform sampler2D u_texture;\n varying vec2 v_texcoord;\n void main(void) {\n vec4 rgba = texture2D(u_texture, v_texcoord);\n rgba.rgb *= rgba.a;\n gl_FragColor = rgba;\n }\n ",attributes:{a_pos:this.buffer},vertexCount:4,drawMode:5}),this.deckFbo=new p.Framebuffer(e,{width:1,height:1}),this.deckInstance=new v.Deck({viewState:{},controller:!1,gl:e,parameters:{depthTest:!0},_framebuffer:this.deckFbo,width:null,height:null,_customRender:function(e){"arcgis"===e?t.deckInstance._drawLayers(e):t.redraw()}})}function m(e){var t=this,r=e.gl,n=e.width,o=e.height,i=e.viewState,a=r.getParameter(36006),c=window.devicePixelRatio;n=Math.round(n*c),o=Math.round(o*c),this.deckFbo.resize({width:n,height:o}),this.deckInstance.setProps({viewState:i}),this.deckInstance.redraw("arcgis"),Object(p.withParameters)(r,{blend:!0,blendFunc:[1,771],framebuffer:a,viewport:[0,0,n,o]},(function(){t.model.setUniforms({u_texture:t.deckFbo}).draw()}))}function w(){var e,t,r,n;null===(e=this.deckInstance)||void 0===e||e.finalize(),this.deckInstance=null,null===(t=this.model)||void 0===t||t.delete(),null===(r=this.buffer)||void 0===r||r.delete(),null===(n=this.deckFbo)||void 0===n||n.delete()}var g=r(7),b=r.n(g),x=r(8),k=r.n(x);var O=r(4);function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function L(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}r.d(t,"loadArcGISModules",(function(){return _}));var S=null;function _(e,t){return P.apply(this,arguments)}function P(){return(P=u()(l.a.mark((function e(t,r){var n;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Array.isArray(t)?null:t,e.next=3,E(n,r);case 3:if(!Array.isArray(t)){e.next=5;break}return e.abrupt("return",Object(O.loadModules)(t,r).then((function(e){return L(L({},S),{},{modules:e})})));case 5:return e.abrupt("return",S);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function E(e,t){return S||(e?A(e.layers.Layer,e.core.Accessor,e.views["2d"].layers.BaseLayerViewGL2D,e.views["3d"].externalRenderers):Object(O.loadModules)(["esri/layers/Layer","esri/core/Accessor","esri/views/2d/layers/BaseLayerViewGL2D","esri/views/3d/externalRenderers"],t).then((function(e){var t=a()(e,4);return A(t[0],t[1],t[2],t[3])})))}function A(e,t,r,n){var i=function(e){return e.createSubclass({properties:h,constructor:function(){var e=this;this._callbacks={},this.watch(Object.keys(h),(function(t,r,n){e.emit("change",o()({},n,t))}))},on:function(e,t){this._callbacks[e]=this._callbacks[e]||[],this._callbacks[e].push(t)},emit:function(e,t){var r=this._callbacks[e];if(r){var n,o=f(r);try{for(o.s();!(n=o.n()).done;){(0,n.value)(t)}}catch(e){o.e(e)}finally{o.f()}}},toJSON:function(){var e,t={},r=f(this.keys());try{for(r.s();!(e=r.n()).done;){var n=e.value;void 0!==this[n]&&(t[n]=this[n])}}catch(e){r.e(e)}finally{r.f()}return t}})}(t),c=function(e,t,r){return t.createSubclass({properties:{deck:{},blendMode:{},effect:{}},constructor:function(){this.deck=new e},createLayerView:function(e){return"2d"===e.type?new r({view:e,layer:this}):(console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead."),null)}})}(i,e,function(e){return e.createSubclass({properties:{deckgl:{},deckFbo:{},model:{},buffer:{}},attach:function(){var e=this,t=this.context;y.call(this,t),this.layer.deck.on("change",(function(t){return e.deckInstance.setProps(t)})),this.deckInstance.setProps(this.layer.deck.toJSON())},redraw:function(){this.requestRender()},detach:function(){w.call(this)},render:function(e){var t=a()(this.view.state.size,2),r=t[0],n=t[1],o=e.state;m.call(this,{gl:e.context,width:r,height:n,viewState:{latitude:this.view.center.latitude,longitude:this.view.center.longitude,zoom:this.view.featuresTilingScheme.scaleToLevel(o.scale),bearing:-o.rotation,pitch:0}})}})}(r)),u=function(e,t){return function(){function r(t,n){b()(this,r),this.view=t,this.deck=new e(n)}return k()(r,[{key:"setup",value:function(e){var t=this,r=e.gl;y.call(this,r),this.deck.on("change",(function(e){return t.deckInstance.setProps(e)})),this.deckInstance.setProps(this.deck.toJSON())}},{key:"dispose",value:function(){w.call(this)}},{key:"redraw",value:function(){t.requestRender(this.view)}},{key:"render",value:function(e){var t,r,n,o,i=a()(this.view.size,2),c=i[0],u=i[1];m.call(this,{gl:e.gl,width:c,height:u,viewState:{latitude:this.view.center.latitude,longitude:this.view.center.longitude,altitude:(t=this.view.camera.fov,r=c/u,n=Math.sqrt(1+Math.pow(r,2)),o=t/2/180*Math.PI,n/2/Math.tan(o)),zoom:this.view.zoom,bearing:this.view.camera.heading,pitch:this.view.camera.tilt}})}}]),r}()}(i,n);return S={DeckLayer:c,DeckRenderer:u}}}])}));
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/arcgis",
3
3
  "description": "Use deck.gl as a custom ArcGIS API for JavaScript layer",
4
4
  "license": "MIT",
5
- "version": "8.6.3",
5
+ "version": "8.7.0-alpha.3",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -29,10 +29,11 @@
29
29
  "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env.dev"
30
30
  },
31
31
  "peerDependencies": {
32
+ "@arcgis/core": "^4.0.0",
32
33
  "@deck.gl/core": "^8.0.0"
33
34
  },
34
35
  "dependencies": {
35
- "esri-loader": "^3.2.0"
36
+ "esri-loader": "^3.3.0"
36
37
  },
37
- "gitHead": "938ee03697eecbaced24c9df637d53ab42375df1"
38
+ "gitHead": "03fd8c4caae96d66bd651cb76e11a6d05acf8f8c"
38
39
  }
package/src/deck-props.js CHANGED
@@ -19,7 +19,7 @@ const properties = {
19
19
  };
20
20
 
21
21
  /* eslint-disable callback-return */
22
- export default function loadDeckProps(Accessor) {
22
+ export default function createDeckProps(Accessor) {
23
23
  const DeckProps = Accessor.createSubclass({
24
24
  properties,
25
25
 
package/src/index.js CHANGED
@@ -2,57 +2,17 @@ import createDeckProps from './deck-props';
2
2
  import createDeckLayer from './deck-layer';
3
3
  import createDeckLayerView2D from './deck-layer-view-2d';
4
4
  import createDeckRenderer from './deck-renderer';
5
- import {loadModules as esriLoaderLoadModules} from 'esri-loader';
6
5
 
7
- let arcGIS = null;
6
+ import Accessor from '@arcgis/core/core/Accessor';
7
+ import Layer from '@arcgis/core/layers/Layer';
8
+ import BaseLayerViewGL2D from '@arcgis/core/views/2d/layers/BaseLayerViewGL2D';
9
+ import * as externalRenderers from '@arcgis/core/views/3d/externalRenderers';
8
10
 
9
- export async function loadArcGISModules(modules, loadScriptOptions) {
10
- const namespace = Array.isArray(modules) ? null : modules;
11
- await loadArcGISModule(namespace, loadScriptOptions);
11
+ // require-style loader
12
+ export {loadArcGISModules} from './load-modules';
12
13
 
13
- if (Array.isArray(modules)) {
14
- return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {
15
- return {...arcGIS, modules: array};
16
- });
17
- }
18
- return arcGIS;
19
- }
20
-
21
- function loadArcGISModule(esri, loadScriptOptions) {
22
- if (arcGIS) {
23
- // Already loaded
24
- return arcGIS;
25
- }
26
- if (esri) {
27
- // Using user-provided dependencies
28
- // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?
29
- const Layer = esri.layers.Layer;
30
- const Accessor = esri.core.Accessor;
31
- const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
32
- const externalRenderers = esri.views['3d'].externalRenderers;
33
-
34
- return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
35
- }
36
-
37
- return esriLoaderLoadModules(
38
- [
39
- 'esri/layers/Layer',
40
- 'esri/core/Accessor',
41
- 'esri/views/2d/layers/BaseLayerViewGL2D',
42
- 'esri/views/3d/externalRenderers'
43
- ],
44
- loadScriptOptions
45
- ).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
46
- return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
47
- });
48
- }
49
-
50
- function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
51
- const DeckProps = createDeckProps(Accessor);
52
- const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
53
- const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);
54
- const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
55
-
56
- arcGIS = {DeckLayer, DeckRenderer};
57
- return arcGIS;
58
- }
14
+ // ESM-style classes
15
+ const DeckProps = createDeckProps(Accessor);
16
+ const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
17
+ export const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);
18
+ export const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
@@ -0,0 +1,58 @@
1
+ import createDeckProps from './deck-props';
2
+ import createDeckLayer from './deck-layer';
3
+ import createDeckLayerView2D from './deck-layer-view-2d';
4
+ import createDeckRenderer from './deck-renderer';
5
+ import {loadModules as esriLoaderLoadModules} from 'esri-loader';
6
+
7
+ let arcGIS = null;
8
+
9
+ export async function loadArcGISModules(modules, loadScriptOptions) {
10
+ const namespace = Array.isArray(modules) ? null : modules;
11
+ await loadArcGISModule(namespace, loadScriptOptions);
12
+
13
+ if (Array.isArray(modules)) {
14
+ return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {
15
+ return {...arcGIS, modules: array};
16
+ });
17
+ }
18
+ return arcGIS;
19
+ }
20
+
21
+ function loadArcGISModule(esri, loadScriptOptions) {
22
+ if (arcGIS) {
23
+ // Already loaded
24
+ return arcGIS;
25
+ }
26
+ if (esri) {
27
+ // Using user-provided dependencies
28
+ // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?
29
+ const Layer = esri.layers.Layer;
30
+ const Accessor = esri.core.Accessor;
31
+ const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
32
+ const externalRenderers = esri.views['3d'].externalRenderers;
33
+
34
+ return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
35
+ }
36
+
37
+ return esriLoaderLoadModules(
38
+ [
39
+ 'esri/layers/Layer',
40
+ 'esri/core/Accessor',
41
+ 'esri/views/2d/layers/BaseLayerViewGL2D',
42
+ 'esri/views/3d/externalRenderers'
43
+ ],
44
+ loadScriptOptions
45
+ ).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
46
+ return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
47
+ });
48
+ }
49
+
50
+ function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
51
+ const DeckProps = createDeckProps(Accessor);
52
+ const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
53
+ const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);
54
+ const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
55
+
56
+ arcGIS = {DeckLayer, DeckRenderer};
57
+ return arcGIS;
58
+ }