@loaders.gl/tile-converter 4.0.0-alpha.5 → 4.0.0-alpha.6

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.
Files changed (359) hide show
  1. package/dist/3d-tiles-attributes-worker.d.ts +28 -0
  2. package/dist/3d-tiles-attributes-worker.d.ts.map +1 -0
  3. package/dist/3d-tiles-attributes-worker.js +3 -0
  4. package/dist/3d-tiles-attributes-worker.js.map +7 -0
  5. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +13 -1
  6. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  7. package/dist/3d-tiles-converter/3d-tiles-converter.js +273 -233
  8. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +9 -8
  9. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  10. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +268 -245
  11. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +22 -9
  12. package/dist/3d-tiles-converter/helpers/texture-atlas.js +47 -28
  13. package/dist/3d-tiles-converter/json-templates/tileset.js +38 -35
  14. package/dist/bundle.js +2 -2
  15. package/dist/constants.d.ts +2 -0
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/constants.js +4 -0
  18. package/dist/converter-cli.d.ts +2 -0
  19. package/dist/converter-cli.d.ts.map +1 -0
  20. package/dist/converter-cli.js +280 -0
  21. package/dist/converter.min.js +186 -190
  22. package/dist/deps-installer/deps-installer.d.ts +11 -3
  23. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  24. package/dist/deps-installer/deps-installer.js +59 -18
  25. package/dist/dist.min.js +12412 -35443
  26. package/dist/es5/3d-tiles-attributes-worker.js +25 -0
  27. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -0
  28. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +470 -0
  29. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
  30. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +301 -0
  31. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
  32. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +18 -0
  33. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
  34. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +33 -0
  35. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
  36. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +61 -0
  37. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -0
  38. package/dist/es5/bundle.js +6 -0
  39. package/dist/es5/bundle.js.map +1 -0
  40. package/dist/es5/constants.js +9 -0
  41. package/dist/es5/constants.js.map +1 -0
  42. package/dist/es5/converter-cli.js +289 -0
  43. package/dist/es5/converter-cli.js.map +1 -0
  44. package/dist/es5/deps-installer/deps-installer.js +123 -0
  45. package/dist/es5/deps-installer/deps-installer.js.map +1 -0
  46. package/dist/es5/i3s-attributes-worker.js +25 -0
  47. package/dist/es5/i3s-attributes-worker.js.map +1 -0
  48. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +116 -0
  49. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  50. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +90 -0
  51. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -0
  52. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +41 -0
  53. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
  54. package/dist/es5/i3s-converter/helpers/feature-attributes.js +174 -0
  55. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
  56. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +213 -0
  57. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -0
  58. package/dist/es5/i3s-converter/helpers/geometry-converter.js +1173 -0
  59. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -0
  60. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +83 -0
  61. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
  62. package/dist/es5/i3s-converter/helpers/node-debug.js +76 -0
  63. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -0
  64. package/dist/es5/i3s-converter/helpers/node-index-document.js +492 -0
  65. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
  66. package/dist/es5/i3s-converter/helpers/node-pages.js +519 -0
  67. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -0
  68. package/dist/es5/i3s-converter/i3s-converter.js +1519 -0
  69. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -0
  70. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
  71. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  72. package/dist/es5/i3s-converter/json-templates/layers.js +163 -0
  73. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -0
  74. package/dist/es5/i3s-converter/json-templates/metadata.js +31 -0
  75. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -0
  76. package/dist/es5/i3s-converter/json-templates/node.js +99 -0
  77. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -0
  78. package/dist/es5/i3s-converter/json-templates/scene-server.js +39 -0
  79. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -0
  80. package/dist/es5/i3s-converter/json-templates/shared-resources.js +173 -0
  81. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -0
  82. package/dist/es5/i3s-converter/json-templates/store.js +107 -0
  83. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -0
  84. package/dist/es5/i3s-converter/types.js +2 -0
  85. package/dist/es5/i3s-converter/types.js.map +1 -0
  86. package/dist/es5/i3s-server/app.js +18 -0
  87. package/dist/es5/i3s-server/app.js.map +1 -0
  88. package/dist/es5/i3s-server/controllers/index-controller.js +55 -0
  89. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -0
  90. package/dist/es5/i3s-server/routes/index.js +37 -0
  91. package/dist/es5/i3s-server/routes/index.js.map +1 -0
  92. package/dist/es5/index.js +21 -0
  93. package/dist/es5/index.js.map +1 -0
  94. package/dist/es5/lib/utils/compress-util.js +346 -0
  95. package/dist/es5/lib/utils/compress-util.js.map +1 -0
  96. package/dist/es5/lib/utils/file-utils.js +208 -0
  97. package/dist/es5/lib/utils/file-utils.js.map +1 -0
  98. package/dist/es5/lib/utils/lod-conversion-utils.js +44 -0
  99. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -0
  100. package/dist/es5/lib/utils/queue.js +47 -0
  101. package/dist/es5/lib/utils/queue.js.map +1 -0
  102. package/dist/es5/lib/utils/statistic-utills.d.ts +25 -0
  103. package/dist/es5/lib/utils/statistic-utills.js +147 -0
  104. package/dist/es5/lib/utils/statistic-utills.js.map +1 -0
  105. package/dist/es5/lib/utils/write-queue.js +214 -0
  106. package/dist/es5/lib/utils/write-queue.js.map +1 -0
  107. package/dist/es5/pgm-loader.js +41 -0
  108. package/dist/es5/pgm-loader.js.map +1 -0
  109. package/dist/es5/workers/3d-tiles-attributes-worker.js +28 -0
  110. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -0
  111. package/dist/es5/workers/i3s-attributes-worker.js +30 -0
  112. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -0
  113. package/dist/esm/3d-tiles-attributes-worker.js +16 -0
  114. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -0
  115. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +248 -0
  116. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
  117. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +224 -0
  118. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
  119. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +10 -0
  120. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
  121. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +27 -0
  122. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
  123. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +37 -0
  124. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -0
  125. package/dist/esm/bundle.js +4 -0
  126. package/dist/esm/bundle.js.map +1 -0
  127. package/dist/esm/constants.js +2 -0
  128. package/dist/esm/constants.js.map +1 -0
  129. package/dist/esm/converter-cli.js +232 -0
  130. package/dist/esm/converter-cli.js.map +1 -0
  131. package/dist/esm/deps-installer/deps-installer.js +44 -0
  132. package/dist/esm/deps-installer/deps-installer.js.map +1 -0
  133. package/dist/esm/i3s-attributes-worker.js +16 -0
  134. package/dist/esm/i3s-attributes-worker.js.map +1 -0
  135. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +105 -0
  136. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  137. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +80 -0
  138. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -0
  139. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +16 -0
  140. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
  141. package/dist/esm/i3s-converter/helpers/feature-attributes.js +147 -0
  142. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
  143. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +190 -0
  144. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -0
  145. package/dist/esm/i3s-converter/helpers/geometry-converter.js +887 -0
  146. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -0
  147. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +76 -0
  148. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
  149. package/dist/esm/i3s-converter/helpers/node-debug.js +72 -0
  150. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -0
  151. package/dist/esm/i3s-converter/helpers/node-index-document.js +188 -0
  152. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
  153. package/dist/esm/i3s-converter/helpers/node-pages.js +206 -0
  154. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -0
  155. package/dist/esm/i3s-converter/i3s-converter.js +771 -0
  156. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -0
  157. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
  158. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  159. package/dist/esm/i3s-converter/json-templates/layers.js +133 -0
  160. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -0
  161. package/dist/esm/i3s-converter/json-templates/metadata.js +22 -0
  162. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -0
  163. package/dist/esm/i3s-converter/json-templates/node.js +80 -0
  164. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -0
  165. package/dist/esm/i3s-converter/json-templates/scene-server.js +28 -0
  166. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -0
  167. package/dist/esm/i3s-converter/json-templates/shared-resources.js +123 -0
  168. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -0
  169. package/dist/esm/i3s-converter/json-templates/store.js +98 -0
  170. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -0
  171. package/dist/esm/i3s-converter/types.js +2 -0
  172. package/dist/esm/i3s-converter/types.js.map +1 -0
  173. package/dist/esm/i3s-server/app.js +16 -0
  174. package/dist/esm/i3s-server/app.js.map +1 -0
  175. package/dist/esm/i3s-server/bin/www +102 -0
  176. package/dist/esm/i3s-server/certs/cert.pem +19 -0
  177. package/dist/esm/i3s-server/certs/key.pem +27 -0
  178. package/dist/esm/i3s-server/controllers/index-controller.js +24 -0
  179. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -0
  180. package/dist/esm/i3s-server/routes/index.js +16 -0
  181. package/dist/esm/i3s-server/routes/index.js.map +1 -0
  182. package/dist/esm/index.js +3 -0
  183. package/dist/esm/index.js.map +1 -0
  184. package/dist/esm/lib/utils/compress-util.js +168 -0
  185. package/dist/esm/lib/utils/compress-util.js.map +1 -0
  186. package/dist/esm/lib/utils/file-utils.js +87 -0
  187. package/dist/esm/lib/utils/file-utils.js.map +1 -0
  188. package/dist/esm/lib/utils/lod-conversion-utils.js +37 -0
  189. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -0
  190. package/dist/esm/lib/utils/queue.js +15 -0
  191. package/dist/esm/lib/utils/queue.js.map +1 -0
  192. package/dist/esm/lib/utils/statistic-utills.d.ts +25 -0
  193. package/dist/esm/lib/utils/statistic-utills.js +62 -0
  194. package/dist/esm/lib/utils/statistic-utills.js.map +1 -0
  195. package/dist/esm/lib/utils/write-queue.js +85 -0
  196. package/dist/esm/lib/utils/write-queue.js.map +1 -0
  197. package/dist/esm/pgm-loader.js +15 -0
  198. package/dist/esm/pgm-loader.js.map +1 -0
  199. package/dist/esm/workers/3d-tiles-attributes-worker.js +8 -0
  200. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -0
  201. package/dist/esm/workers/i3s-attributes-worker.js +7 -0
  202. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -0
  203. package/dist/i3s-attributes-worker.d.ts +37 -0
  204. package/dist/i3s-attributes-worker.d.ts.map +1 -0
  205. package/dist/i3s-attributes-worker.js +9 -0
  206. package/dist/i3s-attributes-worker.js.map +7 -0
  207. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +11 -0
  208. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
  209. package/dist/i3s-converter/helpers/batch-ids-extensions.js +141 -0
  210. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +9 -9
  211. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  212. package/dist/i3s-converter/helpers/coordinate-converter.js +118 -72
  213. package/dist/i3s-converter/helpers/create-scene-server-path.d.ts +5 -5
  214. package/dist/i3s-converter/helpers/create-scene-server-path.d.ts.map +1 -1
  215. package/dist/i3s-converter/helpers/create-scene-server-path.js +27 -15
  216. package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
  217. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
  218. package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
  219. package/dist/i3s-converter/helpers/geometry-attributes.d.ts +4 -19
  220. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  221. package/dist/i3s-converter/helpers/geometry-attributes.js +188 -185
  222. package/dist/i3s-converter/helpers/geometry-converter.d.ts +36 -39
  223. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  224. package/dist/i3s-converter/helpers/geometry-converter.js +1142 -689
  225. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +9 -0
  226. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
  227. package/dist/i3s-converter/helpers/gltf-attributes.js +88 -0
  228. package/dist/i3s-converter/helpers/node-debug.d.ts +7 -1
  229. package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -1
  230. package/dist/i3s-converter/helpers/node-debug.js +106 -72
  231. package/dist/i3s-converter/helpers/node-index-document.d.ts +95 -0
  232. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
  233. package/dist/i3s-converter/helpers/node-index-document.js +250 -0
  234. package/dist/i3s-converter/helpers/node-pages.d.ts +81 -41
  235. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  236. package/dist/i3s-converter/helpers/node-pages.js +313 -144
  237. package/dist/i3s-converter/i3s-converter.d.ts +60 -113
  238. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  239. package/dist/i3s-converter/i3s-converter.js +857 -951
  240. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
  241. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
  242. package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
  243. package/dist/i3s-converter/json-templates/layers.d.ts +5 -30
  244. package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -1
  245. package/dist/i3s-converter/json-templates/layers.js +132 -194
  246. package/dist/i3s-converter/json-templates/metadata.js +24 -21
  247. package/dist/i3s-converter/json-templates/node.js +82 -77
  248. package/dist/i3s-converter/json-templates/scene-server.js +30 -27
  249. package/dist/i3s-converter/json-templates/shared-resources.js +116 -122
  250. package/dist/i3s-converter/json-templates/store.js +100 -95
  251. package/dist/i3s-converter/types.d.ts +137 -6
  252. package/dist/i3s-converter/types.d.ts.map +1 -1
  253. package/dist/i3s-converter/types.js +2 -2
  254. package/dist/i3s-server/app.js +2 -9
  255. package/dist/i3s-server/controllers/index-controller.js +16 -24
  256. package/dist/i3s-server/routes/index.js +11 -15
  257. package/dist/index.d.ts +0 -2
  258. package/dist/index.d.ts.map +1 -1
  259. package/dist/index.js +10 -5
  260. package/dist/lib/utils/compress-util.d.ts +12 -20
  261. package/dist/lib/utils/compress-util.d.ts.map +1 -1
  262. package/dist/lib/utils/compress-util.js +238 -160
  263. package/dist/lib/utils/file-utils.d.ts +22 -14
  264. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  265. package/dist/lib/utils/file-utils.js +133 -36
  266. package/dist/lib/utils/lod-conversion-utils.d.ts +21 -12
  267. package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -1
  268. package/dist/lib/utils/lod-conversion-utils.js +72 -39
  269. package/dist/lib/utils/queue.d.ts +7 -0
  270. package/dist/lib/utils/queue.d.ts.map +1 -0
  271. package/dist/lib/utils/queue.js +18 -0
  272. package/dist/lib/utils/statistic-utills.d.ts +3 -25
  273. package/dist/lib/utils/statistic-utills.d.ts.map +1 -1
  274. package/dist/lib/utils/statistic-utills.js +58 -67
  275. package/dist/lib/utils/write-queue.d.ts +39 -0
  276. package/dist/lib/utils/write-queue.d.ts.map +1 -0
  277. package/dist/lib/utils/write-queue.js +80 -0
  278. package/dist/pgm-loader.d.ts.map +1 -1
  279. package/dist/pgm-loader.js +23 -14
  280. package/dist/workers/3d-tiles-attributes-worker.d.ts +2 -0
  281. package/dist/workers/3d-tiles-attributes-worker.d.ts.map +1 -0
  282. package/dist/workers/3d-tiles-attributes-worker.js +9 -0
  283. package/dist/workers/i3s-attributes-worker.d.ts +2 -0
  284. package/dist/workers/i3s-attributes-worker.d.ts.map +1 -0
  285. package/dist/workers/i3s-attributes-worker.js +5 -0
  286. package/package.json +33 -24
  287. package/src/3d-tiles-attributes-worker.ts +43 -0
  288. package/src/3d-tiles-converter/3d-tiles-converter.ts +101 -40
  289. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +38 -29
  290. package/src/constants.ts +2 -0
  291. package/src/converter-cli.ts +370 -0
  292. package/src/deps-installer/deps-installer.ts +71 -0
  293. package/src/i3s-attributes-worker.ts +50 -0
  294. package/src/i3s-converter/helpers/batch-ids-extensions.ts +206 -0
  295. package/src/i3s-converter/helpers/coordinate-converter.ts +33 -26
  296. package/src/i3s-converter/helpers/create-scene-server-path.ts +9 -5
  297. package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
  298. package/src/i3s-converter/helpers/geometry-attributes.ts +98 -47
  299. package/src/i3s-converter/helpers/geometry-converter.ts +1608 -0
  300. package/src/i3s-converter/helpers/gltf-attributes.ts +103 -0
  301. package/src/i3s-converter/helpers/node-debug.ts +68 -16
  302. package/src/i3s-converter/helpers/node-index-document.ts +315 -0
  303. package/src/i3s-converter/helpers/node-pages.ts +222 -101
  304. package/src/i3s-converter/i3s-converter.ts +407 -555
  305. package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
  306. package/src/i3s-converter/json-templates/layers.ts +27 -91
  307. package/src/i3s-converter/json-templates/shared-resources.ts +3 -3
  308. package/src/i3s-converter/types.ts +156 -5
  309. package/src/index.ts +0 -4
  310. package/src/lib/utils/{compress-util.js → compress-util.ts} +105 -18
  311. package/src/lib/utils/file-utils.ts +139 -0
  312. package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +27 -5
  313. package/src/lib/utils/queue.ts +17 -0
  314. package/src/lib/utils/write-queue.ts +110 -0
  315. package/src/pgm-loader.ts +2 -2
  316. package/src/workers/3d-tiles-attributes-worker.ts +6 -0
  317. package/src/workers/i3s-attributes-worker.ts +7 -0
  318. package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
  319. package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
  320. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
  321. package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
  322. package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
  323. package/dist/bundle.js.map +0 -1
  324. package/dist/deps-installer/deps-installer.js.map +0 -1
  325. package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
  326. package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
  327. package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
  328. package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
  329. package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
  330. package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
  331. package/dist/i3s-converter/i3s-converter.js.map +0 -1
  332. package/dist/i3s-converter/json-templates/layers.js.map +0 -1
  333. package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
  334. package/dist/i3s-converter/json-templates/node.js.map +0 -1
  335. package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
  336. package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
  337. package/dist/i3s-converter/json-templates/store.js.map +0 -1
  338. package/dist/i3s-converter/types.js.map +0 -1
  339. package/dist/i3s-server/app.js.map +0 -1
  340. package/dist/i3s-server/controllers/index-controller.js.map +0 -1
  341. package/dist/i3s-server/routes/index.js.map +0 -1
  342. package/dist/index.js.map +0 -1
  343. package/dist/lib/utils/compress-util.js.map +0 -1
  344. package/dist/lib/utils/file-utils.js.map +0 -1
  345. package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
  346. package/dist/lib/utils/statistic-utills.js.map +0 -1
  347. package/dist/pgm-loader.js.map +0 -1
  348. package/src/deps-installer/deps-installer.d.ts +0 -10
  349. package/src/deps-installer/deps-installer.js +0 -22
  350. package/src/i3s-converter/helpers/geometry-converter.d.ts +0 -44
  351. package/src/i3s-converter/helpers/geometry-converter.js +0 -992
  352. package/src/lib/utils/compress-util.d.ts +0 -53
  353. package/src/lib/utils/file-utils.d.ts +0 -43
  354. package/src/lib/utils/file-utils.js +0 -38
  355. package/src/lib/utils/lod-conversion-utils.d.ts +0 -32
  356. /package/dist/{i3s-server → es5/i3s-server}/bin/www +0 -0
  357. /package/dist/{i3s-server → es5/i3s-server}/certs/cert.pem +0 -0
  358. /package/dist/{i3s-server → es5/i3s-server}/certs/key.pem +0 -0
  359. /package/src/lib/utils/{statistic-utills.js → statistic-utills.ts} +0 -0
