@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.
Files changed (299) hide show
  1. package/dist-cjs/components/component-number.d.ts +7 -0
  2. package/dist-cjs/components/component-number.js +44 -0
  3. package/dist-cjs/components/extended/Animator.d.ts +46 -0
  4. package/dist-cjs/components/extended/Animator.js +62 -0
  5. package/dist-cjs/components/extended/Material.d.ts +42 -0
  6. package/dist-cjs/components/extended/Material.js +54 -0
  7. package/dist-cjs/components/extended/MeshCollider.d.ts +38 -0
  8. package/dist-cjs/components/extended/MeshCollider.js +43 -0
  9. package/dist-cjs/components/extended/MeshRenderer.d.ts +36 -0
  10. package/dist-cjs/components/extended/MeshRenderer.js +31 -0
  11. package/dist-cjs/components/generated/Animator.gen.d.ts +1 -0
  12. package/dist-cjs/components/generated/Animator.gen.js +28 -0
  13. package/dist-cjs/components/generated/AudioSource.gen.d.ts +1 -0
  14. package/dist-cjs/components/generated/AudioSource.gen.js +28 -0
  15. package/dist-cjs/components/generated/AudioStream.gen.d.ts +1 -0
  16. package/dist-cjs/components/generated/AudioStream.gen.js +28 -0
  17. package/dist-cjs/components/generated/AvatarAttach.gen.d.ts +1 -0
  18. package/dist-cjs/components/generated/AvatarAttach.gen.js +28 -0
  19. package/dist-cjs/components/generated/AvatarModifierArea.gen.d.ts +1 -0
  20. package/dist-cjs/components/generated/AvatarModifierArea.gen.js +28 -0
  21. package/dist-cjs/components/generated/AvatarShape.gen.d.ts +1 -0
  22. package/dist-cjs/components/generated/AvatarShape.gen.js +28 -0
  23. package/dist-cjs/components/generated/Billboard.gen.d.ts +1 -0
  24. package/dist-cjs/components/generated/Billboard.gen.js +28 -0
  25. package/dist-cjs/components/generated/CameraMode.gen.d.ts +1 -0
  26. package/dist-cjs/components/generated/CameraMode.gen.js +28 -0
  27. package/dist-cjs/components/generated/CameraModeArea.gen.d.ts +1 -0
  28. package/dist-cjs/components/generated/CameraModeArea.gen.js +28 -0
  29. package/dist-cjs/components/generated/EngineInfo.gen.d.ts +1 -0
  30. package/dist-cjs/components/generated/EngineInfo.gen.js +28 -0
  31. package/dist-cjs/components/generated/GltfContainer.gen.d.ts +1 -0
  32. package/dist-cjs/components/generated/GltfContainer.gen.js +28 -0
  33. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.d.ts +1 -0
  34. package/dist-cjs/components/generated/GltfContainerLoadingState.gen.js +28 -0
  35. package/dist-cjs/components/generated/Material.gen.d.ts +1 -0
  36. package/dist-cjs/components/generated/Material.gen.js +28 -0
  37. package/dist-cjs/components/generated/MeshCollider.gen.d.ts +1 -0
  38. package/dist-cjs/components/generated/MeshCollider.gen.js +28 -0
  39. package/dist-cjs/components/generated/MeshRenderer.gen.d.ts +1 -0
  40. package/dist-cjs/components/generated/MeshRenderer.gen.js +28 -0
  41. package/dist-cjs/components/generated/NftShape.gen.d.ts +1 -0
  42. package/dist-cjs/components/generated/NftShape.gen.js +28 -0
  43. package/dist-cjs/components/generated/PointerEvents.gen.d.ts +1 -0
  44. package/dist-cjs/components/generated/PointerEvents.gen.js +28 -0
  45. package/dist-cjs/components/generated/PointerEventsResult.gen.d.ts +1 -0
  46. package/dist-cjs/components/generated/PointerEventsResult.gen.js +28 -0
  47. package/dist-cjs/components/generated/PointerLock.gen.d.ts +1 -0
  48. package/dist-cjs/components/generated/PointerLock.gen.js +28 -0
  49. package/dist-cjs/components/generated/Raycast.gen.d.ts +1 -0
  50. package/dist-cjs/components/generated/Raycast.gen.js +28 -0
  51. package/dist-cjs/components/generated/RaycastResult.gen.d.ts +1 -0
  52. package/dist-cjs/components/generated/RaycastResult.gen.js +28 -0
  53. package/dist-cjs/components/generated/TextShape.gen.d.ts +1 -0
  54. package/dist-cjs/components/generated/TextShape.gen.js +28 -0
  55. package/dist-cjs/components/generated/UiBackground.gen.d.ts +1 -0
  56. package/dist-cjs/components/generated/UiBackground.gen.js +28 -0
  57. package/dist-cjs/components/generated/UiCanvasInformation.gen.d.ts +1 -0
  58. package/dist-cjs/components/generated/UiCanvasInformation.gen.js +28 -0
  59. package/dist-cjs/components/generated/UiDropdown.gen.d.ts +1 -0
  60. package/dist-cjs/components/generated/UiDropdown.gen.js +28 -0
  61. package/dist-cjs/components/generated/UiDropdownResult.gen.d.ts +1 -0
  62. package/dist-cjs/components/generated/UiDropdownResult.gen.js +28 -0
  63. package/dist-cjs/components/generated/UiInput.gen.d.ts +1 -0
  64. package/dist-cjs/components/generated/UiInput.gen.js +28 -0
  65. package/dist-cjs/components/generated/UiInputResult.gen.d.ts +1 -0
  66. package/dist-cjs/components/generated/UiInputResult.gen.js +28 -0
  67. package/dist-cjs/components/generated/UiText.gen.d.ts +1 -0
  68. package/dist-cjs/components/generated/UiText.gen.js +28 -0
  69. package/dist-cjs/components/generated/UiTransform.gen.d.ts +1 -0
  70. package/dist-cjs/components/generated/UiTransform.gen.js +28 -0
  71. package/dist-cjs/components/generated/VideoEvent.gen.d.ts +1 -0
  72. package/dist-cjs/components/generated/VideoEvent.gen.js +28 -0
  73. package/dist-cjs/components/generated/VideoPlayer.gen.d.ts +1 -0
  74. package/dist-cjs/components/generated/VideoPlayer.gen.js +28 -0
  75. package/dist-cjs/components/generated/VisibilityComponent.gen.d.ts +1 -0
  76. package/dist-cjs/components/generated/VisibilityComponent.gen.js +28 -0
  77. package/dist-cjs/components/generated/component-names.gen.d.ts +4 -0
  78. package/dist-cjs/components/generated/component-names.gen.js +42 -0
  79. package/dist-cjs/components/generated/global.gen.d.ts +60 -0
  80. package/dist-cjs/components/generated/global.gen.js +61 -0
  81. package/dist-cjs/components/generated/index.gen.d.ts +139 -0
  82. package/dist-cjs/components/generated/index.gen.js +222 -0
  83. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.d.ts +35 -0
  84. package/dist-cjs/components/generated/pb/decentraland/common/border_rect.gen.js +139 -0
  85. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.d.ts +32 -0
  86. package/dist-cjs/components/generated/pb/decentraland/common/colors.gen.js +130 -0
  87. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +91 -0
  88. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +254 -0
  89. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.d.ts +61 -0
  90. package/dist-cjs/components/generated/pb/decentraland/common/vectors.gen.js +233 -0
  91. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.d.ts +50 -0
  92. package/dist-cjs/components/generated/pb/decentraland/sdk/components/animator.gen.js +147 -0
  93. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.d.ts +34 -0
  94. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_source.gen.js +83 -0
  95. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.d.ts +24 -0
  96. package/dist-cjs/components/generated/pb/decentraland/sdk/components/audio_stream.gen.js +65 -0
  97. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.d.ts +37 -0
  98. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_attach.gen.js +67 -0
  99. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +44 -0
  100. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +86 -0
  101. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +56 -0
  102. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +176 -0
  103. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.d.ts +38 -0
  104. package/dist-cjs/components/generated/pb/decentraland/sdk/components/billboard.gen.js +63 -0
  105. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.d.ts +20 -0
  106. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode.gen.js +47 -0
  107. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +32 -0
  108. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +57 -0
  109. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.d.ts +9 -0
  110. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/camera_type.gen.js +15 -0
  111. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.d.ts +1 -0
  112. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/id.gen.js +3 -0
  113. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +29 -0
  114. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +36 -0
  115. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.d.ts +10 -0
  116. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/loading_state.gen.js +16 -0
  117. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.d.ts +29 -0
  118. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/raycast_hit.gen.js +110 -0
  119. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.d.ts +22 -0
  120. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/texts.gen.js +29 -0
  121. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.d.ts +25 -0
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/engine_info.gen.js +65 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.d.ts +25 -0
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container.gen.js +65 -0
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +47 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +96 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +326 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +120 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +246 -0
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +96 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +246 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.d.ts +58 -0
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/nft_shape.gen.js +96 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.d.ts +67 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events.gen.js +159 -0
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.d.ts +26 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_events_result.gen.js +93 -0
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.d.ts +19 -0
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/pointer_lock.gen.js +47 -0
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.d.ts +63 -0
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast.gen.js +152 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.d.ts +32 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/raycast_result.gen.js +85 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.d.ts +65 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/text_shape.gen.js +250 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.d.ts +47 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_background.gen.js +119 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.d.ts +29 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas_information.gen.js +75 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.d.ts +29 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown.gen.js +130 -0
  153. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.d.ts +14 -0
  154. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_dropdown_result.gen.js +47 -0
  155. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.d.ts +28 -0
  156. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input.gen.js +120 -0
  157. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.d.ts +14 -0
  158. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_input_result.gen.js +47 -0
  159. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +25 -0
  160. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +84 -0
  161. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +179 -0
  162. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +644 -0
  163. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.d.ts +33 -0
  164. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_event.gen.js +97 -0
  165. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.d.ts +25 -0
  166. package/dist-cjs/components/generated/pb/decentraland/sdk/components/video_player.gen.js +99 -0
  167. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.d.ts +15 -0
  168. package/dist-cjs/components/generated/pb/decentraland/sdk/components/visibility_component.gen.js +47 -0
  169. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.d.ts +468 -0
  170. package/dist-cjs/components/generated/pb/google/protobuf/descriptor.gen.js +1936 -0
  171. package/dist-cjs/components/generated/types.gen.d.ts +9 -0
  172. package/dist-cjs/components/generated/types.gen.js +30 -0
  173. package/dist-cjs/components/index.d.ts +14 -0
  174. package/dist-cjs/components/index.js +38 -0
  175. package/dist-cjs/components/manual/Transform.d.ts +40 -0
  176. package/dist-cjs/components/manual/Transform.js +110 -0
  177. package/dist-cjs/components/types.d.ts +5 -0
  178. package/dist-cjs/components/types.js +2 -0
  179. package/dist-cjs/composite/components.d.ts +18 -0
  180. package/dist-cjs/composite/components.js +22 -0
  181. package/dist-cjs/composite/index.d.ts +51 -0
  182. package/dist-cjs/composite/index.js +60 -0
  183. package/dist-cjs/composite/instance.d.ts +34 -0
  184. package/dist-cjs/composite/instance.js +201 -0
  185. package/dist-cjs/composite/path.d.ts +3 -0
  186. package/dist-cjs/composite/path.js +154 -0
  187. package/dist-cjs/composite/proto/gen/composite.gen.d.ts +71 -0
  188. package/dist-cjs/composite/proto/gen/composite.gen.js +337 -0
  189. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.d.ts +138 -0
  190. package/dist-cjs/composite/proto/gen/google/protobuf/struct.gen.js +443 -0
  191. package/dist-cjs/engine/component.d.ts +149 -0
  192. package/dist-cjs/engine/component.js +12 -0
  193. package/dist-cjs/engine/entity.d.ts +49 -0
  194. package/dist-cjs/engine/entity.js +178 -0
  195. package/dist-cjs/engine/grow-only-value-set-component-definition.d.ts +8 -0
  196. package/dist-cjs/engine/grow-only-value-set-component-definition.js +145 -0
  197. package/dist-cjs/engine/index.d.ts +15 -0
  198. package/dist-cjs/engine/index.js +247 -0
  199. package/dist-cjs/engine/input.d.ts +34 -0
  200. package/dist-cjs/engine/input.js +219 -0
  201. package/dist-cjs/engine/lww-element-set-component-definition.d.ts +8 -0
  202. package/dist-cjs/engine/lww-element-set-component-definition.js +264 -0
  203. package/dist-cjs/engine/readonly.d.ts +29 -0
  204. package/dist-cjs/engine/readonly.js +10 -0
  205. package/dist-cjs/engine/systems.d.ts +15 -0
  206. package/dist-cjs/engine/systems.js +48 -0
  207. package/dist-cjs/engine/types.d.ts +215 -0
  208. package/dist-cjs/engine/types.js +17 -0
  209. package/dist-cjs/index.d.ts +22 -0
  210. package/dist-cjs/index.js +58 -0
  211. package/dist-cjs/runtime/crc.d.ts +1 -0
  212. package/dist-cjs/runtime/crc.js +45 -0
  213. package/dist-cjs/runtime/helpers/index.d.ts +1 -0
  214. package/dist-cjs/runtime/helpers/index.js +17 -0
  215. package/dist-cjs/runtime/helpers/tree.d.ts +32 -0
  216. package/dist-cjs/runtime/helpers/tree.js +77 -0
  217. package/dist-cjs/runtime/initialization/index.d.ts +61 -0
  218. package/dist-cjs/runtime/initialization/index.js +56 -0
  219. package/dist-cjs/runtime/invariant.d.ts +4 -0
  220. package/dist-cjs/runtime/invariant.js +17 -0
  221. package/dist-cjs/runtime/types.d.ts +6 -0
  222. package/dist-cjs/runtime/types.js +18 -0
  223. package/dist-cjs/schemas/Array.d.ts +1 -0
  224. package/dist-cjs/schemas/Array.js +33 -0
  225. package/dist-cjs/schemas/ISchema.d.ts +35 -0
  226. package/dist-cjs/schemas/ISchema.js +2 -0
  227. package/dist-cjs/schemas/Map.d.ts +20 -0
  228. package/dist-cjs/schemas/Map.js +49 -0
  229. package/dist-cjs/schemas/OneOf.d.ts +10 -0
  230. package/dist-cjs/schemas/OneOf.js +35 -0
  231. package/dist-cjs/schemas/Optional.d.ts +1 -0
  232. package/dist-cjs/schemas/Optional.js +34 -0
  233. package/dist-cjs/schemas/basic/Boolean.d.ts +1 -0
  234. package/dist-cjs/schemas/basic/Boolean.js +21 -0
  235. package/dist-cjs/schemas/basic/Enum.d.ts +1 -0
  236. package/dist-cjs/schemas/basic/Enum.js +101 -0
  237. package/dist-cjs/schemas/basic/Float.d.ts +1 -0
  238. package/dist-cjs/schemas/basic/Float.js +39 -0
  239. package/dist-cjs/schemas/basic/Integer.d.ts +9 -0
  240. package/dist-cjs/schemas/basic/Integer.js +75 -0
  241. package/dist-cjs/schemas/basic/String.d.ts +1 -0
  242. package/dist-cjs/schemas/basic/String.js +25 -0
  243. package/dist-cjs/schemas/buildSchema/index.d.ts +11 -0
  244. package/dist-cjs/schemas/buildSchema/index.js +114 -0
  245. package/dist-cjs/schemas/buildSchema/types.d.ts +5 -0
  246. package/dist-cjs/schemas/buildSchema/types.js +2 -0
  247. package/dist-cjs/schemas/buildSchema/utils.d.ts +12 -0
  248. package/dist-cjs/schemas/buildSchema/utils.js +30 -0
  249. package/dist-cjs/schemas/custom/Color3.d.ts +8 -0
  250. package/dist-cjs/schemas/custom/Color3.js +32 -0
  251. package/dist-cjs/schemas/custom/Color4.d.ts +9 -0
  252. package/dist-cjs/schemas/custom/Color4.js +35 -0
  253. package/dist-cjs/schemas/custom/Entity.d.ts +1 -0
  254. package/dist-cjs/schemas/custom/Entity.js +21 -0
  255. package/dist-cjs/schemas/custom/Quaternion.d.ts +9 -0
  256. package/dist-cjs/schemas/custom/Quaternion.js +35 -0
  257. package/dist-cjs/schemas/custom/Vector3.d.ts +8 -0
  258. package/dist-cjs/schemas/custom/Vector3.js +33 -0
  259. package/dist-cjs/schemas/index.d.ts +80 -0
  260. package/dist-cjs/schemas/index.js +84 -0
  261. package/dist-cjs/schemas/typing.d.ts +30 -0
  262. package/dist-cjs/schemas/typing.js +2 -0
  263. package/dist-cjs/serialization/ByteBuffer/index.d.ts +180 -0
  264. package/dist-cjs/serialization/ByteBuffer/index.js +272 -0
  265. package/dist-cjs/serialization/crdt/appendValue.d.ts +15 -0
  266. package/dist-cjs/serialization/crdt/appendValue.js +52 -0
  267. package/dist-cjs/serialization/crdt/crdtMessageProtocol.d.ts +30 -0
  268. package/dist-cjs/serialization/crdt/crdtMessageProtocol.js +71 -0
  269. package/dist-cjs/serialization/crdt/deleteComponent.d.ts +14 -0
  270. package/dist-cjs/serialization/crdt/deleteComponent.js +45 -0
  271. package/dist-cjs/serialization/crdt/deleteEntity.d.ts +11 -0
  272. package/dist-cjs/serialization/crdt/deleteEntity.js +34 -0
  273. package/dist-cjs/serialization/crdt/index.d.ts +6 -0
  274. package/dist-cjs/serialization/crdt/index.js +22 -0
  275. package/dist-cjs/serialization/crdt/message.d.ts +3 -0
  276. package/dist-cjs/serialization/crdt/message.js +28 -0
  277. package/dist-cjs/serialization/crdt/putComponent.d.ts +15 -0
  278. package/dist-cjs/serialization/crdt/putComponent.js +50 -0
  279. package/dist-cjs/serialization/crdt/types.d.ts +147 -0
  280. package/dist-cjs/serialization/crdt/types.js +77 -0
  281. package/dist-cjs/systems/async-task.d.ts +1 -0
  282. package/dist-cjs/systems/async-task.js +33 -0
  283. package/dist-cjs/systems/crdt/gset.d.ts +29 -0
  284. package/dist-cjs/systems/crdt/gset.js +54 -0
  285. package/dist-cjs/systems/crdt/index.d.ts +7 -0
  286. package/dist-cjs/systems/crdt/index.js +241 -0
  287. package/dist-cjs/systems/crdt/types.d.ts +20 -0
  288. package/dist-cjs/systems/crdt/types.js +2 -0
  289. package/dist-cjs/systems/crdt/utils.d.ts +15 -0
  290. package/dist-cjs/systems/crdt/utils.js +52 -0
  291. package/dist-cjs/systems/cyclicParentingChecker.d.ts +17 -0
  292. package/dist-cjs/systems/cyclicParentingChecker.js +60 -0
  293. package/dist-cjs/systems/events.d.ts +49 -0
  294. package/dist-cjs/systems/events.js +137 -0
  295. package/dist-cjs/systems/raycast.d.ts +80 -0
  296. package/dist-cjs/systems/raycast.js +124 -0
  297. package/dist-cjs/systems/videoEvents.d.ts +14 -0
  298. package/dist-cjs/systems/videoEvents.js +89 -0
  299. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,9 @@
1
+ import { ISchema } from '../ISchema';
2
+ /**
3
+ * @public
4
+ */
5
+ export declare const Int16: ISchema<number>;
6
+ /**
7
+ * @public
8
+ */
9
+ export declare const Int8: ISchema<number>;
@@ -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,5 @@
1
+ import { JsonSchemaExtended } from '../ISchema';
2
+ export type UnknownSchema = {
3
+ type: JsonSchemaExtended;
4
+ value: unknown;
5
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;