@dcl/ecs 7.1.12-4982829389.commit-f2f84bd → 7.1.12-4983011170.commit-adaaaa2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cjs/components/component-number.d.ts +7 -0
- package/dist-cjs/components/component-number.js +44 -0
- package/dist-cjs/components/extended/Animator.d.ts +46 -0
- package/dist-cjs/components/extended/Animator.js +62 -0
- package/dist-cjs/components/extended/Material.d.ts +42 -0
- package/dist-cjs/components/extended/Material.js +54 -0
- package/dist-cjs/components/extended/MeshCollider.d.ts +38 -0
- package/dist-cjs/components/extended/MeshCollider.js +43 -0
- package/dist-cjs/components/extended/MeshRenderer.d.ts +36 -0
- package/dist-cjs/components/extended/MeshRenderer.js +31 -0
- package/dist-cjs/components/generated/Animator.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Animator.gen.js +28 -0
- package/dist-cjs/components/generated/AudioSource.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AudioSource.gen.js +28 -0
- package/dist-cjs/components/generated/AudioStream.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AudioStream.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarAttach.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarAttach.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarModifierArea.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarModifierArea.gen.js +28 -0
- package/dist-cjs/components/generated/AvatarShape.gen.d.ts +1 -0
- package/dist-cjs/components/generated/AvatarShape.gen.js +28 -0
- package/dist-cjs/components/generated/Billboard.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Billboard.gen.js +28 -0
- package/dist-cjs/components/generated/CameraMode.gen.d.ts +1 -0
- package/dist-cjs/components/generated/CameraMode.gen.js +28 -0
- package/dist-cjs/components/generated/CameraModeArea.gen.d.ts +1 -0
- package/dist-cjs/components/generated/CameraModeArea.gen.js +28 -0
- package/dist-cjs/components/generated/EngineInfo.gen.d.ts +1 -0
- package/dist-cjs/components/generated/EngineInfo.gen.js +28 -0
- package/dist-cjs/components/generated/GltfContainer.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfContainer.gen.js +28 -0
- package/dist-cjs/components/generated/GltfContainerLoadingState.gen.d.ts +1 -0
- package/dist-cjs/components/generated/GltfContainerLoadingState.gen.js +28 -0
- package/dist-cjs/components/generated/Material.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Material.gen.js +28 -0
- package/dist-cjs/components/generated/MeshCollider.gen.d.ts +1 -0
- package/dist-cjs/components/generated/MeshCollider.gen.js +28 -0
- package/dist-cjs/components/generated/MeshRenderer.gen.d.ts +1 -0
- package/dist-cjs/components/generated/MeshRenderer.gen.js +28 -0
- package/dist-cjs/components/generated/NftShape.gen.d.ts +1 -0
- package/dist-cjs/components/generated/NftShape.gen.js +28 -0
- package/dist-cjs/components/generated/PointerEvents.gen.d.ts +1 -0
- package/dist-cjs/components/generated/PointerEvents.gen.js +28 -0
- package/dist-cjs/components/generated/PointerEventsResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/PointerEventsResult.gen.js +28 -0
- package/dist-cjs/components/generated/PointerLock.gen.d.ts +1 -0
- package/dist-cjs/components/generated/PointerLock.gen.js +28 -0
- package/dist-cjs/components/generated/Raycast.gen.d.ts +1 -0
- package/dist-cjs/components/generated/Raycast.gen.js +28 -0
- package/dist-cjs/components/generated/RaycastResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/RaycastResult.gen.js +28 -0
- package/dist-cjs/components/generated/TextShape.gen.d.ts +1 -0
- package/dist-cjs/components/generated/TextShape.gen.js +28 -0
- package/dist-cjs/components/generated/UiBackground.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiBackground.gen.js +28 -0
- package/dist-cjs/components/generated/UiCanvasInformation.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiCanvasInformation.gen.js +28 -0
- package/dist-cjs/components/generated/UiDropdown.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiDropdown.gen.js +28 -0
- package/dist-cjs/components/generated/UiDropdownResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiDropdownResult.gen.js +28 -0
- package/dist-cjs/components/generated/UiInput.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiInput.gen.js +28 -0
- package/dist-cjs/components/generated/UiInputResult.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiInputResult.gen.js +28 -0
- package/dist-cjs/components/generated/UiText.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiText.gen.js +28 -0
- package/dist-cjs/components/generated/UiTransform.gen.d.ts +1 -0
- package/dist-cjs/components/generated/UiTransform.gen.js +28 -0
- package/dist-cjs/components/generated/VideoEvent.gen.d.ts +1 -0
- package/dist-cjs/components/generated/VideoEvent.gen.js +28 -0
- package/dist-cjs/components/generated/VideoPlayer.gen.d.ts +1 -0
- package/dist-cjs/components/generated/VideoPlayer.gen.js +28 -0
- package/dist-cjs/components/generated/VisibilityComponent.gen.d.ts +1 -0
- package/dist-cjs/components/generated/VisibilityComponent.gen.js +28 -0
- package/dist-cjs/components/generated/component-names.gen.d.ts +4 -0
- package/dist-cjs/components/generated/component-names.gen.js +42 -0
- package/dist-cjs/components/generated/global.gen.d.ts +60 -0
- package/dist-cjs/components/generated/global.gen.js +61 -0
- package/dist-cjs/components/generated/index.gen.d.ts +139 -0
- package/dist-cjs/components/generated/index.gen.js +222 -0
- package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.d.ts +35 -0
- package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.js +139 -0
- package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.js +130 -0
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +91 -0
- package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +254 -0
- package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.d.ts +61 -0
- package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.js +233 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +50 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.js +147 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +34 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +83 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +24 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +37 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +67 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +86 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +56 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +176 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +38 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +63 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +20 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +57 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +9 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +15 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +36 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.d.ts +10 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.js +16 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.js +110 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +22 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +96 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +326 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +120 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +246 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +96 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +246 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +58 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +96 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +67 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +159 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +26 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +93 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +19 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +63 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +152 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +85 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +65 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +250 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +119 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +75 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +29 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +130 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +14 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +28 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +120 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +14 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +47 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +84 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +179 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +644 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.d.ts +33 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.js +97 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.d.ts +25 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.js +99 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +15 -0
- package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +47 -0
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +468 -0
- package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +1936 -0
- package/dist-cjs/components/generated/types.gen.d.ts +9 -0
- package/dist-cjs/components/generated/types.gen.js +30 -0
- package/dist-cjs/components/index.d.ts +14 -0
- package/dist-cjs/components/index.js +38 -0
- package/dist-cjs/components/manual/Transform.d.ts +40 -0
- package/dist-cjs/components/manual/Transform.js +110 -0
- package/dist-cjs/components/types.d.ts +5 -0
- package/dist-cjs/components/types.js +2 -0
- package/dist-cjs/composite/components.d.ts +18 -0
- package/dist-cjs/composite/components.js +22 -0
- package/dist-cjs/composite/index.d.ts +51 -0
- package/dist-cjs/composite/index.js +60 -0
- package/dist-cjs/composite/instance.d.ts +34 -0
- package/dist-cjs/composite/instance.js +201 -0
- package/dist-cjs/composite/path.d.ts +3 -0
- package/dist-cjs/composite/path.js +154 -0
- package/dist-cjs/composite/proto/gen/composite.gen.d.ts +71 -0
- package/dist-cjs/composite/proto/gen/composite.gen.js +337 -0
- package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.d.ts +138 -0
- package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.js +443 -0
- package/dist-cjs/engine/component.d.ts +149 -0
- package/dist-cjs/engine/component.js +12 -0
- package/dist-cjs/engine/entity.d.ts +49 -0
- package/dist-cjs/engine/entity.js +178 -0
- package/dist-cjs/engine/grow-only-value-set-component-definition.d.ts +8 -0
- package/dist-cjs/engine/grow-only-value-set-component-definition.js +145 -0
- package/dist-cjs/engine/index.d.ts +15 -0
- package/dist-cjs/engine/index.js +247 -0
- package/dist-cjs/engine/input.d.ts +34 -0
- package/dist-cjs/engine/input.js +219 -0
- package/dist-cjs/engine/lww-element-set-component-definition.d.ts +8 -0
- package/dist-cjs/engine/lww-element-set-component-definition.js +264 -0
- package/dist-cjs/engine/readonly.d.ts +29 -0
- package/dist-cjs/engine/readonly.js +10 -0
- package/dist-cjs/engine/systems.d.ts +15 -0
- package/dist-cjs/engine/systems.js +48 -0
- package/dist-cjs/engine/types.d.ts +215 -0
- package/dist-cjs/engine/types.js +17 -0
- package/dist-cjs/index.d.ts +22 -0
- package/dist-cjs/index.js +58 -0
- package/dist-cjs/runtime/crc.d.ts +1 -0
- package/dist-cjs/runtime/crc.js +45 -0
- package/dist-cjs/runtime/helpers/index.d.ts +1 -0
- package/dist-cjs/runtime/helpers/index.js +17 -0
- package/dist-cjs/runtime/helpers/tree.d.ts +32 -0
- package/dist-cjs/runtime/helpers/tree.js +77 -0
- package/dist-cjs/runtime/initialization/index.d.ts +61 -0
- package/dist-cjs/runtime/initialization/index.js +56 -0
- package/dist-cjs/runtime/invariant.d.ts +4 -0
- package/dist-cjs/runtime/invariant.js +17 -0
- package/dist-cjs/runtime/types.d.ts +6 -0
- package/dist-cjs/runtime/types.js +18 -0
- package/dist-cjs/schemas/Array.d.ts +1 -0
- package/dist-cjs/schemas/Array.js +33 -0
- package/dist-cjs/schemas/ISchema.d.ts +35 -0
- package/dist-cjs/schemas/ISchema.js +2 -0
- package/dist-cjs/schemas/Map.d.ts +20 -0
- package/dist-cjs/schemas/Map.js +49 -0
- package/dist-cjs/schemas/OneOf.d.ts +10 -0
- package/dist-cjs/schemas/OneOf.js +35 -0
- package/dist-cjs/schemas/Optional.d.ts +1 -0
- package/dist-cjs/schemas/Optional.js +34 -0
- package/dist-cjs/schemas/basic/Boolean.d.ts +1 -0
- package/dist-cjs/schemas/basic/Boolean.js +21 -0
- package/dist-cjs/schemas/basic/Enum.d.ts +1 -0
- package/dist-cjs/schemas/basic/Enum.js +101 -0
- package/dist-cjs/schemas/basic/Float.d.ts +1 -0
- package/dist-cjs/schemas/basic/Float.js +39 -0
- package/dist-cjs/schemas/basic/Integer.d.ts +9 -0
- package/dist-cjs/schemas/basic/Integer.js +75 -0
- package/dist-cjs/schemas/basic/String.d.ts +1 -0
- package/dist-cjs/schemas/basic/String.js +25 -0
- package/dist-cjs/schemas/buildSchema/index.d.ts +11 -0
- package/dist-cjs/schemas/buildSchema/index.js +114 -0
- package/dist-cjs/schemas/buildSchema/types.d.ts +5 -0
- package/dist-cjs/schemas/buildSchema/types.js +2 -0
- package/dist-cjs/schemas/buildSchema/utils.d.ts +12 -0
- package/dist-cjs/schemas/buildSchema/utils.js +30 -0
- package/dist-cjs/schemas/custom/Color3.d.ts +8 -0
- package/dist-cjs/schemas/custom/Color3.js +32 -0
- package/dist-cjs/schemas/custom/Color4.d.ts +9 -0
- package/dist-cjs/schemas/custom/Color4.js +35 -0
- package/dist-cjs/schemas/custom/Entity.d.ts +1 -0
- package/dist-cjs/schemas/custom/Entity.js +21 -0
- package/dist-cjs/schemas/custom/Quaternion.d.ts +9 -0
- package/dist-cjs/schemas/custom/Quaternion.js +35 -0
- package/dist-cjs/schemas/custom/Vector3.d.ts +8 -0
- package/dist-cjs/schemas/custom/Vector3.js +33 -0
- package/dist-cjs/schemas/index.d.ts +80 -0
- package/dist-cjs/schemas/index.js +84 -0
- package/dist-cjs/schemas/typing.d.ts +30 -0
- package/dist-cjs/schemas/typing.js +2 -0
- package/dist-cjs/serialization/ByteBuffer/index.d.ts +180 -0
- package/dist-cjs/serialization/ByteBuffer/index.js +272 -0
- package/dist-cjs/serialization/crdt/appendValue.d.ts +15 -0
- package/dist-cjs/serialization/crdt/appendValue.js +52 -0
- package/dist-cjs/serialization/crdt/crdtMessageProtocol.d.ts +30 -0
- package/dist-cjs/serialization/crdt/crdtMessageProtocol.js +71 -0
- package/dist-cjs/serialization/crdt/deleteComponent.d.ts +14 -0
- package/dist-cjs/serialization/crdt/deleteComponent.js +45 -0
- package/dist-cjs/serialization/crdt/deleteEntity.d.ts +11 -0
- package/dist-cjs/serialization/crdt/deleteEntity.js +34 -0
- package/dist-cjs/serialization/crdt/index.d.ts +6 -0
- package/dist-cjs/serialization/crdt/index.js +22 -0
- package/dist-cjs/serialization/crdt/message.d.ts +3 -0
- package/dist-cjs/serialization/crdt/message.js +28 -0
- package/dist-cjs/serialization/crdt/putComponent.d.ts +15 -0
- package/dist-cjs/serialization/crdt/putComponent.js +50 -0
- package/dist-cjs/serialization/crdt/types.d.ts +147 -0
- package/dist-cjs/serialization/crdt/types.js +77 -0
- package/dist-cjs/systems/async-task.d.ts +1 -0
- package/dist-cjs/systems/async-task.js +33 -0
- package/dist-cjs/systems/crdt/gset.d.ts +29 -0
- package/dist-cjs/systems/crdt/gset.js +54 -0
- package/dist-cjs/systems/crdt/index.d.ts +7 -0
- package/dist-cjs/systems/crdt/index.js +241 -0
- package/dist-cjs/systems/crdt/types.d.ts +20 -0
- package/dist-cjs/systems/crdt/types.js +2 -0
- package/dist-cjs/systems/crdt/utils.d.ts +15 -0
- package/dist-cjs/systems/crdt/utils.js +52 -0
- package/dist-cjs/systems/cyclicParentingChecker.d.ts +17 -0
- package/dist-cjs/systems/cyclicParentingChecker.js +60 -0
- package/dist-cjs/systems/events.d.ts +49 -0
- package/dist-cjs/systems/events.js +137 -0
- package/dist-cjs/systems/raycast.d.ts +80 -0
- package/dist-cjs/systems/raycast.js +124 -0
- package/dist-cjs/systems/videoEvents.d.ts +14 -0
- package/dist-cjs/systems/videoEvents.js +89 -0
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IArray = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
const IArray = (type) => {
|
|
8
|
+
return {
|
|
9
|
+
serialize(value, builder) {
|
|
10
|
+
builder.writeUint32(value.length);
|
|
11
|
+
for (const item of value) {
|
|
12
|
+
type.serialize(item, builder);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
deserialize(reader) {
|
|
16
|
+
const newArray = [];
|
|
17
|
+
const length = reader.readUint32();
|
|
18
|
+
for (let index = 0; index < length; index++) {
|
|
19
|
+
newArray.push(type.deserialize(reader));
|
|
20
|
+
}
|
|
21
|
+
return newArray;
|
|
22
|
+
},
|
|
23
|
+
create() {
|
|
24
|
+
return [];
|
|
25
|
+
},
|
|
26
|
+
jsonSchema: {
|
|
27
|
+
type: 'array',
|
|
28
|
+
items: type.jsonSchema,
|
|
29
|
+
serializationType: 'array'
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
exports.IArray = IArray;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DeepReadonly } from '../engine/readonly';
|
|
2
|
+
import { ByteBuffer } from '../serialization/ByteBuffer';
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export type JsonPrimitive = string | number | boolean | null;
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export type JsonMap = {
|
|
11
|
+
[key: string]: JsonPrimitive | JsonMap | JsonArray;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export type JsonArray = Array<JsonPrimitive | JsonMap | JsonArray>;
|
|
17
|
+
/**
|
|
18
|
+
* JsonSchemaExtended must specify the type, and it can has more primitives params.
|
|
19
|
+
* Functions are not allowed.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export type JsonSchemaExtended = {
|
|
23
|
+
type: 'object' | 'number' | 'integer' | 'string' | 'array' | 'boolean';
|
|
24
|
+
serializationType: 'boolean' | 'enum-int' | 'enum-string' | 'int8' | 'int16' | 'int32' | 'int64' | 'float32' | 'float64' | 'vector3' | 'color3' | 'quaternion' | 'color4' | 'map' | 'optional' | 'entity' | 'array' | 'utf8-string' | 'protocol-buffer' | 'transform' | 'one-of' | 'unknown';
|
|
25
|
+
} & JsonMap;
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export interface ISchema<T = any> {
|
|
30
|
+
serialize(value: DeepReadonly<T>, builder: ByteBuffer): void;
|
|
31
|
+
deserialize(reader: ByteBuffer): T;
|
|
32
|
+
create(): T;
|
|
33
|
+
extend?: (base: Partial<DeepReadonly<T>> | undefined) => T;
|
|
34
|
+
jsonSchema: JsonSchemaExtended;
|
|
35
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ISchema } from './ISchema';
|
|
2
|
+
import { ToOptional } from './typing';
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface Spec {
|
|
7
|
+
[key: string]: ISchema;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export type MapResult<T extends Spec> = ToOptional<{
|
|
13
|
+
[K in keyof T]: T[K] extends ISchema ? ReturnType<T[K]['deserialize']> : T[K] extends Spec ? MapResult<T[K]> : never;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export type MapResultWithOptional<T extends Spec> = ToOptional<{
|
|
19
|
+
[K in keyof T]?: T[K] extends ISchema ? ReturnType<T[K]['deserialize']> : T[K] extends Spec ? MapResult<T[K]> : never;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IMap = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
const IMap = (spec, defaultValue) => {
|
|
8
|
+
const specReflection = Object.keys(spec).reduce((specReflection, currentKey) => {
|
|
9
|
+
specReflection[currentKey] = spec[currentKey].jsonSchema;
|
|
10
|
+
return specReflection;
|
|
11
|
+
}, {});
|
|
12
|
+
return {
|
|
13
|
+
serialize(value, builder) {
|
|
14
|
+
for (const key in spec) {
|
|
15
|
+
spec[key].serialize(value[key], builder);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
deserialize(reader) {
|
|
19
|
+
const newValue = {};
|
|
20
|
+
for (const key in spec) {
|
|
21
|
+
;
|
|
22
|
+
newValue[key] = spec[key].deserialize(reader);
|
|
23
|
+
}
|
|
24
|
+
return newValue;
|
|
25
|
+
},
|
|
26
|
+
create() {
|
|
27
|
+
const newValue = {};
|
|
28
|
+
for (const key in spec) {
|
|
29
|
+
;
|
|
30
|
+
newValue[key] = spec[key].create();
|
|
31
|
+
}
|
|
32
|
+
return { ...newValue, ...defaultValue };
|
|
33
|
+
},
|
|
34
|
+
extend: (base) => {
|
|
35
|
+
const newValue = {};
|
|
36
|
+
for (const key in spec) {
|
|
37
|
+
;
|
|
38
|
+
newValue[key] = spec[key].create();
|
|
39
|
+
}
|
|
40
|
+
return { ...newValue, ...defaultValue, ...base };
|
|
41
|
+
},
|
|
42
|
+
jsonSchema: {
|
|
43
|
+
type: 'object',
|
|
44
|
+
properties: specReflection,
|
|
45
|
+
serializationType: 'map'
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
exports.IMap = IMap;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ISchema } from './ISchema';
|
|
2
|
+
import { Spec } from './Map';
|
|
3
|
+
type OneOfType<T extends Spec> = {
|
|
4
|
+
[K in keyof T]: {
|
|
5
|
+
readonly $case: K;
|
|
6
|
+
readonly value: ReturnType<T[K]['deserialize']>;
|
|
7
|
+
};
|
|
8
|
+
}[keyof T];
|
|
9
|
+
export declare const IOneOf: <T extends Spec>(specs: T) => ISchema<OneOfType<T>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IOneOf = void 0;
|
|
4
|
+
const IOneOf = (specs) => {
|
|
5
|
+
const specKeys = Object.keys(specs);
|
|
6
|
+
const keyToIndex = specKeys.reduce((dict, key, index) => {
|
|
7
|
+
dict[key] = index;
|
|
8
|
+
return dict;
|
|
9
|
+
}, {});
|
|
10
|
+
const specReflection = specKeys.reduce((specReflection, currentKey) => {
|
|
11
|
+
specReflection[currentKey] = specs[currentKey].jsonSchema;
|
|
12
|
+
return specReflection;
|
|
13
|
+
}, {});
|
|
14
|
+
return {
|
|
15
|
+
serialize({ $case, value }, builder) {
|
|
16
|
+
const _value = keyToIndex[$case.toString()] + 1;
|
|
17
|
+
builder.writeUint8(_value);
|
|
18
|
+
specs[$case].serialize(value, builder);
|
|
19
|
+
},
|
|
20
|
+
deserialize(reader) {
|
|
21
|
+
const $case = specKeys[reader.readInt8() - 1];
|
|
22
|
+
const value = specs[$case].deserialize(reader);
|
|
23
|
+
return { $case, value };
|
|
24
|
+
},
|
|
25
|
+
create() {
|
|
26
|
+
return {};
|
|
27
|
+
},
|
|
28
|
+
jsonSchema: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: specReflection,
|
|
31
|
+
serializationType: 'one-of'
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
exports.IOneOf = IOneOf;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IOptional = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
const IOptional = (spec) => {
|
|
8
|
+
return {
|
|
9
|
+
serialize(value, builder) {
|
|
10
|
+
if (value) {
|
|
11
|
+
builder.writeInt8(1);
|
|
12
|
+
spec.serialize(value, builder);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
builder.writeInt8(0);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
deserialize(reader) {
|
|
19
|
+
const exists = reader.readInt8();
|
|
20
|
+
if (exists) {
|
|
21
|
+
return spec.deserialize(reader);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
create() {
|
|
25
|
+
return undefined;
|
|
26
|
+
},
|
|
27
|
+
jsonSchema: {
|
|
28
|
+
type: spec.jsonSchema.type,
|
|
29
|
+
serializationType: 'optional',
|
|
30
|
+
optionalJsonSchema: spec.jsonSchema
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
exports.IOptional = IOptional;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bool = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
exports.Bool = {
|
|
8
|
+
serialize(value, builder) {
|
|
9
|
+
builder.writeInt8(value ? 1 : 0);
|
|
10
|
+
},
|
|
11
|
+
deserialize(reader) {
|
|
12
|
+
return reader.readInt8() === 1;
|
|
13
|
+
},
|
|
14
|
+
create() {
|
|
15
|
+
return false;
|
|
16
|
+
},
|
|
17
|
+
jsonSchema: {
|
|
18
|
+
type: 'boolean',
|
|
19
|
+
serializationType: 'boolean'
|
|
20
|
+
}
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StringEnum = exports.StringEnumReflectionType = exports.IntEnum = exports.IntEnumReflectionType = void 0;
|
|
4
|
+
const Integer_1 = require("./Integer");
|
|
5
|
+
const String_1 = require("./String");
|
|
6
|
+
/**
|
|
7
|
+
* Validates the enum to ensure all member values are numbers and within the range of Int32.
|
|
8
|
+
* @param enumValue The enum to be checked.
|
|
9
|
+
* @throws If any member value is not a number or is outside the range of Int32.
|
|
10
|
+
*/
|
|
11
|
+
function validateMemberValuesAreNumbersAndInRangeInt32(enumValue) {
|
|
12
|
+
const MIN_VALUE = -(2 ** 31), MAX_VALUE = 2 ** 31 - 1;
|
|
13
|
+
let valueCount = 0, totalCount = 0;
|
|
14
|
+
for (const key in enumValue) {
|
|
15
|
+
if (typeof enumValue[key] === 'number') {
|
|
16
|
+
if (enumValue[key] > MAX_VALUE || enumValue[key] < MIN_VALUE) {
|
|
17
|
+
throw new Error(`Enum member values must be numbers within the range of ${MIN_VALUE} to ${MAX_VALUE}.`);
|
|
18
|
+
}
|
|
19
|
+
valueCount++;
|
|
20
|
+
}
|
|
21
|
+
totalCount++;
|
|
22
|
+
}
|
|
23
|
+
if (totalCount !== valueCount * 2) {
|
|
24
|
+
throw new Error('All enum member values must be of numeric type.');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Validates the enum to ensure all member values are of string type.
|
|
29
|
+
* @param enumValue The enum to be checked.
|
|
30
|
+
* @throws If any member value is not of string type.
|
|
31
|
+
*/
|
|
32
|
+
function validateMemberValuesAreStrings(enumValue) {
|
|
33
|
+
for (const key in enumValue) {
|
|
34
|
+
if (typeof enumValue[key] !== 'string') {
|
|
35
|
+
throw new Error('All enum member values must be of string type.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
exports.IntEnumReflectionType = 'enum-int';
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
const IntEnum = (enumObject, defaultValue) => {
|
|
47
|
+
validateMemberValuesAreNumbersAndInRangeInt32(enumObject);
|
|
48
|
+
return {
|
|
49
|
+
serialize(value, builder) {
|
|
50
|
+
Integer_1.Int32.serialize(value, builder);
|
|
51
|
+
},
|
|
52
|
+
deserialize(reader) {
|
|
53
|
+
return Integer_1.Int32.deserialize(reader);
|
|
54
|
+
},
|
|
55
|
+
create() {
|
|
56
|
+
return defaultValue;
|
|
57
|
+
},
|
|
58
|
+
jsonSchema: {
|
|
59
|
+
// JSON-schema
|
|
60
|
+
type: 'integer',
|
|
61
|
+
enum: Object.values(enumObject).filter((item) => Number.isInteger(item)),
|
|
62
|
+
default: defaultValue,
|
|
63
|
+
// @dcl/ecs Schema Spec
|
|
64
|
+
serializationType: exports.IntEnumReflectionType,
|
|
65
|
+
enumObject
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.IntEnum = IntEnum;
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
exports.StringEnumReflectionType = 'enum-string';
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
const StringEnum = (enumObject, defaultValue) => {
|
|
78
|
+
validateMemberValuesAreStrings(enumObject);
|
|
79
|
+
// String enum has the exact mapping from key (our reference in code) to values
|
|
80
|
+
return {
|
|
81
|
+
serialize(value, builder) {
|
|
82
|
+
String_1.FlatString.serialize(value, builder);
|
|
83
|
+
},
|
|
84
|
+
deserialize(reader) {
|
|
85
|
+
return String_1.FlatString.deserialize(reader);
|
|
86
|
+
},
|
|
87
|
+
create() {
|
|
88
|
+
return defaultValue;
|
|
89
|
+
},
|
|
90
|
+
jsonSchema: {
|
|
91
|
+
// JSON-schema
|
|
92
|
+
type: 'string',
|
|
93
|
+
enum: Object.values(enumObject),
|
|
94
|
+
default: defaultValue,
|
|
95
|
+
// @dcl/ecs Schema Spec
|
|
96
|
+
serializationType: exports.StringEnumReflectionType,
|
|
97
|
+
enumObject
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
exports.StringEnum = StringEnum;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Float64 = exports.Float32 = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
exports.Float32 = {
|
|
8
|
+
serialize(value, builder) {
|
|
9
|
+
builder.writeFloat32(value);
|
|
10
|
+
},
|
|
11
|
+
deserialize(reader) {
|
|
12
|
+
return reader.readFloat32();
|
|
13
|
+
},
|
|
14
|
+
create() {
|
|
15
|
+
return 0.0;
|
|
16
|
+
},
|
|
17
|
+
jsonSchema: {
|
|
18
|
+
type: 'number',
|
|
19
|
+
serializationType: 'float32'
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
exports.Float64 = {
|
|
26
|
+
serialize(value, builder) {
|
|
27
|
+
builder.writeFloat64(value);
|
|
28
|
+
},
|
|
29
|
+
deserialize(reader) {
|
|
30
|
+
return reader.readFloat64();
|
|
31
|
+
},
|
|
32
|
+
create() {
|
|
33
|
+
return 0.0;
|
|
34
|
+
},
|
|
35
|
+
jsonSchema: {
|
|
36
|
+
type: 'number',
|
|
37
|
+
serializationType: 'float64'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Int8 = exports.Int16 = exports.Int32 = exports.Int64 = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
exports.Int64 = {
|
|
8
|
+
serialize(value, builder) {
|
|
9
|
+
builder.writeInt64(BigInt(value));
|
|
10
|
+
},
|
|
11
|
+
deserialize(reader) {
|
|
12
|
+
return Number(reader.readInt64());
|
|
13
|
+
},
|
|
14
|
+
create() {
|
|
15
|
+
return 0;
|
|
16
|
+
},
|
|
17
|
+
jsonSchema: {
|
|
18
|
+
type: 'integer',
|
|
19
|
+
serializationType: 'int64'
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
exports.Int32 = {
|
|
26
|
+
serialize(value, builder) {
|
|
27
|
+
builder.writeInt32(value);
|
|
28
|
+
},
|
|
29
|
+
deserialize(reader) {
|
|
30
|
+
return reader.readInt32();
|
|
31
|
+
},
|
|
32
|
+
create() {
|
|
33
|
+
return 0;
|
|
34
|
+
},
|
|
35
|
+
jsonSchema: {
|
|
36
|
+
type: 'integer',
|
|
37
|
+
serializationType: 'int32'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
exports.Int16 = {
|
|
44
|
+
serialize(value, builder) {
|
|
45
|
+
builder.writeInt16(value);
|
|
46
|
+
},
|
|
47
|
+
deserialize(reader) {
|
|
48
|
+
return reader.readInt16();
|
|
49
|
+
},
|
|
50
|
+
create() {
|
|
51
|
+
return 0;
|
|
52
|
+
},
|
|
53
|
+
jsonSchema: {
|
|
54
|
+
type: 'integer',
|
|
55
|
+
serializationType: 'int16'
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
exports.Int8 = {
|
|
62
|
+
serialize(value, builder) {
|
|
63
|
+
builder.writeInt8(value);
|
|
64
|
+
},
|
|
65
|
+
deserialize(reader) {
|
|
66
|
+
return reader.readInt8();
|
|
67
|
+
},
|
|
68
|
+
create() {
|
|
69
|
+
return 0;
|
|
70
|
+
},
|
|
71
|
+
jsonSchema: {
|
|
72
|
+
type: 'integer',
|
|
73
|
+
serializationType: 'int8'
|
|
74
|
+
}
|
|
75
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EcsString = exports.FlatString = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
exports.FlatString = {
|
|
8
|
+
serialize(value, builder) {
|
|
9
|
+
builder.writeUtf8String(value);
|
|
10
|
+
},
|
|
11
|
+
deserialize(reader) {
|
|
12
|
+
return reader.readUtf8String();
|
|
13
|
+
},
|
|
14
|
+
create() {
|
|
15
|
+
return '';
|
|
16
|
+
},
|
|
17
|
+
jsonSchema: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
serializationType: 'utf8-string'
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
exports.EcsString = exports.FlatString;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ISchema, JsonSchemaExtended } from '../ISchema';
|
|
2
|
+
/**
|
|
3
|
+
* Create an ISchema object from the json-schema
|
|
4
|
+
* @param jsonSchema
|
|
5
|
+
* @returns a ISchema or fail for unsupported json-schema
|
|
6
|
+
*/
|
|
7
|
+
export declare function jsonSchemaToSchema(jsonSchema: JsonSchemaExtended): ISchema<any>;
|
|
8
|
+
export declare function mutateValues(jsonSchema: JsonSchemaExtended, value: unknown, mutateFn: (value: unknown, valueType: JsonSchemaExtended) => {
|
|
9
|
+
changed: boolean;
|
|
10
|
+
value?: any;
|
|
11
|
+
}): void;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mutateValues = exports.jsonSchemaToSchema = void 0;
|
|
4
|
+
const Array_1 = require("../Array");
|
|
5
|
+
const Boolean_1 = require("../basic/Boolean");
|
|
6
|
+
const Enum_1 = require("../basic/Enum");
|
|
7
|
+
const Float_1 = require("../basic/Float");
|
|
8
|
+
const Integer_1 = require("../basic/Integer");
|
|
9
|
+
const String_1 = require("../basic/String");
|
|
10
|
+
const Color3_1 = require("../custom/Color3");
|
|
11
|
+
const Color4_1 = require("../custom/Color4");
|
|
12
|
+
const Entity_1 = require("../custom/Entity");
|
|
13
|
+
const Quaternion_1 = require("../custom/Quaternion");
|
|
14
|
+
const Vector3_1 = require("../custom/Vector3");
|
|
15
|
+
const Map_1 = require("../Map");
|
|
16
|
+
const OneOf_1 = require("../OneOf");
|
|
17
|
+
const Optional_1 = require("../Optional");
|
|
18
|
+
const utils_1 = require("./utils");
|
|
19
|
+
const primitiveSchemas = {
|
|
20
|
+
[Boolean_1.Bool.jsonSchema.serializationType]: Boolean_1.Bool,
|
|
21
|
+
[String_1.EcsString.jsonSchema.serializationType]: String_1.EcsString,
|
|
22
|
+
[Float_1.Float32.jsonSchema.serializationType]: Float_1.Float32,
|
|
23
|
+
[Float_1.Float64.jsonSchema.serializationType]: Float_1.Float64,
|
|
24
|
+
[Integer_1.Int8.jsonSchema.serializationType]: Integer_1.Int8,
|
|
25
|
+
[Integer_1.Int16.jsonSchema.serializationType]: Integer_1.Int16,
|
|
26
|
+
[Integer_1.Int32.jsonSchema.serializationType]: Integer_1.Int32,
|
|
27
|
+
[Integer_1.Int64.jsonSchema.serializationType]: Integer_1.Int64,
|
|
28
|
+
[Vector3_1.Vector3Schema.jsonSchema.serializationType]: Vector3_1.Vector3Schema,
|
|
29
|
+
[Quaternion_1.QuaternionSchema.jsonSchema.serializationType]: Quaternion_1.QuaternionSchema,
|
|
30
|
+
[Color3_1.Color3Schema.jsonSchema.serializationType]: Color3_1.Color3Schema,
|
|
31
|
+
[Color4_1.Color4Schema.jsonSchema.serializationType]: Color4_1.Color4Schema,
|
|
32
|
+
[Entity_1.EntitySchema.jsonSchema.serializationType]: Entity_1.EntitySchema
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Create an ISchema object from the json-schema
|
|
36
|
+
* @param jsonSchema
|
|
37
|
+
* @returns a ISchema or fail for unsupported json-schema
|
|
38
|
+
*/
|
|
39
|
+
function jsonSchemaToSchema(jsonSchema) {
|
|
40
|
+
if (primitiveSchemas[jsonSchema.serializationType]) {
|
|
41
|
+
return primitiveSchemas[jsonSchema.serializationType];
|
|
42
|
+
}
|
|
43
|
+
if (jsonSchema.serializationType === 'map') {
|
|
44
|
+
const mapJsonSchema = jsonSchema;
|
|
45
|
+
const spec = {};
|
|
46
|
+
for (const key in mapJsonSchema.properties) {
|
|
47
|
+
spec[key] = jsonSchemaToSchema(mapJsonSchema.properties[key]);
|
|
48
|
+
}
|
|
49
|
+
return (0, Map_1.IMap)(spec);
|
|
50
|
+
}
|
|
51
|
+
if (jsonSchema.serializationType === 'optional') {
|
|
52
|
+
const withItemsJsonSchema = jsonSchema;
|
|
53
|
+
return (0, Optional_1.IOptional)(jsonSchemaToSchema(withItemsJsonSchema.optionalJsonSchema));
|
|
54
|
+
}
|
|
55
|
+
if (jsonSchema.serializationType === 'array') {
|
|
56
|
+
const withItemsJsonSchema = jsonSchema;
|
|
57
|
+
return (0, Array_1.IArray)(jsonSchemaToSchema(withItemsJsonSchema.items));
|
|
58
|
+
}
|
|
59
|
+
if (jsonSchema.serializationType === 'enum-int') {
|
|
60
|
+
const enumJsonSchema = jsonSchema;
|
|
61
|
+
return (0, Enum_1.IntEnum)(enumJsonSchema.enumObject, enumJsonSchema.default);
|
|
62
|
+
}
|
|
63
|
+
if (jsonSchema.serializationType === 'enum-string') {
|
|
64
|
+
const enumJsonSchema = jsonSchema;
|
|
65
|
+
return (0, Enum_1.StringEnum)(enumJsonSchema.enumObject, enumJsonSchema.default);
|
|
66
|
+
}
|
|
67
|
+
if (jsonSchema.serializationType === 'one-of') {
|
|
68
|
+
const oneOfJsonSchema = jsonSchema;
|
|
69
|
+
const spec = {};
|
|
70
|
+
for (const key in oneOfJsonSchema.properties) {
|
|
71
|
+
spec[key] = jsonSchemaToSchema(oneOfJsonSchema.properties[key]);
|
|
72
|
+
}
|
|
73
|
+
return (0, OneOf_1.IOneOf)(spec);
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`${jsonSchema.serializationType} is not supported as reverse schema generation.`);
|
|
76
|
+
}
|
|
77
|
+
exports.jsonSchemaToSchema = jsonSchemaToSchema;
|
|
78
|
+
function mutateValues(jsonSchema, value, mutateFn) {
|
|
79
|
+
if (jsonSchema.serializationType === 'map') {
|
|
80
|
+
const { properties } = jsonSchema;
|
|
81
|
+
const typedValue = value;
|
|
82
|
+
for (const key in properties) {
|
|
83
|
+
const { type, value: mapValue } = (0, utils_1.getTypeAndValue)(properties, typedValue, key);
|
|
84
|
+
if (type.serializationType === 'unknown')
|
|
85
|
+
continue;
|
|
86
|
+
if ((0, utils_1.isCompoundType)(type)) {
|
|
87
|
+
mutateValues(type, mapValue, mutateFn);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const newValue = mutateFn(mapValue, type);
|
|
91
|
+
if (newValue.changed) {
|
|
92
|
+
typedValue[key] = newValue.value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else if (jsonSchema.serializationType === 'array') {
|
|
98
|
+
const { items } = jsonSchema;
|
|
99
|
+
const arrayValue = value;
|
|
100
|
+
for (let i = 0, n = arrayValue.length; i < n; i++) {
|
|
101
|
+
const { type, value } = (0, utils_1.getTypeAndValue)({ items: items }, { items: arrayValue[i] }, 'items');
|
|
102
|
+
if ((0, utils_1.isCompoundType)(type)) {
|
|
103
|
+
mutateValues(type, value, mutateFn);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const newValue = mutateFn(value, type);
|
|
107
|
+
if (newValue.changed) {
|
|
108
|
+
arrayValue[i] = newValue.value;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.mutateValues = mutateValues;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { JsonSchemaExtended } from '../ISchema';
|
|
2
|
+
import { UnknownSchema } from './types';
|
|
3
|
+
export declare const isSchemaType: (value: JsonSchemaExtended, types: JsonSchemaExtended['serializationType'][]) => boolean;
|
|
4
|
+
export declare const isOneOfJsonSchema: (type: JsonSchemaExtended) => type is {
|
|
5
|
+
type: "string" | "number" | "boolean" | "object" | "integer" | "array";
|
|
6
|
+
serializationType: "boolean" | "map" | "array" | "enum-int" | "enum-string" | "int8" | "int16" | "int32" | "int64" | "float32" | "float64" | "vector3" | "color3" | "quaternion" | "color4" | "optional" | "entity" | "utf8-string" | "protocol-buffer" | "transform" | "one-of" | "unknown";
|
|
7
|
+
} & import("../ISchema").JsonMap & {
|
|
8
|
+
properties: Record<string, JsonSchemaExtended>;
|
|
9
|
+
};
|
|
10
|
+
export declare const getUnknownSchema: () => UnknownSchema;
|
|
11
|
+
export declare const isCompoundType: (type: JsonSchemaExtended) => boolean;
|
|
12
|
+
export declare const getTypeAndValue: (properties: Record<string, JsonSchemaExtended>, value: Record<string, unknown>, key: string) => UnknownSchema;
|