@@ -0,0 +1,83 @@
1
+ import transform from 'json-map-transform';
2
+
3
+ const PLAIN_GEOMETRY_DEFINITION = () => ({
4
+ offset: {
5
+ default: 8
6
+ },
7
+ position: {
8
+ default: {
9
+ type: 'Float32',
10
+ component: 3
11
+ }
12
+ },
13
+ normal: {
14
+ default: {
15
+ type: 'Float32',
16
+ component: 3
17
+ }
18
+ },
19
+ uv0: {
20
+ path: 'hasTexture',
21
+ transform: (val) => (val && {type: 'Float32', component: 2}) || false,
22
+ omitValues: [false]
23
+ },
24
+ color: {
25
+ default: {
26
+ type: 'UInt8',
27
+ component: 4
28
+ }
29
+ },
30
+ uvRegion: {
31
+ path: 'hasUvRegions',
32
+ transform: (val) => (val && {type: 'UInt16', component: 4}) || false,
33
+ omitValues: [false]
34
+ },
35
+ featureId: {
36
+ default: {
37
+ binding: 'per-feature',
38
+ type: 'UInt64',
39
+ component: 1
40
+ }
41
+ },
42
+ faceRange: {
43
+ default: {
44
+ binding: 'per-feature',
45
+ type: 'UInt32',
46
+ component: 2
47
+ }
48
+ }
49
+ });
50
+
51
+ const COMPRESSED_GEOMETRY_DEFINITION = () => ({
52
+ 'compressedAttributes.encoding': {
53
+ default: 'draco'
54
+ },
55
+ 'compressedAttributes.attributes': {
56
+ path: 'geometryConfig',
57
+ transform: (val) => {
58
+ const result = ['position', 'normal'];
59
+ if (val.hasTexture) {
60
+ result.push('uv0');
61
+ }
62
+ result.push('color');
63
+ if (val.hasUvRegions) {
64
+ result.push('uv-region');
65
+ }
66
+ result.push('feature-index');
67
+ return result;
68
+ }
69
+ }
70
+ });
71
+
72
+ export const GEOMETRY_DEFINITION = () => ({
73
+ geometryBuffers: {
74
+ path: 'geometryConfig',
75
+ transform: (val) => {
76
+ const result = [transform(val, PLAIN_GEOMETRY_DEFINITION())];
77
+ if (val.draco) {
78
+ result.push(transform({geometryConfig: val}, COMPRESSED_GEOMETRY_DEFINITION()));
79
+ }
80
+ return result;
81
+ }
82
+ }
83
+ });
@@ -1,76 +1,6 @@
1
1
  import transform from 'json-map-transform';
