@carbonenginejs/runtime-resource 0.8.0 → 0.9.1
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/LICENSE +21 -21
- package/NOTICE +31 -29
- package/README.md +67 -548
- package/dist/CjsMotherLode.js +1271 -1271
- package/dist/CjsResMan.js +3005 -3005
- package/dist/CjsResManQueue.js +214 -214
- package/dist/CjsResource.js +566 -566
- package/dist/CjsResourceSource.js +68 -59
- package/dist/CjsResourceSource.js.map +1 -1
- package/dist/_virtual/_rollupPluginBabelHelpers.js +153 -153
- package/dist/format/CjsBlueReader.js +269 -269
- package/dist/format/CjsFormat.js +197 -192
- package/dist/format/CjsFormat.js.map +1 -1
- package/dist/format/CjsReader.js +18 -18
- package/dist/format/CjsResourceProbe.js +277 -277
- package/dist/format/payloadContract.js +173 -173
- package/dist/formats/black/CjsBlackFormat.js +278 -278
- package/dist/formats/black/core/CjsBlackBinaryReader.js +157 -153
- package/dist/formats/black/core/CjsBlackBinaryReader.js.map +1 -1
- package/dist/formats/black/core/CjsBlackPropertyReaders.js +387 -382
- package/dist/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/formats/black/core/CjsBlackReader.js +639 -639
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js +437 -433
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js +4 -0
- package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js.map +1 -0
- package/dist/formats/black/core/blackConstants.js +7 -7
- package/dist/formats/black/core/blackDefinitions.js +10 -10
- package/dist/formats/black/core/blackDefinitions.js.map +1 -1
- package/dist/formats/black/core/blackEnums.js +6 -6
- package/dist/formats/black/core/blackSchema.js +3 -3
- package/dist/formats/black/core/blackVersion.js +22 -22
- package/dist/formats/black/core/helpers.js +182 -182
- package/dist/formats/black/core/schema.js +4 -4
- package/dist/formats/black/index.js +2 -2
- package/dist/formats/bnk/CjsBnkFormat.js +125 -125
- package/dist/formats/bnk/core/graph.js +140 -140
- package/dist/formats/bnk/core/helpers.js +409 -409
- package/dist/formats/bnk/core/musicNodes.js +493 -489
- package/dist/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/formats/bnk/core/soundbanksInfo.js +246 -246
- package/dist/formats/bnk/index.js +2 -2
- package/dist/formats/cmf/CjsCmfFormat.js +497 -497
- package/dist/formats/cmf/core/binary.js +123 -118
- package/dist/formats/cmf/core/binary.js.map +1 -1
- package/dist/formats/cmf/core/buffers.js +233 -233
- package/dist/formats/cmf/core/constants.js +47 -47
- package/dist/formats/cmf/core/gr2Anim.js +453 -453
- package/dist/formats/cmf/core/helpers.js +287 -287
- package/dist/formats/cmf/core/pack.js +276 -276
- package/dist/formats/cmf/core/schema.js +364 -364
- package/dist/formats/cmf/core/shared.js +268 -268
- package/dist/formats/cmf/core/writer.js +517 -517
- package/dist/formats/cmf/index.js +2 -2
- package/dist/formats/dds/CjsDdsFormat.js +200 -193
- package/dist/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/formats/dds/core/bc6h.js +288 -288
- package/dist/formats/dds/core/bc7.js +256 -251
- package/dist/formats/dds/core/bc7.js.map +1 -1
- package/dist/formats/dds/core/helpers.js +815 -815
- package/dist/formats/dds/index.js +2 -2
- package/dist/formats/fbx/CjsFbxFormat.js +266 -266
- package/dist/formats/fbx/core/helpers.js +3911 -3901
- package/dist/formats/fbx/core/helpers.js.map +1 -1
- package/dist/formats/fbx/index.js +2 -2
- package/dist/formats/flac/CjsFlacFormat.js +93 -87
- package/dist/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/formats/flac/core/helpers.js +295 -295
- package/dist/formats/flac/index.js +2 -2
- package/dist/formats/gif/CjsGifFormat.js +92 -87
- package/dist/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/formats/gif/core/helpers.js +360 -360
- package/dist/formats/gif/index.js +2 -2
- package/dist/formats/gltf/CjsGltfFormat.js +290 -290
- package/dist/formats/gltf/core/helpers.js +292 -292
- package/dist/formats/gltf/core/json.js +79 -79
- package/dist/formats/gltf/core/parser.js +666 -666
- package/dist/formats/gltf/core/targets.js +163 -163
- package/dist/formats/gltf/index.js +2 -2
- package/dist/formats/gr2/CjsGr2Format.js +46 -0
- package/dist/formats/gr2/CjsGr2Format.js.map +1 -0
- package/dist/formats/gr2/core/CjsFormatGr2.js +273 -0
- package/dist/formats/gr2/core/CjsFormatGr2.js.map +1 -0
- package/dist/formats/gr2/core/bitknit2.js +280 -0
- package/dist/formats/gr2/core/bitknit2.js.map +1 -0
- package/dist/formats/gr2/core/curves.js +1047 -0
- package/dist/formats/gr2/core/curves.js.map +1 -0
- package/dist/formats/gr2/core/gsf.js +72 -0
- package/dist/formats/gr2/core/gsf.js.map +1 -0
- package/dist/formats/gr2/core/helpers.js +332 -0
- package/dist/formats/gr2/core/helpers.js.map +1 -0
- package/dist/formats/gr2/core/json.js +622 -0
- package/dist/formats/gr2/core/json.js.map +1 -0
- package/dist/formats/gr2/core/oodle1.js +388 -0
- package/dist/formats/gr2/core/oodle1.js.map +1 -0
- package/dist/formats/gr2/core/reader.js +617 -0
- package/dist/formats/gr2/core/reader.js.map +1 -0
- package/dist/formats/gr2/core/tangents.js +48 -0
- package/dist/formats/gr2/core/tangents.js.map +1 -0
- package/dist/formats/gr2/core/targets.js +351 -0
- package/dist/formats/gr2/core/targets.js.map +1 -0
- package/dist/formats/gr2/index.js +3 -0
- package/dist/formats/gr2/index.js.map +1 -0
- package/dist/formats/index.js +30 -23
- package/dist/formats/index.js.map +1 -1
- package/dist/formats/jpeg/CjsJpegFormat.js +212 -206
- package/dist/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/formats/jpeg/core/helpers.js +350 -350
- package/dist/formats/jpeg/core/jpeg.js +387 -377
- package/dist/formats/jpeg/core/jpeg.js.map +1 -1
- package/dist/formats/jpeg/index.js +2 -2
- package/dist/formats/mp3/CjsMp3Format.js +197 -192
- package/dist/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/formats/mp3/core/helpers.js +338 -338
- package/dist/formats/mp3/index.js +2 -2
- package/dist/formats/mp4/CjsMp4Format.js +197 -191
- package/dist/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/formats/mp4/core/helpers.js +449 -449
- package/dist/formats/mp4/index.js +2 -2
- package/dist/formats/obj/CjsObjFormat.js +253 -253
- package/dist/formats/obj/core/helpers.js +573 -573
- package/dist/formats/obj/core/json.js +64 -64
- package/dist/formats/obj/core/parser.js +321 -321
- package/dist/formats/obj/index.js +2 -2
- package/dist/formats/ogg/CjsOggFormat.js +94 -88
- package/dist/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/formats/ogg/core/helpers.js +387 -387
- package/dist/formats/ogg/core/imdct.js +178 -178
- package/dist/formats/ogg/core/vorbis.js +1004 -999
- package/dist/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/formats/ogg/index.js +2 -2
- package/dist/formats/png/CjsPngFormat.js +201 -195
- package/dist/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/formats/png/core/helpers.js +583 -583
- package/dist/formats/png/index.js +2 -2
- package/dist/formats/red/CjsRedFormat.js +261 -261
- package/dist/formats/red/core/CjsRedReader.js +194 -194
- package/dist/formats/red/core/blackDefinitions.js +3 -3
- package/dist/formats/red/core/helpers.js +139 -139
- package/dist/formats/red/core/redGraph.js +68 -68
- package/dist/formats/red/core/schema.js +4 -4
- package/dist/formats/red/index.js +2 -2
- package/dist/formats/stl/CjsStlFormat.js +365 -365
- package/dist/formats/stl/core/helpers.js +261 -261
- package/dist/formats/stl/core/json.js +51 -51
- package/dist/formats/stl/core/stl.js +634 -629
- package/dist/formats/stl/core/stl.js.map +1 -1
- package/dist/formats/stl/core/targets.js +163 -163
- package/dist/formats/stl/index.js +2 -2
- package/dist/formats/tga/CjsTgaFormat.js +197 -192
- package/dist/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/formats/tga/core/helpers.js +446 -446
- package/dist/formats/tga/index.js +2 -2
- package/dist/formats/wav/CjsWavFormat.js +198 -192
- package/dist/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/formats/wav/core/helpers.js +328 -328
- package/dist/formats/wav/index.js +2 -2
- package/dist/formats/webm/CjsWebmFormat.js +197 -191
- package/dist/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/formats/webm/core/helpers.js +537 -537
- package/dist/formats/webm/index.js +2 -2
- package/dist/formats/webp/CjsWebpFormat.js +91 -86
- package/dist/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/formats/webp/core/helpers.js +214 -214
- package/dist/formats/webp/index.js +2 -2
- package/dist/formats/wem/CjsWemFormat.js +242 -241
- package/dist/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/formats/wem/core/bitStream.js +259 -259
- package/dist/formats/wem/core/codebookLibrary.js +164 -164
- package/dist/formats/wem/core/helpers.js +417 -417
- package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -30
- package/dist/formats/wem/core/ptadpcm.js +77 -77
- package/dist/formats/wem/core/resolve.js +121 -121
- package/dist/formats/wem/core/wemToOgg.js +485 -485
- package/dist/formats/wem/index.js +2 -2
- package/dist/formats/yaml/CjsYamlFormat.js +89 -83
- package/dist/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/formats/yaml/core/CjsYamlReader.js +311 -305
- package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -1
- package/dist/formats/yaml/core/helpers.js +160 -160
- package/dist/formats/yaml/index.js +2 -2
- package/dist/index.js +49 -48
- package/dist/index.js.map +1 -1
- package/dist/resourcePath.js +18 -18
- package/dist/resourceStates.js +9 -9
- package/dist/resources/AudioGeometryResData.js +47 -47
- package/dist/resources/GStateBindingCallbackData.js +31 -31
- package/dist/resources/MeshDecalData.js +37 -37
- package/dist/resources/MeshDecalLodData.js +34 -34
- package/dist/resources/Tr2EffectRes.js +71 -71
- package/dist/resources/Tr2GrannyIntersectionResult.js +60 -60
- package/dist/resources/Tr2GrannyStateRes.js +44 -44
- package/dist/resources/Tr2ImageRes.js +114 -114
- package/dist/resources/Tr2LightProfileRes.js +40 -40
- package/dist/resources/Tr2MaterialArea.js +34 -34
- package/dist/resources/Tr2MaterialMesh.js +31 -31
- package/dist/resources/Tr2MaterialRes.js +34 -34
- package/dist/resources/Tr2ShaderPermutation.js +43 -43
- package/dist/resources/Tr2TextureLodManager.js +80 -80
- package/dist/resources/Tr2TextureLodUpdateRequest.js +37 -37
- package/dist/resources/Tr2TexturePackChannel.js +37 -37
- package/dist/resources/Tr2TexturePipeline.js +52 -52
- package/dist/resources/Tr2TexturePipelineParams.js +34 -34
- package/dist/resources/Tr2TexturePipelineStepCompress.js +40 -40
- package/dist/resources/Tr2TexturePipelineStepGenerateMips.js +22 -0
- package/dist/resources/Tr2TexturePipelineStepGenerateMips.js.map +1 -0
- package/dist/resources/Tr2TexturePipelineStepLimitSize.js +34 -34
- package/dist/resources/Tr2TexturePipelineStepLoad.js +31 -31
- package/dist/resources/Tr2TexturePipelineStepPack.js +43 -43
- package/dist/resources/TriGeometryRes.js +239 -239
- package/dist/resources/TriGeometryResAreaData.js +59 -59
- package/dist/resources/TriGeometryResJointData.js +38 -38
- package/dist/resources/TriGeometryResLodData.js +88 -88
- package/dist/resources/TriGeometryResMeshData.js +63 -63
- package/dist/resources/TriGeometryResSkeletonData.js +34 -34
- package/dist/resources/TriGrannyRes.js +43 -43
- package/dist/resources/TriJointBinding.js +38 -38
- package/dist/resources/TriMorphTargetGeometryConstants.js +46 -46
- package/dist/resources/TriRtGeometryConstants.js +88 -88
- package/dist/resources/TriTextureRes.js +304 -304
- package/dist/resources/enums.js +18 -18
- package/dist/resources/resourceBoundary.js +47 -47
- package/dist/resources/texturePipelineBehavior.js +308 -308
- package/dist/texture/CjsTextureArrayRes.js +406 -406
- package/dist/texture/CjsTextureParameterProxy.js +133 -133
- package/docs/README.md +73 -0
- package/docs/architecture.md +86 -0
- package/docs/concepts/resource-lifecycle.md +217 -0
- package/docs/formats/README.md +105 -0
- package/docs/formats/gr2.md +161 -0
- package/{FORMAT-PROVENANCE.md → docs/formats/provenance.md} +173 -155
- package/docs/formats/stl.md +37 -0
- package/docs/formats/wwise.md +44 -0
- package/docs/reference/classes/README.md +33 -0
- package/docs/reference/classes/core.md +106 -0
- package/docs/reference/classes/dropped.md +46 -0
- package/docs/reference/classes/formats.md +522 -0
- package/docs/reference/classes/resources.md +346 -0
- package/docs/reference/classes/texture.md +26 -0
- package/docs/reference/events.md +92 -0
- package/docs/reference/motherlode-cache.md +244 -0
- package/docs/reference/queues.md +102 -0
- package/docs/reference/reload.md +107 -0
- package/docs/reference/texture-arrays.md +113 -0
- package/docs/reference/texture-pipeline.md +53 -0
- package/docs/roadmap.md +104 -0
- package/format-notices/black/LICENSE +21 -21
- package/format-notices/black/NOTICE +47 -47
- package/format-notices/bnk/LICENSE +21 -21
- package/format-notices/bnk/NOTICE +20 -20
- package/format-notices/cmf/LICENSE +21 -21
- package/format-notices/cmf/NOTICE +36 -36
- package/format-notices/dds/LICENSE +21 -21
- package/format-notices/dds/NOTICE +14 -14
- package/format-notices/fbx/LICENSE +21 -21
- package/format-notices/fbx/NOTICE +14 -14
- package/format-notices/flac/LICENSE +21 -21
- package/format-notices/flac/NOTICE +14 -14
- package/format-notices/gif/LICENSE +21 -21
- package/format-notices/gif/NOTICE +14 -14
- package/format-notices/gltf/LICENSE +21 -21
- package/format-notices/gltf/NOTICE +27 -27
- package/format-notices/gr2/LICENSE +21 -0
- package/format-notices/gr2/NOTICE +60 -0
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +93 -0
- package/format-notices/jpeg/LICENSE +21 -21
- package/format-notices/jpeg/NOTICE +14 -14
- package/format-notices/mp3/LICENSE +21 -21
- package/format-notices/mp3/NOTICE +14 -14
- package/format-notices/mp4/LICENSE +21 -21
- package/format-notices/mp4/NOTICE +14 -14
- package/format-notices/obj/LICENSE +21 -21
- package/format-notices/obj/NOTICE +26 -26
- package/format-notices/ogg/LICENSE +21 -21
- package/format-notices/ogg/NOTICE +28 -28
- package/format-notices/png/LICENSE +21 -21
- package/format-notices/png/NOTICE +14 -14
- package/format-notices/red/LICENSE +21 -21
- package/format-notices/red/NOTICE +31 -31
- package/format-notices/stl/LICENSE +21 -21
- package/format-notices/stl/NOTICE +21 -21
- package/format-notices/tga/LICENSE +21 -21
- package/format-notices/tga/NOTICE +14 -14
- package/format-notices/wav/LICENSE +21 -21
- package/format-notices/wav/NOTICE +14 -14
- package/format-notices/webm/LICENSE +21 -21
- package/format-notices/webm/NOTICE +14 -14
- package/format-notices/webp/LICENSE +21 -21
- package/format-notices/webp/NOTICE +14 -14
- package/format-notices/wem/LICENSE +57 -57
- package/format-notices/wem/NOTICE +33 -33
- package/format-notices/yaml/LICENSE +21 -21
- package/format-notices/yaml/NOTICE +44 -44
- package/package.json +52 -51
- package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js +0 -4
- package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js.map +0 -1
- package/resource-lifecycle.md +0 -679
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsBlackPropertyReaders.js","sources":["../../../../../src/formats/black/core/CjsBlackPropertyReaders.js"],"sourcesContent":["import {\n CARBON_TYPE,\n normalizeCarbonTypeDescriptor\n} from \"@carbonenginejs/core-types\";\n\nexport class CjsBlackPropertyReaders\n{\n static readValue(reader, field)\n {\n const descriptor = normalizeCarbonTypeDescriptor(field);\n if (field?.black?.beType)\n {\n return CjsBlackPropertyReaders.readBlackValue(reader, field.black, descriptor);\n }\n\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n return reader.ReadU8() !== 0;\n\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.EXPRESSION:\n return reader.ReadStringRef();\n\n case CARBON_TYPE.PATH:\n return reader.context.TransformPath(reader.ReadStringRef());\n\n case CARBON_TYPE.ENUM:\n return reader.ReadI32();\n\n case CARBON_TYPE.FLOAT32:\n return reader.ReadF32();\n\n case CARBON_TYPE.FLOAT64:\n return reader.ReadF64();\n\n case CARBON_TYPE.INT8:\n return reader.ReadI8();\n\n case CARBON_TYPE.UINT8:\n return reader.ReadU8();\n\n case CARBON_TYPE.INT16:\n return reader.ReadI16();\n\n case CARBON_TYPE.UINT16:\n return reader.ReadU16();\n\n case CARBON_TYPE.INT32:\n return reader.ReadI32();\n\n case CARBON_TYPE.UINT32:\n return reader.ReadU32();\n\n case CARBON_TYPE.INT64:\n return reader.ReadI64();\n\n case CARBON_TYPE.UINT64:\n return reader.ReadU64();\n\n case CARBON_TYPE.VECTOR2:\n return CjsBlackPropertyReaders.readFloatArray(reader, 2);\n\n case CARBON_TYPE.VECTOR3:\n return CjsBlackPropertyReaders.readFloatArray(reader, 3);\n\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n return CjsBlackPropertyReaders.readFloatArray(reader, 4);\n\n case CARBON_TYPE.MATRIX3:\n return CjsBlackPropertyReaders.readFloatArray(reader, 9);\n\n case CARBON_TYPE.MATRIX4:\n return CjsBlackPropertyReaders.readFloatArray(reader, 16);\n\n case CARBON_TYPE.ARRAY:\n return CjsBlackPropertyReaders.readArray(reader, descriptor);\n\n case CARBON_TYPE.TYPED_ARRAY:\n return CjsBlackPropertyReaders.readTypedArray(reader, descriptor);\n\n case CARBON_TYPE.STRUCT:\n case CARBON_TYPE.RAW_STRUCT:\n return reader.context.ReadEmbeddedObject(reader);\n\n case CARBON_TYPE.OBJECT_REF:\n case CARBON_TYPE.UNKNOWN:\n default:\n return reader.context.ReadObject(reader);\n }\n }\n\n static readBlackValue(reader, black, descriptor)\n {\n switch (black.beType)\n {\n case \"IROOT\":\n if (black.container === \"list\" && black.cppType && /StructureList/.test(String(black.cppType)))\n {\n return CjsBlackPropertyReaders.readBlackStructureList(reader, black);\n }\n return CjsBlackPropertyReaders.readBlackIRoot(reader, black, descriptor);\n\n case \"BOOL\":\n return reader.ReadU8() !== 0;\n\n case \"CSTRING\":\n case \"STDSTRING\":\n case \"SHAREDSTRING\":\n case \"REFERENCE\":\n return CjsBlackPropertyReaders.readStringRef(reader, descriptor);\n\n case \"WCSTRING\":\n case \"STDWSTRING\":\n case \"SHAREDSTRINGW\":\n case \"WREFERENCE\":\n return reader.ReadWideStringRef();\n\n case \"FLOAT\":\n return reader.ReadF32();\n\n case \"DOUBLE\":\n return reader.ReadF64();\n\n case \"LONG\":\n return reader.ReadI32();\n\n case \"ULONG\":\n return reader.ReadU32();\n\n case \"INT64\":\n return reader.ReadI64();\n\n case \"UINT64\":\n return reader.ReadU64();\n\n case \"BYTE\":\n return black.signed ? reader.ReadI8() : reader.ReadU8();\n\n case \"SHORT\":\n return black.signed ? reader.ReadI16() : reader.ReadU16();\n\n case \"FLOATARRAY\":\n return CjsBlackPropertyReaders.readFloatArray(reader, black.length || descriptor.length || 0);\n\n case \"BINARYBLOCK\":\n return CjsBlackPropertyReaders.readBinaryBlock(reader, black);\n\n case \"IROOTPTR\":\n case \"IROOTWEAKREF\":\n return reader.context.ReadObject(reader);\n\n default:\n return CjsBlackPropertyReaders.readValueWithoutBlack(reader, descriptor);\n }\n }\n\n static skipValue(reader, field)\n {\n const descriptor = normalizeCarbonTypeDescriptor(field);\n if (field?.black?.beType)\n {\n CjsBlackPropertyReaders.skipBlackValue(reader, field.black, descriptor);\n return;\n }\n\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n case CARBON_TYPE.INT8:\n case CARBON_TYPE.UINT8:\n reader.Skip(1);\n return;\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.PATH:\n case CARBON_TYPE.EXPRESSION:\n case CARBON_TYPE.INT16:\n case CARBON_TYPE.UINT16:\n reader.Skip(2);\n return;\n case CARBON_TYPE.ENUM:\n case CARBON_TYPE.FLOAT32:\n case CARBON_TYPE.INT32:\n case CARBON_TYPE.UINT32:\n reader.Skip(4);\n return;\n case CARBON_TYPE.FLOAT64:\n case CARBON_TYPE.INT64:\n case CARBON_TYPE.UINT64:\n reader.Skip(8);\n return;\n case CARBON_TYPE.VECTOR2:\n reader.Skip(8);\n return;\n case CARBON_TYPE.VECTOR3:\n reader.Skip(12);\n return;\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n reader.Skip(16);\n return;\n case CARBON_TYPE.MATRIX3:\n reader.Skip(36);\n return;\n case CARBON_TYPE.MATRIX4:\n reader.Skip(64);\n return;\n case CARBON_TYPE.ARRAY:\n CjsBlackPropertyReaders.skipArray(reader, descriptor);\n return;\n case CARBON_TYPE.TYPED_ARRAY:\n CjsBlackPropertyReaders.skipTypedArray(reader);\n return;\n case CARBON_TYPE.STRUCT:\n case CARBON_TYPE.RAW_STRUCT:\n reader.context.SkipEmbeddedObject(reader);\n return;\n case CARBON_TYPE.OBJECT_REF:\n case CARBON_TYPE.UNKNOWN:\n default:\n reader.context.SkipObject(reader);\n }\n }\n\n static skipBlackValue(reader, black, descriptor)\n {\n switch (black.beType)\n {\n case \"IROOT\":\n if (black.container === \"list\" && black.cppType && /StructureList/.test(String(black.cppType)))\n {\n CjsBlackPropertyReaders.skipStructureList(reader);\n return;\n }\n CjsBlackPropertyReaders.skipBlackIRoot(reader, black, descriptor);\n return;\n case \"BOOL\":\n case \"BYTE\":\n reader.Skip(1);\n return;\n case \"CSTRING\":\n case \"STDSTRING\":\n case \"SHAREDSTRING\":\n case \"REFERENCE\":\n case \"WCSTRING\":\n case \"STDWSTRING\":\n case \"SHAREDSTRINGW\":\n case \"WREFERENCE\":\n case \"SHORT\":\n reader.Skip(2);\n return;\n case \"FLOAT\":\n case \"LONG\":\n case \"ULONG\":\n reader.Skip(4);\n return;\n case \"DOUBLE\":\n case \"INT64\":\n case \"UINT64\":\n reader.Skip(8);\n return;\n case \"FLOATARRAY\":\n reader.Skip((black.length || descriptor.length || 0) * 4);\n return;\n case \"BINARYBLOCK\":\n CjsBlackPropertyReaders.skipBinaryBlock(reader);\n return;\n case \"IROOTPTR\":\n case \"IROOTWEAKREF\":\n reader.context.SkipObject(reader);\n return;\n default:\n CjsBlackPropertyReaders.skipValue(reader, { jsType: descriptor });\n }\n }\n\n static readBlackStructureList(reader, black)\n {\n return CjsBlackPropertyReaders.readStructureList(reader, {\n cppType: black.cppType,\n elementType: {\n kind: CARBON_TYPE.RAW_STRUCT,\n cppType: black.cppType\n }\n });\n }\n\n static readValueWithoutBlack(reader, descriptor)\n {\n return CjsBlackPropertyReaders.readValue(reader, { jsType: descriptor });\n }\n\n static readStringRef(reader, descriptor)\n {\n const value = reader.ReadStringRef();\n return descriptor.kind === CARBON_TYPE.PATH ? reader.context.TransformPath(value) : value;\n }\n\n static readBlackIRoot(reader, black, descriptor)\n {\n if (black.container === \"dict\") return CjsBlackPropertyReaders.readDict(reader);\n if (black.container === \"list\" || black.container === \"set\") return CjsBlackPropertyReaders.readArray(reader, descriptor);\n return reader.context.ReadEmbeddedObject(reader);\n }\n\n static skipBlackIRoot(reader, black, descriptor)\n {\n if (black.container === \"dict\")\n {\n CjsBlackPropertyReaders.skipDict(reader);\n return;\n }\n if (black.container === \"list\" || black.container === \"set\")\n {\n CjsBlackPropertyReaders.skipArray(reader, descriptor);\n return;\n }\n reader.context.SkipEmbeddedObject(reader);\n }\n\n static readDict(reader)\n {\n const count = reader.ReadU32();\n const result = {};\n for (let i = 0; i < count; i++)\n {\n result[reader.ReadStringRef()] = reader.context.ReadObject(reader);\n }\n return result;\n }\n\n static skipDict(reader)\n {\n const count = reader.ReadU32();\n for (let i = 0; i < count; i++)\n {\n reader.Skip(2);\n reader.context.SkipObject(reader);\n }\n }\n\n static readBinaryBlock(reader, black)\n {\n const byteLength = reader.ReadI32();\n const bytes = reader.ReadBytes(byteLength);\n if (CjsBlackPropertyReaders.isUint32IndexBufferBlock(reader, black, byteLength))\n {\n return CjsBlackPropertyReaders.readUint32Array(bytes);\n }\n\n return {\n $type: \"black.binaryBlock\",\n beType: black.beType,\n byteLength,\n bytes: Array.from(bytes)\n };\n }\n\n static isUint32IndexBufferBlock(reader, black, byteLength)\n {\n if (byteLength % 4 !== 0) return false;\n if (reader.context?.readMode === \"document\" && !reader.context?.options.decodeBinaryBlocks) return false;\n return black.name === \"indexBuffer\" ||\n black.fieldName === \"indexBuffer\" ||\n black.storageName === \"indexBuffer\";\n }\n\n static readUint32Array(bytes)\n {\n const result = new Uint32Array(bytes.byteLength / 4);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n for (let i = 0; i < result.length; i++)\n {\n result[i] = view.getUint32(i * 4, true);\n }\n return result;\n }\n\n static readArray(reader, descriptor)\n {\n const elementType = normalizeCarbonTypeDescriptor(descriptor.elementType);\n if (elementType.kind === CARBON_TYPE.RAW_STRUCT)\n {\n return CjsBlackPropertyReaders.readStructureList(reader, descriptor);\n }\n\n const count = reader.ReadU32();\n const result = [];\n for (let i = 0; i < count; i++)\n {\n if (!descriptor.elementType || elementType.kind === CARBON_TYPE.OBJECT_REF || elementType.kind === CARBON_TYPE.UNKNOWN)\n {\n result[i] = reader.context.ReadObject(reader);\n }\n else\n {\n result[i] = CjsBlackPropertyReaders.readValue(reader, { jsType: elementType });\n }\n }\n return result;\n }\n\n static skipArray(reader, descriptor)\n {\n const elementType = normalizeCarbonTypeDescriptor(descriptor.elementType);\n if (elementType.kind === CARBON_TYPE.RAW_STRUCT)\n {\n CjsBlackPropertyReaders.skipStructureList(reader);\n return;\n }\n\n const count = reader.ReadU32();\n for (let i = 0; i < count; i++)\n {\n if (!descriptor.elementType || elementType.kind === CARBON_TYPE.OBJECT_REF || elementType.kind === CARBON_TYPE.UNKNOWN)\n {\n reader.context.SkipObject(reader);\n }\n else\n {\n CjsBlackPropertyReaders.skipValue(reader, { jsType: elementType });\n }\n }\n }\n\n static readFloatArray(reader, count)\n {\n const result = [];\n for (let i = 0; i < count; i++)\n {\n result[i] = reader.ReadF32();\n }\n return result;\n }\n\n static readStructureList(reader, descriptor)\n {\n const count = reader.ReadI32();\n const structureSize = reader.ReadU16();\n const bytes = reader.ReadBytes(count * structureSize);\n return {\n $type: \"black.structureList\",\n count,\n structureSize,\n cppType: descriptor.cppType || null,\n elementType: descriptor.elementType?.cppType || null,\n bytes: Array.from(bytes)\n };\n }\n\n static skipStructureList(reader)\n {\n const count = reader.ReadI32();\n const structureSize = reader.ReadU16();\n reader.Skip(count * structureSize);\n }\n\n static readTypedArray(reader, descriptor)\n {\n const count = reader.ReadU32();\n const elementSize = reader.ReadU16();\n const bytes = reader.ReadBytes(count * elementSize);\n return {\n $type: \"black.typedArray\",\n count,\n elementSize,\n js: descriptor.js || null,\n bytes: Array.from(bytes)\n };\n }\n\n static skipTypedArray(reader)\n {\n const count = reader.ReadU32();\n const elementSize = reader.ReadU16();\n reader.Skip(count * elementSize);\n }\n\n static skipBinaryBlock(reader)\n {\n const byteLength = reader.ReadI32();\n reader.Skip(byteLength);\n }\n}\n"],"names":["CjsBlackPropertyReaders","readValue","reader","field","descriptor","normalizeCarbonTypeDescriptor","black","beType","readBlackValue","kind","CARBON_TYPE","BOOLEAN","ReadU8","STRING","EXPRESSION","ReadStringRef","PATH","context","TransformPath","ENUM","ReadI32","FLOAT32","ReadF32","FLOAT64","ReadF64","INT8","ReadI8","UINT8","INT16","ReadI16","UINT16","ReadU16","INT32","UINT32","ReadU32","INT64","ReadI64","UINT64","ReadU64","VECTOR2","readFloatArray","VECTOR3","VECTOR4","COLOR","QUATERNION","MATRIX3","MATRIX4","ARRAY","readArray","TYPED_ARRAY","readTypedArray","STRUCT","RAW_STRUCT","ReadEmbeddedObject","OBJECT_REF","UNKNOWN","ReadObject","container","cppType","test","String","readBlackStructureList","readBlackIRoot","readStringRef","ReadWideStringRef","signed","length","readBinaryBlock","readValueWithoutBlack","skipValue","skipBlackValue","Skip","skipArray","skipTypedArray","SkipEmbeddedObject","SkipObject","skipStructureList","skipBlackIRoot","skipBinaryBlock","jsType","readStructureList","elementType","value","readDict","skipDict","count","result","i","byteLength","bytes","ReadBytes","isUint32IndexBufferBlock","readUint32Array","$type","Array","from","readMode","options","decodeBinaryBlocks","name","fieldName","storageName","Uint32Array","view","DataView","buffer","byteOffset","getUint32","structureSize","elementSize","js"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsBlackPropertyReaders.js","sources":["../../../../../src/formats/black/core/CjsBlackPropertyReaders.js"],"sourcesContent":["import {\n CARBON_TYPE,\n normalizeCarbonTypeDescriptor\n} from \"@carbonenginejs/core-types\";\n\n/**\n * Static set of read and skip routines that decode or skip individual Black\n * property values (primitives, strings, arrays, structure lists,\n * dictionaries, and binary blocks) from their type descriptors.\n */\nexport class CjsBlackPropertyReaders\n{\n static readValue(reader, field)\n {\n const descriptor = normalizeCarbonTypeDescriptor(field);\n if (field?.black?.beType)\n {\n return CjsBlackPropertyReaders.readBlackValue(reader, field.black, descriptor);\n }\n\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n return reader.ReadU8() !== 0;\n\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.EXPRESSION:\n return reader.ReadStringRef();\n\n case CARBON_TYPE.PATH:\n return reader.context.TransformPath(reader.ReadStringRef());\n\n case CARBON_TYPE.ENUM:\n return reader.ReadI32();\n\n case CARBON_TYPE.FLOAT32:\n return reader.ReadF32();\n\n case CARBON_TYPE.FLOAT64:\n return reader.ReadF64();\n\n case CARBON_TYPE.INT8:\n return reader.ReadI8();\n\n case CARBON_TYPE.UINT8:\n return reader.ReadU8();\n\n case CARBON_TYPE.INT16:\n return reader.ReadI16();\n\n case CARBON_TYPE.UINT16:\n return reader.ReadU16();\n\n case CARBON_TYPE.INT32:\n return reader.ReadI32();\n\n case CARBON_TYPE.UINT32:\n return reader.ReadU32();\n\n case CARBON_TYPE.INT64:\n return reader.ReadI64();\n\n case CARBON_TYPE.UINT64:\n return reader.ReadU64();\n\n case CARBON_TYPE.VECTOR2:\n return CjsBlackPropertyReaders.readFloatArray(reader, 2);\n\n case CARBON_TYPE.VECTOR3:\n return CjsBlackPropertyReaders.readFloatArray(reader, 3);\n\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n return CjsBlackPropertyReaders.readFloatArray(reader, 4);\n\n case CARBON_TYPE.MATRIX3:\n return CjsBlackPropertyReaders.readFloatArray(reader, 9);\n\n case CARBON_TYPE.MATRIX4:\n return CjsBlackPropertyReaders.readFloatArray(reader, 16);\n\n case CARBON_TYPE.ARRAY:\n return CjsBlackPropertyReaders.readArray(reader, descriptor);\n\n case CARBON_TYPE.TYPED_ARRAY:\n return CjsBlackPropertyReaders.readTypedArray(reader, descriptor);\n\n case CARBON_TYPE.STRUCT:\n case CARBON_TYPE.RAW_STRUCT:\n return reader.context.ReadEmbeddedObject(reader);\n\n case CARBON_TYPE.OBJECT_REF:\n case CARBON_TYPE.UNKNOWN:\n default:\n return reader.context.ReadObject(reader);\n }\n }\n\n static readBlackValue(reader, black, descriptor)\n {\n switch (black.beType)\n {\n case \"IROOT\":\n if (black.container === \"list\" && black.cppType && /StructureList/.test(String(black.cppType)))\n {\n return CjsBlackPropertyReaders.readBlackStructureList(reader, black);\n }\n return CjsBlackPropertyReaders.readBlackIRoot(reader, black, descriptor);\n\n case \"BOOL\":\n return reader.ReadU8() !== 0;\n\n case \"CSTRING\":\n case \"STDSTRING\":\n case \"SHAREDSTRING\":\n case \"REFERENCE\":\n return CjsBlackPropertyReaders.readStringRef(reader, descriptor);\n\n case \"WCSTRING\":\n case \"STDWSTRING\":\n case \"SHAREDSTRINGW\":\n case \"WREFERENCE\":\n return reader.ReadWideStringRef();\n\n case \"FLOAT\":\n return reader.ReadF32();\n\n case \"DOUBLE\":\n return reader.ReadF64();\n\n case \"LONG\":\n return reader.ReadI32();\n\n case \"ULONG\":\n return reader.ReadU32();\n\n case \"INT64\":\n return reader.ReadI64();\n\n case \"UINT64\":\n return reader.ReadU64();\n\n case \"BYTE\":\n return black.signed ? reader.ReadI8() : reader.ReadU8();\n\n case \"SHORT\":\n return black.signed ? reader.ReadI16() : reader.ReadU16();\n\n case \"FLOATARRAY\":\n return CjsBlackPropertyReaders.readFloatArray(reader, black.length || descriptor.length || 0);\n\n case \"BINARYBLOCK\":\n return CjsBlackPropertyReaders.readBinaryBlock(reader, black);\n\n case \"IROOTPTR\":\n case \"IROOTWEAKREF\":\n return reader.context.ReadObject(reader);\n\n default:\n return CjsBlackPropertyReaders.readValueWithoutBlack(reader, descriptor);\n }\n }\n\n static skipValue(reader, field)\n {\n const descriptor = normalizeCarbonTypeDescriptor(field);\n if (field?.black?.beType)\n {\n CjsBlackPropertyReaders.skipBlackValue(reader, field.black, descriptor);\n return;\n }\n\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n case CARBON_TYPE.INT8:\n case CARBON_TYPE.UINT8:\n reader.Skip(1);\n return;\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.PATH:\n case CARBON_TYPE.EXPRESSION:\n case CARBON_TYPE.INT16:\n case CARBON_TYPE.UINT16:\n reader.Skip(2);\n return;\n case CARBON_TYPE.ENUM:\n case CARBON_TYPE.FLOAT32:\n case CARBON_TYPE.INT32:\n case CARBON_TYPE.UINT32:\n reader.Skip(4);\n return;\n case CARBON_TYPE.FLOAT64:\n case CARBON_TYPE.INT64:\n case CARBON_TYPE.UINT64:\n reader.Skip(8);\n return;\n case CARBON_TYPE.VECTOR2:\n reader.Skip(8);\n return;\n case CARBON_TYPE.VECTOR3:\n reader.Skip(12);\n return;\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n reader.Skip(16);\n return;\n case CARBON_TYPE.MATRIX3:\n reader.Skip(36);\n return;\n case CARBON_TYPE.MATRIX4:\n reader.Skip(64);\n return;\n case CARBON_TYPE.ARRAY:\n CjsBlackPropertyReaders.skipArray(reader, descriptor);\n return;\n case CARBON_TYPE.TYPED_ARRAY:\n CjsBlackPropertyReaders.skipTypedArray(reader);\n return;\n case CARBON_TYPE.STRUCT:\n case CARBON_TYPE.RAW_STRUCT:\n reader.context.SkipEmbeddedObject(reader);\n return;\n case CARBON_TYPE.OBJECT_REF:\n case CARBON_TYPE.UNKNOWN:\n default:\n reader.context.SkipObject(reader);\n }\n }\n\n static skipBlackValue(reader, black, descriptor)\n {\n switch (black.beType)\n {\n case \"IROOT\":\n if (black.container === \"list\" && black.cppType && /StructureList/.test(String(black.cppType)))\n {\n CjsBlackPropertyReaders.skipStructureList(reader);\n return;\n }\n CjsBlackPropertyReaders.skipBlackIRoot(reader, black, descriptor);\n return;\n case \"BOOL\":\n case \"BYTE\":\n reader.Skip(1);\n return;\n case \"CSTRING\":\n case \"STDSTRING\":\n case \"SHAREDSTRING\":\n case \"REFERENCE\":\n case \"WCSTRING\":\n case \"STDWSTRING\":\n case \"SHAREDSTRINGW\":\n case \"WREFERENCE\":\n case \"SHORT\":\n reader.Skip(2);\n return;\n case \"FLOAT\":\n case \"LONG\":\n case \"ULONG\":\n reader.Skip(4);\n return;\n case \"DOUBLE\":\n case \"INT64\":\n case \"UINT64\":\n reader.Skip(8);\n return;\n case \"FLOATARRAY\":\n reader.Skip((black.length || descriptor.length || 0) * 4);\n return;\n case \"BINARYBLOCK\":\n CjsBlackPropertyReaders.skipBinaryBlock(reader);\n return;\n case \"IROOTPTR\":\n case \"IROOTWEAKREF\":\n reader.context.SkipObject(reader);\n return;\n default:\n CjsBlackPropertyReaders.skipValue(reader, { jsType: descriptor });\n }\n }\n\n static readBlackStructureList(reader, black)\n {\n return CjsBlackPropertyReaders.readStructureList(reader, {\n cppType: black.cppType,\n elementType: {\n kind: CARBON_TYPE.RAW_STRUCT,\n cppType: black.cppType\n }\n });\n }\n\n static readValueWithoutBlack(reader, descriptor)\n {\n return CjsBlackPropertyReaders.readValue(reader, { jsType: descriptor });\n }\n\n static readStringRef(reader, descriptor)\n {\n const value = reader.ReadStringRef();\n return descriptor.kind === CARBON_TYPE.PATH ? reader.context.TransformPath(value) : value;\n }\n\n static readBlackIRoot(reader, black, descriptor)\n {\n if (black.container === \"dict\") return CjsBlackPropertyReaders.readDict(reader);\n if (black.container === \"list\" || black.container === \"set\") return CjsBlackPropertyReaders.readArray(reader, descriptor);\n return reader.context.ReadEmbeddedObject(reader);\n }\n\n static skipBlackIRoot(reader, black, descriptor)\n {\n if (black.container === \"dict\")\n {\n CjsBlackPropertyReaders.skipDict(reader);\n return;\n }\n if (black.container === \"list\" || black.container === \"set\")\n {\n CjsBlackPropertyReaders.skipArray(reader, descriptor);\n return;\n }\n reader.context.SkipEmbeddedObject(reader);\n }\n\n static readDict(reader)\n {\n const count = reader.ReadU32();\n const result = {};\n for (let i = 0; i < count; i++)\n {\n result[reader.ReadStringRef()] = reader.context.ReadObject(reader);\n }\n return result;\n }\n\n static skipDict(reader)\n {\n const count = reader.ReadU32();\n for (let i = 0; i < count; i++)\n {\n reader.Skip(2);\n reader.context.SkipObject(reader);\n }\n }\n\n static readBinaryBlock(reader, black)\n {\n const byteLength = reader.ReadI32();\n const bytes = reader.ReadBytes(byteLength);\n if (CjsBlackPropertyReaders.isUint32IndexBufferBlock(reader, black, byteLength))\n {\n return CjsBlackPropertyReaders.readUint32Array(bytes);\n }\n\n return {\n $type: \"black.binaryBlock\",\n beType: black.beType,\n byteLength,\n bytes: Array.from(bytes)\n };\n }\n\n static isUint32IndexBufferBlock(reader, black, byteLength)\n {\n if (byteLength % 4 !== 0) return false;\n if (reader.context?.readMode === \"document\" && !reader.context?.options.decodeBinaryBlocks) return false;\n return black.name === \"indexBuffer\" ||\n black.fieldName === \"indexBuffer\" ||\n black.storageName === \"indexBuffer\";\n }\n\n static readUint32Array(bytes)\n {\n const result = new Uint32Array(bytes.byteLength / 4);\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n for (let i = 0; i < result.length; i++)\n {\n result[i] = view.getUint32(i * 4, true);\n }\n return result;\n }\n\n static readArray(reader, descriptor)\n {\n const elementType = normalizeCarbonTypeDescriptor(descriptor.elementType);\n if (elementType.kind === CARBON_TYPE.RAW_STRUCT)\n {\n return CjsBlackPropertyReaders.readStructureList(reader, descriptor);\n }\n\n const count = reader.ReadU32();\n const result = [];\n for (let i = 0; i < count; i++)\n {\n if (!descriptor.elementType || elementType.kind === CARBON_TYPE.OBJECT_REF || elementType.kind === CARBON_TYPE.UNKNOWN)\n {\n result[i] = reader.context.ReadObject(reader);\n }\n else\n {\n result[i] = CjsBlackPropertyReaders.readValue(reader, { jsType: elementType });\n }\n }\n return result;\n }\n\n static skipArray(reader, descriptor)\n {\n const elementType = normalizeCarbonTypeDescriptor(descriptor.elementType);\n if (elementType.kind === CARBON_TYPE.RAW_STRUCT)\n {\n CjsBlackPropertyReaders.skipStructureList(reader);\n return;\n }\n\n const count = reader.ReadU32();\n for (let i = 0; i < count; i++)\n {\n if (!descriptor.elementType || elementType.kind === CARBON_TYPE.OBJECT_REF || elementType.kind === CARBON_TYPE.UNKNOWN)\n {\n reader.context.SkipObject(reader);\n }\n else\n {\n CjsBlackPropertyReaders.skipValue(reader, { jsType: elementType });\n }\n }\n }\n\n static readFloatArray(reader, count)\n {\n const result = [];\n for (let i = 0; i < count; i++)\n {\n result[i] = reader.ReadF32();\n }\n return result;\n }\n\n static readStructureList(reader, descriptor)\n {\n const count = reader.ReadI32();\n const structureSize = reader.ReadU16();\n const bytes = reader.ReadBytes(count * structureSize);\n return {\n $type: \"black.structureList\",\n count,\n structureSize,\n cppType: descriptor.cppType || null,\n elementType: descriptor.elementType?.cppType || null,\n bytes: Array.from(bytes)\n };\n }\n\n static skipStructureList(reader)\n {\n const count = reader.ReadI32();\n const structureSize = reader.ReadU16();\n reader.Skip(count * structureSize);\n }\n\n static readTypedArray(reader, descriptor)\n {\n const count = reader.ReadU32();\n const elementSize = reader.ReadU16();\n const bytes = reader.ReadBytes(count * elementSize);\n return {\n $type: \"black.typedArray\",\n count,\n elementSize,\n js: descriptor.js || null,\n bytes: Array.from(bytes)\n };\n }\n\n static skipTypedArray(reader)\n {\n const count = reader.ReadU32();\n const elementSize = reader.ReadU16();\n reader.Skip(count * elementSize);\n }\n\n static skipBinaryBlock(reader)\n {\n const byteLength = reader.ReadI32();\n reader.Skip(byteLength);\n }\n}\n"],"names":["CjsBlackPropertyReaders","readValue","reader","field","descriptor","normalizeCarbonTypeDescriptor","black","beType","readBlackValue","kind","CARBON_TYPE","BOOLEAN","ReadU8","STRING","EXPRESSION","ReadStringRef","PATH","context","TransformPath","ENUM","ReadI32","FLOAT32","ReadF32","FLOAT64","ReadF64","INT8","ReadI8","UINT8","INT16","ReadI16","UINT16","ReadU16","INT32","UINT32","ReadU32","INT64","ReadI64","UINT64","ReadU64","VECTOR2","readFloatArray","VECTOR3","VECTOR4","COLOR","QUATERNION","MATRIX3","MATRIX4","ARRAY","readArray","TYPED_ARRAY","readTypedArray","STRUCT","RAW_STRUCT","ReadEmbeddedObject","OBJECT_REF","UNKNOWN","ReadObject","container","cppType","test","String","readBlackStructureList","readBlackIRoot","readStringRef","ReadWideStringRef","signed","length","readBinaryBlock","readValueWithoutBlack","skipValue","skipBlackValue","Skip","skipArray","skipTypedArray","SkipEmbeddedObject","SkipObject","skipStructureList","skipBlackIRoot","skipBinaryBlock","jsType","readStructureList","elementType","value","readDict","skipDict","count","result","i","byteLength","bytes","ReadBytes","isUint32IndexBufferBlock","readUint32Array","$type","Array","from","readMode","options","decodeBinaryBlocks","name","fieldName","storageName","Uint32Array","view","DataView","buffer","byteOffset","getUint32","structureSize","elementSize","js"],"mappings":"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"}
|