@deck.gl/arcgis 8.6.3 → 8.7.0-alpha.10

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.
@@ -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=globalThis.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.10",
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": "b6c48fb68b66755743c28776a0642b56a2df086a"
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
+ }