2
2
  import {STORE} from './store';
3
3
 
4
- const PLAIN_GEOMETRY_DEFINITION = () => ({
5
- offset: 8,
6
- position: {
7
- type: 'Float32',
8
- component: 3
9
- },
10
- normal: {
11
- type: 'Float32',
12
- component: 3
13
- },
14
- uv0: {
15
- type: 'Float32',
16
- component: 2
17
- },
18
- color: {
19
- type: 'UInt8',
20
- component: 4
21
- },
22
- featureId: {
23
- binding: 'per-feature',
24
- type: 'UInt64',
25
- component: 1
26
- },
27
- faceRange: {
28
- binding: 'per-feature',
29
- type: 'UInt32',
30
- component: 2
31
- }
32
- });
33
-
34
- const PLAIN_GEOMETRY_DEFINITION_WITHOUT_UV0 = () => ({
35
- offset: 8,
36
- position: {
37
- type: 'Float32',
38
- component: 3
39
- },
40
- normal: {
41
- type: 'Float32',
42
- component: 3
43
- },
44
- color: {
45
- type: 'UInt8',
46
- component: 4
47
- },
48
- featureId: {
49
- binding: 'per-feature',
50
- type: 'UInt64',
51
- component: 1
52
- },
53
- faceRange: {
54
- binding: 'per-feature',
55
- type: 'UInt32',
56
- component: 2
57
- }
58
- });
59
-
60
- const COMPRESSED_GEOMETRY_DEFINITION = () => ({
61
- compressedAttributes: {
62
- encoding: 'draco',
63
- attributes: ['position', 'normal', 'uv0', 'color', 'feature-index']
64
- }
65
- });
66
-
67
- const COMPRESSED_GEOMETRY_DEFINITION_WITHOUT_UV0 = () => ({
68
- compressedAttributes: {
69
- encoding: 'draco',
70
- attributes: ['position', 'normal', 'color', 'feature-index']
71
- }
72
- });
73
-
74
4
  const SPATIAL_REFERENCE = () => ({
75
5
  wkid: {
76
6
  path: 'wkid',
@@ -115,6 +45,27 @@ const NODE_PAGES = () => ({
115
45
  }
116
46
  });
117
47
 
48
+ const FULL_EXTENT = () => ({
49
+ xmin: {
50
+ path: 'xmin'
51
+ },
52
+ ymin: {
53
+ path: 'ymin'
54
+ },
55
+ xmax: {
56
+ path: 'xmax'
57
+ },
58
+ ymax: {
59
+ path: 'ymax'
60
+ },
61
+ zmin: {
62
+ path: 'zmin'
63
+ },
64
+ zmax: {
65
+ path: 'zmax'
66
+ }
67
+ });
68
+
118
69
  export const LAYERS = () => ({
119
70
  version: {
120
71
  path: 'version',
@@ -147,6 +98,10 @@ export const LAYERS = () => ({
147
98
  path: 'store',
148
99
  transform: (val) => transform(val, STORE)
149
100
  },
101
+ fullExtent: {
102
+ path: 'fullExtent',
103
+ transform: (val) => transform(val, FULL_EXTENT())
104
+ },
150
105
  heightModelInfo: {
151
106
  path: 'heightModelInfo',
152
107
  transform: (val) => transform(val, HEIGHT_MODEL_INFO())
@@ -164,27 +119,8 @@ export const LAYERS = () => ({
164
119
  default: []
165
120
  },
166
121
  geometryDefinitions: {
167
- path: 'compressGeometry',
168
- transform: (val) => {
169
- const result = [{geometryBuffers: []}, {geometryBuffers: []}];
170
-
171
- // @ts-expect-error
172
- result[0].geometryBuffers.push(PLAIN_GEOMETRY_DEFINITION());
173
- // @ts-expect-error
174
- result[1].geometryBuffers.push(PLAIN_GEOMETRY_DEFINITION_WITHOUT_UV0());
175
- if (val) {
176
- // @ts-expect-error
177
- result[0].geometryBuffers.push(COMPRESSED_GEOMETRY_DEFINITION());
178
- // @ts-expect-error
179
- result[1].geometryBuffers.push(COMPRESSED_GEOMETRY_DEFINITION_WITHOUT_UV0());
180
- }
181
- return result;
182
- },
183
- default: [
184
- {
185
- geometryBuffers: [PLAIN_GEOMETRY_DEFINITION(), PLAIN_GEOMETRY_DEFINITION_WITHOUT_UV0()]
186
- }
187
- ]
122
+ path: 'geometryDefinitions',
123
+ default: []
188
124
  },
189
125
  attributeStorageInfo: {
190
126
  path: 'attributeStorageInfo',
@@ -15,15 +15,15 @@ const MATERIAL_DEFINITION_INFO_PARAMS = () => ({
15
15
  },
16
16
  ambient: {
17
17
  path: 'ambient',
18
- default: [1, 1, 1, 1]
18
+ default: [1, 1, 1]
19
19
  },
20
20
  diffuse: {
21
21
  path: 'diffuse',
22
- default: [1, 1, 1, 1]
22
+ default: [1, 1, 1]
23
23
  },
24
24
  specular: {
25
25
  path: 'specular',
26
- default: [0, 0, 0, 0]
26
+ default: [0, 0, 0]
27
27
  },
28
28
  useVertexColorAlpha: {
29
29
  path: 'useVertexColorAlpha',
@@ -1,14 +1,165 @@
1
- import {BoundingVolumes, I3SMaterialDefinition, SharedResources} from '@loaders.gl/i3s';
1
+ import {GLTFImagePostprocessed} from '@loaders.gl/gltf';
2
+ import {
3
+ BoundingVolumes,
4
+ I3SMaterialDefinition,
5
+ MaterialDefinitionInfo,
6
+ TextureDefinitionInfo
7
+ } from '@loaders.gl/i3s';
2
8
 
9
+ /** Converted resources for specific node */
3
10
  export type I3SConvertedResources = {
11
+ /**
12
+ * Node id
13
+ */
14
+ nodeId?: number;
15
+ /** Non-compressed geometry buffer that have structure met
16
+ * https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
17
+ * (Geometry buffer)
18
+ */
4
19
  geometry: ArrayBuffer | null;
5
- compressedGeometry?: ArrayBuffer | null;
20
+ /**
21
+ * Draco compressed geometry
22
+ */
23
+ compressedGeometry?: Promise<ArrayBuffer> | null;
24
+ /**
25
+ * Texture image content
26
+ */
6
27
  texture: any | null;
7
- sharedResources: SharedResources | null;
28
+ /**
29
+ * If the resource has uvRegions geometry attribute
30
+ */
31
+ hasUvRegions: boolean;
32
+ /**
33
+ * Shared resources built from GLTF material
34
+ */
35
+ sharedResources: SharedResourcesArrays | null;
36
+ /**
37
+ * Material definition of the node
38
+ */
8
39
  meshMaterial?: I3SMaterialDefinition | null;
40
+ /**
41
+ * Number of vertices in the node
42
+ */
9
43
  vertexCount: number | null;
10
- attributes: any | null;
44
+ /**
45
+ * Feature attributes contents
46
+ */
47
+ attributes: ArrayBuffer[] | null;
48
+ /**
49
+ * Number of features in the node
50
+ */
11
51
  featureCount: number | null;
12
- geometryBuffer?: ArrayBuffer;
52
+ /**
53
+ * MBS and/or OBB bounding volumes of the node
54
+ */
13
55
  boundingVolumes: BoundingVolumes | null;
14
56
  };
57
+
58
+ /**
59
+ * Geometry and feature attributes converted from GLTF primitives
60
+ */
61
+ export type ConvertedAttributes = {
62
+ /** POSITION attribute value */
63
+ positions: Float32Array;
64
+ /** NORMAL attribute value */
65
+ normals: Float32Array;
66
+ /** TEXCOORD_0 attribute value */
67
+ texCoords: Float32Array;
68
+ /** COLOR_0 attribute value */
69
+ colors: Uint8Array;
70
+ /** uvRegion attribute for a texture atlas */
71
+ uvRegions: Uint16Array;
72
+ /** Feature indices grouped by ...
73
+ * converted from "batch ids" of GLTF
74
+ */
75
+ featureIndicesGroups?: number[][];
76
+ /** Feature indices converted from "batch ids" */
77
+ featureIndices: number[];
78
+ /**
79
+ * MBS and/or OBB bounding volumes of the node
80
+ */
81
+ boundingVolumes: null | BoundingVolumes;
82
+ /** merged materials data */
83
+ mergedMaterials: MergedMaterial[];
84
+ };
85
+
86
+ /** Postprocessed geometry and feature attributes
87
+ * https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
88
+ */
89
+ export type GeometryAttributes = {
90
+ /** POSITION attribute value */
91
+ positions: Float32Array;
92
+ /** NORMAL attribute value */
93
+ normals: Float32Array;
94
+ /** TEXCOORD_0 attribute value */
95
+ texCoords: Float32Array;
96
+ /** COLOR_0 attribute value */
97
+ colors: Uint8Array;
98
+ /** uvRegion attribute for a texture atlas */
99
+ uvRegions: Uint16Array;
100
+ /** faceRanges attribute value */
101
+ faceRange: Uint32Array;
102
+ /** feature Ids attribute value */
103
+ featureIds: number[];
104
+ /** number of features in the node */
105
+ featureCount: number;
106
+ };
107
+
108
+ /** Geometry attributes specific for the particular feature */
109
+ export type GroupedByFeatureIdAttributes = {
110
+ /** Feature Id */
111
+ featureId: number;
112
+ /** POSITION attribute value */
113
+ positions: Float32Array;
114
+ /** NORMAL attribute value */
115
+ normals: Float32Array;
116
+ /** COLOR_0 attribute value */
117
+ colors: Uint8Array;
118
+ /** uvRegion attribute for a texture atlas */
119
+ uvRegions: Uint16Array;
120
+ /** TEXCOORD_0 attribute value */
121
+ texCoords: Float32Array;
122
+ };
123
+
124
+ /** Shared resources made from GLTF material */
125
+ export type SharedResourcesArrays = {
126
+ /** material definitions list https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitionInfo.cmn.md */
127
+ materialDefinitionInfos?: MaterialDefinitionInfo[];
128
+ /** texture definitions list https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureDefinitionInfo.cmn.md*/
129
+ textureDefinitionInfos?: TextureDefinitionInfo[];
130
+ /** node id to make unique SharedResource ids */
131
+ nodePath?: string;
132
+ };
133
+
134
+ /** I3S material definition and texture content taken from GLTF material */
135
+ export type I3SMaterialWithTexture = {
136
+ /** Material definition https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitions.cmn.md */
137
+ material: I3SMaterialDefinition;
138
+ /** Texture content (image) */
139
+ texture?: GLTFImagePostprocessed;
140
+ /** Metadata of all merged materials */
141
+ mergedMaterials: MergedMaterial[];
142
+ };
143
+
144
+ /** Metadata of some original texture */
145
+ export type MergedMaterial = {
146
+ /** Gltf material Id */
147
+ originalMaterialId: string;
148
+ /** Original texture size */
149
+ textureSize?: {
150
+ width: number;
151
+ height: number;
152
+ };
153
+ /** Uint16Array of 4 elements https://github.com/Esri/i3s-spec/blob/master/docs/1.7/geometryUVRegion.cmn.md */
154
+ uvRegion?: Uint16Array;
155
+ };
156
+
157
+ export type TypedArrayConstructor =
158
+ | Uint8ArrayConstructor
159
+ | Int8ArrayConstructor
160
+ | Uint16ArrayConstructor
161
+ | Int16ArrayConstructor
162
+ | Int32ArrayConstructor
163
+ | Uint32ArrayConstructor
164
+ | Float32ArrayConstructor
165
+ | Float64ArrayConstructor;
package/src/index.ts CHANGED
@@ -1,6 +1,2 @@
1
1
  export {default as I3SConverter} from './i3s-converter/i3s-converter';
2
- export {default as NodePages} from './i3s-converter/helpers/node-pages';
3
-
4
2
  export {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';
5
-
6
- export {DepsInstaller} from './deps-installer/deps-installer';
@@ -9,7 +9,13 @@ import {MD5Hash} from '@loaders.gl/crypto';
9
9
  import crypt from 'crypt';
10
10
  import {getAbsoluteFilePath} from './file-utils';
11
11
 
12
- export function compressFileWithGzip(pathFile) {
12
+ /**
13
+ * Compress file to gzip file
14
+ *
15
+ * @param pathFile - the path to the file
16
+ * @return the path to the gzip file
17
+ */
18
+ export function compressFileWithGzip(pathFile: string): Promise<string> {
13
19
  const compressedPathFile = `${pathFile}.gz`;
14
20
  const gzip = createGzip();
15
21
  const input = createReadStream(pathFile);
@@ -28,7 +34,18 @@ export function compressFileWithGzip(pathFile) {
28
34
  });
29
35
  }
30
36
 
31
- export async function compressFilesWithZip(fileMap, outputFile, level = 0) {
37
+ /**
38
+ * Compress files from map into slpk file
39
+ *
40
+ * @param fileMap - map with file paths (key: output path, value: input path)
41
+ * @param outputFile - output slpk file
42
+ * @param level - compression level
43
+ */
44
+ export async function compressFilesWithZip(
45
+ fileMap: {[key: string]: string},
46
+ outputFile: string,
47
+ level: number = 0
48
+ ) {
32
49
  // Before creating a new file, we need to delete the old file
33
50
  try {
34
51
  await removeFile(outputFile);
@@ -82,16 +99,44 @@ export async function compressFilesWithZip(fileMap, outputFile, level = 0) {
82
99
  });
83
100
  }
84
101
 
85
- export async function compressWithChildProcess() {
102
+ /**
103
+ * Compress files using external tool 'zip'/'7z'
104
+ *
105
+ * @param inputFolder - folder to archive - for cwd option
106
+ * @param outputFile - output slpk file
107
+ * @param level - compression level
108
+ * @param inputFiles - input files path to pass to the executable as option
109
+ * @param sevenZipExe - path to 7z.exe executable
110
+ */
111
+ export async function compressWithChildProcess(
112
+ inputFolder: string,
113
+ outputFile: string,
114
+ level: number,
115
+ inputFiles: string,
116
+ sevenZipExe: string
117
+ ) {
86
118
  // eslint-disable-next-line no-undef
87
119
  if (process.platform === 'win32') {
88
- await compressWithChildProcessWindows(...arguments);
120
+ await compressWithChildProcessWindows(inputFolder, outputFile, level, inputFiles, sevenZipExe);
89
121
  } else {
90
- await compressWithChildProcessUnix(...arguments);
122
+ await compressWithChildProcessUnix(inputFolder, outputFile, level, inputFiles);
91
123
  }
92
124
  }
93
125
 
94
- async function compressWithChildProcessUnix(inputFolder, outputFile, level = 0, inputFiles = '.') {
126
+ /**
127
+ * Compress files using external linux tool 'zip'
128
+ *
129
+ * @param inputFolder - folder to archive - for cwd option
130
+ * @param outputFile - output slpk file
131
+ * @param level - compression level
132
+ * @param inputFiles - input files path to pass to the executable as option
133
+ */
134
+ async function compressWithChildProcessUnix(
135
+ inputFolder: string,
136
+ outputFile: string,
137
+ level: number = 0,
138
+ inputFiles: string = '.'
139
+ ) {
95
140
  const fullOutputFile = getAbsoluteFilePath(outputFile);
96
141
  const args = [`-${level}`, '-r', fullOutputFile, inputFiles];
97
142
  const childProcess = new ChildProcessProxy();
@@ -105,12 +150,21 @@ async function compressWithChildProcessUnix(inputFolder, outputFile, level = 0,
105
150
  });
106
151
  }
107
152
 
153
+ /**
154
+ * Compress files using windows external tool '7z'
155
+ *
156
+ * @param inputFolder - folder to archive - for cwd option
157
+ * @param outputFile - output slpk file
158
+ * @param level - compression level
159
+ * @param inputFiles - input files path to pass to the executable as option
160
+ * @param sevenZipExe - path to 7z.exe executable
161
+ */
108
162
  async function compressWithChildProcessWindows(
109
- inputFolder,
110
- outputFile,
111
- level = 0,
112
- inputFiles = join('.', '*'),
113
- sevenZipExe
163
+ inputFolder: string,
164
+ outputFile: string,
165
+ level: number = 0,
166
+ inputFiles: string = join('.', '*'),
167
+ sevenZipExe: string
114
168
  ) {
115
169
  // Workaround for @listfile issue. In 7z.exe @-leading files are handled as listfiles
116
170
  // https://sevenzip.osdn.jp/chm/cmdline/syntax.htm
@@ -131,10 +185,17 @@ async function compressWithChildProcessWindows(
131
185
  });
132
186
  }
133
187
 
134
- export async function generateHash128FromZip(inputZipFile, outputFile) {
188
+ /**
189
+ * Generate hash file from zip archive
190
+ * https://github.com/Esri/i3s-spec/blob/master/docs/1.7/slpk_hashtable.cmn.md
191
+ *
192
+ * @param inputZipFile
193
+ * @param outputFile
194
+ */
195
+ export async function generateHash128FromZip(inputZipFile: string, outputFile: string) {
135
196
  const input = await fs.readFile(inputZipFile);
136
197
  const zip = await JSZip.loadAsync(input);
137
- const hashTable = [];
198
+ const hashTable: {key: string; value: string}[] = [];
138
199
  const zipFiles = zip.files;
139
200
  for (const relativePath in zipFiles) {
140
201
  const zipEntry = zipFiles[relativePath];
@@ -169,7 +230,7 @@ export async function generateHash128FromZip(inputZipFile, outputFile) {
169
230
  });
170
231
  for (const key in hashTable) {
171
232
  const item = hashTable[key];
172
- const value = _longToByteArray(item.value);
233
+ const value = longToByteArray(item.value);
173
234
  // TODO: perhaps you need to wait for the 'drain' event if the write returns 'false'
174
235
  // eslint-disable-next-line no-undef
175
236
  output.write(Buffer.from(crypt.hexToBytes(item.key).concat(value)));
@@ -178,19 +239,45 @@ export async function generateHash128FromZip(inputZipFile, outputFile) {
178
239
  });
179
240
  }
180
241
 
181
- function _longToByteArray(long) {
242
+ /**
243
+ * Encode 64 bit value to byte array
244
+ *
245
+ * @param long - stringified number
246
+ * @returns
247
+ */
248
+ function longToByteArray(long: string): number[] {
182
249
  const buffer = new ArrayBuffer(8); // JS numbers are 8 bytes long, or 64 bits
183
250
  const longNum = new Float64Array(buffer); // so equivalent to Float64
184
- longNum[0] = long;
251
+ longNum[0] = parseInt(long);
185
252
  return Array.from(new Uint8Array(buffer)).reverse(); // reverse to get little endian
186
253
  }
187
254
 
188
- export async function addFileToZip(inputFolder, fileName, zipFile, sevenZipExe) {
255
+ /**
256
+ * Add file to zip archive
257
+ *
258
+ * @param inputFile
259
+ * @param fileName
260
+ * @param zipFile
261
+ * @param sevenZipExe
262
+ */
263
+ export async function addFileToZip(
264
+ inputFolder: string,
265
+ fileName: string,
266
+ zipFile: string,
267
+ sevenZipExe: string
268
+ ) {
189
269
  await compressWithChildProcess(inputFolder, zipFile, 0, fileName, sevenZipExe);
190
270
  console.log(`${fileName} added to ${zipFile}.`); // eslint-disable-line
191
271
  }
192
272
 
193
- function appendFileToArchive(archive, subFileName, subFileData) {
273
+ /**
274
+ *
275
+ * @param archive zip archive instance
276
+ * @param subFileName file path inside archive
277
+ * @param subFileData source file path
278
+ * @returns
279
+ */
280
+ function appendFileToArchive(archive: any, subFileName: string, subFileData: string) {
194
281
  return new Promise((resolve) => {
195
282
  const fileStream = createReadStream(subFileData);
196
283
  console.log(`Compression start: ${subFileName}`); // eslint-disable-line no-undef,no-console