@deck.gl/arcgis 8.6.4 → 8.6.8

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
@@ -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.22';
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.22' or '3.39'. 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.22', '3.39', 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; }
@@ -3,15 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.finalizeResources = finalizeResources;
6
7
  exports.initializeResources = initializeResources;
7
8
  exports.render = render;
8
- exports.finalizeResources = finalizeResources;
9
9
 
10
10
  var _core = require("@deck.gl/core");
11
11
 
12
12
  var _core2 = require("@luma.gl/core");
13
13
 
14
14
  function initializeResources(gl) {
15
+ var _this = this;
16
+
15
17
  (0, _core2.instrumentGLContext)(gl);
16
18
  this.buffer = new _core2.Buffer(gl, new Int8Array([-1, -1, 1, -1, -1, 1, 1, 1]));
17
19
  this.model = new _core2.Model(gl, {
@@ -30,39 +32,40 @@ function initializeResources(gl) {
30
32
  this.deckInstance = new _core.Deck({
31
33
  viewState: {},
32
34
  controller: false,
33
- gl,
35
+ gl: gl,
34
36
  parameters: {
35
37
  depthTest: true
36
38
  },
37
39
  _framebuffer: this.deckFbo,
38
40
  width: null,
39
41
  height: null,
40
- _customRender: redrawReason => {
42
+ _customRender: function _customRender(redrawReason) {
41
43
  if (redrawReason === 'arcgis') {
42
- this.deckInstance._drawLayers(redrawReason);
44
+ _this.deckInstance._drawLayers(redrawReason);
43
45
  } else {
44
- this.redraw();
46
+ _this.redraw();
45
47
  }
46
48
  }
47
49
  });
48
50
  }
49
51
 
50
- function render({
51
- gl,
52
- width,
53
- height,
54
- viewState
55
- }) {
56
- const screenFbo = gl.getParameter(36006);
57
- const dpr = window.devicePixelRatio;
52
+ function render(_ref) {
53
+ var _this2 = this;
54
+
55
+ var gl = _ref.gl,
56
+ width = _ref.width,
57
+ height = _ref.height,
58
+ viewState = _ref.viewState;
59
+ var screenFbo = gl.getParameter(36006);
60
+ var dpr = window.devicePixelRatio;
58
61
  width = Math.round(width * dpr);
59
62
  height = Math.round(height * dpr);
60
63
  this.deckFbo.resize({
61
- width,
62
- height
64
+ width: width,
65
+ height: height
63
66
  });
64
67
  this.deckInstance.setProps({
65
- viewState
68
+ viewState: viewState
66
69
  });
67
70
  this.deckInstance.redraw('arcgis');
68
71
  (0, _core2.withParameters)(gl, {
@@ -70,9 +73,9 @@ function render({
70
73
  blendFunc: [1, 771],
71
74
  framebuffer: screenFbo,
72
75
  viewport: [0, 0, width, height]
73
- }, () => {
74
- this.model.setUniforms({
75
- u_texture: this.deckFbo
76
+ }, function () {
77
+ _this2.model.setUniforms({
78
+ u_texture: _this2.deckFbo
76
79
  }).draw();
77
80
  });
78
81
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commons.js"],"names":["initializeResources","gl","buffer","Buffer","Int8Array","model","Model","vs","fs","attributes","a_pos","vertexCount","drawMode","deckFbo","Framebuffer","width","height","deckInstance","Deck","viewState","controller","parameters","depthTest","_framebuffer","_customRender","redrawReason","_drawLayers","redraw","render","screenFbo","getParameter","dpr","window","devicePixelRatio","Math","round","resize","setProps","blend","blendFunc","framebuffer","viewport","setUniforms","u_texture","draw","finalizeResources","finalize","delete"],"mappings":"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","sourcesContent":["/* eslint-disable no-invalid-this */\n\nimport {Deck} from '@deck.gl/core';\nimport {Model, Buffer, Framebuffer, instrumentGLContext, withParameters} from '@luma.gl/core';\n\nexport function initializeResources(gl) {\n instrumentGLContext(gl);\n\n this.buffer = new Buffer(gl, new Int8Array([-1, -1, 1, -1, -1, 1, 1, 1]));\n\n this.model = new Model(gl, {\n 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 `,\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 `,\n attributes: {\n a_pos: this.buffer\n },\n vertexCount: 4,\n drawMode: gl.TRIANGLE_STRIP\n });\n\n this.deckFbo = new Framebuffer(gl, {width: 1, height: 1});\n\n this.deckInstance = new Deck({\n // The view state will be set dynamically to track the MapView current extent.\n viewState: {},\n\n // Input is handled by the ArcGIS API for JavaScript.\n controller: false,\n\n // We use the same WebGL context as the ArcGIS API for JavaScript.\n gl,\n\n // We need depth testing in general; we don't know what layers might be added to the deck.\n parameters: {\n depthTest: true\n },\n\n // This deck renders into an auxiliary framebuffer.\n _framebuffer: this.deckFbo,\n\n // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n width: null,\n height: null,\n\n _customRender: redrawReason => {\n if (redrawReason === 'arcgis') {\n this.deckInstance._drawLayers(redrawReason);\n } else {\n this.redraw();\n }\n }\n });\n}\n\nexport function render({gl, width, height, viewState}) {\n const screenFbo = gl.getParameter(gl.FRAMEBUFFER_BINDING);\n\n /* global window */\n const dpr = window.devicePixelRatio;\n width = Math.round(width * dpr);\n height = Math.round(height * dpr);\n\n this.deckFbo.resize({width, height});\n\n this.deckInstance.setProps({viewState});\n // redraw deck immediately into deckFbo\n this.deckInstance.redraw('arcgis');\n\n // We overlay the texture on top of the map using the full-screen quad.\n withParameters(\n gl,\n {\n blend: true,\n blendFunc: [gl.ONE, gl.ONE_MINUS_SRC_ALPHA],\n framebuffer: screenFbo,\n viewport: [0, 0, width, height]\n },\n () => {\n this.model.setUniforms({u_texture: this.deckFbo}).draw();\n }\n );\n}\n\nexport function finalizeResources() {\n this.deckInstance?.finalize();\n this.deckInstance = null;\n\n this.model?.delete();\n this.buffer?.delete();\n this.deckFbo?.delete();\n}\n"],"file":"commons.js"}
1
+ {"version":3,"sources":["../../src/commons.js"],"names":["initializeResources","gl","buffer","Buffer","Int8Array","model","Model","vs","fs","attributes","a_pos","vertexCount","drawMode","deckFbo","Framebuffer","width","height","deckInstance","Deck","viewState","controller","parameters","depthTest","_framebuffer","_customRender","redrawReason","_drawLayers","redraw","render","screenFbo","getParameter","dpr","window","devicePixelRatio","Math","round","resize","setProps","blend","blendFunc","framebuffer","viewport","setUniforms","u_texture","draw","finalizeResources","finalize","delete"],"mappings":"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","sourcesContent":["/* eslint-disable no-invalid-this */\n\nimport {Deck} from '@deck.gl/core';\nimport {Model, Buffer, Framebuffer, instrumentGLContext, withParameters} from '@luma.gl/core';\n\nexport function initializeResources(gl) {\n instrumentGLContext(gl);\n\n this.buffer = new Buffer(gl, new Int8Array([-1, -1, 1, -1, -1, 1, 1, 1]));\n\n this.model = new Model(gl, {\n 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 `,\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 `,\n attributes: {\n a_pos: this.buffer\n },\n vertexCount: 4,\n drawMode: gl.TRIANGLE_STRIP\n });\n\n this.deckFbo = new Framebuffer(gl, {width: 1, height: 1});\n\n this.deckInstance = new Deck({\n // The view state will be set dynamically to track the MapView current extent.\n viewState: {},\n\n // Input is handled by the ArcGIS API for JavaScript.\n controller: false,\n\n // We use the same WebGL context as the ArcGIS API for JavaScript.\n gl,\n\n // We need depth testing in general; we don't know what layers might be added to the deck.\n parameters: {\n depthTest: true\n },\n\n // This deck renders into an auxiliary framebuffer.\n _framebuffer: this.deckFbo,\n\n // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n width: null,\n height: null,\n\n _customRender: redrawReason => {\n if (redrawReason === 'arcgis') {\n this.deckInstance._drawLayers(redrawReason);\n } else {\n this.redraw();\n }\n }\n });\n}\n\nexport function render({gl, width, height, viewState}) {\n const screenFbo = gl.getParameter(gl.FRAMEBUFFER_BINDING);\n\n /* global window */\n const dpr = window.devicePixelRatio;\n width = Math.round(width * dpr);\n height = Math.round(height * dpr);\n\n this.deckFbo.resize({width, height});\n\n this.deckInstance.setProps({viewState});\n // redraw deck immediately into deckFbo\n this.deckInstance.redraw('arcgis');\n\n // We overlay the texture on top of the map using the full-screen quad.\n withParameters(\n gl,\n {\n blend: true,\n blendFunc: [gl.ONE, gl.ONE_MINUS_SRC_ALPHA],\n framebuffer: screenFbo,\n viewport: [0, 0, width, height]\n },\n () => {\n this.model.setUniforms({u_texture: this.deckFbo}).draw();\n }\n );\n}\n\nexport function finalizeResources() {\n this.deckInstance?.finalize();\n this.deckInstance = null;\n\n this.model?.delete();\n this.buffer?.delete();\n this.deckFbo?.delete();\n}\n"],"file":"commons.js"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.default = createDeckLayerView2D;
7
9
 
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
8
12
  var _commons = require("./commons");
9
13
 
10
14
  function createDeckLayerView2D(BaseLayerViewGL2D) {
@@ -15,32 +19,35 @@ function createDeckLayerView2D(BaseLayerViewGL2D) {
15
19
  model: {},
16
20
  buffer: {}
17
21
  },
22
+ attach: function attach() {
23
+ var _this = this;
18
24
 
19
- attach() {
20
- const gl = this.context;
25
+ var gl = this.context;
21
26
 
22
27
  _commons.initializeResources.call(this, gl);
23
28
 
24
- this.layer.deck.on('change', props => this.deckInstance.setProps(props));
29
+ this.layer.deck.on('change', function (props) {
30
+ return _this.deckInstance.setProps(props);
31
+ });
25
32
  this.deckInstance.setProps(this.layer.deck.toJSON());
26
33
  },
27
-
28
- redraw() {
34
+ redraw: function redraw() {
29
35
  this.requestRender();
30
36
  },
31
-
32
- detach() {
37
+ detach: function detach() {
33
38
  _commons.finalizeResources.call(this);
34
39
  },
40
+ render: function render(renderParameters) {
41
+ var _this$view$state$size = (0, _slicedToArray2.default)(this.view.state.size, 2),
42
+ width = _this$view$state$size[0],
43
+ height = _this$view$state$size[1];
35
44
 
36
- render(renderParameters) {
37
- const [width, height] = this.view.state.size;
38
- const state = renderParameters.state;
45
+ var state = renderParameters.state;
39
46
 
40
47
  _commons.render.call(this, {
41
48
  gl: renderParameters.context,
42
- width,
43
- height,
49
+ width: width,
50
+ height: height,
44
51
  viewState: {
45
52
  latitude: this.view.center.latitude,
46
53
  longitude: this.view.center.longitude,
@@ -50,7 +57,6 @@ function createDeckLayerView2D(BaseLayerViewGL2D) {
50
57
  }
51
58
  });
52
59
  }
53
-
54
60
  });
55
61
  }
56
62
  //# sourceMappingURL=deck-layer-view-2d.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/deck-layer-view-2d.js"],"names":["createDeckLayerView2D","BaseLayerViewGL2D","createSubclass","properties","deckgl","deckFbo","model","buffer","attach","gl","context","initializeResources","call","layer","deck","on","props","deckInstance","setProps","toJSON","redraw","requestRender","detach","finalizeResources","render","renderParameters","width","height","view","state","size","viewState","latitude","center","longitude","zoom","featuresTilingScheme","scaleToLevel","scale","bearing","rotation","pitch"],"mappings":";;;;;;;AAAA;;AAEe,SAASA,qBAAT,CAA+BC,iBAA/B,EAAkD;AAC/D,SAAOA,iBAAiB,CAACC,cAAlB,CAAiC;AACtCC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,EADE;AAEVC,MAAAA,OAAO,EAAE,EAFC;AAGVC,MAAAA,KAAK,EAAE,EAHG;AAIVC,MAAAA,MAAM,EAAE;AAJE,KAD0B;;AAStCC,IAAAA,MAAM,GAAG;AAGP,YAAMC,EAAE,GAAG,KAAKC,OAAhB;;AACAC,mCAAoBC,IAApB,CAAyB,IAAzB,EAA+BH,EAA/B;;AAGA,WAAKI,KAAL,CAAWC,IAAX,CAAgBC,EAAhB,CAAmB,QAAnB,EAA6BC,KAAK,IAAI,KAAKC,YAAL,CAAkBC,QAAlB,CAA2BF,KAA3B,CAAtC;AAGA,WAAKC,YAAL,CAAkBC,QAAlB,CAA2B,KAAKL,KAAL,CAAWC,IAAX,CAAgBK,MAAhB,EAA3B;AACD,KApBqC;;AAsBtCC,IAAAA,MAAM,GAAG;AACP,WAAKC,aAAL;AACD,KAxBqC;;AA2BtCC,IAAAA,MAAM,GAAG;AACPC,iCAAkBX,IAAlB,CAAuB,IAAvB;AACD,KA7BqC;;AAgCtCY,IAAAA,MAAM,CAACC,gBAAD,EAAmB;AACvB,YAAM,CAACC,KAAD,EAAQC,MAAR,IAAkB,KAAKC,IAAL,CAAUC,KAAV,CAAgBC,IAAxC;AAEA,YAAMD,KAAK,GAAGJ,gBAAgB,CAACI,KAA/B;;AAEAL,sBAAOZ,IAAP,CAAY,IAAZ,EAAkB;AAChBH,QAAAA,EAAE,EAAEgB,gBAAgB,CAACf,OADL;AAEhBgB,QAAAA,KAFgB;AAGhBC,QAAAA,MAHgB;AAIhBI,QAAAA,SAAS,EAAE;AACTC,UAAAA,QAAQ,EAAE,KAAKJ,IAAL,CAAUK,MAAV,CAAiBD,QADlB;AAETE,UAAAA,SAAS,EAAE,KAAKN,IAAL,CAAUK,MAAV,CAAiBC,SAFnB;AAGTC,UAAAA,IAAI,EAAE,KAAKP,IAAL,CAAUQ,oBAAV,CAA+BC,YAA/B,CAA4CR,KAAK,CAACS,KAAlD,CAHG;AAITC,UAAAA,OAAO,EAAE,CAACV,KAAK,CAACW,QAJP;AAKTC,UAAAA,KAAK,EAAE;AALE;AAJK,OAAlB;AAYD;;AAjDqC,GAAjC,CAAP;AAmDD","sourcesContent":["import {initializeResources, render, finalizeResources} from './commons';\n\nexport default function createDeckLayerView2D(BaseLayerViewGL2D) {\n return BaseLayerViewGL2D.createSubclass({\n properties: {\n deckgl: {},\n deckFbo: {},\n model: {},\n buffer: {}\n },\n\n // Attach is called as soon as the layer view is ready to start rendering.\n attach() {\n // We use a full-screen quad and shaders to composite the frame rendered\n // with deck.gl on top of the MapView. Composition uses the MapView context.\n const gl = this.context;\n initializeResources.call(this, gl);\n\n // Update deck props\n this.layer.deck.on('change', props => this.deckInstance.setProps(props));\n\n // We need to start drawing the deck.gl layer immediately.\n this.deckInstance.setProps(this.layer.deck.toJSON());\n },\n\n redraw() {\n this.requestRender();\n },\n\n // Called when the layer must be destroyed.\n detach() {\n finalizeResources.call(this);\n },\n\n // Called every time that the layer view must be rendered.\n render(renderParameters) {\n const [width, height] = this.view.state.size;\n // The view state must be kept in-sync with the MapView of the ArcGIS API.\n const state = renderParameters.state;\n\n render.call(this, {\n gl: renderParameters.context,\n width,\n height,\n viewState: {\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n zoom: this.view.featuresTilingScheme.scaleToLevel(state.scale),\n bearing: -state.rotation,\n pitch: 0\n }\n });\n }\n });\n}\n"],"file":"deck-layer-view-2d.js"}
1
+ {"version":3,"sources":["../../src/deck-layer-view-2d.js"],"names":["createDeckLayerView2D","BaseLayerViewGL2D","createSubclass","properties","deckgl","deckFbo","model","buffer","attach","gl","context","initializeResources","call","layer","deck","on","props","deckInstance","setProps","toJSON","redraw","requestRender","detach","finalizeResources","render","renderParameters","view","state","size","width","height","viewState","latitude","center","longitude","zoom","featuresTilingScheme","scaleToLevel","scale","bearing","rotation","pitch"],"mappings":";;;;;;;;;;;AAAA;;AAEe,SAASA,qBAAT,CAA+BC,iBAA/B,EAAkD;AAC/D,SAAOA,iBAAiB,CAACC,cAAlB,CAAiC;AACtCC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,EADE;AAEVC,MAAAA,OAAO,EAAE,EAFC;AAGVC,MAAAA,KAAK,EAAE,EAHG;AAIVC,MAAAA,MAAM,EAAE;AAJE,KAD0B;AAStCC,IAAAA,MATsC,oBAS7B;AAAA;;AAGP,UAAMC,EAAE,GAAG,KAAKC,OAAhB;;AACAC,mCAAoBC,IAApB,CAAyB,IAAzB,EAA+BH,EAA/B;;AAGA,WAAKI,KAAL,CAAWC,IAAX,CAAgBC,EAAhB,CAAmB,QAAnB,EAA6B,UAAAC,KAAK;AAAA,eAAI,KAAI,CAACC,YAAL,CAAkBC,QAAlB,CAA2BF,KAA3B,CAAJ;AAAA,OAAlC;AAGA,WAAKC,YAAL,CAAkBC,QAAlB,CAA2B,KAAKL,KAAL,CAAWC,IAAX,CAAgBK,MAAhB,EAA3B;AACD,KApBqC;AAsBtCC,IAAAA,MAtBsC,oBAsB7B;AACP,WAAKC,aAAL;AACD,KAxBqC;AA2BtCC,IAAAA,MA3BsC,oBA2B7B;AACPC,iCAAkBX,IAAlB,CAAuB,IAAvB;AACD,KA7BqC;AAgCtCY,IAAAA,MAhCsC,kBAgC/BC,gBAhC+B,EAgCb;AACvB,+DAAwB,KAAKC,IAAL,CAAUC,KAAV,CAAgBC,IAAxC;AAAA,UAAOC,KAAP;AAAA,UAAcC,MAAd;;AAEA,UAAMH,KAAK,GAAGF,gBAAgB,CAACE,KAA/B;;AAEAH,sBAAOZ,IAAP,CAAY,IAAZ,EAAkB;AAChBH,QAAAA,EAAE,EAAEgB,gBAAgB,CAACf,OADL;AAEhBmB,QAAAA,KAAK,EAALA,KAFgB;AAGhBC,QAAAA,MAAM,EAANA,MAHgB;AAIhBC,QAAAA,SAAS,EAAE;AACTC,UAAAA,QAAQ,EAAE,KAAKN,IAAL,CAAUO,MAAV,CAAiBD,QADlB;AAETE,UAAAA,SAAS,EAAE,KAAKR,IAAL,CAAUO,MAAV,CAAiBC,SAFnB;AAGTC,UAAAA,IAAI,EAAE,KAAKT,IAAL,CAAUU,oBAAV,CAA+BC,YAA/B,CAA4CV,KAAK,CAACW,KAAlD,CAHG;AAITC,UAAAA,OAAO,EAAE,CAACZ,KAAK,CAACa,QAJP;AAKTC,UAAAA,KAAK,EAAE;AALE;AAJK,OAAlB;AAYD;AAjDqC,GAAjC,CAAP;AAmDD","sourcesContent":["import {initializeResources, render, finalizeResources} from './commons';\n\nexport default function createDeckLayerView2D(BaseLayerViewGL2D) {\n return BaseLayerViewGL2D.createSubclass({\n properties: {\n deckgl: {},\n deckFbo: {},\n model: {},\n buffer: {}\n },\n\n // Attach is called as soon as the layer view is ready to start rendering.\n attach() {\n // We use a full-screen quad and shaders to composite the frame rendered\n // with deck.gl on top of the MapView. Composition uses the MapView context.\n const gl = this.context;\n initializeResources.call(this, gl);\n\n // Update deck props\n this.layer.deck.on('change', props => this.deckInstance.setProps(props));\n\n // We need to start drawing the deck.gl layer immediately.\n this.deckInstance.setProps(this.layer.deck.toJSON());\n },\n\n redraw() {\n this.requestRender();\n },\n\n // Called when the layer must be destroyed.\n detach() {\n finalizeResources.call(this);\n },\n\n // Called every time that the layer view must be rendered.\n render(renderParameters) {\n const [width, height] = this.view.state.size;\n // The view state must be kept in-sync with the MapView of the ArcGIS API.\n const state = renderParameters.state;\n\n render.call(this, {\n gl: renderParameters.context,\n width,\n height,\n viewState: {\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n zoom: this.view.featuresTilingScheme.scaleToLevel(state.scale),\n bearing: -state.rotation,\n pitch: 0\n }\n });\n }\n });\n}\n"],"file":"deck-layer-view-2d.js"}
@@ -12,15 +12,13 @@ function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {
12
12
  blendMode: {},
13
13
  effect: {}
14
14
  },
15
-
16
- constructor() {
15
+ constructor: function constructor() {
17
16
  this.deck = new DeckProps();
18
17
  },
19
-
20
- createLayerView(view) {
18
+ createLayerView: function createLayerView(view) {
21
19
  if (view.type === '2d') {
22
20
  return new DeckLayerView2D({
23
- view,
21
+ view: view,
24
22
  layer: this
25
23
  });
26
24
  }
@@ -28,7 +26,6 @@ function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {
28
26
  console.error('DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.');
29
27
  return null;
30
28
  }
31
-
32
29
  });
33
30
  }
34
31
  //# sourceMappingURL=deck-layer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/deck-layer.js"],"names":["createDeckLayer","DeckProps","Layer","DeckLayerView2D","createSubclass","properties","deck","blendMode","effect","constructor","createLayerView","view","type","layer","console","error"],"mappings":";;;;;;;AAAe,SAASA,eAAT,CAAyBC,SAAzB,EAAoCC,KAApC,EAA2CC,eAA3C,EAA4D;AAGzE,SAAOD,KAAK,CAACE,cAAN,CAAqB;AAC1BC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAE,EADI;AAEVC,MAAAA,SAAS,EAAE,EAFD;AAGVC,MAAAA,MAAM,EAAE;AAHE,KADc;;AAO1BC,IAAAA,WAAW,GAAG;AACZ,WAAKH,IAAL,GAAY,IAAIL,SAAJ,EAAZ;AACD,KATyB;;AAa1BS,IAAAA,eAAe,CAACC,IAAD,EAAO;AACpB,UAAIA,IAAI,CAACC,IAAL,KAAc,IAAlB,EAAwB;AACtB,eAAO,IAAIT,eAAJ,CAAoB;AACzBQ,UAAAA,IADyB;AAEzBE,UAAAA,KAAK,EAAE;AAFkB,SAApB,CAAP;AAID;;AAGDC,MAAAA,OAAO,CAACC,KAAR,CACE,+EADF;AAIA,aAAO,IAAP;AACD;;AA3ByB,GAArB,CAAP;AA6BD","sourcesContent":["export default function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {\n // A layer that displays inside a MapView using an instance\n // of the layer view defined above.\n return Layer.createSubclass({\n properties: {\n deck: {},\n blendMode: {},\n effect: {}\n },\n\n constructor() {\n this.deck = new DeckProps();\n },\n\n // Called by the MapView whenever a layer view\n // needs to be created for a given layer.\n createLayerView(view) {\n if (view.type === '2d') {\n return new DeckLayerView2D({\n view,\n layer: this\n });\n }\n\n // eslint-disable-next-line\n console.error(\n 'DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.'\n );\n\n return null;\n }\n });\n}\n"],"file":"deck-layer.js"}
1
+ {"version":3,"sources":["../../src/deck-layer.js"],"names":["createDeckLayer","DeckProps","Layer","DeckLayerView2D","createSubclass","properties","deck","blendMode","effect","constructor","createLayerView","view","type","layer","console","error"],"mappings":";;;;;;;AAAe,SAASA,eAAT,CAAyBC,SAAzB,EAAoCC,KAApC,EAA2CC,eAA3C,EAA4D;AAGzE,SAAOD,KAAK,CAACE,cAAN,CAAqB;AAC1BC,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAE,EADI;AAEVC,MAAAA,SAAS,EAAE,EAFD;AAGVC,MAAAA,MAAM,EAAE;AAHE,KADc;AAO1BC,IAAAA,WAP0B,yBAOZ;AACZ,WAAKH,IAAL,GAAY,IAAIL,SAAJ,EAAZ;AACD,KATyB;AAa1BS,IAAAA,eAb0B,2BAaVC,IAbU,EAaJ;AACpB,UAAIA,IAAI,CAACC,IAAL,KAAc,IAAlB,EAAwB;AACtB,eAAO,IAAIT,eAAJ,CAAoB;AACzBQ,UAAAA,IAAI,EAAJA,IADyB;AAEzBE,UAAAA,KAAK,EAAE;AAFkB,SAApB,CAAP;AAID;;AAGDC,MAAAA,OAAO,CAACC,KAAR,CACE,+EADF;AAIA,aAAO,IAAP;AACD;AA3ByB,GAArB,CAAP;AA6BD","sourcesContent":["export default function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {\n // A layer that displays inside a MapView using an instance\n // of the layer view defined above.\n return Layer.createSubclass({\n properties: {\n deck: {},\n blendMode: {},\n effect: {}\n },\n\n constructor() {\n this.deck = new DeckProps();\n },\n\n // Called by the MapView whenever a layer view\n // needs to be created for a given layer.\n createLayerView(view) {\n if (view.type === '2d') {\n return new DeckLayerView2D({\n view,\n layer: this\n });\n }\n\n // eslint-disable-next-line\n console.error(\n 'DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.'\n );\n\n return null;\n }\n });\n}\n"],"file":"deck-layer.js"}
@@ -1,10 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.default = loadDeckProps;
7
- const properties = {
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
13
+
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
+
18
+ var properties = {
8
19
  layers: {},
9
20
  layerFilter: {},
10
21
  parameters: {},
@@ -25,46 +36,62 @@ const properties = {
25
36
  };
26
37
 
27
38
  function loadDeckProps(Accessor) {
28
- const DeckProps = Accessor.createSubclass({
29
- properties,
39
+ var DeckProps = Accessor.createSubclass({
40
+ properties: properties,
41
+ constructor: function constructor() {
42
+ var _this = this;
30
43
 
31
- constructor() {
32
44
  this._callbacks = {};
33
- this.watch(Object.keys(properties), (newValue, oldValue, propName) => {
34
- this.emit('change', {
35
- [propName]: newValue
36
- });
45
+ this.watch(Object.keys(properties), function (newValue, oldValue, propName) {
46
+ _this.emit('change', (0, _defineProperty2.default)({}, propName, newValue));
37
47
  });
38
48
  },
39
-
40
- on(eventName, cb) {
49
+ on: function on(eventName, cb) {
41
50
  this._callbacks[eventName] = this._callbacks[eventName] || [];
42
51
 
43
52
  this._callbacks[eventName].push(cb);
44
53
  },
45
-
46
- emit(eventName, details) {
47
- const callbacks = this._callbacks[eventName];
54
+ emit: function emit(eventName, details) {
55
+ var callbacks = this._callbacks[eventName];
48
56
 
49
57
  if (callbacks) {
50
- for (const cb of callbacks) {
51
- cb(details);
58
+ var _iterator = _createForOfIteratorHelper(callbacks),
59
+ _step;
60
+
61
+ try {
62
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
63
+ var cb = _step.value;
64
+ cb(details);
65
+ }
66
+ } catch (err) {
67
+ _iterator.e(err);
68
+ } finally {
69
+ _iterator.f();
52
70
  }
53
71
  }
54
72
  },
73
+ toJSON: function toJSON() {
74
+ var result = {};
55
75
 
56
- toJSON() {
57
- const result = {};
76
+ var _iterator2 = _createForOfIteratorHelper(this.keys()),
77
+ _step2;
58
78
 
59
- for (const key of this.keys()) {
60
- if (this[key] !== undefined) {
61
- result[key] = this[key];
79
+ try {
80
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
81
+ var key = _step2.value;
82
+
83
+ if (this[key] !== undefined) {
84
+ result[key] = this[key];
85
+ }
62
86
  }
87
+ } catch (err) {
88
+ _iterator2.e(err);
89
+ } finally {
90
+ _iterator2.f();
63
91
  }
64
92
 
65
93
  return result;
66
94
  }
67
-
68
95
  });
69
96
  return DeckProps;
70
97
  }
@@ -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","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,IAAMA,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,MAAMC,SAAS,GAAGD,QAAQ,CAACE,cAAT,CAAwB;AACxCrB,IAAAA,UAAU,EAAVA,UADwC;AAGxCsB,IAAAA,WAHwC,yBAG1B;AAAA;;AACZ,WAAKC,UAAL,GAAkB,EAAlB;AAEA,WAAKC,KAAL,CAAWC,MAAM,CAACC,IAAP,CAAY1B,UAAZ,CAAX,EAAoC,UAAC2B,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAAkC;AACpE,QAAA,KAAI,CAACC,IAAL,CAAU,QAAV,oCAAsBD,QAAtB,EAAiCF,QAAjC;AACD,OAFD;AAGD,KATuC;AAWxCI,IAAAA,EAXwC,cAWrCC,SAXqC,EAW1BC,EAX0B,EAWtB;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,IAhBwC,gBAgBnCE,SAhBmC,EAgBxBG,OAhBwB,EAgBf;AACvB,UAAMC,SAAS,GAAG,KAAKb,UAAL,CAAgBS,SAAhB,CAAlB;;AACA,UAAII,SAAJ,EAAe;AAAA,mDACIA,SADJ;AAAA;;AAAA;AACb,8DAA4B;AAAA,gBAAjBH,EAAiB;AAC1BA,YAAAA,EAAE,CAACE,OAAD,CAAF;AACD;AAHY;AAAA;AAAA;AAAA;AAAA;AAId;AACF,KAvBuC;AAyBxCE,IAAAA,MAzBwC,oBAyB/B;AACP,UAAMC,MAAM,GAAG,EAAf;;AADO,kDAEW,KAAKZ,IAAL,EAFX;AAAA;;AAAA;AAEP,+DAA+B;AAAA,cAApBa,GAAoB;;AAC7B,cAAI,KAAKA,GAAL,MAAcC,SAAlB,EAA6B;AAC3BF,YAAAA,MAAM,CAACC,GAAD,CAAN,GAAc,KAAKA,GAAL,CAAd;AACD;AACF;AANM;AAAA;AAAA;AAAA;AAAA;;AAOP,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,61 +1,82 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.default = createDeckRenderer;
7
9
 
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
8
16
  var _commons = require("./commons");
9
17
 
10
18
  function arcgisFOVToDeckAltitude(fov, aspectRatio) {
11
- const D = Math.sqrt(1 + aspectRatio ** 2);
12
- const halfFOV = fov / 2 / 180 * Math.PI;
19
+ var D = Math.sqrt(1 + Math.pow(aspectRatio, 2));
20
+ var halfFOV = fov / 2 / 180 * Math.PI;
13
21
  return D / 2 / Math.tan(halfFOV);
14
22
  }
15
23
 
16
24
  function createDeckRenderer(DeckProps, externalRenderers) {
17
- class DeckRenderer {
18
- constructor(view, props) {
25
+ var DeckRenderer = function () {
26
+ function DeckRenderer(view, props) {
27
+ (0, _classCallCheck2.default)(this, DeckRenderer);
19
28
  this.view = view;
20
29
  this.deck = new DeckProps(props);
21
30
  }
22
31
 
23
- setup(context) {
24
- const gl = context.gl;
25
-
26
- _commons.initializeResources.call(this, gl);
32
+ (0, _createClass2.default)(DeckRenderer, [{
33
+ key: "setup",
34
+ value: function setup(context) {
35
+ var _this = this;
27
36
 
28
- this.deck.on('change', props => this.deckInstance.setProps(props));
29
- this.deckInstance.setProps(this.deck.toJSON());
30
- }
37
+ var gl = context.gl;
31
38
 
32
- dispose() {
33
- _commons.finalizeResources.call(this);
34
- }
39
+ _commons.initializeResources.call(this, gl);
35
40
 
36
- redraw() {
37
- externalRenderers.requestRender(this.view);
38
- }
39
-
40
- render(context) {
41
- const [width, height] = this.view.size;
42
-
43
- _commons.render.call(this, {
44
- gl: context.gl,
45
- width,
46
- height,
47
- viewState: {
48
- latitude: this.view.center.latitude,
49
- longitude: this.view.center.longitude,
50
- altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),
51
- zoom: this.view.zoom,
52
- bearing: this.view.camera.heading,
53
- pitch: this.view.camera.tilt
54
- }
55
- });
56
- }
41
+ this.deck.on('change', function (props) {
42
+ return _this.deckInstance.setProps(props);
43
+ });
44
+ this.deckInstance.setProps(this.deck.toJSON());
45
+ }
46
+ }, {
47
+ key: "dispose",
48
+ value: function dispose() {
49
+ _commons.finalizeResources.call(this);
50
+ }
51
+ }, {
52
+ key: "redraw",
53
+ value: function redraw() {
54
+ externalRenderers.requestRender(this.view);
55
+ }
56
+ }, {
57
+ key: "render",
58
+ value: function render(context) {
59
+ var _this$view$size = (0, _slicedToArray2.default)(this.view.size, 2),
60
+ width = _this$view$size[0],
61
+ height = _this$view$size[1];
57
62
 
58
- }
63
+ _commons.render.call(this, {
64
+ gl: context.gl,
65
+ width: width,
66
+ height: height,
67
+ viewState: {
68
+ latitude: this.view.center.latitude,
69
+ longitude: this.view.center.longitude,
70
+ altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),
71
+ zoom: this.view.zoom,
72
+ bearing: this.view.camera.heading,
73
+ pitch: this.view.camera.tilt
74
+ }
75
+ });
76
+ }
77
+ }]);
78
+ return DeckRenderer;
79
+ }();
59
80
 
60
81
  return DeckRenderer;
61
82
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/deck-renderer.js"],"names":["arcgisFOVToDeckAltitude","fov","aspectRatio","D","Math","sqrt","halfFOV","PI","tan","createDeckRenderer","DeckProps","externalRenderers","DeckRenderer","constructor","view","props","deck","setup","context","gl","initializeResources","call","on","deckInstance","setProps","toJSON","dispose","finalizeResources","redraw","requestRender","render","width","height","size","viewState","latitude","center","longitude","altitude","camera","zoom","bearing","heading","pitch","tilt"],"mappings":";;;;;;;AAEA;;AAGA,SAASA,uBAAT,CAAiCC,GAAjC,EAAsCC,WAAtC,EAAmD;AACjD,QAAMC,CAAC,GAAGC,IAAI,CAACC,IAAL,CAAU,IAAIH,WAAW,IAAI,CAA7B,CAAV;AACA,QAAMI,OAAO,GAAIL,GAAG,GAAG,CAAN,GAAU,GAAX,GAAkBG,IAAI,CAACG,EAAvC;AACA,SAAOJ,CAAC,GAAG,CAAJ,GAAQC,IAAI,CAACI,GAAL,CAASF,OAAT,CAAf;AACD;;AAEc,SAASG,kBAAT,CAA4BC,SAA5B,EAAuCC,iBAAvC,EAA0D;AACvE,QAAMC,YAAN,CAAmB;AACjBC,IAAAA,WAAW,CAACC,IAAD,EAAOC,KAAP,EAAc;AACvB,WAAKD,IAAL,GAAYA,IAAZ;AACA,WAAKE,IAAL,GAAY,IAAIN,SAAJ,CAAcK,KAAd,CAAZ;AACD;;AAEDE,IAAAA,KAAK,CAACC,OAAD,EAAU;AACb,YAAMC,EAAE,GAAGD,OAAO,CAACC,EAAnB;;AACAC,mCAAoBC,IAApB,CAAyB,IAAzB,EAA+BF,EAA/B;;AAEA,WAAKH,IAAL,CAAUM,EAAV,CAAa,QAAb,EAAuBP,KAAK,IAAI,KAAKQ,YAAL,CAAkBC,QAAlB,CAA2BT,KAA3B,CAAhC;AAEA,WAAKQ,YAAL,CAAkBC,QAAlB,CAA2B,KAAKR,IAAL,CAAUS,MAAV,EAA3B;AACD;;AAEDC,IAAAA,OAAO,GAAG;AACRC,iCAAkBN,IAAlB,CAAuB,IAAvB;AACD;;AAEDO,IAAAA,MAAM,GAAG;AACPjB,MAAAA,iBAAiB,CAACkB,aAAlB,CAAgC,KAAKf,IAArC;AACD;;AAEDgB,IAAAA,MAAM,CAACZ,OAAD,EAAU;AACd,YAAM,CAACa,KAAD,EAAQC,MAAR,IAAkB,KAAKlB,IAAL,CAAUmB,IAAlC;;AAEAH,sBAAOT,IAAP,CAAY,IAAZ,EAAkB;AAChBF,QAAAA,EAAE,EAAED,OAAO,CAACC,EADI;AAEhBY,QAAAA,KAFgB;AAGhBC,QAAAA,MAHgB;AAIhBE,QAAAA,SAAS,EAAE;AACTC,UAAAA,QAAQ,EAAE,KAAKrB,IAAL,CAAUsB,MAAV,CAAiBD,QADlB;AAETE,UAAAA,SAAS,EAAE,KAAKvB,IAAL,CAAUsB,MAAV,CAAiBC,SAFnB;AAGTC,UAAAA,QAAQ,EAAEtC,uBAAuB,CAAC,KAAKc,IAAL,CAAUyB,MAAV,CAAiBtC,GAAlB,EAAuB8B,KAAK,GAAGC,MAA/B,CAHxB;AAITQ,UAAAA,IAAI,EAAE,KAAK1B,IAAL,CAAU0B,IAJP;AAKTC,UAAAA,OAAO,EAAE,KAAK3B,IAAL,CAAUyB,MAAV,CAAiBG,OALjB;AAMTC,UAAAA,KAAK,EAAE,KAAK7B,IAAL,CAAUyB,MAAV,CAAiBK;AANf;AAJK,OAAlB;AAaD;;AAvCgB;;AA0CnB,SAAOhC,YAAP;AACD","sourcesContent":["/* eslint-disable no-invalid-this */\n\nimport {initializeResources, render, finalizeResources} from './commons';\n\n// ArcGIS fov is corner-to-corner\nfunction arcgisFOVToDeckAltitude(fov, aspectRatio) {\n const D = Math.sqrt(1 + aspectRatio ** 2);\n const halfFOV = (fov / 2 / 180) * Math.PI;\n return D / 2 / Math.tan(halfFOV);\n}\n\nexport default function createDeckRenderer(DeckProps, externalRenderers) {\n class DeckRenderer {\n constructor(view, props) {\n this.view = view;\n this.deck = new DeckProps(props);\n }\n\n setup(context) {\n const gl = context.gl;\n initializeResources.call(this, gl);\n\n this.deck.on('change', props => this.deckInstance.setProps(props));\n\n this.deckInstance.setProps(this.deck.toJSON());\n }\n\n dispose() {\n finalizeResources.call(this);\n }\n\n redraw() {\n externalRenderers.requestRender(this.view);\n }\n\n render(context) {\n const [width, height] = this.view.size;\n\n render.call(this, {\n gl: context.gl,\n width,\n height,\n viewState: {\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),\n zoom: this.view.zoom,\n bearing: this.view.camera.heading,\n pitch: this.view.camera.tilt\n }\n });\n }\n }\n\n return DeckRenderer;\n}\n"],"file":"deck-renderer.js"}
1
+ {"version":3,"sources":["../../src/deck-renderer.js"],"names":["arcgisFOVToDeckAltitude","fov","aspectRatio","D","Math","sqrt","halfFOV","PI","tan","createDeckRenderer","DeckProps","externalRenderers","DeckRenderer","view","props","deck","context","gl","initializeResources","call","on","deckInstance","setProps","toJSON","finalizeResources","requestRender","size","width","height","render","viewState","latitude","center","longitude","altitude","camera","zoom","bearing","heading","pitch","tilt"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAGA,SAASA,uBAAT,CAAiCC,GAAjC,EAAsCC,WAAtC,EAAmD;AACjD,MAAMC,CAAC,GAAGC,IAAI,CAACC,IAAL,CAAU,aAAIH,WAAJ,EAAmB,CAAnB,CAAV,CAAV;AACA,MAAMI,OAAO,GAAIL,GAAG,GAAG,CAAN,GAAU,GAAX,GAAkBG,IAAI,CAACG,EAAvC;AACA,SAAOJ,CAAC,GAAG,CAAJ,GAAQC,IAAI,CAACI,GAAL,CAASF,OAAT,CAAf;AACD;;AAEc,SAASG,kBAAT,CAA4BC,SAA5B,EAAuCC,iBAAvC,EAA0D;AAAA,MACjEC,YADiE;AAErE,0BAAYC,IAAZ,EAAkBC,KAAlB,EAAyB;AAAA;AACvB,WAAKD,IAAL,GAAYA,IAAZ;AACA,WAAKE,IAAL,GAAY,IAAIL,SAAJ,CAAcI,KAAd,CAAZ;AACD;;AALoE;AAAA;AAAA,aAOrE,eAAME,OAAN,EAAe;AAAA;;AACb,YAAMC,EAAE,GAAGD,OAAO,CAACC,EAAnB;;AACAC,qCAAoBC,IAApB,CAAyB,IAAzB,EAA+BF,EAA/B;;AAEA,aAAKF,IAAL,CAAUK,EAAV,CAAa,QAAb,EAAuB,UAAAN,KAAK;AAAA,iBAAI,KAAI,CAACO,YAAL,CAAkBC,QAAlB,CAA2BR,KAA3B,CAAJ;AAAA,SAA5B;AAEA,aAAKO,YAAL,CAAkBC,QAAlB,CAA2B,KAAKP,IAAL,CAAUQ,MAAV,EAA3B;AACD;AAdoE;AAAA;AAAA,aAgBrE,mBAAU;AACRC,mCAAkBL,IAAlB,CAAuB,IAAvB;AACD;AAlBoE;AAAA;AAAA,aAoBrE,kBAAS;AACPR,QAAAA,iBAAiB,CAACc,aAAlB,CAAgC,KAAKZ,IAArC;AACD;AAtBoE;AAAA;AAAA,aAwBrE,gBAAOG,OAAP,EAAgB;AACd,2DAAwB,KAAKH,IAAL,CAAUa,IAAlC;AAAA,YAAOC,KAAP;AAAA,YAAcC,MAAd;;AAEAC,wBAAOV,IAAP,CAAY,IAAZ,EAAkB;AAChBF,UAAAA,EAAE,EAAED,OAAO,CAACC,EADI;AAEhBU,UAAAA,KAAK,EAALA,KAFgB;AAGhBC,UAAAA,MAAM,EAANA,MAHgB;AAIhBE,UAAAA,SAAS,EAAE;AACTC,YAAAA,QAAQ,EAAE,KAAKlB,IAAL,CAAUmB,MAAV,CAAiBD,QADlB;AAETE,YAAAA,SAAS,EAAE,KAAKpB,IAAL,CAAUmB,MAAV,CAAiBC,SAFnB;AAGTC,YAAAA,QAAQ,EAAElC,uBAAuB,CAAC,KAAKa,IAAL,CAAUsB,MAAV,CAAiBlC,GAAlB,EAAuB0B,KAAK,GAAGC,MAA/B,CAHxB;AAITQ,YAAAA,IAAI,EAAE,KAAKvB,IAAL,CAAUuB,IAJP;AAKTC,YAAAA,OAAO,EAAE,KAAKxB,IAAL,CAAUsB,MAAV,CAAiBG,OALjB;AAMTC,YAAAA,KAAK,EAAE,KAAK1B,IAAL,CAAUsB,MAAV,CAAiBK;AANf;AAJK,SAAlB;AAaD;AAxCoE;AAAA;AAAA;;AA2CvE,SAAO5B,YAAP;AACD","sourcesContent":["/* eslint-disable no-invalid-this */\n\nimport {initializeResources, render, finalizeResources} from './commons';\n\n// ArcGIS fov is corner-to-corner\nfunction arcgisFOVToDeckAltitude(fov, aspectRatio) {\n const D = Math.sqrt(1 + aspectRatio ** 2);\n const halfFOV = (fov / 2 / 180) * Math.PI;\n return D / 2 / Math.tan(halfFOV);\n}\n\nexport default function createDeckRenderer(DeckProps, externalRenderers) {\n class DeckRenderer {\n constructor(view, props) {\n this.view = view;\n this.deck = new DeckProps(props);\n }\n\n setup(context) {\n const gl = context.gl;\n initializeResources.call(this, gl);\n\n this.deck.on('change', props => this.deckInstance.setProps(props));\n\n this.deckInstance.setProps(this.deck.toJSON());\n }\n\n dispose() {\n finalizeResources.call(this);\n }\n\n redraw() {\n externalRenderers.requestRender(this.view);\n }\n\n render(context) {\n const [width, height] = this.view.size;\n\n render.call(this, {\n gl: context.gl,\n width,\n height,\n viewState: {\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),\n zoom: this.view.zoom,\n bearing: this.view.camera.heading,\n pitch: this.view.camera.tilt\n }\n });\n }\n }\n\n return DeckRenderer;\n}\n"],"file":"deck-renderer.js"}
package/dist/es5/index.js CHANGED
@@ -7,6 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.loadArcGISModules = loadArcGISModules;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
10
18
  var _deckProps = _interopRequireDefault(require("./deck-props"));
11
19
 
12
20
  var _deckLayer = _interopRequireDefault(require("./deck-layer"));
@@ -17,21 +25,50 @@ var _deckRenderer = _interopRequireDefault(require("./deck-renderer"));
17
25
 
18
26
  var _esriLoader = require("esri-loader");
19
27
 
20
- let arcGIS = null;
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
29
 
22
- async function loadArcGISModules(modules, loadScriptOptions) {
23
- const namespace = Array.isArray(modules) ? null : modules;
24
- await loadArcGISModule(namespace, loadScriptOptions);
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
31
 
26
- if (Array.isArray(modules)) {
27
- return (0, _esriLoader.loadModules)(modules, loadScriptOptions).then(array => {
28
- return { ...arcGIS,
29
- modules: array
30
- };
31
- });
32
- }
32
+ var arcGIS = null;
33
33
 
34
- return arcGIS;
34
+ function loadArcGISModules(_x, _x2) {
35
+ return _loadArcGISModules.apply(this, arguments);
36
+ }
37
+
38
+ function _loadArcGISModules() {
39
+ _loadArcGISModules = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(modules, loadScriptOptions) {
40
+ var namespace;
41
+ return _regenerator.default.wrap(function _callee$(_context) {
42
+ while (1) {
43
+ switch (_context.prev = _context.next) {
44
+ case 0:
45
+ namespace = Array.isArray(modules) ? null : modules;
46
+ _context.next = 3;
47
+ return loadArcGISModule(namespace, loadScriptOptions);
48
+
49
+ case 3:
50
+ if (!Array.isArray(modules)) {
51
+ _context.next = 5;
52
+ break;
53
+ }
54
+
55
+ return _context.abrupt("return", (0, _esriLoader.loadModules)(modules, loadScriptOptions).then(function (array) {
56
+ return _objectSpread(_objectSpread({}, arcGIS), {}, {
57
+ modules: array
58
+ });
59
+ }));
60
+
61
+ case 5:
62
+ return _context.abrupt("return", arcGIS);
63
+
64
+ case 6:
65
+ case "end":
66
+ return _context.stop();
67
+ }
68
+ }
69
+ }, _callee);
70
+ }));
71
+ return _loadArcGISModules.apply(this, arguments);
35
72
  }
36
73
 
37
74
  function loadArcGISModule(esri, loadScriptOptions) {
@@ -40,26 +77,32 @@ function loadArcGISModule(esri, loadScriptOptions) {
40
77
  }
41
78
 
42
79
  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;
80
+ var Layer = esri.layers.Layer;
81
+ var Accessor = esri.core.Accessor;
82
+ var BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
83
+ var externalRenderers = esri.views['3d'].externalRenderers;
47
84
  return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
48
85
  }
49
86
 
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]) => {
87
+ return (0, _esriLoader.loadModules)(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(function (_ref) {
88
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 4),
89
+ Layer = _ref2[0],
90
+ Accessor = _ref2[1],
91
+ BaseLayerViewGL2D = _ref2[2],
92
+ externalRenderers = _ref2[3];
93
+
51
94
  return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
52
95
  });
53
96
  }
54
97
 
55
98
  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);
99
+ var DeckProps = (0, _deckProps.default)(Accessor);
100
+ var DeckLayerView2D = (0, _deckLayerView2d.default)(BaseLayerViewGL2D);
101
+ var DeckLayer = (0, _deckLayer.default)(DeckProps, Layer, DeckLayerView2D);
102
+ var DeckRenderer = (0, _deckRenderer.default)(DeckProps, externalRenderers);
60
103
  arcGIS = {
61
- DeckLayer,
62
- DeckRenderer
104
+ DeckLayer: DeckLayer,
105
+ DeckRenderer: DeckRenderer
63
106
  };
64
107
  return arcGIS;
65
108
  }
@@ -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":["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;;SAEsBC,iB;;;;;iFAAf,iBAAiCC,OAAjC,EAA0CC,iBAA1C;AAAA;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,SADD,GACaC,KAAK,CAACC,OAAN,CAAcJ,OAAd,IAAyB,IAAzB,GAAgCA,OAD7C;AAAA;AAAA,mBAECK,gBAAgB,CAACH,SAAD,EAAYD,iBAAZ,CAFjB;;AAAA;AAAA,iBAIDE,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAJC;AAAA;AAAA;AAAA;;AAAA,6CAKI,6BAAsBA,OAAtB,EAA+BC,iBAA/B,EAAkDK,IAAlD,CAAuD,UAAAC,KAAK,EAAI;AACrE,qDAAWT,MAAX;AAAmBE,gBAAAA,OAAO,EAAEO;AAA5B;AACD,aAFM,CALJ;;AAAA;AAAA,6CASET,MATF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAYP,SAASO,gBAAT,CAA0BG,IAA1B,EAAgCP,iBAAhC,EAAmD;AACjD,MAAIH,MAAJ,EAAY;AAEV,WAAOA,MAAP;AACD;;AACD,MAAIU,IAAJ,EAAU;AAGR,QAAMC,KAAK,GAAGD,IAAI,CAACE,MAAL,CAAYD,KAA1B;AACA,QAAME,QAAQ,GAAGH,IAAI,CAACI,IAAL,CAAUD,QAA3B;AACA,QAAME,iBAAiB,GAAGL,IAAI,CAACM,KAAL,CAAW,IAAX,EAAiBJ,MAAjB,CAAwBG,iBAAlD;AACA,QAAME,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,gBAA6D;AAAA;AAAA,QAA3DG,KAA2D;AAAA,QAApDE,QAAoD;AAAA,QAA1CE,iBAA0C;AAAA,QAAvBE,iBAAuB;;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,MAAME,SAAS,GAAG,wBAAgBN,QAAhB,CAAlB;AACA,MAAMO,eAAe,GAAG,8BAAsBL,iBAAtB,CAAxB;AACA,MAAMM,SAAS,GAAG,wBAAgBF,SAAhB,EAA2BR,KAA3B,EAAkCS,eAAlC,CAAlB;AACA,MAAME,YAAY,GAAG,2BAAmBH,SAAnB,EAA8BF,iBAA9B,CAArB;AAEAjB,EAAAA,MAAM,GAAG;AAACqB,IAAAA,SAAS,EAATA,SAAD;AAAYC,IAAAA,YAAY,EAAZA;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"}
@@ -35,12 +35,13 @@ export function initializeResources(gl) {
35
35
  }
36
36
  });
37
37
  }
38
- export function render({
39
- gl,
40
- width,
41
- height,
42
- viewState
43
- }) {
38
+ export function render(_ref) {
39
+ let {
40
+ gl,
41
+ width,
42
+ height,
43
+ viewState
44
+ } = _ref;
44
45
  const screenFbo = gl.getParameter(36006);
45
46
  const dpr = window.devicePixelRatio;
46
47
  width = Math.round(width * dpr);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commons.js"],"names":["Deck","Model","Buffer","Framebuffer","instrumentGLContext","withParameters","initializeResources","gl","buffer","Int8Array","model","vs","fs","attributes","a_pos","vertexCount","drawMode","deckFbo","width","height","deckInstance","viewState","controller","parameters","depthTest","_framebuffer","_customRender","redrawReason","_drawLayers","redraw","render","screenFbo","getParameter","dpr","window","devicePixelRatio","Math","round","resize","setProps","blend","blendFunc","framebuffer","viewport","setUniforms","u_texture","draw","finalizeResources","finalize","delete"],"mappings":"AAEA,SAAQA,IAAR,QAAmB,eAAnB;AACA,SAAQC,KAAR,EAAeC,MAAf,EAAuBC,WAAvB,EAAoCC,mBAApC,EAAyDC,cAAzD,QAA8E,eAA9E;AAEA,OAAO,SAASC,mBAAT,CAA6BC,EAA7B,EAAiC;AACtCH,EAAAA,mBAAmB,CAACG,EAAD,CAAnB;AAEA,OAAKC,MAAL,GAAc,IAAIN,MAAJ,CAAWK,EAAX,EAAe,IAAIE,SAAJ,CAAc,CAAC,CAAC,CAAF,EAAK,CAAC,CAAN,EAAS,CAAT,EAAY,CAAC,CAAb,EAAgB,CAAC,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,CAAd,CAAf,CAAd;AAEA,OAAKC,KAAL,GAAa,IAAIT,KAAJ,CAAUM,EAAV,EAAc;AACzBI,IAAAA,EAAE,sMADuB;AASzBC,IAAAA,EAAE,wQATuB;AAmBzBC,IAAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,KAAKN;AADF,KAnBa;AAsBzBO,IAAAA,WAAW,EAAE,CAtBY;AAuBzBC,IAAAA,QAAQ;AAvBiB,GAAd,CAAb;AA0BA,OAAKC,OAAL,GAAe,IAAId,WAAJ,CAAgBI,EAAhB,EAAoB;AAACW,IAAAA,KAAK,EAAE,CAAR;AAAWC,IAAAA,MAAM,EAAE;AAAnB,GAApB,CAAf;AAEA,OAAKC,YAAL,GAAoB,IAAIpB,IAAJ,CAAS;AAE3BqB,IAAAA,SAAS,EAAE,EAFgB;AAK3BC,IAAAA,UAAU,EAAE,KALe;AAQ3Bf,IAAAA,EAR2B;AAW3BgB,IAAAA,UAAU,EAAE;AACVC,MAAAA,SAAS,EAAE;AADD,KAXe;AAgB3BC,IAAAA,YAAY,EAAE,KAAKR,OAhBQ;AAmB3BC,IAAAA,KAAK,EAAE,IAnBoB;AAoB3BC,IAAAA,MAAM,EAAE,IApBmB;AAsB3BO,IAAAA,aAAa,EAAEC,YAAY,IAAI;AAC7B,UAAIA,YAAY,KAAK,QAArB,EAA+B;AAC7B,aAAKP,YAAL,CAAkBQ,WAAlB,CAA8BD,YAA9B;AACD,OAFD,MAEO;AACL,aAAKE,MAAL;AACD;AACF;AA5B0B,GAAT,CAApB;AA8BD;AAED,OAAO,SAASC,MAAT,CAAgB;AAACvB,EAAAA,EAAD;AAAKW,EAAAA,KAAL;AAAYC,EAAAA,MAAZ;AAAoBE,EAAAA;AAApB,CAAhB,EAAgD;AACrD,QAAMU,SAAS,GAAGxB,EAAE,CAACyB,YAAH,OAAlB;AAGA,QAAMC,GAAG,GAAGC,MAAM,CAACC,gBAAnB;AACAjB,EAAAA,KAAK,GAAGkB,IAAI,CAACC,KAAL,CAAWnB,KAAK,GAAGe,GAAnB,CAAR;AACAd,EAAAA,MAAM,GAAGiB,IAAI,CAACC,KAAL,CAAWlB,MAAM,GAAGc,GAApB,CAAT;AAEA,OAAKhB,OAAL,CAAaqB,MAAb,CAAoB;AAACpB,IAAAA,KAAD;AAAQC,IAAAA;AAAR,GAApB;AAEA,OAAKC,YAAL,CAAkBmB,QAAlB,CAA2B;AAAClB,IAAAA;AAAD,GAA3B;AAEA,OAAKD,YAAL,CAAkBS,MAAlB,CAAyB,QAAzB;AAGAxB,EAAAA,cAAc,CACZE,EADY,EAEZ;AACEiC,IAAAA,KAAK,EAAE,IADT;AAEEC,IAAAA,SAAS,EAAE,QAFb;AAGEC,IAAAA,WAAW,EAAEX,SAHf;AAIEY,IAAAA,QAAQ,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAOzB,KAAP,EAAcC,MAAd;AAJZ,GAFY,EAQZ,MAAM;AACJ,SAAKT,KAAL,CAAWkC,WAAX,CAAuB;AAACC,MAAAA,SAAS,EAAE,KAAK5B;AAAjB,KAAvB,EAAkD6B,IAAlD;AACD,GAVW,CAAd;AAYD;AAED,OAAO,SAASC,iBAAT,GAA6B;AAAA;;AAClC,6BAAK3B,YAAL,0EAAmB4B,QAAnB;AACA,OAAK5B,YAAL,GAAoB,IAApB;AAEA,sBAAKV,KAAL,4DAAYuC,MAAZ;AACA,uBAAKzC,MAAL,8DAAayC,MAAb;AACA,wBAAKhC,OAAL,gEAAcgC,MAAd;AACD","sourcesContent":["/* eslint-disable no-invalid-this */\n\nimport {Deck} from '@deck.gl/core';\nimport {Model, Buffer, Framebuffer, instrumentGLContext, withParameters} from '@luma.gl/core';\n\nexport function initializeResources(gl) {\n instrumentGLContext(gl);\n\n this.buffer = new Buffer(gl, new Int8Array([-1, -1, 1, -1, -1, 1, 1, 1]));\n\n this.model = new Model(gl, {\n 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 `,\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 `,\n attributes: {\n a_pos: this.buffer\n },\n vertexCount: 4,\n drawMode: gl.TRIANGLE_STRIP\n });\n\n this.deckFbo = new Framebuffer(gl, {width: 1, height: 1});\n\n this.deckInstance = new Deck({\n // The view state will be set dynamically to track the MapView current extent.\n viewState: {},\n\n // Input is handled by the ArcGIS API for JavaScript.\n controller: false,\n\n // We use the same WebGL context as the ArcGIS API for JavaScript.\n gl,\n\n // We need depth testing in general; we don't know what layers might be added to the deck.\n parameters: {\n depthTest: true\n },\n\n // This deck renders into an auxiliary framebuffer.\n _framebuffer: this.deckFbo,\n\n // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n width: null,\n height: null,\n\n _customRender: redrawReason => {\n if (redrawReason === 'arcgis') {\n this.deckInstance._drawLayers(redrawReason);\n } else {\n this.redraw();\n }\n }\n });\n}\n\nexport function render({gl, width, height, viewState}) {\n const screenFbo = gl.getParameter(gl.FRAMEBUFFER_BINDING);\n\n /* global window */\n const dpr = window.devicePixelRatio;\n width = Math.round(width * dpr);\n height = Math.round(height * dpr);\n\n this.deckFbo.resize({width, height});\n\n this.deckInstance.setProps({viewState});\n // redraw deck immediately into deckFbo\n this.deckInstance.redraw('arcgis');\n\n // We overlay the texture on top of the map using the full-screen quad.\n withParameters(\n gl,\n {\n blend: true,\n blendFunc: [gl.ONE, gl.ONE_MINUS_SRC_ALPHA],\n framebuffer: screenFbo,\n viewport: [0, 0, width, height]\n },\n () => {\n this.model.setUniforms({u_texture: this.deckFbo}).draw();\n }\n );\n}\n\nexport function finalizeResources() {\n this.deckInstance?.finalize();\n this.deckInstance = null;\n\n this.model?.delete();\n this.buffer?.delete();\n this.deckFbo?.delete();\n}\n"],"file":"commons.js"}
1
+ {"version":3,"sources":["../../src/commons.js"],"names":["Deck","Model","Buffer","Framebuffer","instrumentGLContext","withParameters","initializeResources","gl","buffer","Int8Array","model","vs","fs","attributes","a_pos","vertexCount","drawMode","deckFbo","width","height","deckInstance","viewState","controller","parameters","depthTest","_framebuffer","_customRender","redrawReason","_drawLayers","redraw","render","screenFbo","getParameter","dpr","window","devicePixelRatio","Math","round","resize","setProps","blend","blendFunc","framebuffer","viewport","setUniforms","u_texture","draw","finalizeResources","finalize","delete"],"mappings":"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","sourcesContent":["/* eslint-disable no-invalid-this */\n\nimport {Deck} from '@deck.gl/core';\nimport {Model, Buffer, Framebuffer, instrumentGLContext, withParameters} from '@luma.gl/core';\n\nexport function initializeResources(gl) {\n instrumentGLContext(gl);\n\n this.buffer = new Buffer(gl, new Int8Array([-1, -1, 1, -1, -1, 1, 1, 1]));\n\n this.model = new Model(gl, {\n 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 `,\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 `,\n attributes: {\n a_pos: this.buffer\n },\n vertexCount: 4,\n drawMode: gl.TRIANGLE_STRIP\n });\n\n this.deckFbo = new Framebuffer(gl, {width: 1, height: 1});\n\n this.deckInstance = new Deck({\n // The view state will be set dynamically to track the MapView current extent.\n viewState: {},\n\n // Input is handled by the ArcGIS API for JavaScript.\n controller: false,\n\n // We use the same WebGL context as the ArcGIS API for JavaScript.\n gl,\n\n // We need depth testing in general; we don't know what layers might be added to the deck.\n parameters: {\n depthTest: true\n },\n\n // This deck renders into an auxiliary framebuffer.\n _framebuffer: this.deckFbo,\n\n // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n width: null,\n height: null,\n\n _customRender: redrawReason => {\n if (redrawReason === 'arcgis') {\n this.deckInstance._drawLayers(redrawReason);\n } else {\n this.redraw();\n }\n }\n });\n}\n\nexport function render({gl, width, height, viewState}) {\n const screenFbo = gl.getParameter(gl.FRAMEBUFFER_BINDING);\n\n /* global window */\n const dpr = window.devicePixelRatio;\n width = Math.round(width * dpr);\n height = Math.round(height * dpr);\n\n this.deckFbo.resize({width, height});\n\n this.deckInstance.setProps({viewState});\n // redraw deck immediately into deckFbo\n this.deckInstance.redraw('arcgis');\n\n // We overlay the texture on top of the map using the full-screen quad.\n withParameters(\n gl,\n {\n blend: true,\n blendFunc: [gl.ONE, gl.ONE_MINUS_SRC_ALPHA],\n framebuffer: screenFbo,\n viewport: [0, 0, width, height]\n },\n () => {\n this.model.setUniforms({u_texture: this.deckFbo}).draw();\n }\n );\n}\n\nexport function finalizeResources() {\n this.deckInstance?.finalize();\n this.deckInstance = null;\n\n this.model?.delete();\n this.buffer?.delete();\n this.deckFbo?.delete();\n}\n"],"file":"commons.js"}
package/dist/esm/index.js CHANGED
@@ -32,7 +32,8 @@ function loadArcGISModule(esri, loadScriptOptions) {
32
32
  return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
33
33
  }
34
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]) => {
35
+ return esriLoaderLoadModules(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(_ref => {
36
+ let [Layer, Accessor, BaseLayerViewGL2D, externalRenderers] = _ref;
36
37
  return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
37
38
  });
38
39
  }
@@ -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","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,QAA6D;AAAA,QAA5D,CAACG,KAAD,EAAQE,QAAR,EAAkBE,iBAAlB,EAAqCE,iBAArC,CAA4D;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"}
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.22"),"https://js.arcgis.com/"+e+"/"}function o(e){return!e||r(e)?function(e){void 0===e&&(e="4.22");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.4",
5
+ "version": "8.6.8",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -34,5 +34,5 @@
34
34
  "dependencies": {
35
35
  "esri-loader": "^3.2.0"
36
36
  },
37
- "gitHead": "750695c9f13595fa01982d81cdc2eb11bb5593b7"
37
+ "gitHead": "5a252f2cb2de10ceeb20a0ecf353034de5366e65"
38
38
  }