@loaders.gl/tiles 3.2.0 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -3469,7 +3469,7 @@
3469
3469
  var DEFAULT_VERSION, VERSION;
3470
3470
  var init_version = __esm({
3471
3471
  "../worker-utils/src/lib/env-utils/version.ts"() {
3472
- DEFAULT_VERSION = "beta";
3472
+ DEFAULT_VERSION = "latest";
3473
3473
  VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
3474
3474
  if (typeof __VERSION__ === "undefined") {
3475
3475
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
@@ -3554,12 +3554,6 @@
3554
3554
  var init_worker_threads_browser = __esm({
3555
3555
  "../worker-utils/src/lib/node/worker_threads-browser.js"() {
3556
3556
  Worker2 = class {
3557
- on(message, cb) {
3558
- }
3559
- postMessage(...args) {
3560
- }
3561
- terminate() {
3562
- }
3563
3557
  };
3564
3558
  }
3565
3559
  });
@@ -3946,7 +3940,7 @@
3946
3940
  var init_get_worker_url = __esm({
3947
3941
  "../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
3948
3942
  init_assert3();
3949
- NPM_TAG = "beta";
3943
+ NPM_TAG = "latest";
3950
3944
  }
3951
3945
  });
3952
3946
 
@@ -8365,11 +8359,11 @@
8365
8359
  }
8366
8360
  register(frameNumber) {
8367
8361
  const oldCount = this.frameNumberMap.get(frameNumber) || 0;
8368
- this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
8362
+ this.frameNumberMap.set(frameNumber, oldCount + 1);
8369
8363
  }
8370
8364
  deregister(frameNumber) {
8371
8365
  const oldCount = this.frameNumberMap.get(frameNumber) || 1;
8372
- this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
8366
+ this.frameNumberMap.set(frameNumber, oldCount - 1);
8373
8367
  }
8374
8368
  isZero(frameNumber) {
8375
8369
  const count = this.frameNumberMap.get(frameNumber) || 0;
@@ -8401,11 +8395,13 @@
8401
8395
  this.pendingTilesRegister.register(frameNumber);
8402
8396
  request().then((data) => {
8403
8397
  this._statusMap[key].status = STATUS.COMPLETED;
8404
- this.pendingTilesRegister.deregister(frameNumber);
8398
+ const { frameNumber: actualFrameNumber } = this._statusMap[key].frameState;
8399
+ this.pendingTilesRegister.deregister(actualFrameNumber);
8405
8400
  this._statusMap[key].callback(data, frameState);
8406
8401
  }).catch((error) => {
8407
8402
  this._statusMap[key].status = STATUS.ERROR;
8408
- this.pendingTilesRegister.deregister(frameNumber);
8403
+ const { frameNumber: actualFrameNumber } = this._statusMap[key].frameState;
8404
+ this.pendingTilesRegister.deregister(actualFrameNumber);
8409
8405
  callback(error);
8410
8406
  });
8411
8407
  }
@@ -23,13 +23,13 @@ var I3SPendingTilesRegister = function () {
23
23
  key: "register",
24
24
  value: function register(frameNumber) {
25
25
  var oldCount = this.frameNumberMap.get(frameNumber) || 0;
26
- this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
26
+ this.frameNumberMap.set(frameNumber, oldCount + 1);
27
27
  }
28
28
  }, {
29
29
  key: "deregister",
30
30
  value: function deregister(frameNumber) {
31
31
  var oldCount = this.frameNumberMap.get(frameNumber) || 1;
32
- this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
32
+ this.frameNumberMap.set(frameNumber, oldCount - 1);
33
33
  }
34
34
  }, {
35
35
  key: "isZero",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tileset/traversers/i3s-frame-counter.ts"],"names":["I3SPendingTilesRegister","Map","frameNumber","oldCount","frameNumberMap","get","set","count"],"mappings":";;;;;;;;;;;;;;;IAIqBA,uB;;;0DAC2B,IAAIC,GAAJ,E;;;;;WAM9C,kBAASC,WAAT,EAA8B;AAC5B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,WAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqC,CAACC,QAAQ,IAAI,CAAb,IAAkB,CAAvD;AACD;;;WAMD,oBAAWD,WAAX,EAAgC;AAC9B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,WAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqC,CAACC,QAAQ,IAAI,CAAb,IAAkB,CAAvD;AACD;;;WAOD,gBAAOD,WAAP,EAA4B;AAC1B,UAAMK,KAAK,GAAG,KAAKH,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAtD;AACA,aAAOK,KAAK,KAAK,CAAjB;AACD","sourcesContent":["/**\n * Counter to register pending tile headers for the particular frameNumber\n * Until all tiles are loaded we won't call `onTraversalEnd` callback\n */\nexport default class I3SPendingTilesRegister {\n private frameNumberMap: Map<number, number> = new Map();\n\n /**\n * Register a new pending tile header for the particular frameNumber\n * @param frameNumber\n */\n register(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 0;\n this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);\n }\n\n /**\n * Deregister a pending tile header for the particular frameNumber\n * @param frameNumber\n */\n deregister(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 1;\n this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);\n }\n\n /**\n * Check is there are no pending tile headers registered for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n isZero(frameNumber: number) {\n const count = this.frameNumberMap.get(frameNumber) || 0;\n return count === 0;\n }\n}\n"],"file":"i3s-frame-counter.js"}
1
+ {"version":3,"sources":["../../../../src/tileset/traversers/i3s-frame-counter.ts"],"names":["I3SPendingTilesRegister","Map","frameNumber","oldCount","frameNumberMap","get","set","count"],"mappings":";;;;;;;;;;;;;;;IAIqBA,uB;;;0DAC2B,IAAIC,GAAJ,E;;;;;WAM9C,kBAASC,WAAT,EAA8B;AAC5B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,WAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqCC,QAAQ,GAAG,CAAhD;AACD;;;WAMD,oBAAWD,WAAX,EAAgC;AAC9B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,WAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqCC,QAAQ,GAAG,CAAhD;AACD;;;WAOD,gBAAOD,WAAP,EAA4B;AAC1B,UAAMK,KAAK,GAAG,KAAKH,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAtD;AACA,aAAOK,KAAK,KAAK,CAAjB;AACD","sourcesContent":["/**\n * Counter to register pending tile headers for the particular frameNumber\n * Until all tiles are loaded we won't call `onTraversalEnd` callback\n */\nexport default class I3SPendingTilesRegister {\n private frameNumberMap: Map<number, number> = new Map();\n\n /**\n * Register a new pending tile header for the particular frameNumber\n * @param frameNumber\n */\n register(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 0;\n this.frameNumberMap.set(frameNumber, oldCount + 1);\n }\n\n /**\n * Deregister a pending tile header for the particular frameNumber\n * @param frameNumber\n */\n deregister(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 1;\n this.frameNumberMap.set(frameNumber, oldCount - 1);\n }\n\n /**\n * Check is there are no pending tile headers registered for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n isZero(frameNumber: number) {\n const count = this.frameNumberMap.get(frameNumber) || 0;\n return count === 0;\n }\n}\n"],"file":"i3s-frame-counter.js"}
@@ -46,14 +46,16 @@ var I3STileManager = function () {
46
46
  this.pendingTilesRegister.register(frameNumber);
47
47
  request().then(function (data) {
48
48
  _this._statusMap[key].status = STATUS.COMPLETED;
49
+ var actualFrameNumber = _this._statusMap[key].frameState.frameNumber;
49
50
 
50
- _this.pendingTilesRegister.deregister(frameNumber);
51
+ _this.pendingTilesRegister.deregister(actualFrameNumber);
51
52
 
52
53
  _this._statusMap[key].callback(data, frameState);
53
54
  }).catch(function (error) {
54
55
  _this._statusMap[key].status = STATUS.ERROR;
56
+ var actualFrameNumber = _this._statusMap[key].frameState.frameNumber;
55
57
 
56
- _this.pendingTilesRegister.deregister(frameNumber);
58
+ _this.pendingTilesRegister.deregister(actualFrameNumber);
57
59
 
58
60
  callback(error);
59
61
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tileset/traversers/i3s-tile-manager.ts"],"names":["STATUS","REQUESTED","COMPLETED","ERROR","I3STileManager","I3SPendingTilesRegister","_statusMap","request","key","callback","frameState","frameNumber","status","pendingTilesRegister","register","then","data","deregister","catch","error","isZero"],"mappings":";;;;;;;;;;;;;;;AACA;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,WAFE;AAGbC,EAAAA,KAAK,EAAE;AAHM,CAAf;;IAOqBC,c;AAInB,4BAAc;AAAA;AAAA;AAAA,gEAFiB,IAAIC,wBAAJ,EAEjB;AACZ,SAAKC,UAAL,GAAkB,EAAlB;AACD;;;;WAED,aAAIC,OAAJ,EAAaC,GAAb,EAAkBC,QAAlB,EAA4BC,UAA5B,EAAoD;AAAA;;AAClD,UAAI,CAAC,KAAKJ,UAAL,CAAgBE,GAAhB,CAAL,EAA2B;AACzB,YAAOG,WAAP,GAAsBD,UAAtB,CAAOC,WAAP;AACA,aAAKL,UAAL,CAAgBE,GAAhB,IAAuB;AAACD,UAAAA,OAAO,EAAPA,OAAD;AAAUE,UAAAA,QAAQ,EAARA,QAAV;AAAoBD,UAAAA,GAAG,EAAHA,GAApB;AAAyBE,UAAAA,UAAU,EAAVA,UAAzB;AAAqCE,UAAAA,MAAM,EAAEZ,MAAM,CAACC;AAApD,SAAvB;AAEA,aAAKY,oBAAL,CAA0BC,QAA1B,CAAmCH,WAAnC;AACAJ,QAAAA,OAAO,GACJQ,IADH,CACQ,UAACC,IAAD,EAAU;AACd,UAAA,KAAI,CAACV,UAAL,CAAgBE,GAAhB,EAAqBI,MAArB,GAA8BZ,MAAM,CAACE,SAArC;;AAEA,UAAA,KAAI,CAACW,oBAAL,CAA0BI,UAA1B,CAAqCN,WAArC;;AACA,UAAA,KAAI,CAACL,UAAL,CAAgBE,GAAhB,EAAqBC,QAArB,CAA8BO,IAA9B,EAAoCN,UAApC;AACD,SANH,EAOGQ,KAPH,CAOS,UAACC,KAAD,EAAW;AAChB,UAAA,KAAI,CAACb,UAAL,CAAgBE,GAAhB,EAAqBI,MAArB,GAA8BZ,MAAM,CAACG,KAArC;;AAEA,UAAA,KAAI,CAACU,oBAAL,CAA0BI,UAA1B,CAAqCN,WAArC;;AACAF,UAAAA,QAAQ,CAACU,KAAD,CAAR;AACD,SAZH;AAaD;AACF;;;WAED,gBAAOX,GAAP,EAAYE,UAAZ,EAAoC;AAClC,UAAI,KAAKJ,UAAL,CAAgBE,GAAhB,CAAJ,EAA0B;AAExB,aAAKK,oBAAL,CAA0BI,UAA1B,CAAqC,KAAKX,UAAL,CAAgBE,GAAhB,EAAqBE,UAArB,CAAgCC,WAArE;AAEA,aAAKE,oBAAL,CAA0BC,QAA1B,CAAmCJ,UAAU,CAACC,WAA9C;AACA,aAAKL,UAAL,CAAgBE,GAAhB,EAAqBE,UAArB,GAAkCA,UAAlC;AACD;AACF;;;WAED,cAAKF,GAAL,EAAU;AACR,aAAO,KAAKF,UAAL,CAAgBE,GAAhB,CAAP;AACD;;;WAOD,yBAAgBG,WAAhB,EAA8C;AAC5C,aAAO,CAAC,KAAKE,oBAAL,CAA0BO,MAA1B,CAAiCT,WAAjC,CAAR;AACD","sourcesContent":["import {FrameState} from '../helpers/frame-state';\nimport I3SPendingTilesRegister from './i3s-frame-counter';\n\nconst STATUS = {\n REQUESTED: 'REQUESTED',\n COMPLETED: 'COMPLETED',\n ERROR: 'ERROR'\n};\n\n// A helper class to manage tile metadata fetching\nexport default class I3STileManager {\n private _statusMap: object;\n private pendingTilesRegister = new I3SPendingTilesRegister();\n\n constructor() {\n this._statusMap = {};\n }\n\n add(request, key, callback, frameState: FrameState) {\n if (!this._statusMap[key]) {\n const {frameNumber} = frameState;\n this._statusMap[key] = {request, callback, key, frameState, status: STATUS.REQUESTED};\n // Register pending request for the frameNumber\n this.pendingTilesRegister.register(frameNumber);\n request()\n .then((data) => {\n this._statusMap[key].status = STATUS.COMPLETED;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(frameNumber);\n this._statusMap[key].callback(data, frameState);\n })\n .catch((error) => {\n this._statusMap[key].status = STATUS.ERROR;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(frameNumber);\n callback(error);\n });\n }\n }\n\n update(key, frameState: FrameState) {\n if (this._statusMap[key]) {\n // Deregister pending request for the old frameNumber\n this.pendingTilesRegister.deregister(this._statusMap[key].frameState.frameNumber);\n // Register pending request for the new frameNumber\n this.pendingTilesRegister.register(frameState.frameNumber);\n this._statusMap[key].frameState = frameState;\n }\n }\n\n find(key) {\n return this._statusMap[key];\n }\n\n /**\n * Check it there are pending tile headers for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n hasPendingTiles(frameNumber: number): boolean {\n return !this.pendingTilesRegister.isZero(frameNumber);\n }\n}\n"],"file":"i3s-tile-manager.js"}
1
+ {"version":3,"sources":["../../../../src/tileset/traversers/i3s-tile-manager.ts"],"names":["STATUS","REQUESTED","COMPLETED","ERROR","I3STileManager","I3SPendingTilesRegister","_statusMap","request","key","callback","frameState","frameNumber","status","pendingTilesRegister","register","then","data","actualFrameNumber","deregister","catch","error","isZero"],"mappings":";;;;;;;;;;;;;;;AACA;;AAEA,IAAMA,MAAM,GAAG;AACbC,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,WAFE;AAGbC,EAAAA,KAAK,EAAE;AAHM,CAAf;;IAOqBC,c;AAInB,4BAAc;AAAA;AAAA;AAAA,gEAFiB,IAAIC,wBAAJ,EAEjB;AACZ,SAAKC,UAAL,GAAkB,EAAlB;AACD;;;;WAED,aAAIC,OAAJ,EAAaC,GAAb,EAAkBC,QAAlB,EAA4BC,UAA5B,EAAoD;AAAA;;AAClD,UAAI,CAAC,KAAKJ,UAAL,CAAgBE,GAAhB,CAAL,EAA2B;AACzB,YAAOG,WAAP,GAAsBD,UAAtB,CAAOC,WAAP;AACA,aAAKL,UAAL,CAAgBE,GAAhB,IAAuB;AAACD,UAAAA,OAAO,EAAPA,OAAD;AAAUE,UAAAA,QAAQ,EAARA,QAAV;AAAoBD,UAAAA,GAAG,EAAHA,GAApB;AAAyBE,UAAAA,UAAU,EAAVA,UAAzB;AAAqCE,UAAAA,MAAM,EAAEZ,MAAM,CAACC;AAApD,SAAvB;AAEA,aAAKY,oBAAL,CAA0BC,QAA1B,CAAmCH,WAAnC;AACAJ,QAAAA,OAAO,GACJQ,IADH,CACQ,UAACC,IAAD,EAAU;AACd,UAAA,KAAI,CAACV,UAAL,CAAgBE,GAAhB,EAAqBI,MAArB,GAA8BZ,MAAM,CAACE,SAArC;AACA,cAAoBe,iBAApB,GAAyC,KAAI,CAACX,UAAL,CAAgBE,GAAhB,EAAqBE,UAA9D,CAAOC,WAAP;;AAEA,UAAA,KAAI,CAACE,oBAAL,CAA0BK,UAA1B,CAAqCD,iBAArC;;AACA,UAAA,KAAI,CAACX,UAAL,CAAgBE,GAAhB,EAAqBC,QAArB,CAA8BO,IAA9B,EAAoCN,UAApC;AACD,SAPH,EAQGS,KARH,CAQS,UAACC,KAAD,EAAW;AAChB,UAAA,KAAI,CAACd,UAAL,CAAgBE,GAAhB,EAAqBI,MAArB,GAA8BZ,MAAM,CAACG,KAArC;AACA,cAAoBc,iBAApB,GAAyC,KAAI,CAACX,UAAL,CAAgBE,GAAhB,EAAqBE,UAA9D,CAAOC,WAAP;;AAEA,UAAA,KAAI,CAACE,oBAAL,CAA0BK,UAA1B,CAAqCD,iBAArC;;AACAR,UAAAA,QAAQ,CAACW,KAAD,CAAR;AACD,SAdH;AAeD;AACF;;;WAED,gBAAOZ,GAAP,EAAYE,UAAZ,EAAoC;AAClC,UAAI,KAAKJ,UAAL,CAAgBE,GAAhB,CAAJ,EAA0B;AAExB,aAAKK,oBAAL,CAA0BK,UAA1B,CAAqC,KAAKZ,UAAL,CAAgBE,GAAhB,EAAqBE,UAArB,CAAgCC,WAArE;AAEA,aAAKE,oBAAL,CAA0BC,QAA1B,CAAmCJ,UAAU,CAACC,WAA9C;AACA,aAAKL,UAAL,CAAgBE,GAAhB,EAAqBE,UAArB,GAAkCA,UAAlC;AACD;AACF;;;WAED,cAAKF,GAAL,EAAU;AACR,aAAO,KAAKF,UAAL,CAAgBE,GAAhB,CAAP;AACD;;;WAOD,yBAAgBG,WAAhB,EAA8C;AAC5C,aAAO,CAAC,KAAKE,oBAAL,CAA0BQ,MAA1B,CAAiCV,WAAjC,CAAR;AACD","sourcesContent":["import {FrameState} from '../helpers/frame-state';\nimport I3SPendingTilesRegister from './i3s-frame-counter';\n\nconst STATUS = {\n REQUESTED: 'REQUESTED',\n COMPLETED: 'COMPLETED',\n ERROR: 'ERROR'\n};\n\n// A helper class to manage tile metadata fetching\nexport default class I3STileManager {\n private _statusMap: object;\n private pendingTilesRegister = new I3SPendingTilesRegister();\n\n constructor() {\n this._statusMap = {};\n }\n\n add(request, key, callback, frameState: FrameState) {\n if (!this._statusMap[key]) {\n const {frameNumber} = frameState;\n this._statusMap[key] = {request, callback, key, frameState, status: STATUS.REQUESTED};\n // Register pending request for the frameNumber\n this.pendingTilesRegister.register(frameNumber);\n request()\n .then((data) => {\n this._statusMap[key].status = STATUS.COMPLETED;\n const {frameNumber: actualFrameNumber} = this._statusMap[key].frameState;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(actualFrameNumber);\n this._statusMap[key].callback(data, frameState);\n })\n .catch((error) => {\n this._statusMap[key].status = STATUS.ERROR;\n const {frameNumber: actualFrameNumber} = this._statusMap[key].frameState;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(actualFrameNumber);\n callback(error);\n });\n }\n }\n\n update(key, frameState: FrameState) {\n if (this._statusMap[key]) {\n // Deregister pending request for the old frameNumber\n this.pendingTilesRegister.deregister(this._statusMap[key].frameState.frameNumber);\n // Register pending request for the new frameNumber\n this.pendingTilesRegister.register(frameState.frameNumber);\n this._statusMap[key].frameState = frameState;\n }\n }\n\n find(key) {\n return this._statusMap[key];\n }\n\n /**\n * Check it there are pending tile headers for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n hasPendingTiles(frameNumber: number): boolean {\n return !this.pendingTilesRegister.isZero(frameNumber);\n }\n}\n"],"file":"i3s-tile-manager.js"}
@@ -6,12 +6,12 @@ export default class I3SPendingTilesRegister {
6
6
 
7
7
  register(frameNumber) {
8
8
  const oldCount = this.frameNumberMap.get(frameNumber) || 0;
9
- this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
9
+ this.frameNumberMap.set(frameNumber, oldCount + 1);
10
10
  }
11
11
 
12
12
  deregister(frameNumber) {
13
13
  const oldCount = this.frameNumberMap.get(frameNumber) || 1;
14
- this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
14
+ this.frameNumberMap.set(frameNumber, oldCount - 1);
15
15
  }
16
16
 
17
17
  isZero(frameNumber) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tileset/traversers/i3s-frame-counter.ts"],"names":["I3SPendingTilesRegister","Map","register","frameNumber","oldCount","frameNumberMap","get","set","deregister","isZero","count"],"mappings":";AAIA,eAAe,MAAMA,uBAAN,CAA8B;AAAA;AAAA,4CACG,IAAIC,GAAJ,EADH;AAAA;;AAO3CC,EAAAA,QAAQ,CAACC,WAAD,EAAsB;AAC5B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,SAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqC,CAACC,QAAQ,IAAI,CAAb,IAAkB,CAAvD;AACD;;AAMDI,EAAAA,UAAU,CAACL,WAAD,EAAsB;AAC9B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,SAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqC,CAACC,QAAQ,IAAI,CAAb,IAAkB,CAAvD;AACD;;AAODK,EAAAA,MAAM,CAACN,WAAD,EAAsB;AAC1B,UAAMO,KAAK,GAAG,KAAKL,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAtD;AACA,WAAOO,KAAK,KAAK,CAAjB;AACD;;AA7B0C","sourcesContent":["/**\n * Counter to register pending tile headers for the particular frameNumber\n * Until all tiles are loaded we won't call `onTraversalEnd` callback\n */\nexport default class I3SPendingTilesRegister {\n private frameNumberMap: Map<number, number> = new Map();\n\n /**\n * Register a new pending tile header for the particular frameNumber\n * @param frameNumber\n */\n register(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 0;\n this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);\n }\n\n /**\n * Deregister a pending tile header for the particular frameNumber\n * @param frameNumber\n */\n deregister(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 1;\n this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);\n }\n\n /**\n * Check is there are no pending tile headers registered for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n isZero(frameNumber: number) {\n const count = this.frameNumberMap.get(frameNumber) || 0;\n return count === 0;\n }\n}\n"],"file":"i3s-frame-counter.js"}
1
+ {"version":3,"sources":["../../../../src/tileset/traversers/i3s-frame-counter.ts"],"names":["I3SPendingTilesRegister","Map","register","frameNumber","oldCount","frameNumberMap","get","set","deregister","isZero","count"],"mappings":";AAIA,eAAe,MAAMA,uBAAN,CAA8B;AAAA;AAAA,4CACG,IAAIC,GAAJ,EADH;AAAA;;AAO3CC,EAAAA,QAAQ,CAACC,WAAD,EAAsB;AAC5B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,SAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqCC,QAAQ,GAAG,CAAhD;AACD;;AAMDI,EAAAA,UAAU,CAACL,WAAD,EAAsB;AAC9B,UAAMC,QAAQ,GAAG,KAAKC,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAzD;AACA,SAAKE,cAAL,CAAoBE,GAApB,CAAwBJ,WAAxB,EAAqCC,QAAQ,GAAG,CAAhD;AACD;;AAODK,EAAAA,MAAM,CAACN,WAAD,EAAsB;AAC1B,UAAMO,KAAK,GAAG,KAAKL,cAAL,CAAoBC,GAApB,CAAwBH,WAAxB,KAAwC,CAAtD;AACA,WAAOO,KAAK,KAAK,CAAjB;AACD;;AA7B0C","sourcesContent":["/**\n * Counter to register pending tile headers for the particular frameNumber\n * Until all tiles are loaded we won't call `onTraversalEnd` callback\n */\nexport default class I3SPendingTilesRegister {\n private frameNumberMap: Map<number, number> = new Map();\n\n /**\n * Register a new pending tile header for the particular frameNumber\n * @param frameNumber\n */\n register(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 0;\n this.frameNumberMap.set(frameNumber, oldCount + 1);\n }\n\n /**\n * Deregister a pending tile header for the particular frameNumber\n * @param frameNumber\n */\n deregister(frameNumber: number) {\n const oldCount = this.frameNumberMap.get(frameNumber) || 1;\n this.frameNumberMap.set(frameNumber, oldCount - 1);\n }\n\n /**\n * Check is there are no pending tile headers registered for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n isZero(frameNumber: number) {\n const count = this.frameNumberMap.get(frameNumber) || 0;\n return count === 0;\n }\n}\n"],"file":"i3s-frame-counter.js"}
@@ -29,12 +29,18 @@ export default class I3STileManager {
29
29
  this.pendingTilesRegister.register(frameNumber);
30
30
  request().then(data => {
31
31
  this._statusMap[key].status = STATUS.COMPLETED;
32
- this.pendingTilesRegister.deregister(frameNumber);
32
+ const {
33
+ frameNumber: actualFrameNumber
34
+ } = this._statusMap[key].frameState;
35
+ this.pendingTilesRegister.deregister(actualFrameNumber);
33
36
 
34
37
  this._statusMap[key].callback(data, frameState);
35
38
  }).catch(error => {
36
39
  this._statusMap[key].status = STATUS.ERROR;
37
- this.pendingTilesRegister.deregister(frameNumber);
40
+ const {
41
+ frameNumber: actualFrameNumber
42
+ } = this._statusMap[key].frameState;
43
+ this.pendingTilesRegister.deregister(actualFrameNumber);
38
44
  callback(error);
39
45
  });
40
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/tileset/traversers/i3s-tile-manager.ts"],"names":["I3SPendingTilesRegister","STATUS","REQUESTED","COMPLETED","ERROR","I3STileManager","constructor","_statusMap","add","request","key","callback","frameState","frameNumber","status","pendingTilesRegister","register","then","data","deregister","catch","error","update","find","hasPendingTiles","isZero"],"mappings":";AACA,OAAOA,uBAAP,MAAoC,qBAApC;AAEA,MAAMC,MAAM,GAAG;AACbC,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,WAFE;AAGbC,EAAAA,KAAK,EAAE;AAHM,CAAf;AAOA,eAAe,MAAMC,cAAN,CAAqB;AAIlCC,EAAAA,WAAW,GAAG;AAAA;;AAAA,kDAFiB,IAAIN,uBAAJ,EAEjB;;AACZ,SAAKO,UAAL,GAAkB,EAAlB;AACD;;AAEDC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyBC,UAAzB,EAAiD;AAClD,QAAI,CAAC,KAAKL,UAAL,CAAgBG,GAAhB,CAAL,EAA2B;AACzB,YAAM;AAACG,QAAAA;AAAD,UAAgBD,UAAtB;AACA,WAAKL,UAAL,CAAgBG,GAAhB,IAAuB;AAACD,QAAAA,OAAD;AAAUE,QAAAA,QAAV;AAAoBD,QAAAA,GAApB;AAAyBE,QAAAA,UAAzB;AAAqCE,QAAAA,MAAM,EAAEb,MAAM,CAACC;AAApD,OAAvB;AAEA,WAAKa,oBAAL,CAA0BC,QAA1B,CAAmCH,WAAnC;AACAJ,MAAAA,OAAO,GACJQ,IADH,CACSC,IAAD,IAAU;AACd,aAAKX,UAAL,CAAgBG,GAAhB,EAAqBI,MAArB,GAA8Bb,MAAM,CAACE,SAArC;AAEA,aAAKY,oBAAL,CAA0BI,UAA1B,CAAqCN,WAArC;;AACA,aAAKN,UAAL,CAAgBG,GAAhB,EAAqBC,QAArB,CAA8BO,IAA9B,EAAoCN,UAApC;AACD,OANH,EAOGQ,KAPH,CAOUC,KAAD,IAAW;AAChB,aAAKd,UAAL,CAAgBG,GAAhB,EAAqBI,MAArB,GAA8Bb,MAAM,CAACG,KAArC;AAEA,aAAKW,oBAAL,CAA0BI,UAA1B,CAAqCN,WAArC;AACAF,QAAAA,QAAQ,CAACU,KAAD,CAAR;AACD,OAZH;AAaD;AACF;;AAEDC,EAAAA,MAAM,CAACZ,GAAD,EAAME,UAAN,EAA8B;AAClC,QAAI,KAAKL,UAAL,CAAgBG,GAAhB,CAAJ,EAA0B;AAExB,WAAKK,oBAAL,CAA0BI,UAA1B,CAAqC,KAAKZ,UAAL,CAAgBG,GAAhB,EAAqBE,UAArB,CAAgCC,WAArE;AAEA,WAAKE,oBAAL,CAA0BC,QAA1B,CAAmCJ,UAAU,CAACC,WAA9C;AACA,WAAKN,UAAL,CAAgBG,GAAhB,EAAqBE,UAArB,GAAkCA,UAAlC;AACD;AACF;;AAEDW,EAAAA,IAAI,CAACb,GAAD,EAAM;AACR,WAAO,KAAKH,UAAL,CAAgBG,GAAhB,CAAP;AACD;;AAODc,EAAAA,eAAe,CAACX,WAAD,EAA+B;AAC5C,WAAO,CAAC,KAAKE,oBAAL,CAA0BU,MAA1B,CAAiCZ,WAAjC,CAAR;AACD;;AAnDiC","sourcesContent":["import {FrameState} from '../helpers/frame-state';\nimport I3SPendingTilesRegister from './i3s-frame-counter';\n\nconst STATUS = {\n REQUESTED: 'REQUESTED',\n COMPLETED: 'COMPLETED',\n ERROR: 'ERROR'\n};\n\n// A helper class to manage tile metadata fetching\nexport default class I3STileManager {\n private _statusMap: object;\n private pendingTilesRegister = new I3SPendingTilesRegister();\n\n constructor() {\n this._statusMap = {};\n }\n\n add(request, key, callback, frameState: FrameState) {\n if (!this._statusMap[key]) {\n const {frameNumber} = frameState;\n this._statusMap[key] = {request, callback, key, frameState, status: STATUS.REQUESTED};\n // Register pending request for the frameNumber\n this.pendingTilesRegister.register(frameNumber);\n request()\n .then((data) => {\n this._statusMap[key].status = STATUS.COMPLETED;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(frameNumber);\n this._statusMap[key].callback(data, frameState);\n })\n .catch((error) => {\n this._statusMap[key].status = STATUS.ERROR;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(frameNumber);\n callback(error);\n });\n }\n }\n\n update(key, frameState: FrameState) {\n if (this._statusMap[key]) {\n // Deregister pending request for the old frameNumber\n this.pendingTilesRegister.deregister(this._statusMap[key].frameState.frameNumber);\n // Register pending request for the new frameNumber\n this.pendingTilesRegister.register(frameState.frameNumber);\n this._statusMap[key].frameState = frameState;\n }\n }\n\n find(key) {\n return this._statusMap[key];\n }\n\n /**\n * Check it there are pending tile headers for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n hasPendingTiles(frameNumber: number): boolean {\n return !this.pendingTilesRegister.isZero(frameNumber);\n }\n}\n"],"file":"i3s-tile-manager.js"}
1
+ {"version":3,"sources":["../../../../src/tileset/traversers/i3s-tile-manager.ts"],"names":["I3SPendingTilesRegister","STATUS","REQUESTED","COMPLETED","ERROR","I3STileManager","constructor","_statusMap","add","request","key","callback","frameState","frameNumber","status","pendingTilesRegister","register","then","data","actualFrameNumber","deregister","catch","error","update","find","hasPendingTiles","isZero"],"mappings":";AACA,OAAOA,uBAAP,MAAoC,qBAApC;AAEA,MAAMC,MAAM,GAAG;AACbC,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,WAFE;AAGbC,EAAAA,KAAK,EAAE;AAHM,CAAf;AAOA,eAAe,MAAMC,cAAN,CAAqB;AAIlCC,EAAAA,WAAW,GAAG;AAAA;;AAAA,kDAFiB,IAAIN,uBAAJ,EAEjB;;AACZ,SAAKO,UAAL,GAAkB,EAAlB;AACD;;AAEDC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyBC,UAAzB,EAAiD;AAClD,QAAI,CAAC,KAAKL,UAAL,CAAgBG,GAAhB,CAAL,EAA2B;AACzB,YAAM;AAACG,QAAAA;AAAD,UAAgBD,UAAtB;AACA,WAAKL,UAAL,CAAgBG,GAAhB,IAAuB;AAACD,QAAAA,OAAD;AAAUE,QAAAA,QAAV;AAAoBD,QAAAA,GAApB;AAAyBE,QAAAA,UAAzB;AAAqCE,QAAAA,MAAM,EAAEb,MAAM,CAACC;AAApD,OAAvB;AAEA,WAAKa,oBAAL,CAA0BC,QAA1B,CAAmCH,WAAnC;AACAJ,MAAAA,OAAO,GACJQ,IADH,CACSC,IAAD,IAAU;AACd,aAAKX,UAAL,CAAgBG,GAAhB,EAAqBI,MAArB,GAA8Bb,MAAM,CAACE,SAArC;AACA,cAAM;AAACU,UAAAA,WAAW,EAAEM;AAAd,YAAmC,KAAKZ,UAAL,CAAgBG,GAAhB,EAAqBE,UAA9D;AAEA,aAAKG,oBAAL,CAA0BK,UAA1B,CAAqCD,iBAArC;;AACA,aAAKZ,UAAL,CAAgBG,GAAhB,EAAqBC,QAArB,CAA8BO,IAA9B,EAAoCN,UAApC;AACD,OAPH,EAQGS,KARH,CAQUC,KAAD,IAAW;AAChB,aAAKf,UAAL,CAAgBG,GAAhB,EAAqBI,MAArB,GAA8Bb,MAAM,CAACG,KAArC;AACA,cAAM;AAACS,UAAAA,WAAW,EAAEM;AAAd,YAAmC,KAAKZ,UAAL,CAAgBG,GAAhB,EAAqBE,UAA9D;AAEA,aAAKG,oBAAL,CAA0BK,UAA1B,CAAqCD,iBAArC;AACAR,QAAAA,QAAQ,CAACW,KAAD,CAAR;AACD,OAdH;AAeD;AACF;;AAEDC,EAAAA,MAAM,CAACb,GAAD,EAAME,UAAN,EAA8B;AAClC,QAAI,KAAKL,UAAL,CAAgBG,GAAhB,CAAJ,EAA0B;AAExB,WAAKK,oBAAL,CAA0BK,UAA1B,CAAqC,KAAKb,UAAL,CAAgBG,GAAhB,EAAqBE,UAArB,CAAgCC,WAArE;AAEA,WAAKE,oBAAL,CAA0BC,QAA1B,CAAmCJ,UAAU,CAACC,WAA9C;AACA,WAAKN,UAAL,CAAgBG,GAAhB,EAAqBE,UAArB,GAAkCA,UAAlC;AACD;AACF;;AAEDY,EAAAA,IAAI,CAACd,GAAD,EAAM;AACR,WAAO,KAAKH,UAAL,CAAgBG,GAAhB,CAAP;AACD;;AAODe,EAAAA,eAAe,CAACZ,WAAD,EAA+B;AAC5C,WAAO,CAAC,KAAKE,oBAAL,CAA0BW,MAA1B,CAAiCb,WAAjC,CAAR;AACD;;AArDiC","sourcesContent":["import {FrameState} from '../helpers/frame-state';\nimport I3SPendingTilesRegister from './i3s-frame-counter';\n\nconst STATUS = {\n REQUESTED: 'REQUESTED',\n COMPLETED: 'COMPLETED',\n ERROR: 'ERROR'\n};\n\n// A helper class to manage tile metadata fetching\nexport default class I3STileManager {\n private _statusMap: object;\n private pendingTilesRegister = new I3SPendingTilesRegister();\n\n constructor() {\n this._statusMap = {};\n }\n\n add(request, key, callback, frameState: FrameState) {\n if (!this._statusMap[key]) {\n const {frameNumber} = frameState;\n this._statusMap[key] = {request, callback, key, frameState, status: STATUS.REQUESTED};\n // Register pending request for the frameNumber\n this.pendingTilesRegister.register(frameNumber);\n request()\n .then((data) => {\n this._statusMap[key].status = STATUS.COMPLETED;\n const {frameNumber: actualFrameNumber} = this._statusMap[key].frameState;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(actualFrameNumber);\n this._statusMap[key].callback(data, frameState);\n })\n .catch((error) => {\n this._statusMap[key].status = STATUS.ERROR;\n const {frameNumber: actualFrameNumber} = this._statusMap[key].frameState;\n // Deregister pending request for the frameNumber\n this.pendingTilesRegister.deregister(actualFrameNumber);\n callback(error);\n });\n }\n }\n\n update(key, frameState: FrameState) {\n if (this._statusMap[key]) {\n // Deregister pending request for the old frameNumber\n this.pendingTilesRegister.deregister(this._statusMap[key].frameState.frameNumber);\n // Register pending request for the new frameNumber\n this.pendingTilesRegister.register(frameState.frameNumber);\n this._statusMap[key].frameState = frameState;\n }\n }\n\n find(key) {\n return this._statusMap[key];\n }\n\n /**\n * Check it there are pending tile headers for the particular frameNumber\n * @param frameNumber\n * @returns\n */\n hasPendingTiles(frameNumber: number): boolean {\n return !this.pendingTilesRegister.isZero(frameNumber);\n }\n}\n"],"file":"i3s-tile-manager.js"}
@@ -14,7 +14,7 @@ class I3SPendingTilesRegister {
14
14
  */
15
15
  register(frameNumber) {
16
16
  const oldCount = this.frameNumberMap.get(frameNumber) || 0;
17
- this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
17
+ this.frameNumberMap.set(frameNumber, oldCount + 1);
18
18
  }
19
19
  /**
20
20
  * Deregister a pending tile header for the particular frameNumber
@@ -22,7 +22,7 @@ class I3SPendingTilesRegister {
22
22
  */
23
23
  deregister(frameNumber) {
24
24
  const oldCount = this.frameNumberMap.get(frameNumber) || 1;
25
- this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
25
+ this.frameNumberMap.set(frameNumber, oldCount - 1);
26
26
  }
27
27
  /**
28
28
  * Check is there are no pending tile headers registered for the particular frameNumber
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-tile-manager.d.ts","sourceRoot":"","sources":["../../../src/tileset/traversers/i3s-tile-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAUlD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAiC;;IAM7D,GAAG,CAAC,OAAO,KAAA,EAAE,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,UAAU,EAAE,UAAU;IAsBlD,MAAM,CAAC,GAAG,KAAA,EAAE,UAAU,EAAE,UAAU;IAUlC,IAAI,CAAC,GAAG,KAAA;IAIR;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAG9C"}
1
+ {"version":3,"file":"i3s-tile-manager.d.ts","sourceRoot":"","sources":["../../../src/tileset/traversers/i3s-tile-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAUlD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAiC;;IAM7D,GAAG,CAAC,OAAO,KAAA,EAAE,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,UAAU,EAAE,UAAU;IAwBlD,MAAM,CAAC,GAAG,KAAA,EAAE,UAAU,EAAE,UAAU;IAUlC,IAAI,CAAC,GAAG,KAAA;IAIR;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAG9C"}
@@ -24,14 +24,16 @@ class I3STileManager {
24
24
  request()
25
25
  .then((data) => {
26
26
  this._statusMap[key].status = STATUS.COMPLETED;
27
+ const { frameNumber: actualFrameNumber } = this._statusMap[key].frameState;
27
28
  // Deregister pending request for the frameNumber
28
- this.pendingTilesRegister.deregister(frameNumber);
29
+ this.pendingTilesRegister.deregister(actualFrameNumber);
29
30
  this._statusMap[key].callback(data, frameState);
30
31
  })
31
32
  .catch((error) => {
32
33
  this._statusMap[key].status = STATUS.ERROR;
34
+ const { frameNumber: actualFrameNumber } = this._statusMap[key].frameState;
33
35
  // Deregister pending request for the frameNumber
34
- this.pendingTilesRegister.deregister(frameNumber);
36
+ this.pendingTilesRegister.deregister(actualFrameNumber);
35
37
  callback(error);
36
38
  });
37
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tiles",
3
- "version": "3.2.0",
3
+ "version": "3.2.3",
4
4
  "description": "Common components for different tiles loaders.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -33,8 +33,8 @@
33
33
  "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
34
34
  },
35
35
  "dependencies": {
36
- "@loaders.gl/loader-utils": "3.2.0",
37
- "@loaders.gl/math": "3.2.0",
36
+ "@loaders.gl/loader-utils": "3.2.3",
37
+ "@loaders.gl/math": "3.2.3",
38
38
  "@math.gl/core": "^3.5.1",
39
39
  "@math.gl/culling": "^3.5.1",
40
40
  "@math.gl/geospatial": "^3.5.1",
@@ -42,7 +42,7 @@
42
42
  "@probe.gl/stats": "^3.5.0"
43
43
  },
44
44
  "peerDependencies": {
45
- "@loaders.gl/core": "3.2.0-alpha.3"
45
+ "@loaders.gl/core": "3.2.0"
46
46
  },
47
- "gitHead": "6660dc9291526752c40063b73a3f9dd97cc0ccc5"
47
+ "gitHead": "ddb4a1f3c0bd948135fd3c3b83481e0a7809f4d7"
48
48
  }
@@ -11,7 +11,7 @@ export default class I3SPendingTilesRegister {
11
11
  */
12
12
  register(frameNumber: number) {
13
13
  const oldCount = this.frameNumberMap.get(frameNumber) || 0;
14
- this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
14
+ this.frameNumberMap.set(frameNumber, oldCount + 1);
15
15
  }
16
16
 
17
17
  /**
@@ -20,7 +20,7 @@ export default class I3SPendingTilesRegister {
20
20
  */
21
21
  deregister(frameNumber: number) {
22
22
  const oldCount = this.frameNumberMap.get(frameNumber) || 1;
23
- this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
23
+ this.frameNumberMap.set(frameNumber, oldCount - 1);
24
24
  }
25
25
 
26
26
  /**
@@ -25,14 +25,16 @@ export default class I3STileManager {
25
25
  request()
26
26
  .then((data) => {
27
27
  this._statusMap[key].status = STATUS.COMPLETED;
28
+ const {frameNumber: actualFrameNumber} = this._statusMap[key].frameState;
28
29
  // Deregister pending request for the frameNumber
29
- this.pendingTilesRegister.deregister(frameNumber);
30
+ this.pendingTilesRegister.deregister(actualFrameNumber);
30
31
  this._statusMap[key].callback(data, frameState);
31
32
  })
32
33
  .catch((error) => {
33
34
  this._statusMap[key].status = STATUS.ERROR;
35
+ const {frameNumber: actualFrameNumber} = this._statusMap[key].frameState;
34
36
  // Deregister pending request for the frameNumber
35
- this.pendingTilesRegister.deregister(frameNumber);
37
+ this.pendingTilesRegister.deregister(actualFrameNumber);
36
38
  callback(error);
37
39
  });
38
40
  }