@loaders.gl/tiles 3.2.2 → 3.2.5

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
@@ -8359,11 +8359,11 @@
8359
8359
  }
8360
8360
  register(frameNumber) {
8361
8361
  const oldCount = this.frameNumberMap.get(frameNumber) || 0;
8362
- this.frameNumberMap.set(frameNumber, (oldCount || 0) + 1);
8362
+ this.frameNumberMap.set(frameNumber, oldCount + 1);
8363
8363
  }
8364
8364
  deregister(frameNumber) {
8365
8365
  const oldCount = this.frameNumberMap.get(frameNumber) || 1;
8366
- this.frameNumberMap.set(frameNumber, (oldCount || 0) - 1);
8366
+ this.frameNumberMap.set(frameNumber, oldCount - 1);
8367
8367
  }
8368
8368
  isZero(frameNumber) {
8369
8369
  const count = this.frameNumberMap.get(frameNumber) || 0;
@@ -8395,11 +8395,13 @@
8395
8395
  this.pendingTilesRegister.register(frameNumber);
8396
8396
  request().then((data) => {
8397
8397
  this._statusMap[key].status = STATUS.COMPLETED;
8398
- this.pendingTilesRegister.deregister(frameNumber);
8398
+ const { frameNumber: actualFrameNumber } = this._statusMap[key].frameState;
8399
+ this.pendingTilesRegister.deregister(actualFrameNumber);
8399
8400
  this._statusMap[key].callback(data, frameState);
8400
8401
  }).catch((error) => {
8401
8402
  this._statusMap[key].status = STATUS.ERROR;
8402
- this.pendingTilesRegister.deregister(frameNumber);
8403
+ const { frameNumber: actualFrameNumber } = this._statusMap[key].frameState;
8404
+ this.pendingTilesRegister.deregister(actualFrameNumber);
8403
8405
  callback(error);
8404
8406
  });
8405
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.2",
3
+ "version": "3.2.5",
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.2",
37
- "@loaders.gl/math": "3.2.2",
36
+ "@loaders.gl/loader-utils": "3.2.5",
37
+ "@loaders.gl/math": "3.2.5",
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"
45
+ "@loaders.gl/core": "^3.2.0"
46
46
  },
47
- "gitHead": "9bd4b96df03287a38511426a28e679b2fe7e7cc9"
47
+ "gitHead": "1c084200e8b87479d06526c7107e75c6bff8968b"
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
  }