@itwin/core-common 3.4.0-dev.8 → 3.5.0-dev.11
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/CHANGELOG.md +33 -1
- package/lib/cjs/Camera.d.ts.map +1 -1
- package/lib/cjs/Camera.js +7 -3
- package/lib/cjs/Camera.js.map +1 -1
- package/lib/cjs/CloudStorage.d.ts +20 -5
- package/lib/cjs/CloudStorage.d.ts.map +1 -1
- package/lib/cjs/CloudStorage.js +13 -3
- package/lib/cjs/CloudStorage.js.map +1 -1
- package/lib/cjs/CloudStorageTileCache.d.ts +4 -1
- package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
- package/lib/cjs/CloudStorageTileCache.js +5 -1
- package/lib/cjs/CloudStorageTileCache.js.map +1 -1
- package/lib/cjs/Code.d.ts +10 -4
- package/lib/cjs/Code.d.ts.map +1 -1
- package/lib/cjs/Code.js +6 -2
- package/lib/cjs/Code.js.map +1 -1
- package/lib/cjs/ColorDef.d.ts.map +1 -1
- package/lib/cjs/ColorDef.js +2 -0
- package/lib/cjs/ColorDef.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +56 -14
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/ContextRealityModel.d.ts +21 -0
- package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
- package/lib/cjs/ContextRealityModel.js +33 -0
- package/lib/cjs/ContextRealityModel.js.map +1 -1
- package/lib/cjs/DisplayStyleSettings.d.ts +32 -0
- package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleSettings.js +30 -0
- package/lib/cjs/DisplayStyleSettings.js.map +1 -1
- package/lib/cjs/ECSchemaProps.d.ts +40 -0
- package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
- package/lib/cjs/ECSchemaProps.js +10 -0
- package/lib/cjs/ECSchemaProps.js.map +1 -0
- package/lib/cjs/ElementProps.d.ts +6 -0
- package/lib/cjs/ElementProps.d.ts.map +1 -1
- package/lib/cjs/ElementProps.js.map +1 -1
- package/lib/cjs/FeatureGates.d.ts.map +1 -1
- package/lib/cjs/FeatureGates.js +6 -2
- package/lib/cjs/FeatureGates.js.map +1 -1
- package/lib/cjs/FeatureIndex.d.ts.map +1 -1
- package/lib/cjs/FeatureIndex.js +5 -1
- package/lib/cjs/FeatureIndex.js.map +1 -1
- package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/FeatureSymbology.js.map +1 -1
- package/lib/cjs/Fonts.d.ts.map +1 -1
- package/lib/cjs/Fonts.js.map +1 -1
- package/lib/cjs/Frustum.d.ts.map +1 -1
- package/lib/cjs/Frustum.js +55 -21
- package/lib/cjs/Frustum.js.map +1 -1
- package/lib/cjs/Gradient.d.ts +18 -2
- package/lib/cjs/Gradient.d.ts.map +1 -1
- package/lib/cjs/Gradient.js +29 -18
- package/lib/cjs/Gradient.js.map +1 -1
- package/lib/cjs/IModel.d.ts +4 -0
- package/lib/cjs/IModel.d.ts.map +1 -1
- package/lib/cjs/IModel.js +8 -1
- package/lib/cjs/IModel.js.map +1 -1
- package/lib/cjs/Image.d.ts.map +1 -1
- package/lib/cjs/Image.js +3 -1
- package/lib/cjs/Image.js.map +1 -1
- package/lib/cjs/Localization.d.ts +4 -5
- package/lib/cjs/Localization.d.ts.map +1 -1
- package/lib/cjs/Localization.js.map +1 -1
- package/lib/cjs/QPoint.d.ts +185 -5
- package/lib/cjs/QPoint.d.ts.map +1 -1
- package/lib/cjs/QPoint.js +204 -4
- package/lib/cjs/QPoint.js.map +1 -1
- package/lib/cjs/RealityModelDisplaySettings.d.ts +119 -0
- package/lib/cjs/RealityModelDisplaySettings.d.ts.map +1 -0
- package/lib/cjs/RealityModelDisplaySettings.js +115 -0
- package/lib/cjs/RealityModelDisplaySettings.js.map +1 -0
- package/lib/cjs/Render.d.ts.map +1 -1
- package/lib/cjs/Render.js +11 -3
- package/lib/cjs/Render.js.map +1 -1
- package/lib/cjs/RgbColor.d.ts +9 -1
- package/lib/cjs/RgbColor.d.ts.map +1 -1
- package/lib/cjs/RgbColor.js +12 -2
- package/lib/cjs/RgbColor.js.map +1 -1
- package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
- package/lib/cjs/SubCategoryOverride.js.map +1 -1
- package/lib/cjs/TerrainSettings.d.ts +12 -7
- package/lib/cjs/TerrainSettings.d.ts.map +1 -1
- package/lib/cjs/TerrainSettings.js +2 -1
- package/lib/cjs/TerrainSettings.js.map +1 -1
- package/lib/cjs/ThematicDisplay.d.ts +6 -10
- package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
- package/lib/cjs/ThematicDisplay.js.map +1 -1
- package/lib/cjs/TileProps.d.ts +5 -0
- package/lib/cjs/TileProps.d.ts.map +1 -1
- package/lib/cjs/TileProps.js +12 -1
- package/lib/cjs/TileProps.js.map +1 -1
- package/lib/cjs/ViewFlags.d.ts.map +1 -1
- package/lib/cjs/ViewFlags.js.map +1 -1
- package/lib/cjs/core-common.d.ts +2 -0
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +2 -0
- package/lib/cjs/core-common.js.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.js +8 -2
- package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
- package/lib/cjs/geometry/TextString.d.ts.map +1 -1
- package/lib/cjs/geometry/TextString.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.d.ts +3 -0
- package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.js +28 -14
- package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocketTransport.js +10 -3
- package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.js +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +9 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.js +12 -2
- package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConfiguration.js +1 -1
- package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.d.ts +3 -1
- package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.js +4 -1
- package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.js +8 -2
- package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +3 -0
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js +17 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.js +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
- package/lib/cjs/tile/I3dmTileIO.d.ts.map +1 -1
- package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
- package/lib/esm/Camera.d.ts.map +1 -1
- package/lib/esm/Camera.js +7 -3
- package/lib/esm/Camera.js.map +1 -1
- package/lib/esm/CloudStorage.d.ts +20 -5
- package/lib/esm/CloudStorage.d.ts.map +1 -1
- package/lib/esm/CloudStorage.js +13 -3
- package/lib/esm/CloudStorage.js.map +1 -1
- package/lib/esm/CloudStorageTileCache.d.ts +4 -1
- package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
- package/lib/esm/CloudStorageTileCache.js +5 -1
- package/lib/esm/CloudStorageTileCache.js.map +1 -1
- package/lib/esm/Code.d.ts +10 -4
- package/lib/esm/Code.d.ts.map +1 -1
- package/lib/esm/Code.js +6 -2
- package/lib/esm/Code.js.map +1 -1
- package/lib/esm/ColorDef.d.ts.map +1 -1
- package/lib/esm/ColorDef.js +2 -0
- package/lib/esm/ColorDef.js.map +1 -1
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +56 -14
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/ContextRealityModel.d.ts +21 -0
- package/lib/esm/ContextRealityModel.d.ts.map +1 -1
- package/lib/esm/ContextRealityModel.js +33 -0
- package/lib/esm/ContextRealityModel.js.map +1 -1
- package/lib/esm/DisplayStyleSettings.d.ts +32 -0
- package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/esm/DisplayStyleSettings.js +30 -0
- package/lib/esm/DisplayStyleSettings.js.map +1 -1
- package/lib/esm/ECSchemaProps.d.ts +40 -0
- package/lib/esm/ECSchemaProps.d.ts.map +1 -0
- package/lib/esm/ECSchemaProps.js +9 -0
- package/lib/esm/ECSchemaProps.js.map +1 -0
- package/lib/esm/ElementProps.d.ts +6 -0
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js.map +1 -1
- package/lib/esm/FeatureGates.d.ts.map +1 -1
- package/lib/esm/FeatureGates.js +6 -2
- package/lib/esm/FeatureGates.js.map +1 -1
- package/lib/esm/FeatureIndex.d.ts.map +1 -1
- package/lib/esm/FeatureIndex.js +5 -1
- package/lib/esm/FeatureIndex.js.map +1 -1
- package/lib/esm/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/FeatureSymbology.js.map +1 -1
- package/lib/esm/Fonts.d.ts.map +1 -1
- package/lib/esm/Fonts.js.map +1 -1
- package/lib/esm/Frustum.d.ts.map +1 -1
- package/lib/esm/Frustum.js +55 -21
- package/lib/esm/Frustum.js.map +1 -1
- package/lib/esm/Gradient.d.ts +18 -2
- package/lib/esm/Gradient.d.ts.map +1 -1
- package/lib/esm/Gradient.js +29 -18
- package/lib/esm/Gradient.js.map +1 -1
- package/lib/esm/IModel.d.ts +4 -0
- package/lib/esm/IModel.d.ts.map +1 -1
- package/lib/esm/IModel.js +8 -1
- package/lib/esm/IModel.js.map +1 -1
- package/lib/esm/Image.d.ts.map +1 -1
- package/lib/esm/Image.js +3 -1
- package/lib/esm/Image.js.map +1 -1
- package/lib/esm/Localization.d.ts +4 -5
- package/lib/esm/Localization.d.ts.map +1 -1
- package/lib/esm/Localization.js.map +1 -1
- package/lib/esm/QPoint.d.ts +185 -5
- package/lib/esm/QPoint.d.ts.map +1 -1
- package/lib/esm/QPoint.js +203 -5
- package/lib/esm/QPoint.js.map +1 -1
- package/lib/esm/RealityModelDisplaySettings.d.ts +119 -0
- package/lib/esm/RealityModelDisplaySettings.d.ts.map +1 -0
- package/lib/esm/RealityModelDisplaySettings.js +110 -0
- package/lib/esm/RealityModelDisplaySettings.js.map +1 -0
- package/lib/esm/Render.d.ts.map +1 -1
- package/lib/esm/Render.js +11 -3
- package/lib/esm/Render.js.map +1 -1
- package/lib/esm/RgbColor.d.ts +9 -1
- package/lib/esm/RgbColor.d.ts.map +1 -1
- package/lib/esm/RgbColor.js +12 -2
- package/lib/esm/RgbColor.js.map +1 -1
- package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
- package/lib/esm/SubCategoryOverride.js.map +1 -1
- package/lib/esm/TerrainSettings.d.ts +12 -7
- package/lib/esm/TerrainSettings.d.ts.map +1 -1
- package/lib/esm/TerrainSettings.js +2 -1
- package/lib/esm/TerrainSettings.js.map +1 -1
- package/lib/esm/ThematicDisplay.d.ts +6 -10
- package/lib/esm/ThematicDisplay.d.ts.map +1 -1
- package/lib/esm/ThematicDisplay.js.map +1 -1
- package/lib/esm/TileProps.d.ts +5 -0
- package/lib/esm/TileProps.d.ts.map +1 -1
- package/lib/esm/TileProps.js +10 -0
- package/lib/esm/TileProps.js.map +1 -1
- package/lib/esm/ViewFlags.d.ts.map +1 -1
- package/lib/esm/ViewFlags.js.map +1 -1
- package/lib/esm/core-common.d.ts +2 -0
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +2 -0
- package/lib/esm/core-common.js.map +1 -1
- package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
- package/lib/esm/geometry/BoundingSphere.js +8 -2
- package/lib/esm/geometry/BoundingSphere.js.map +1 -1
- package/lib/esm/geometry/TextString.d.ts.map +1 -1
- package/lib/esm/geometry/TextString.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.d.ts +3 -0
- package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.js +28 -14
- package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocketTransport.js +10 -3
- package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.js +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts +9 -1
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.js +12 -2
- package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/esm/rpc/core/RpcConfiguration.js +1 -1
- package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.d.ts +3 -1
- package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.js +4 -1
- package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.js +8 -2
- package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +3 -0
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js +17 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.js +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
- package/lib/esm/tile/I3dmTileIO.d.ts.map +1 -1
- package/lib/esm/tile/I3dmTileIO.js.map +1 -1
- package/package.json +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcMultipartParser.js","sourceRoot":"","sources":["../../../../../src/rpc/web/multipart/RpcMultipartParser.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\n/*\r\nAdapted from https://github.com/pillarjs/multiparty. Multiparty license as follows:\r\n(The MIT License)\r\n\r\nCopyright (c) 2013 Felix Geisendörfer\r\nCopyright (c) 2014 Andrew Kelley\r\nCopyright (c) 2014 Douglas Christopher Wilson\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining\r\na copy of this software and associated documentation files (the\r\n'Software'), to deal in the Software without restriction, including\r\nwithout limitation the rights to use, copy, modify, merge, publish,\r\ndistribute, sublicense, and/or sell copies of the Software, and to\r\npermit persons to whom the Software is furnished to do so, subject to\r\nthe following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be\r\nincluded in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\r\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n*/\r\nimport { Buffer } from \"buffer\";\r\nimport { StringDecoder } from \"string_decoder\";\r\nimport { RpcSerializedValue } from \"../../core/RpcMarshaling\";\r\n\r\nconst START = 0;\r\nconst START_BOUNDARY = 1;\r\nconst HEADER_FIELD_START = 2;\r\nconst HEADER_FIELD = 3;\r\nconst HEADER_VALUE_START = 4;\r\nconst HEADER_VALUE = 5;\r\nconst HEADER_VALUE_ALMOST_DONE = 6;\r\nconst HEADERS_ALMOST_DONE = 7;\r\nconst PART_DATA_START = 8;\r\nconst PART_DATA = 9;\r\nconst CLOSE_BOUNDARY = 10;\r\nconst END = 11;\r\n\r\nconst LF = 10;\r\nconst CR = 13;\r\nconst SPACE = 32;\r\nconst HYPHEN = 45;\r\nconst COLON = 58;\r\nconst A = 97;\r\nconst Z = 122;\r\n\r\nconst CONTENT_TYPE_RE = /^multipart\\/(?:form-data|related)(?:;|$)/i;\r\nconst CONTENT_TYPE_PARAM_RE = /;\\s*([^=]+)=(?:\"([^\"]+)\"|([^;]+))/gi;\r\n\r\n/** @internal */\r\nexport class RpcMultipartParser {\r\n private _headerFieldMark: number | null;\r\n private _headerValueMark: number | null;\r\n private _partDataMark: number | null;\r\n private _partBoundaryFlag: boolean;\r\n private _headerFieldDecoder: StringDecoder | null;\r\n private _headerValueDecoder: StringDecoder | null;\r\n private _headerField: string;\r\n private _partHeaders: { [index: string]: string };\r\n private _partName: string | null;\r\n private _partChunks: Buffer[];\r\n private _headerValue: string;\r\n private _boundary: string;\r\n private _buffer: Buffer;\r\n private _value: RpcSerializedValue;\r\n\r\n public constructor(contentType: string, buffer: Buffer) {\r\n let m = CONTENT_TYPE_RE.exec(contentType);\r\n if (!m) {\r\n throw new Error(\"unsupported content-type\");\r\n }\r\n\r\n let boundary = \"\";\r\n CONTENT_TYPE_PARAM_RE.lastIndex = m.index + m[0].length - 1;\r\n while ((m = CONTENT_TYPE_PARAM_RE.exec(contentType))) {\r\n if (m[1].toLowerCase() !== \"boundary\") continue;\r\n boundary = m[2] || m[3];\r\n break;\r\n }\r\n\r\n if (!boundary) {\r\n throw new Error(\"content-type missing boundary\");\r\n }\r\n\r\n this._headerFieldDecoder = null;\r\n this._headerValueDecoder = null;\r\n this._headerField = \"\";\r\n this._partHeaders = {};\r\n this._partName = null;\r\n this._partChunks = [];\r\n this._headerValue = \"\";\r\n\r\n this._headerFieldMark = null;\r\n this._headerValueMark = null;\r\n this._partDataMark = null;\r\n this._partBoundaryFlag = false;\r\n\r\n this._boundary = boundary;\r\n this._buffer = buffer;\r\n this._value = RpcSerializedValue.create();\r\n }\r\n\r\n public parse(): RpcSerializedValue {\r\n let i = 0;\r\n const len = this._buffer.length;\r\n let prevIndex = 0;\r\n let index = 0;\r\n let state = START;\r\n\r\n const boundary = Buffer.alloc(this._boundary.length + 4);\r\n boundary.write(\"\\r\\n--\", 0, this._boundary.length + 4, \"ascii\");\r\n boundary.write(this._boundary, 4, this._boundary.length, \"ascii\");\r\n\r\n const boundaryChars: { [index: number]: boolean } = {};\r\n for (const char of boundary) {\r\n boundaryChars[char] = true;\r\n }\r\n\r\n const boundaryLength = boundary.length;\r\n const boundaryEnd = boundaryLength - 1;\r\n const bufferLength = this._buffer.length;\r\n const lookbehind = Buffer.alloc(boundaryLength + 8);\r\n\r\n let c;\r\n let cl;\r\n\r\n for (i = 0; i < len; i++) {\r\n c = this._buffer[i];\r\n switch (state) {\r\n case START:\r\n index = 0;\r\n state = START_BOUNDARY;\r\n /* falls through */\r\n case START_BOUNDARY:\r\n if (index === boundaryLength - 2 && c === HYPHEN) {\r\n index = 1;\r\n state = CLOSE_BOUNDARY;\r\n break;\r\n } else if (index === boundaryLength - 2) {\r\n if (c !== CR) throw new Error(`Expected CR Received ${c}`);\r\n index++;\r\n break;\r\n } else if (index === boundaryLength - 1) {\r\n if (c !== LF) throw new Error(`Expected LF Received ${c}`);\r\n index = 0;\r\n this._onParsePartBegin();\r\n state = HEADER_FIELD_START;\r\n break;\r\n }\r\n\r\n if (c !== boundary[index + 2]) index = -2;\r\n if (c === boundary[index + 2]) index++;\r\n break;\r\n case HEADER_FIELD_START:\r\n state = HEADER_FIELD;\r\n this._headerFieldMark = i;\r\n index = 0;\r\n /* falls through */\r\n case HEADER_FIELD:\r\n if (c === CR) {\r\n this._headerFieldMark = null;\r\n state = HEADERS_ALMOST_DONE;\r\n break;\r\n }\r\n\r\n index++;\r\n if (c === HYPHEN) break;\r\n\r\n if (c === COLON) {\r\n if (index === 1) {\r\n // empty header field\r\n throw new Error(\"Empty header field\");\r\n }\r\n this._onParseHeaderField(this._buffer.slice(this._headerFieldMark as number, i));\r\n this._headerFieldMark = null;\r\n state = HEADER_VALUE_START;\r\n break;\r\n }\r\n\r\n cl = c | 0x20;\r\n if (cl < A || cl > Z) {\r\n throw new Error(`Expected alphabetic character, received ${c}`);\r\n }\r\n break;\r\n case HEADER_VALUE_START:\r\n if (c === SPACE) break;\r\n\r\n this._headerValueMark = i;\r\n state = HEADER_VALUE;\r\n /* falls through */\r\n case HEADER_VALUE:\r\n if (c === CR) {\r\n this._onParseHeaderValue(this._buffer.slice(this._headerValueMark as number, i));\r\n this._headerValueMark = null;\r\n this._onParseHeaderEnd();\r\n state = HEADER_VALUE_ALMOST_DONE;\r\n }\r\n break;\r\n case HEADER_VALUE_ALMOST_DONE:\r\n if (c !== LF) throw new Error(`Expected LF Received ${c}`);\r\n state = HEADER_FIELD_START;\r\n break;\r\n case HEADERS_ALMOST_DONE:\r\n if (c !== LF) throw new Error(`Expected LF Received ${c}`);\r\n const err: any = this._onParseHeadersEnd(i + 1);\r\n if (err) throw err;\r\n state = PART_DATA_START;\r\n break;\r\n case PART_DATA_START:\r\n state = PART_DATA;\r\n this._partDataMark = i;\r\n /* falls through */\r\n case PART_DATA:\r\n prevIndex = index;\r\n\r\n if (index === 0) {\r\n // boyer-moore derived algorithm to safely skip non-boundary data\r\n i += boundaryEnd;\r\n while (i < bufferLength && !(this._buffer[i] in boundaryChars)) {\r\n i += boundaryLength;\r\n }\r\n i -= boundaryEnd;\r\n c = this._buffer[i];\r\n }\r\n\r\n if (index < boundaryLength) {\r\n if (boundary[index] === c) {\r\n if (index === 0) {\r\n this._onParsePartData(this._buffer.slice(this._partDataMark as number, i));\r\n this._partDataMark = null;\r\n }\r\n index++;\r\n } else {\r\n index = 0;\r\n }\r\n } else if (index === boundaryLength) {\r\n index++;\r\n if (c === CR) {\r\n // CR = part boundary\r\n this._partBoundaryFlag = true;\r\n } else if (c === HYPHEN) {\r\n index = 1;\r\n state = CLOSE_BOUNDARY;\r\n break;\r\n } else {\r\n index = 0;\r\n }\r\n } else if (index - 1 === boundaryLength) {\r\n if (this._partBoundaryFlag) {\r\n index = 0;\r\n if (c === LF) {\r\n this._partBoundaryFlag = false;\r\n this._onParsePartEnd();\r\n this._onParsePartBegin();\r\n state = HEADER_FIELD_START;\r\n break;\r\n }\r\n } else {\r\n index = 0;\r\n }\r\n }\r\n\r\n if (index > 0) {\r\n // when matching a possible boundary, keep a lookbehind reference\r\n // in case it turns out to be a false lead\r\n lookbehind[index - 1] = c;\r\n } else if (prevIndex > 0) {\r\n // if our boundary turned out to be rubbish, the captured lookbehind\r\n // belongs to partData\r\n this._onParsePartData(lookbehind.slice(0, prevIndex));\r\n prevIndex = 0;\r\n this._partDataMark = i;\r\n\r\n // reconsider the current character even so it interrupted the sequence\r\n // it could be the beginning of a new sequence\r\n i--;\r\n }\r\n\r\n break;\r\n case CLOSE_BOUNDARY:\r\n if (c !== HYPHEN) throw new Error(`Expected HYPHEN Received ${c}`);\r\n if (index === 1) {\r\n this._onParsePartEnd();\r\n state = END;\r\n } else if (index > 1) {\r\n throw new Error(\"Parser has invalid state.\");\r\n }\r\n index++;\r\n break;\r\n case END:\r\n break;\r\n default:\r\n throw new Error(\"Parser has invalid state.\");\r\n }\r\n }\r\n\r\n if (this._headerFieldMark != null) {\r\n this._onParseHeaderField(this._buffer.slice(this._headerFieldMark));\r\n this._headerFieldMark = 0;\r\n }\r\n if (this._headerValueMark != null) {\r\n this._onParseHeaderValue(this._buffer.slice(this._headerValueMark));\r\n this._headerValueMark = 0;\r\n }\r\n if (this._partDataMark != null) {\r\n this._onParsePartData(this._buffer.slice(this._partDataMark));\r\n this._partDataMark = 0;\r\n }\r\n\r\n return this._value;\r\n }\r\n\r\n private _onParsePartBegin() {\r\n this._clearPartVars();\r\n }\r\n\r\n private _clearPartVars() {\r\n this._partHeaders = {};\r\n this._partName = null;\r\n this._partChunks.length = 0;\r\n\r\n this._headerFieldDecoder = new StringDecoder(\"utf8\");\r\n this._headerField = \"\";\r\n this._headerValueDecoder = new StringDecoder(\"utf8\");\r\n this._headerValue = \"\";\r\n }\r\n\r\n private _onParseHeaderField(b: Buffer) {\r\n this._headerField += this._headerFieldDecoder!.write(b);\r\n }\r\n\r\n private _onParseHeaderValue(b: Buffer) {\r\n this._headerValue += this._headerValueDecoder!.write(b);\r\n }\r\n\r\n private _onParseHeaderEnd() {\r\n this._headerField = this._headerField.toLowerCase();\r\n this._partHeaders[this._headerField] = this._headerValue;\r\n\r\n let m: RegExpMatchArray | null;\r\n if (this._headerField === \"content-disposition\") {\r\n if (m = this._headerValue.match(/\\bname=\"([^\"]+)\"/i)) {\r\n this._partName = m[1];\r\n }\r\n // this._partFilename = parseFilename(this._headerValue);\r\n } else if (this._headerField === \"content-transfer-encoding\") {\r\n // this._partTransferEncoding = this._headerValue.toLowerCase();\r\n }\r\n\r\n this._headerFieldDecoder = new StringDecoder(\"utf8\");\r\n this._headerField = \"\";\r\n this._headerValueDecoder = new StringDecoder(\"utf8\");\r\n this._headerValue = \"\";\r\n }\r\n\r\n private _onParsePartData(b: Buffer) {\r\n this._partChunks.push(b);\r\n }\r\n\r\n private _onParsePartEnd() {\r\n const partValue = this._partChunks.length === 1 ? this._partChunks[0] : Buffer.concat(this._partChunks);\r\n\r\n if (this._partName === \"objects\") {\r\n this._value.objects = partValue.toString();\r\n } else {\r\n this._value.data.push(partValue);\r\n }\r\n\r\n this._clearPartVars();\r\n }\r\n\r\n private _onParseHeadersEnd(_offset: number) {\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RpcMultipartParser.js","sourceRoot":"","sources":["../../../../../src/rpc/web/multipart/RpcMultipartParser.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RpcInterface\r\n */\r\n\r\n/*\r\nAdapted from https://github.com/pillarjs/multiparty. Multiparty license as follows:\r\n(The MIT License)\r\n\r\nCopyright (c) 2013 Felix Geisendörfer\r\nCopyright (c) 2014 Andrew Kelley\r\nCopyright (c) 2014 Douglas Christopher Wilson\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining\r\na copy of this software and associated documentation files (the\r\n'Software'), to deal in the Software without restriction, including\r\nwithout limitation the rights to use, copy, modify, merge, publish,\r\ndistribute, sublicense, and/or sell copies of the Software, and to\r\npermit persons to whom the Software is furnished to do so, subject to\r\nthe following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be\r\nincluded in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\r\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n*/\r\nimport { Buffer } from \"buffer\";\r\nimport { StringDecoder } from \"string_decoder\";\r\nimport { RpcSerializedValue } from \"../../core/RpcMarshaling\";\r\n\r\nconst START = 0;\r\nconst START_BOUNDARY = 1;\r\nconst HEADER_FIELD_START = 2;\r\nconst HEADER_FIELD = 3;\r\nconst HEADER_VALUE_START = 4;\r\nconst HEADER_VALUE = 5;\r\nconst HEADER_VALUE_ALMOST_DONE = 6;\r\nconst HEADERS_ALMOST_DONE = 7;\r\nconst PART_DATA_START = 8;\r\nconst PART_DATA = 9;\r\nconst CLOSE_BOUNDARY = 10;\r\nconst END = 11;\r\n\r\nconst LF = 10;\r\nconst CR = 13;\r\nconst SPACE = 32;\r\nconst HYPHEN = 45;\r\nconst COLON = 58;\r\nconst A = 97;\r\nconst Z = 122;\r\n\r\nconst CONTENT_TYPE_RE = /^multipart\\/(?:form-data|related)(?:;|$)/i;\r\nconst CONTENT_TYPE_PARAM_RE = /;\\s*([^=]+)=(?:\"([^\"]+)\"|([^;]+))/gi;\r\n\r\n/** @internal */\r\nexport class RpcMultipartParser {\r\n private _headerFieldMark: number | null;\r\n private _headerValueMark: number | null;\r\n private _partDataMark: number | null;\r\n private _partBoundaryFlag: boolean;\r\n private _headerFieldDecoder: StringDecoder | null;\r\n private _headerValueDecoder: StringDecoder | null;\r\n private _headerField: string;\r\n private _partHeaders: { [index: string]: string };\r\n private _partName: string | null;\r\n private _partChunks: Buffer[];\r\n private _headerValue: string;\r\n private _boundary: string;\r\n private _buffer: Buffer;\r\n private _value: RpcSerializedValue;\r\n\r\n public constructor(contentType: string, buffer: Buffer) {\r\n let m = CONTENT_TYPE_RE.exec(contentType);\r\n if (!m) {\r\n throw new Error(\"unsupported content-type\");\r\n }\r\n\r\n let boundary = \"\";\r\n CONTENT_TYPE_PARAM_RE.lastIndex = m.index + m[0].length - 1;\r\n while ((m = CONTENT_TYPE_PARAM_RE.exec(contentType))) {\r\n if (m[1].toLowerCase() !== \"boundary\")\r\n continue;\r\n\r\n boundary = m[2] || m[3];\r\n break;\r\n }\r\n\r\n if (!boundary) {\r\n throw new Error(\"content-type missing boundary\");\r\n }\r\n\r\n this._headerFieldDecoder = null;\r\n this._headerValueDecoder = null;\r\n this._headerField = \"\";\r\n this._partHeaders = {};\r\n this._partName = null;\r\n this._partChunks = [];\r\n this._headerValue = \"\";\r\n\r\n this._headerFieldMark = null;\r\n this._headerValueMark = null;\r\n this._partDataMark = null;\r\n this._partBoundaryFlag = false;\r\n\r\n this._boundary = boundary;\r\n this._buffer = buffer;\r\n this._value = RpcSerializedValue.create();\r\n }\r\n\r\n public parse(): RpcSerializedValue {\r\n let i = 0;\r\n const len = this._buffer.length;\r\n let prevIndex = 0;\r\n let index = 0;\r\n let state = START;\r\n\r\n const boundary = Buffer.alloc(this._boundary.length + 4);\r\n boundary.write(\"\\r\\n--\", 0, this._boundary.length + 4, \"ascii\");\r\n boundary.write(this._boundary, 4, this._boundary.length, \"ascii\");\r\n\r\n const boundaryChars: { [index: number]: boolean } = {};\r\n for (const char of boundary) {\r\n boundaryChars[char] = true;\r\n }\r\n\r\n const boundaryLength = boundary.length;\r\n const boundaryEnd = boundaryLength - 1;\r\n const bufferLength = this._buffer.length;\r\n const lookbehind = Buffer.alloc(boundaryLength + 8);\r\n\r\n let c;\r\n let cl;\r\n\r\n for (i = 0; i < len; i++) {\r\n c = this._buffer[i];\r\n switch (state) {\r\n case START:\r\n index = 0;\r\n state = START_BOUNDARY;\r\n /* falls through */\r\n case START_BOUNDARY:\r\n if (index === boundaryLength - 2 && c === HYPHEN) {\r\n index = 1;\r\n state = CLOSE_BOUNDARY;\r\n break;\r\n } else if (index === boundaryLength - 2) {\r\n if (c !== CR)\r\n throw new Error(`Expected CR Received ${c}`);\r\n\r\n index++;\r\n break;\r\n } else if (index === boundaryLength - 1) {\r\n if (c !== LF)\r\n throw new Error(`Expected LF Received ${c}`);\r\n\r\n index = 0;\r\n this._onParsePartBegin();\r\n state = HEADER_FIELD_START;\r\n break;\r\n }\r\n\r\n if (c !== boundary[index + 2])\r\n index = -2;\r\n\r\n if (c === boundary[index + 2])\r\n index++;\r\n\r\n break;\r\n case HEADER_FIELD_START:\r\n state = HEADER_FIELD;\r\n this._headerFieldMark = i;\r\n index = 0;\r\n /* falls through */\r\n case HEADER_FIELD:\r\n if (c === CR) {\r\n this._headerFieldMark = null;\r\n state = HEADERS_ALMOST_DONE;\r\n break;\r\n }\r\n\r\n index++;\r\n if (c === HYPHEN)\r\n break;\r\n\r\n if (c === COLON) {\r\n if (index === 1) {\r\n // empty header field\r\n throw new Error(\"Empty header field\");\r\n }\r\n this._onParseHeaderField(this._buffer.slice(this._headerFieldMark as number, i));\r\n this._headerFieldMark = null;\r\n state = HEADER_VALUE_START;\r\n break;\r\n }\r\n\r\n cl = c | 0x20;\r\n if (cl < A || cl > Z) {\r\n throw new Error(`Expected alphabetic character, received ${c}`);\r\n }\r\n break;\r\n case HEADER_VALUE_START:\r\n if (c === SPACE)\r\n break;\r\n\r\n this._headerValueMark = i;\r\n state = HEADER_VALUE;\r\n /* falls through */\r\n case HEADER_VALUE:\r\n if (c === CR) {\r\n this._onParseHeaderValue(this._buffer.slice(this._headerValueMark as number, i));\r\n this._headerValueMark = null;\r\n this._onParseHeaderEnd();\r\n state = HEADER_VALUE_ALMOST_DONE;\r\n }\r\n break;\r\n case HEADER_VALUE_ALMOST_DONE:\r\n if (c !== LF)\r\n throw new Error(`Expected LF Received ${c}`);\r\n\r\n state = HEADER_FIELD_START;\r\n break;\r\n case HEADERS_ALMOST_DONE:\r\n if (c !== LF)\r\n throw new Error(`Expected LF Received ${c}`);\r\n\r\n const err: any = this._onParseHeadersEnd(i + 1);\r\n if (err)\r\n throw err;\r\n\r\n state = PART_DATA_START;\r\n break;\r\n case PART_DATA_START:\r\n state = PART_DATA;\r\n this._partDataMark = i;\r\n /* falls through */\r\n case PART_DATA:\r\n prevIndex = index;\r\n\r\n if (index === 0) {\r\n // boyer-moore derived algorithm to safely skip non-boundary data\r\n i += boundaryEnd;\r\n while (i < bufferLength && !(this._buffer[i] in boundaryChars)) {\r\n i += boundaryLength;\r\n }\r\n i -= boundaryEnd;\r\n c = this._buffer[i];\r\n }\r\n\r\n if (index < boundaryLength) {\r\n if (boundary[index] === c) {\r\n if (index === 0) {\r\n this._onParsePartData(this._buffer.slice(this._partDataMark as number, i));\r\n this._partDataMark = null;\r\n }\r\n index++;\r\n } else {\r\n index = 0;\r\n }\r\n } else if (index === boundaryLength) {\r\n index++;\r\n if (c === CR) {\r\n // CR = part boundary\r\n this._partBoundaryFlag = true;\r\n } else if (c === HYPHEN) {\r\n index = 1;\r\n state = CLOSE_BOUNDARY;\r\n break;\r\n } else {\r\n index = 0;\r\n }\r\n } else if (index - 1 === boundaryLength) {\r\n if (this._partBoundaryFlag) {\r\n index = 0;\r\n if (c === LF) {\r\n this._partBoundaryFlag = false;\r\n this._onParsePartEnd();\r\n this._onParsePartBegin();\r\n state = HEADER_FIELD_START;\r\n break;\r\n }\r\n } else {\r\n index = 0;\r\n }\r\n }\r\n\r\n if (index > 0) {\r\n // when matching a possible boundary, keep a lookbehind reference\r\n // in case it turns out to be a false lead\r\n lookbehind[index - 1] = c;\r\n } else if (prevIndex > 0) {\r\n // if our boundary turned out to be rubbish, the captured lookbehind\r\n // belongs to partData\r\n this._onParsePartData(lookbehind.slice(0, prevIndex));\r\n prevIndex = 0;\r\n this._partDataMark = i;\r\n\r\n // reconsider the current character even so it interrupted the sequence\r\n // it could be the beginning of a new sequence\r\n i--;\r\n }\r\n\r\n break;\r\n case CLOSE_BOUNDARY:\r\n if (c !== HYPHEN)\r\n throw new Error(`Expected HYPHEN Received ${c}`);\r\n\r\n if (index === 1) {\r\n this._onParsePartEnd();\r\n state = END;\r\n } else if (index > 1) {\r\n throw new Error(\"Parser has invalid state.\");\r\n }\r\n index++;\r\n break;\r\n case END:\r\n break;\r\n default:\r\n throw new Error(\"Parser has invalid state.\");\r\n }\r\n }\r\n\r\n if (this._headerFieldMark != null) {\r\n this._onParseHeaderField(this._buffer.slice(this._headerFieldMark));\r\n this._headerFieldMark = 0;\r\n }\r\n if (this._headerValueMark != null) {\r\n this._onParseHeaderValue(this._buffer.slice(this._headerValueMark));\r\n this._headerValueMark = 0;\r\n }\r\n if (this._partDataMark != null) {\r\n this._onParsePartData(this._buffer.slice(this._partDataMark));\r\n this._partDataMark = 0;\r\n }\r\n\r\n return this._value;\r\n }\r\n\r\n private _onParsePartBegin() {\r\n this._clearPartVars();\r\n }\r\n\r\n private _clearPartVars() {\r\n this._partHeaders = {};\r\n this._partName = null;\r\n this._partChunks.length = 0;\r\n\r\n this._headerFieldDecoder = new StringDecoder(\"utf8\");\r\n this._headerField = \"\";\r\n this._headerValueDecoder = new StringDecoder(\"utf8\");\r\n this._headerValue = \"\";\r\n }\r\n\r\n private _onParseHeaderField(b: Buffer) {\r\n this._headerField += this._headerFieldDecoder!.write(b);\r\n }\r\n\r\n private _onParseHeaderValue(b: Buffer) {\r\n this._headerValue += this._headerValueDecoder!.write(b);\r\n }\r\n\r\n private _onParseHeaderEnd() {\r\n this._headerField = this._headerField.toLowerCase();\r\n this._partHeaders[this._headerField] = this._headerValue;\r\n\r\n let m: RegExpMatchArray | null;\r\n if (this._headerField === \"content-disposition\") {\r\n if (m = this._headerValue.match(/\\bname=\"([^\"]+)\"/i)) {\r\n this._partName = m[1];\r\n }\r\n // this._partFilename = parseFilename(this._headerValue);\r\n } else if (this._headerField === \"content-transfer-encoding\") {\r\n // this._partTransferEncoding = this._headerValue.toLowerCase();\r\n }\r\n\r\n this._headerFieldDecoder = new StringDecoder(\"utf8\");\r\n this._headerField = \"\";\r\n this._headerValueDecoder = new StringDecoder(\"utf8\");\r\n this._headerValue = \"\";\r\n }\r\n\r\n private _onParsePartData(b: Buffer) {\r\n this._partChunks.push(b);\r\n }\r\n\r\n private _onParsePartEnd() {\r\n const partValue = this._partChunks.length === 1 ? this._partChunks[0] : Buffer.concat(this._partChunks);\r\n\r\n if (this._partName === \"objects\") {\r\n this._value.objects = partValue.toString();\r\n } else {\r\n this._value.data.push(partValue);\r\n }\r\n\r\n this._clearPartVars();\r\n }\r\n\r\n private _onParseHeadersEnd(_offset: number) {\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I3dmTileIO.d.ts","sourceRoot":"","sources":["../../../src/tile/I3dmTileIO.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,wBAAwB,EAAE,MAAM,CAAC;IACjD,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,wBAAwB,EAAE,MAAM,CAAC;IACjD,SAAgB,oBAAoB,EAAE,MAAM,CAAC;IAC7C,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,cAAc,EAAE,GAAG,CAAC;IACpC,IAAW,OAAO,IAAI,OAAO,CAA4C;gBAEtD,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"I3dmTileIO.d.ts","sourceRoot":"","sources":["../../../src/tile/I3dmTileIO.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,wBAAwB,EAAE,MAAM,CAAC;IACjD,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,wBAAwB,EAAE,MAAM,CAAC;IACjD,SAAgB,oBAAoB,EAAE,MAAM,CAAC;IAC7C,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAC/C,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,cAAc,EAAE,GAAG,CAAC;IACpC,IAAW,OAAO,IAAI,OAAO,CAA4C;gBAEtD,MAAM,EAAE,UAAU;CAsBtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I3dmTileIO.js","sourceRoot":"","sources":["../../../src/tile/I3dmTileIO.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAWxC,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE;YACnC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;
|
|
1
|
+
{"version":3,"file":"I3dmTileIO.js","sourceRoot":"","sources":["../../../src/tile/I3dmTileIO.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAc,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAWxC,YAAmB,MAAkB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE;YACnC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBACV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC9C;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,YAAY;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAvBD,IAAW,OAAO,KAAc,OAAO,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CAwB1E","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tile\r\n */\r\n\r\nimport { ByteStream, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { TileFormat, TileHeader } from \"./TileIO\";\r\n\r\n/** Header preceding tile content in [i3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Instanced3DModel) format.\r\n * @internal\r\n */\r\nexport class I3dmHeader extends TileHeader {\r\n public readonly length: number;\r\n public readonly featureTableJsonPosition: number;\r\n public readonly featureTableJsonLength: number;\r\n public readonly featureTableBinaryLength: number;\r\n public readonly batchTableJsonLength: number;\r\n public readonly batchTableBinaryLength: number;\r\n public readonly gltfVersion: number;\r\n public readonly batchTableJson: any;\r\n public get isValid(): boolean { return TileFormat.I3dm === this.format; }\r\n\r\n public constructor(stream: ByteStream) {\r\n super(stream);\r\n this.length = stream.nextUint32;\r\n this.featureTableJsonLength = stream.nextUint32;\r\n this.featureTableBinaryLength = stream.nextUint32;\r\n this.batchTableJsonLength = stream.nextUint32;\r\n this.batchTableBinaryLength = stream.nextUint32;\r\n this.gltfVersion = stream.nextUint32;\r\n this.featureTableJsonPosition = stream.curPos;\r\n stream.advance(this.featureTableJsonLength);\r\n stream.advance(this.featureTableBinaryLength);\r\n if (0 !== this.batchTableJsonLength) {\r\n const batchStrData = stream.nextBytes(this.batchTableJsonLength);\r\n const batchStr = utf8ToString(batchStrData);\r\n if (batchStr)\r\n this.batchTableJson = JSON.parse(batchStr);\r\n }\r\n stream.advance(this.batchTableBinaryLength);\r\n\r\n if (stream.isPastTheEnd)\r\n this.invalidate();\r\n }\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-common",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-dev.11",
|
|
4
4
|
"description": "iTwin.js components common to frontend and backend",
|
|
5
5
|
"main": "lib/cjs/core-common.js",
|
|
6
6
|
"module": "lib/esm/core-common.js",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"url": "http://www.bentley.com"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
+
"@itwin/object-storage-core": "~1.4.0",
|
|
25
26
|
"buffer": "^6.0.3",
|
|
26
27
|
"flatbuffers": "~1.12.0",
|
|
27
28
|
"semver": "^7.3.5",
|
|
@@ -29,19 +30,19 @@
|
|
|
29
30
|
"js-base64": "^3.6.1"
|
|
30
31
|
},
|
|
31
32
|
"peerDependencies": {
|
|
32
|
-
"@itwin/core-bentley": "^3.
|
|
33
|
-
"@itwin/core-geometry": "^3.
|
|
33
|
+
"@itwin/core-bentley": "^3.5.0-dev.11",
|
|
34
|
+
"@itwin/core-geometry": "^3.5.0-dev.11"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
|
-
"@itwin/build-tools": "3.
|
|
37
|
-
"@itwin/core-bentley": "3.
|
|
38
|
-
"@itwin/core-geometry": "3.
|
|
39
|
-
"@itwin/eslint-plugin": "3.
|
|
37
|
+
"@itwin/build-tools": "3.5.0-dev.11",
|
|
38
|
+
"@itwin/core-bentley": "3.5.0-dev.11",
|
|
39
|
+
"@itwin/core-geometry": "3.5.0-dev.11",
|
|
40
|
+
"@itwin/eslint-plugin": "3.5.0-dev.11",
|
|
40
41
|
"@types/chai": "4.3.1",
|
|
41
42
|
"@types/flatbuffers": "~1.10.0",
|
|
42
43
|
"@types/mocha": "^8.2.2",
|
|
43
|
-
"@types/node": "16.11.
|
|
44
|
-
"@types/semver": "
|
|
44
|
+
"@types/node": "16.11.59",
|
|
45
|
+
"@types/semver": "7.3.10",
|
|
45
46
|
"chai": "^4.1.2",
|
|
46
47
|
"eslint": "^7.11.0",
|
|
47
48
|
"mocha": "^10.0.0",
|