@loaders.gl/tile-converter 4.0.0-alpha.13 → 4.0.0-alpha.15
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/bin/i3s-server.js +4 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +0 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
- package/dist/3d-tiles-converter/3d-tiles-converter.js +8 -19
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +4 -1
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
- package/dist/converter.min.js +65 -65
- package/dist/dist.min.js +881 -261
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +34 -67
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/es5/deps-installer/deps-installer.js +1 -1
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/es5/i3s-converter/i3s-converter.js +36 -43
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/es5/i3s-converter/types.js.map +1 -1
- package/dist/es5/i3s-server/README.md +46 -2
- package/dist/es5/i3s-server/app.js +3 -3
- package/dist/es5/i3s-server/app.js.map +1 -1
- package/dist/es5/i3s-server/bin/www.js +61 -0
- package/dist/es5/i3s-server/bin/www.js.map +1 -0
- package/dist/es5/i3s-server/controllers/slpk-controller.js +14 -18
- package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -1
- package/dist/es5/index.js +7 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/es5/slpk-extractor/helpers/file-handle-provider.js +59 -26
- package/dist/es5/slpk-extractor/helpers/file-handle-provider.js.map +1 -1
- package/dist/es5/slpk-extractor/helpers/fs-promises.js +77 -0
- package/dist/es5/slpk-extractor/helpers/fs-promises.js.map +1 -0
- package/dist/es5/slpk-extractor/slpk-extractor.js +7 -7
- package/dist/es5/slpk-extractor/slpk-extractor.js.map +1 -1
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +8 -18
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
- package/dist/esm/deps-installer/deps-installer.js +1 -1
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
- package/dist/esm/i3s-converter/i3s-converter.js +5 -8
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
- package/dist/esm/i3s-converter/types.js.map +1 -1
- package/dist/esm/i3s-server/README.md +46 -2
- package/dist/esm/i3s-server/app.js +4 -4
- package/dist/esm/i3s-server/app.js.map +1 -1
- package/dist/esm/i3s-server/bin/i3s-server.min.js +614 -0
- package/{src/i3s-server/bin/www → dist/esm/i3s-server/bin/www.js} +12 -55
- package/dist/esm/i3s-server/bin/www.js.map +1 -0
- package/dist/esm/i3s-server/controllers/slpk-controller.js +6 -12
- package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pgm-loader.js +1 -1
- package/dist/esm/slpk-extractor/helpers/file-handle-provider.js +17 -6
- package/dist/esm/slpk-extractor/helpers/file-handle-provider.js.map +1 -1
- package/dist/esm/slpk-extractor/helpers/fs-promises.js +32 -0
- package/dist/esm/slpk-extractor/helpers/fs-promises.js.map +1 -0
- package/dist/esm/slpk-extractor/slpk-extractor.js +2 -2
- package/dist/esm/slpk-extractor/slpk-extractor.js.map +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +1 -1
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +2 -3
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +2 -2
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +5 -6
- package/dist/i3s-converter/types.d.ts +32 -1
- package/dist/i3s-converter/types.d.ts.map +1 -1
- package/dist/i3s-server/app.d.ts.map +1 -1
- package/dist/i3s-server/app.js +1 -1
- package/dist/i3s-server/bin/www.d.ts +3 -0
- package/dist/i3s-server/bin/www.d.ts.map +1 -0
- package/dist/i3s-server/bin/www.js +83 -0
- package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
- package/dist/i3s-server/controllers/slpk-controller.js +4 -9
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/slpk-extractor/helpers/file-handle-provider.d.ts +15 -12
- package/dist/slpk-extractor/helpers/file-handle-provider.d.ts.map +1 -1
- package/dist/slpk-extractor/helpers/file-handle-provider.js +25 -10
- package/dist/slpk-extractor/helpers/fs-promises.d.ts +38 -0
- package/dist/slpk-extractor/helpers/fs-promises.d.ts.map +1 -0
- package/dist/slpk-extractor/helpers/fs-promises.js +51 -0
- package/dist/slpk-extractor/slpk-extractor.d.ts +2 -2
- package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -1
- package/dist/slpk-extractor/slpk-extractor.js +4 -7
- package/dist/slpk-extractor.min.js +44 -44
- package/package.json +20 -21
- package/src/3d-tiles-converter/3d-tiles-converter.ts +10 -28
- package/src/3d-tiles-converter/helpers/b3dm-converter.ts +5 -2
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +1 -1
- package/src/i3s-converter/helpers/geometry-converter.ts +2 -7
- package/src/i3s-converter/helpers/gltf-attributes.ts +2 -2
- package/src/i3s-converter/i3s-converter.ts +5 -6
- package/src/i3s-converter/types.ts +32 -1
- package/src/i3s-server/README.md +46 -2
- package/src/i3s-server/app.js +1 -1
- package/{dist/es5/i3s-server/bin/www → src/i3s-server/bin/www.js} +7 -7
- package/src/i3s-server/controllers/slpk-controller.js +4 -11
- package/src/index.ts +1 -0
- package/src/slpk-extractor/helpers/file-handle-provider.ts +36 -18
- package/src/slpk-extractor/helpers/fs-promises.ts +66 -0
- package/src/slpk-extractor/slpk-extractor.ts +5 -6
- package/dist/3d-tiles-attributes-worker.d.ts +0 -28
- package/dist/3d-tiles-attributes-worker.d.ts.map +0 -1
- package/dist/3d-tiles-attributes-worker.js +0 -3
- package/dist/3d-tiles-attributes-worker.js.map +0 -7
- package/dist/es5/3d-tiles-attributes-worker.js +0 -25
- package/dist/es5/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/es5/i3s-attributes-worker.js +0 -25
- package/dist/es5/i3s-attributes-worker.js.map +0 -1
- package/dist/es5/workers/3d-tiles-attributes-worker.js +0 -28
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/es5/workers/i3s-attributes-worker.js +0 -30
- package/dist/es5/workers/i3s-attributes-worker.js.map +0 -1
- package/dist/esm/3d-tiles-attributes-worker.js +0 -16
- package/dist/esm/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/esm/i3s-attributes-worker.js +0 -16
- package/dist/esm/i3s-attributes-worker.js.map +0 -1
- package/dist/esm/i3s-server/bin/www +0 -102
- package/dist/esm/workers/3d-tiles-attributes-worker.js +0 -8
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +0 -1
- package/dist/esm/workers/i3s-attributes-worker.js +0 -7
- package/dist/esm/workers/i3s-attributes-worker.js.map +0 -1
- package/dist/i3s-attributes-worker.d.ts +0 -45
- package/dist/i3s-attributes-worker.d.ts.map +0 -1
- package/dist/i3s-attributes-worker.js +0 -9
- package/dist/i3s-attributes-worker.js.map +0 -7
- package/dist/workers/3d-tiles-attributes-worker.d.ts +0 -2
- package/dist/workers/3d-tiles-attributes-worker.d.ts.map +0 -1
- package/dist/workers/3d-tiles-attributes-worker.js +0 -9
- package/dist/workers/i3s-attributes-worker.d.ts +0 -2
- package/dist/workers/i3s-attributes-worker.d.ts.map +0 -1
- package/dist/workers/i3s-attributes-worker.js +0 -5
- package/src/3d-tiles-attributes-worker.ts +0 -43
- package/src/i3s-attributes-worker.ts +0 -59
- package/src/workers/3d-tiles-attributes-worker.ts +0 -6
- package/src/workers/i3s-attributes-worker.ts +0 -7
|
@@ -8,12 +8,56 @@ The server provides I3S Rest endpoints per specification https://github.com/Esri
|
|
|
8
8
|
### Serve 3DTiles to I3S converted dataset
|
|
9
9
|
|
|
10
10
|
- Convert data set from 3DTiles to I3S without `--slpk` option
|
|
11
|
-
- Serve output folder
|
|
11
|
+
- Serve output folder
|
|
12
|
+
|
|
13
|
+
Example for path `./data/BatchTextured/SceneServer/layers/0/...`:
|
|
14
|
+
|
|
15
|
+
#### Start the server
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
PORT=8080 HTTPS_PORT=4443 I3sLayerPath="./data" DEBUG=i3s-server:* npx i3s-server
|
|
19
|
+
```
|
|
20
|
+
#### Check the layer availability
|
|
21
|
+
|
|
22
|
+
The layer should be available on URLs:
|
|
23
|
+
|
|
24
|
+
- `http://localhost:8080/BatchTextured/SceneServer/layers/0/...`
|
|
25
|
+
- `https://localhost:4443/BatchTextured/SceneServer/layers/0/...`
|
|
26
|
+
|
|
27
|
+
#### Open in ArcGIS
|
|
28
|
+
|
|
29
|
+
`https://www.arcgis.com/home/webscene/viewer.html?url=http://localhost:8080/BatchTextured/SceneServer/layers/0/`
|
|
30
|
+
|
|
31
|
+
#### Open in I3S Explorer
|
|
32
|
+
|
|
33
|
+
`https://i3s.loaders.gl/viewer?tileset=http://localhost:8080/BatchTextured/SceneServer/layers/0`
|
|
12
34
|
|
|
13
35
|
### Serve SLPK
|
|
14
36
|
|
|
15
|
-
|
|
37
|
+
Example for path `../datasets/Rancho_Mesh_mesh_v17_1.slpk`:
|
|
38
|
+
|
|
39
|
+
#### Start the server
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
PORT=8080 HTTPS_PORT=4443 I3sLayerPath="../datasets/Rancho_Mesh_mesh_v17_1.slpk" DEBUG=i3s-server:* npx i3s-server
|
|
43
|
+
```
|
|
44
|
+
#### Check the layer availability
|
|
45
|
+
|
|
46
|
+
The layer should be available on URLs:
|
|
47
|
+
|
|
48
|
+
- `http://localhost:8080/SceneServer/layers/0/...`
|
|
49
|
+
- `https://localhost:4443/SceneServer/layers/0/...`
|
|
50
|
+
|
|
51
|
+
#### Open in ArcGIS
|
|
52
|
+
|
|
53
|
+
`https://www.arcgis.com/home/webscene/viewer.html?url=http://localhost:8080/SceneServer`
|
|
54
|
+
|
|
55
|
+
#### Open in I3S Explorer
|
|
56
|
+
|
|
57
|
+
`https://i3s.loaders.gl/viewer?tileset=http://localhost:8080/SceneServer/layers/0`
|
|
16
58
|
|
|
17
59
|
## ENV variables
|
|
18
60
|
|
|
19
61
|
- `I3sLayerPath` - path to converted data or SLPK file.
|
|
62
|
+
- `PORT` - HTTP port. Eg for `PORT = 8080 npx i3s-server` the server will work on host `http://localhost:8080/...`. Default value is `80`;
|
|
63
|
+
- `HTTPS_PORT` - HTTPS port. Eg for `PORT = 4443 npx i3s-server` the server will work on host `https://localhost:4443/...`. Default value is `443`
|
|
@@ -5,9 +5,6 @@ var path = require('path');
|
|
|
5
5
|
var logger = require('morgan');
|
|
6
6
|
var cors = require('cors');
|
|
7
7
|
var indexRouter = require('./routes/index');
|
|
8
|
-
var _require = require('./routes/slpk-router'),
|
|
9
|
-
sceneServerRouter = _require.sceneServerRouter,
|
|
10
|
-
router = _require.router;
|
|
11
8
|
var I3S_LAYER_PATH = process.env.I3sLayerPath || '';
|
|
12
9
|
var app = express();
|
|
13
10
|
app.use(logger('dev'));
|
|
@@ -18,6 +15,9 @@ app.use(express.urlencoded({
|
|
|
18
15
|
app.use(express.static(path.join(__dirname, 'public')));
|
|
19
16
|
app.use(cors());
|
|
20
17
|
if (/\.slpk$/.test(I3S_LAYER_PATH)) {
|
|
18
|
+
var _require = require('./routes/slpk-router'),
|
|
19
|
+
sceneServerRouter = _require.sceneServerRouter,
|
|
20
|
+
router = _require.router;
|
|
21
21
|
app.use('/SceneServer/layers/0', router);
|
|
22
22
|
app.use('/SceneServer', sceneServerRouter);
|
|
23
23
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","names":["express","require","path","logger","cors","indexRouter","
|
|
1
|
+
{"version":3,"file":"app.js","names":["express","require","path","logger","cors","indexRouter","I3S_LAYER_PATH","process","env","I3sLayerPath","app","use","json","urlencoded","extended","static","join","__dirname","test","_require","sceneServerRouter","router","module","exports"],"sources":["../../../src/i3s-server/app.js"],"sourcesContent":["const express = require('express');\nconst path = require('path');\nconst logger = require('morgan');\nconst cors = require('cors');\n\nconst indexRouter = require('./routes/index');\n\nconst I3S_LAYER_PATH = process.env.I3sLayerPath || ''; // eslint-disable-line no-process-env, no-undef\nconst app = express();\n\napp.use(logger('dev'));\napp.use(express.json());\napp.use(express.urlencoded({extended: false}));\napp.use(express.static(path.join(__dirname, 'public')));\napp.use(cors());\n\nif (/\\.slpk$/.test(I3S_LAYER_PATH)) {\n const {sceneServerRouter, router} = require('./routes/slpk-router');\n app.use('/SceneServer/layers/0', router);\n app.use('/SceneServer', sceneServerRouter);\n} else {\n app.use('/', indexRouter);\n}\n\nmodule.exports = app;\n"],"mappings":";;AAAA,IAAMA,OAAO,GAAGC,OAAO,CAAC,SAAS,CAAC;AAClC,IAAMC,IAAI,GAAGD,OAAO,CAAC,MAAM,CAAC;AAC5B,IAAME,MAAM,GAAGF,OAAO,CAAC,QAAQ,CAAC;AAChC,IAAMG,IAAI,GAAGH,OAAO,CAAC,MAAM,CAAC;AAE5B,IAAMI,WAAW,GAAGJ,OAAO,CAAC,gBAAgB,CAAC;AAE7C,IAAMK,cAAc,GAAGC,OAAO,CAACC,GAAG,CAACC,YAAY,IAAI,EAAE;AACrD,IAAMC,GAAG,GAAGV,OAAO,CAAC,CAAC;AAErBU,GAAG,CAACC,GAAG,CAACR,MAAM,CAAC,KAAK,CAAC,CAAC;AACtBO,GAAG,CAACC,GAAG,CAACX,OAAO,CAACY,IAAI,CAAC,CAAC,CAAC;AACvBF,GAAG,CAACC,GAAG,CAACX,OAAO,CAACa,UAAU,CAAC;EAACC,QAAQ,EAAE;AAAK,CAAC,CAAC,CAAC;AAC9CJ,GAAG,CAACC,GAAG,CAACX,OAAO,CAACe,MAAM,CAACb,IAAI,CAACc,IAAI,CAACC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvDP,GAAG,CAACC,GAAG,CAACP,IAAI,CAAC,CAAC,CAAC;AAEf,IAAI,SAAS,CAACc,IAAI,CAACZ,cAAc,CAAC,EAAE;EAClC,IAAAa,QAAA,GAAoClB,OAAO,CAAC,sBAAsB,CAAC;IAA5DmB,iBAAiB,GAAAD,QAAA,CAAjBC,iBAAiB;IAAEC,MAAM,GAAAF,QAAA,CAANE,MAAM;EAChCX,GAAG,CAACC,GAAG,CAAC,uBAAuB,EAAEU,MAAM,CAAC;EACxCX,GAAG,CAACC,GAAG,CAAC,cAAc,EAAES,iBAAiB,CAAC;AAC5C,CAAC,MAAM;EACLV,GAAG,CAACC,GAAG,CAAC,GAAG,EAAEN,WAAW,CAAC;AAC3B;AAEAiB,MAAM,CAACC,OAAO,GAAGb,GAAG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var app = require('../app');
|
|
5
|
+
var debug = require('debug')('i3s-server:server');
|
|
6
|
+
var https = require('https');
|
|
7
|
+
var http = require('http');
|
|
8
|
+
var fs = require('fs');
|
|
9
|
+
var path = require('path');
|
|
10
|
+
var httpPort = normalizePort(process.env.PORT || '80');
|
|
11
|
+
var httpsPort = normalizePort(process.env.HTTPS_PORT || '443');
|
|
12
|
+
var options = {
|
|
13
|
+
key: fs.readFileSync(path.join(__dirname, '../certs/key.pem')),
|
|
14
|
+
cert: fs.readFileSync(path.join(__dirname, '../certs/cert.pem'))
|
|
15
|
+
};
|
|
16
|
+
var httpServer = http.createServer(app);
|
|
17
|
+
var httpsServer = https.createServer(options, app);
|
|
18
|
+
httpServer.listen(httpPort);
|
|
19
|
+
httpServer.on('error', formErrorHandler(httpPort));
|
|
20
|
+
httpServer.on('listening', formListeningHandler(httpServer));
|
|
21
|
+
httpsServer.listen(httpsPort);
|
|
22
|
+
httpsServer.on('error', formErrorHandler(httpsPort));
|
|
23
|
+
httpsServer.on('listening', formListeningHandler(httpsServer));
|
|
24
|
+
function normalizePort(val) {
|
|
25
|
+
var chkPort = parseInt(val, 10);
|
|
26
|
+
if (isNaN(chkPort)) {
|
|
27
|
+
return val;
|
|
28
|
+
}
|
|
29
|
+
if (chkPort >= 0) {
|
|
30
|
+
return chkPort;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
function formErrorHandler(optionalPort) {
|
|
35
|
+
return function onError(error) {
|
|
36
|
+
if (error.syscall !== 'listen') {
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
var bind = typeof global.port === 'string' ? "Pipe ".concat(optionalPort) : "Port ".concat(optionalPort);
|
|
40
|
+
switch (error.code) {
|
|
41
|
+
case 'EACCES':
|
|
42
|
+
console.error("".concat(bind, " requires elevated privileges"));
|
|
43
|
+
process.exit(1);
|
|
44
|
+
break;
|
|
45
|
+
case 'EADDRINUSE':
|
|
46
|
+
console.error("".concat(bind, " is already in use"));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
break;
|
|
49
|
+
default:
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function formListeningHandler(optionalServer) {
|
|
55
|
+
return function onListening() {
|
|
56
|
+
var addr = optionalServer.address();
|
|
57
|
+
var bind = typeof addr === 'string' ? "pipe ".concat(addr) : "port ".concat(addr.port);
|
|
58
|
+
debug("Listening on ".concat(bind));
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=www.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"www.js","names":["app","require","debug","https","http","fs","path","httpPort","normalizePort","process","env","PORT","httpsPort","HTTPS_PORT","options","key","readFileSync","join","__dirname","cert","httpServer","createServer","httpsServer","listen","on","formErrorHandler","formListeningHandler","val","chkPort","parseInt","isNaN","optionalPort","onError","error","syscall","bind","global","port","concat","code","console","exit","optionalServer","onListening","addr","address"],"sources":["../../../../src/i3s-server/bin/www.js"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nconst app = require('../app');\nconst debug = require('debug')('i3s-server:server');\nconst https = require('https');\nconst http = require('http');\nconst fs = require('fs');\nconst path = require('path');\n\n/**\n * Get port from environment and store in Express.\n */\n\nconst httpPort = normalizePort(process.env.PORT || '80'); // eslint-disable-line no-process-env, no-undef\nconst httpsPort = normalizePort(process.env.HTTPS_PORT || '443'); // eslint-disable-line no-process-env, no-undef\n\n/**\n * Create HTTP server.\n */\n\nconst options = {\n key: fs.readFileSync(path.join(__dirname, '../certs/key.pem')),\n cert: fs.readFileSync(path.join(__dirname, '../certs/cert.pem'))\n};\n\nconst httpServer = http.createServer(app);\nconst httpsServer = https.createServer(options, app);\n\n/**\n * Listen on provided port, on all network interfaces.\n */\n\nhttpServer.listen(httpPort);\nhttpServer.on('error', formErrorHandler(httpPort));\nhttpServer.on('listening', formListeningHandler(httpServer));\n\nhttpsServer.listen(httpsPort);\nhttpsServer.on('error', formErrorHandler(httpsPort));\nhttpsServer.on('listening', formListeningHandler(httpsServer));\n\n/**\n * Normalize a port into a number, string, or false.\n */\n\nfunction normalizePort(val) {\n const chkPort = parseInt(val, 10);\n\n if (isNaN(chkPort)) {\n // named pipe\n return val;\n }\n\n if (chkPort >= 0) {\n // port number\n return chkPort;\n }\n\n return false;\n}\n\n/**\n * Event listener for HTTP/HTTPS server \"error\" event.\n */\n\nfunction formErrorHandler(optionalPort) {\n return function onError(error) {\n if (error.syscall !== 'listen') {\n throw error;\n }\n\n const bind = typeof global.port === 'string' ? `Pipe ${optionalPort}` : `Port ${optionalPort}`;\n\n // handle specific listen errors with friendly messages\n switch (error.code) {\n case 'EACCES':\n console.error(`${bind} requires elevated privileges`); // eslint-disable-line no-console, no-undef\n process.exit(1); // eslint-disable-line no-process-exit, no-undef\n break;\n case 'EADDRINUSE':\n console.error(`${bind} is already in use`); // eslint-disable-line no-console, no-undef\n process.exit(1); // eslint-disable-line no-process-exit, no-undef\n break;\n default:\n throw error;\n }\n };\n}\n\n/**\n * Event listener for HTTP/HTTPS server \"listening\" event.\n */\nfunction formListeningHandler(optionalServer) {\n return function onListening() {\n const addr = optionalServer.address();\n const bind = typeof addr === 'string' ? `pipe ${addr}` : `port ${addr.port}`;\n debug(`Listening on ${bind}`);\n };\n}\n"],"mappings":"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"}
|
|
@@ -4,26 +4,27 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
6
|
require('@loaders.gl/polyfills');
|
|
7
|
-
var _require = require('@loaders.gl/
|
|
8
|
-
|
|
9
|
-
parse = _require.parse;
|
|
10
|
-
var _require2 = require('@loaders.gl/i3s'),
|
|
11
|
-
SLPKLoader = _require2.SLPKLoader;
|
|
7
|
+
var _require = require('@loaders.gl/i3s'),
|
|
8
|
+
parseSLPK = _require.parseSLPK;
|
|
12
9
|
var path = require('path');
|
|
10
|
+
var _require2 = require('@loaders.gl/tile-converter'),
|
|
11
|
+
FileHandleProvider = _require2.FileHandleProvider;
|
|
13
12
|
var slpkArchive;
|
|
14
13
|
var loadArchive = function () {
|
|
15
14
|
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(fullLayerPath) {
|
|
16
15
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
17
16
|
while (1) switch (_context.prev = _context.next) {
|
|
18
17
|
case 0:
|
|
19
|
-
_context.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
_context.t0 = parseSLPK;
|
|
19
|
+
_context.next = 3;
|
|
20
|
+
return FileHandleProvider.from(fullLayerPath);
|
|
21
|
+
case 3:
|
|
22
|
+
_context.t1 = _context.sent;
|
|
23
|
+
_context.next = 6;
|
|
24
|
+
return (0, _context.t0)(_context.t1);
|
|
25
|
+
case 6:
|
|
25
26
|
slpkArchive = _context.sent;
|
|
26
|
-
case
|
|
27
|
+
case 7:
|
|
27
28
|
case "end":
|
|
28
29
|
return _context.stop();
|
|
29
30
|
}
|
|
@@ -53,12 +54,7 @@ function _getFileByUrl() {
|
|
|
53
54
|
_context2.prev = 2;
|
|
54
55
|
_context2.t0 = Buffer;
|
|
55
56
|
_context2.next = 6;
|
|
56
|
-
return
|
|
57
|
-
slpk: {
|
|
58
|
-
path: trimmedPath[1],
|
|
59
|
-
pathMode: 'http'
|
|
60
|
-
}
|
|
61
|
-
});
|
|
57
|
+
return slpkArchive.getFile(trimmedPath[1], 'http');
|
|
62
58
|
case 6:
|
|
63
59
|
_context2.t1 = _context2.sent;
|
|
64
60
|
uncompressedFile = _context2.t0.from.call(_context2.t0, _context2.t1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slpk-controller.js","names":["require","_require","
|
|
1
|
+
{"version":3,"file":"slpk-controller.js","names":["require","_require","parseSLPK","path","_require2","FileHandleProvider","slpkArchive","loadArchive","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","fullLayerPath","wrap","_callee$","_context","prev","next","t0","from","t1","sent","stop","_x","apply","arguments","I3S_LAYER_PATH","process","env","I3sLayerPath","FULL_LAYER_PATH","join","cwd","getFileByUrl","_x2","_getFileByUrl","_callee2","url","trimmedPath","uncompressedFile","_callee2$","_context2","exec","Buffer","getFile","call","t2","abrupt","module","exports"],"sources":["../../../../src/i3s-server/controllers/slpk-controller.js"],"sourcesContent":["require('@loaders.gl/polyfills');\nconst {parseSLPK} = require('@loaders.gl/i3s');\nconst path = require('path');\nconst {FileHandleProvider} = require('@loaders.gl/tile-converter');\n\nlet slpkArchive;\n\nconst loadArchive = async (fullLayerPath) => {\n slpkArchive = await parseSLPK(await FileHandleProvider.from(fullLayerPath));\n};\n\nconst I3S_LAYER_PATH = process.env.I3sLayerPath || ''; // eslint-disable-line no-process-env, no-undef\nconst FULL_LAYER_PATH = path.join(process.cwd(), I3S_LAYER_PATH); // eslint-disable-line no-undef\n\nloadArchive(FULL_LAYER_PATH);\n\nasync function getFileByUrl(url) {\n const trimmedPath = /^\\/?(.*)\\/?$/.exec(url);\n let uncompressedFile;\n if (trimmedPath) {\n try {\n uncompressedFile = Buffer.from(await slpkArchive.getFile(trimmedPath[1], 'http'));\n } catch (e) {}\n }\n return uncompressedFile;\n}\n\nmodule.exports = {\n loadArchive,\n getFileByUrl\n};\n"],"mappings":"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"}
|
package/dist/es5/index.js
CHANGED
|
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
Object.defineProperty(exports, "FileHandleProvider", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _fileHandleProvider.FileHandleProvider;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
7
13
|
Object.defineProperty(exports, "I3SConverter", {
|
|
8
14
|
enumerable: true,
|
|
9
15
|
get: function get() {
|
|
@@ -18,4 +24,5 @@ Object.defineProperty(exports, "Tiles3DConverter", {
|
|
|
18
24
|
});
|
|
19
25
|
var _i3sConverter = _interopRequireDefault(require("./i3s-converter/i3s-converter"));
|
|
20
26
|
var _dTilesConverter = _interopRequireDefault(require("./3d-tiles-converter/3d-tiles-converter"));
|
|
27
|
+
var _fileHandleProvider = require("./slpk-extractor/helpers/file-handle-provider");
|
|
21
28
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_i3sConverter","_interopRequireDefault","require","_dTilesConverter"],"sources":["../../src/index.ts"],"sourcesContent":["export {default as I3SConverter} from './i3s-converter/i3s-converter';\nexport {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_i3sConverter","_interopRequireDefault","require","_dTilesConverter","_fileHandleProvider"],"sources":["../../src/index.ts"],"sourcesContent":["export {default as I3SConverter} from './i3s-converter/i3s-converter';\nexport {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';\nexport {FileHandleProvider} from './slpk-extractor/helpers/file-handle-provider';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA"}
|
package/dist/es5/pgm-loader.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.PGMLoader = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _geoid = require("@math.gl/geoid");
|
|
11
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
11
|
+
var VERSION = typeof "4.0.0-alpha.15" !== 'undefined' ? "4.0.0-alpha.15" : 'latest';
|
|
12
12
|
var PGMLoader = {
|
|
13
13
|
name: 'PGM - Netpbm grayscale image format',
|
|
14
14
|
id: 'pgm',
|
|
@@ -10,7 +10,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
var
|
|
13
|
+
var _fsPromises = require("./fs-promises");
|
|
14
14
|
var FileHandleProvider = function () {
|
|
15
15
|
function FileHandleProvider(fileDescriptor, size) {
|
|
16
16
|
(0, _classCallCheck2.default)(this, FileHandleProvider);
|
|
@@ -116,25 +116,64 @@ var FileHandleProvider = function () {
|
|
|
116
116
|
return getUint32;
|
|
117
117
|
}()
|
|
118
118
|
}, {
|
|
119
|
-
key: "
|
|
119
|
+
key: "getBigUint64",
|
|
120
120
|
value: function () {
|
|
121
|
-
var
|
|
122
|
-
var
|
|
121
|
+
var _getBigUint = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(offset) {
|
|
122
|
+
var val;
|
|
123
123
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
124
124
|
while (1) switch (_context4.prev = _context4.next) {
|
|
125
125
|
case 0:
|
|
126
|
-
|
|
126
|
+
_context4.t0 = BigInt64Array;
|
|
127
127
|
_context4.next = 3;
|
|
128
|
-
return this.fileDescriptor.read(Buffer.alloc(
|
|
128
|
+
return this.fileDescriptor.read(Buffer.alloc(8), 0, 4, offset);
|
|
129
129
|
case 3:
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
_context4.t1 = _context4.sent.buffer.buffer;
|
|
131
|
+
val = new _context4.t0(_context4.t1).at(0);
|
|
132
|
+
if (!(val === undefined)) {
|
|
133
|
+
_context4.next = 7;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
throw new Error('something went wrong');
|
|
137
|
+
case 7:
|
|
138
|
+
return _context4.abrupt("return", val);
|
|
139
|
+
case 8:
|
|
132
140
|
case "end":
|
|
133
141
|
return _context4.stop();
|
|
134
142
|
}
|
|
135
143
|
}, _callee4, this);
|
|
136
144
|
}));
|
|
137
|
-
function
|
|
145
|
+
function getBigUint64(_x4) {
|
|
146
|
+
return _getBigUint.apply(this, arguments);
|
|
147
|
+
}
|
|
148
|
+
return getBigUint64;
|
|
149
|
+
}()
|
|
150
|
+
}, {
|
|
151
|
+
key: "slice",
|
|
152
|
+
value: function () {
|
|
153
|
+
var _slice = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(startOffsset, endOffset) {
|
|
154
|
+
var bigLength, length;
|
|
155
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
156
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
157
|
+
case 0:
|
|
158
|
+
bigLength = endOffset - startOffsset;
|
|
159
|
+
if (!(bigLength > Number.MAX_SAFE_INTEGER)) {
|
|
160
|
+
_context5.next = 3;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
throw new Error('too big slice');
|
|
164
|
+
case 3:
|
|
165
|
+
length = Number(bigLength);
|
|
166
|
+
_context5.next = 6;
|
|
167
|
+
return this.fileDescriptor.read(Buffer.alloc(length), 0, length, startOffsset);
|
|
168
|
+
case 6:
|
|
169
|
+
return _context5.abrupt("return", _context5.sent.buffer.buffer);
|
|
170
|
+
case 7:
|
|
171
|
+
case "end":
|
|
172
|
+
return _context5.stop();
|
|
173
|
+
}
|
|
174
|
+
}, _callee5, this);
|
|
175
|
+
}));
|
|
176
|
+
function slice(_x5, _x6) {
|
|
138
177
|
return _slice.apply(this, arguments);
|
|
139
178
|
}
|
|
140
179
|
return slice;
|
|
@@ -147,29 +186,23 @@ var FileHandleProvider = function () {
|
|
|
147
186
|
}], [{
|
|
148
187
|
key: "from",
|
|
149
188
|
value: function () {
|
|
150
|
-
var _from = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function
|
|
189
|
+
var _from = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(path) {
|
|
151
190
|
var fileDescriptor;
|
|
152
|
-
return _regenerator.default.wrap(function
|
|
153
|
-
while (1) switch (
|
|
191
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
192
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
154
193
|
case 0:
|
|
155
|
-
|
|
156
|
-
return
|
|
194
|
+
_context6.next = 2;
|
|
195
|
+
return _fsPromises.FileHandle.open(path);
|
|
157
196
|
case 2:
|
|
158
|
-
fileDescriptor =
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
_context5.next = 7;
|
|
162
|
-
return fileDescriptor.stat();
|
|
163
|
-
case 7:
|
|
164
|
-
_context5.t2 = _context5.sent.size;
|
|
165
|
-
return _context5.abrupt("return", new _context5.t0(_context5.t1, _context5.t2));
|
|
166
|
-
case 9:
|
|
197
|
+
fileDescriptor = _context6.sent;
|
|
198
|
+
return _context6.abrupt("return", new FileHandleProvider(fileDescriptor, fileDescriptor.stat.size));
|
|
199
|
+
case 4:
|
|
167
200
|
case "end":
|
|
168
|
-
return
|
|
201
|
+
return _context6.stop();
|
|
169
202
|
}
|
|
170
|
-
},
|
|
203
|
+
}, _callee6);
|
|
171
204
|
}));
|
|
172
|
-
function from(
|
|
205
|
+
function from(_x7) {
|
|
173
206
|
return _from.apply(this, arguments);
|
|
174
207
|
}
|
|
175
208
|
return from;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-handle-provider.js","names":["_fs","require","FileHandleProvider","fileDescriptor","size","_classCallCheck2","default","_defineProperty2","_createClass2","key","value","_getUint","_asyncToGenerator2","_regenerator","mark","_callee","offset","val","wrap","_callee$","_context","prev","next","t0","Uint8Array","read","Buffer","alloc","t1","sent","buffer","at","undefined","Error","abrupt","stop","getUint8","_x","apply","arguments","_getUint2","_callee2","_callee2$","_context2","Uint16Array","getUint16","_x2","_getUint3","_callee3","_callee3$","_context3","Uint32Array","getUint32","_x3","_slice","_callee4","startOffset","endOffset","length","_callee4$","_context4","slice","_x4","_x5","get","_from","_callee5","path","_callee5$","_context5","fsPromises","open","stat","t2","from","_x6","exports"],"sources":["../../../../src/slpk-extractor/helpers/file-handle-provider.ts"],"sourcesContent":["import {FileProvider} from '@loaders.gl/i3s';\nimport {promises as fsPromises, PathLike} from 'fs';\n\n/**\n * Provides file data using node fs library\n */\nexport class FileHandleProvider implements FileProvider {\n /**\n * Returns a new copy of FileHandleProvider\n * @param path The path to the file in file system\n */\n static async from(path: PathLike): Promise<FileHandleProvider> {\n const fileDescriptor = await fsPromises.open(path);\n return new FileHandleProvider(fileDescriptor, (await fileDescriptor.stat()).size);\n }\n\n /**\n * The FileHandle from which data is provided\n */\n private fileDescriptor: fsPromises.FileHandle;\n\n /**\n * The file length in bytes\n */\n private size: number;\n\n private constructor(fileDescriptor: fsPromises.FileHandle, size: number) {\n this.fileDescriptor = fileDescriptor;\n this.size = size;\n }\n\n /**\n * Gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint8(offset: number): Promise<number> {\n const val = new Uint8Array(\n (await this.fileDescriptor.read(Buffer.alloc(1), 0, 1, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 16-bit integer (unsigned byte) at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint16(offset: number): Promise<number> {\n const val = new Uint16Array(\n (await this.fileDescriptor.read(Buffer.alloc(2), 0, 2, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 32-bit integer (unsigned byte) at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint32(offset: number): Promise<number> {\n const val = new Uint32Array(\n (await this.fileDescriptor.read(Buffer.alloc(4), 0, 4, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * returns an ArrayBuffer whose contents are a copy of this file bytes from startOffset, inclusive, up to endOffset, exclusive.\n * @param startOffset The offset, in bytes, from the start of the file where to start reading the data.\n * @param endOffset The offset, in bytes, from the start of the file where to end reading the data.\n */\n async slice(startOffset: number, endOffset: number): Promise<ArrayBuffer> {\n const length = endOffset - startOffset;\n return (await this.fileDescriptor.read(Buffer.alloc(length), 0, length, startOffset)).buffer\n .buffer;\n }\n\n /**\n * the length (in bytes) of the data.\n */\n get length(): number {\n return this.size;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-handle-provider.js","names":["_fsPromises","require","FileHandleProvider","fileDescriptor","size","_classCallCheck2","default","_defineProperty2","_createClass2","key","value","_getUint","_asyncToGenerator2","_regenerator","mark","_callee","offset","val","wrap","_callee$","_context","prev","next","t0","Uint8Array","read","Buffer","alloc","t1","sent","buffer","at","undefined","Error","abrupt","stop","getUint8","_x","apply","arguments","_getUint2","_callee2","_callee2$","_context2","Uint16Array","getUint16","_x2","_getUint3","_callee3","_callee3$","_context3","Uint32Array","getUint32","_x3","_getBigUint","_callee4","_callee4$","_context4","BigInt64Array","getBigUint64","_x4","_slice","_callee5","startOffsset","endOffset","bigLength","length","_callee5$","_context5","Number","MAX_SAFE_INTEGER","slice","_x5","_x6","get","_from","_callee6","path","_callee6$","_context6","FileHandle","open","stat","from","_x7","exports"],"sources":["../../../../src/slpk-extractor/helpers/file-handle-provider.ts"],"sourcesContent":["import {FileProvider} from '@loaders.gl/i3s';\nimport {FileHandle} from './fs-promises';\n\n/**\n * Provides file data using node fs library\n */\nexport class FileHandleProvider implements FileProvider {\n /**\n * Returns a new copy of FileHandleProvider\n * @param path The path to the file in file system\n */\n static async from(path: string): Promise<FileHandleProvider> {\n const fileDescriptor = await FileHandle.open(path);\n return new FileHandleProvider(fileDescriptor, fileDescriptor.stat.size);\n }\n\n /**\n * The FileHandle from which data is provided\n */\n private fileDescriptor: FileHandle;\n\n /**\n * The file length in bytes\n */\n private size: bigint;\n\n private constructor(fileDescriptor: FileHandle, size: bigint) {\n this.fileDescriptor = fileDescriptor;\n this.size = size;\n }\n\n /**\n * Gets an unsigned 8-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint8(offset: bigint): Promise<number> {\n const val = new Uint8Array(\n (await this.fileDescriptor.read(Buffer.alloc(1), 0, 1, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 16-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint16(offset: bigint): Promise<number> {\n const val = new Uint16Array(\n (await this.fileDescriptor.read(Buffer.alloc(2), 0, 2, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getUint32(offset: bigint): Promise<number> {\n const val = new Uint32Array(\n (await this.fileDescriptor.read(Buffer.alloc(4), 0, 4, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * Gets an unsigned 32-bit integer at the specified byte offset from the start of the file.\n * @param offset The offset, in bytes, from the start of the file where to read the data.\n */\n async getBigUint64(offset: bigint): Promise<bigint> {\n const val = new BigInt64Array(\n (await this.fileDescriptor.read(Buffer.alloc(8), 0, 4, offset)).buffer.buffer\n ).at(0);\n if (val === undefined) {\n throw new Error('something went wrong');\n }\n return val;\n }\n\n /**\n * returns an ArrayBuffer whose contents are a copy of this file bytes from startOffset, inclusive, up to endOffset, exclusive.\n * @param startOffsset The offset, in byte, from the start of the file where to start reading the data.\n * @param endOffset The offset, in bytes, from the start of the file where to end reading the data.\n */\n async slice(startOffsset: bigint, endOffset: bigint): Promise<ArrayBuffer> {\n const bigLength = endOffset - startOffsset;\n if (bigLength > Number.MAX_SAFE_INTEGER) {\n throw new Error('too big slice');\n }\n const length = Number(bigLength);\n return (await this.fileDescriptor.read(Buffer.alloc(length), 0, length, startOffsset)).buffer\n .buffer;\n }\n\n /**\n * the length (in bytes) of the data.\n */\n get length(): bigint {\n return this.size;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FileHandle = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _fs = require("fs");
|
|
15
|
+
var FileHandle = function () {
|
|
16
|
+
function FileHandle(fileDescriptor, stats) {
|
|
17
|
+
var _this = this;
|
|
18
|
+
(0, _classCallCheck2.default)(this, FileHandle);
|
|
19
|
+
(0, _defineProperty2.default)(this, "fileDescriptor", void 0);
|
|
20
|
+
(0, _defineProperty2.default)(this, "stats", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "read", function (buffer, offset, length, position) {
|
|
22
|
+
return new Promise(function (s) {
|
|
23
|
+
(0, _fs.read)(_this.fileDescriptor, buffer, offset, length, position, function (_err, bytesRead, buffer) {
|
|
24
|
+
return s({
|
|
25
|
+
bytesRead: bytesRead,
|
|
26
|
+
buffer: buffer
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
this.fileDescriptor = fileDescriptor;
|
|
32
|
+
this.stats = stats;
|
|
33
|
+
}
|
|
34
|
+
(0, _createClass2.default)(FileHandle, [{
|
|
35
|
+
key: "stat",
|
|
36
|
+
get: function get() {
|
|
37
|
+
return this.stats;
|
|
38
|
+
}
|
|
39
|
+
}]);
|
|
40
|
+
return FileHandle;
|
|
41
|
+
}();
|
|
42
|
+
exports.FileHandle = FileHandle;
|
|
43
|
+
(0, _defineProperty2.default)(FileHandle, "open", function () {
|
|
44
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(path) {
|
|
45
|
+
var _yield$Promise$all, _yield$Promise$all2, fd, stats;
|
|
46
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
47
|
+
while (1) switch (_context.prev = _context.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
_context.next = 2;
|
|
50
|
+
return Promise.all([new Promise(function (s) {
|
|
51
|
+
(0, _fs.open)(path, undefined, undefined, function (_err, fd) {
|
|
52
|
+
return s(fd);
|
|
53
|
+
});
|
|
54
|
+
}), new Promise(function (s) {
|
|
55
|
+
(0, _fs.stat)(path, {
|
|
56
|
+
bigint: true
|
|
57
|
+
}, function (_err, stats) {
|
|
58
|
+
return s(stats);
|
|
59
|
+
});
|
|
60
|
+
})]);
|
|
61
|
+
case 2:
|
|
62
|
+
_yield$Promise$all = _context.sent;
|
|
63
|
+
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
64
|
+
fd = _yield$Promise$all2[0];
|
|
65
|
+
stats = _yield$Promise$all2[1];
|
|
66
|
+
return _context.abrupt("return", new FileHandle(fd, stats));
|
|
67
|
+
case 7:
|
|
68
|
+
case "end":
|
|
69
|
+
return _context.stop();
|
|
70
|
+
}
|
|
71
|
+
}, _callee);
|
|
72
|
+
}));
|
|
73
|
+
return function (_x) {
|
|
74
|
+
return _ref.apply(this, arguments);
|
|
75
|
+
};
|
|
76
|
+
}());
|
|
77
|
+
//# sourceMappingURL=fs-promises.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-promises.js","names":["_fs","require","FileHandle","fileDescriptor","stats","_this","_classCallCheck2","default","_defineProperty2","buffer","offset","length","position","Promise","s","read","_err","bytesRead","_createClass2","key","get","exports","_ref","_asyncToGenerator2","_regenerator","mark","_callee","path","_yield$Promise$all","_yield$Promise$all2","fd","wrap","_callee$","_context","prev","next","all","open","undefined","stat","bigint","sent","_slicedToArray2","abrupt","stop","_x","apply","arguments"],"sources":["../../../../src/slpk-extractor/helpers/fs-promises.ts"],"sourcesContent":["import {read, open, stat, BigIntStats} from 'fs';\n\n/** file reading result */\nexport type FileReadResult = {\n /** amount of the bytes read */\n bytesRead: number;\n /** the buffer filled with data from file*/\n buffer: Buffer;\n};\n\n/** Object handling file info */\nexport class FileHandle {\n private fileDescriptor: number;\n private stats: BigIntStats;\n private constructor(fileDescriptor: number, stats: BigIntStats) {\n this.fileDescriptor = fileDescriptor;\n this.stats = stats;\n }\n /**\n * Opens a `FileHandle`.\n *\n * @param path path to the file\n * @return Fulfills with a {FileHandle} object.\n */\n\n static open = async (path: string): Promise<FileHandle> => {\n const [fd, stats] = await Promise.all([\n new Promise<number>((s) => {\n open(path, undefined, undefined, (_err, fd) => s(fd));\n }),\n new Promise<BigIntStats>((s) => {\n stat(path, {bigint: true}, (_err, stats) => s(stats));\n })\n ]);\n return new FileHandle(fd, stats);\n };\n\n /**\n * Reads data from the file and stores that in the given buffer.\n *\n * If the file is not modified concurrently, the end-of-file is reached when the\n * number of bytes read is zero.\n * @param buffer A buffer that will be filled with the file data read.\n * @param offset The location in the buffer at which to start filling.\n * @param length The number of bytes to read.\n * @param position The location where to begin reading data from the file. If `null`, data will be read from the current file position, and the position will be updated. If `position` is an\n * integer, the current file position will remain unchanged.\n * @return Fulfills upon success with a FileReadResult object\n */\n read = (\n buffer: Buffer,\n offset: number,\n length: number,\n position: number | bigint\n ): Promise<FileReadResult> => {\n return new Promise((s) => {\n read(this.fileDescriptor, buffer, offset, length, position, (_err, bytesRead, buffer) =>\n s({bytesRead, buffer})\n );\n });\n };\n\n get stat(): BigIntStats {\n return this.stats;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAAiD,IAWpCC,UAAU;EAGrB,SAAAA,WAAoBC,cAAsB,EAAEC,KAAkB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAL,UAAA;IAAA,IAAAM,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA,gBAmCzD,UACLE,MAAc,EACdC,MAAc,EACdC,MAAc,EACdC,QAAyB,EACG;MAC5B,OAAO,IAAIC,OAAO,CAAC,UAACC,CAAC,EAAK;QACxB,IAAAC,QAAI,EAACV,KAAI,CAACF,cAAc,EAAEM,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,UAACI,IAAI,EAAEC,SAAS,EAAER,MAAM;UAAA,OAClFK,CAAC,CAAC;YAACG,SAAS,EAATA,SAAS;YAAER,MAAM,EAANA;UAAM,CAAC,CAAC;QAAA,CACxB,CAAC;MACH,CAAC,CAAC;IACJ,CAAC;IA7CC,IAAI,CAACN,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAAC,IAAAc,aAAA,CAAAX,OAAA,EAAAL,UAAA;IAAAiB,GAAA;IAAAC,GAAA,EA6CD,SAAAA,IAAA,EAAwB;MACtB,OAAO,IAAI,CAAChB,KAAK;IACnB;EAAC;EAAA,OAAAF,UAAA;AAAA;AAAAmB,OAAA,CAAAnB,UAAA,GAAAA,UAAA;AAAA,IAAAM,gBAAA,CAAAD,OAAA,EArDUL,UAAU;EAAA,IAAAoB,IAAA,OAAAC,kBAAA,CAAAhB,OAAA,EAAAiB,YAAA,CAAAjB,OAAA,CAAAkB,IAAA,CAcP,SAAAC,QAAOC,IAAY;IAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,EAAA,EAAA1B,KAAA;IAAA,OAAAoB,YAAA,CAAAjB,OAAA,CAAAwB,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACLtB,OAAO,CAACuB,GAAG,CAAC,CACpC,IAAIvB,OAAO,CAAS,UAACC,CAAC,EAAK;YACzB,IAAAuB,QAAI,EAACV,IAAI,EAAEW,SAAS,EAAEA,SAAS,EAAE,UAACtB,IAAI,EAAEc,EAAE;cAAA,OAAKhB,CAAC,CAACgB,EAAE,CAAC;YAAA,EAAC;UACvD,CAAC,CAAC,EACF,IAAIjB,OAAO,CAAc,UAACC,CAAC,EAAK;YAC9B,IAAAyB,QAAI,EAACZ,IAAI,EAAE;cAACa,MAAM,EAAE;YAAI,CAAC,EAAE,UAACxB,IAAI,EAAEZ,KAAK;cAAA,OAAKU,CAAC,CAACV,KAAK,CAAC;YAAA,EAAC;UACvD,CAAC,CAAC,CACH,CAAC;QAAA;UAAAwB,kBAAA,GAAAK,QAAA,CAAAQ,IAAA;UAAAZ,mBAAA,OAAAa,eAAA,CAAAnC,OAAA,EAAAqB,kBAAA;UAPKE,EAAE,GAAAD,mBAAA;UAAEzB,KAAK,GAAAyB,mBAAA;UAAA,OAAAI,QAAA,CAAAU,MAAA,WAQT,IAAIzC,UAAU,CAAC4B,EAAE,EAAE1B,KAAK,CAAC;QAAA;QAAA;UAAA,OAAA6B,QAAA,CAAAW,IAAA;MAAA;IAAA,GAAAlB,OAAA;EAAA,CACjC;EAAA,iBAAAmB,EAAA;IAAA,OAAAvB,IAAA,CAAAwB,KAAA,OAAAC,SAAA;EAAA;AAAA"}
|
|
@@ -17,11 +17,11 @@ var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
|
17
17
|
var _compression = require("@loaders.gl/compression");
|
|
18
18
|
var _fileUtils = require("../lib/utils/file-utils");
|
|
19
19
|
var indexNames = ['3dSceneLayer.json.gz', '3dNodeIndexDocument.json.gz', 'sharedResource.json.gz'];
|
|
20
|
-
var
|
|
21
|
-
function
|
|
22
|
-
(0, _classCallCheck2.default)(this,
|
|
20
|
+
var SLPKConverter = function () {
|
|
21
|
+
function SLPKConverter() {
|
|
22
|
+
(0, _classCallCheck2.default)(this, SLPKConverter);
|
|
23
23
|
}
|
|
24
|
-
(0, _createClass2.default)(
|
|
24
|
+
(0, _createClass2.default)(SLPKConverter, [{
|
|
25
25
|
key: "extract",
|
|
26
26
|
value: function () {
|
|
27
27
|
var _extract = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
@@ -42,7 +42,7 @@ var SLPKExtractor = function () {
|
|
|
42
42
|
case 6:
|
|
43
43
|
provider = _context.sent;
|
|
44
44
|
_context.next = 9;
|
|
45
|
-
return (0, _i3s.parseZipLocalFileHeader)(
|
|
45
|
+
return (0, _i3s.parseZipLocalFileHeader)(0n, provider);
|
|
46
46
|
case 9:
|
|
47
47
|
localHeader = _context.sent;
|
|
48
48
|
case 10:
|
|
@@ -166,7 +166,7 @@ var SLPKExtractor = function () {
|
|
|
166
166
|
return writeFile;
|
|
167
167
|
}()
|
|
168
168
|
}]);
|
|
169
|
-
return
|
|
169
|
+
return SLPKConverter;
|
|
170
170
|
}();
|
|
171
|
-
exports.default =
|
|
171
|
+
exports.default = SLPKConverter;
|
|
172
172
|
//# sourceMappingURL=slpk-extractor.js.map
|