@synnaxlabs/x 0.42.1 → 0.43.0

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 (296) hide show
  1. package/.turbo/turbo-build.log +93 -105
  2. package/.vscode/settings.json +4 -6
  3. package/README.md +1 -7
  4. package/dist/array.cjs +1 -0
  5. package/dist/array.js +7 -0
  6. package/dist/base-B5lQIJKc.js +38 -0
  7. package/dist/base-CTq-lhpU.cjs +1 -0
  8. package/dist/binary.cjs +1 -1
  9. package/dist/binary.js +1 -1
  10. package/dist/bounds.cjs +1 -1
  11. package/dist/bounds.js +2 -2
  12. package/dist/box.cjs +1 -1
  13. package/dist/box.js +1 -1
  14. package/dist/caseconv.cjs +1 -1
  15. package/dist/caseconv.js +2 -2
  16. package/dist/change.cjs +1 -1
  17. package/dist/change.js +10 -2
  18. package/dist/compare.cjs +1 -1
  19. package/dist/compare.js +1 -1
  20. package/dist/deep.cjs +1 -1
  21. package/dist/deep.js +92 -79
  22. package/dist/dimensions.cjs +1 -1
  23. package/dist/dimensions.js +41 -2
  24. package/dist/direction.cjs +1 -1
  25. package/dist/direction.js +1 -1
  26. package/dist/index-4GlOgZuh.js +99 -0
  27. package/dist/{direction-C-b6XTeU.cjs → index-B58dnYRu.cjs} +1 -1
  28. package/dist/index-BMGaoK93.cjs +1 -0
  29. package/dist/index-BTet04Hd.cjs +6 -0
  30. package/dist/{scale-DfJe9755.js → index-BUa-NXAX.js} +46 -46
  31. package/dist/{xy-D_LqxaGt.js → index-C-qYOegc.js} +62 -62
  32. package/dist/index-C07SBJhr.js +128 -0
  33. package/dist/{bounds-Bn5_l4Z3.js → index-C9EdKeu1.js} +77 -76
  34. package/dist/index-CM8ZDZ6s.cjs +1 -0
  35. package/dist/index-CV2JaHfw.cjs +1 -0
  36. package/dist/index-CeBvOwG8.cjs +3 -0
  37. package/dist/index-ClrGyGDp.js +205 -0
  38. package/dist/index-CqQXXeCI.cjs +1 -0
  39. package/dist/{location-C3aeu046.js → index-D6V-8SKw.js} +26 -26
  40. package/dist/index-DBGAIs_7.js +2492 -0
  41. package/dist/index-DEdq2tza.cjs +1 -0
  42. package/dist/index-DKMnHBGR.cjs +1 -0
  43. package/dist/index-Dql5FMcH.js +47 -0
  44. package/dist/{direction-BL0PhD1k.js → index-DxU1zwsd.js} +1 -1
  45. package/dist/index-WwMnwoLy.cjs +1 -0
  46. package/dist/index.cjs +5 -3
  47. package/dist/index.js +5372 -649
  48. package/dist/kv.cjs +1 -1
  49. package/dist/kv.js +45 -2
  50. package/dist/location.cjs +1 -1
  51. package/dist/location.js +1 -1
  52. package/dist/position.cjs +1 -1
  53. package/dist/position.js +83 -2
  54. package/dist/record.cjs +1 -1
  55. package/dist/record.js +8 -10
  56. package/dist/runtime.cjs +1 -1
  57. package/dist/runtime.js +27 -2
  58. package/dist/scale.cjs +1 -1
  59. package/dist/scale.js +1 -1
  60. package/dist/schemas-55Usj0Fg.js +3998 -0
  61. package/dist/schemas-DbXuI2Qr.cjs +27 -0
  62. package/dist/spatial.cjs +1 -1
  63. package/dist/spatial.js +25 -18
  64. package/dist/src/array/index.d.ts +2 -0
  65. package/dist/src/array/index.d.ts.map +1 -0
  66. package/dist/src/array/toArray.d.ts +19 -0
  67. package/dist/src/array/toArray.d.ts.map +1 -0
  68. package/dist/src/array/toArray.spec.d.ts +2 -0
  69. package/dist/src/array/toArray.spec.d.ts.map +1 -0
  70. package/dist/src/binary/codec.d.ts +8 -16
  71. package/dist/src/binary/codec.d.ts.map +1 -1
  72. package/dist/src/breaker/breaker.d.ts +6 -6
  73. package/dist/src/breaker/breaker.d.ts.map +1 -1
  74. package/dist/src/caseconv/caseconv.d.ts +1 -1
  75. package/dist/src/caseconv/caseconv.d.ts.map +1 -1
  76. package/dist/src/change/change.d.ts +3 -3
  77. package/dist/src/change/change.d.ts.map +1 -1
  78. package/dist/src/color/color.d.ts +63 -28
  79. package/dist/src/color/color.d.ts.map +1 -1
  80. package/dist/src/color/external.d.ts +0 -1
  81. package/dist/src/color/external.d.ts.map +1 -1
  82. package/dist/src/color/gradient.d.ts +9 -5
  83. package/dist/src/color/gradient.d.ts.map +1 -1
  84. package/dist/src/color/palette.d.ts +14 -6
  85. package/dist/src/color/palette.d.ts.map +1 -1
  86. package/dist/src/compare/compare.d.ts +4 -4
  87. package/dist/src/compare/compare.d.ts.map +1 -1
  88. package/dist/src/control/control.d.ts +32 -32
  89. package/dist/src/control/control.d.ts.map +1 -1
  90. package/dist/src/debounce/debounce.d.ts +1 -1
  91. package/dist/src/debounce/debounce.d.ts.map +1 -1
  92. package/dist/src/deep/delete.d.ts +1 -1
  93. package/dist/src/deep/delete.d.ts.map +1 -1
  94. package/dist/src/deep/difference.d.ts.map +1 -1
  95. package/dist/src/deep/equal.d.ts +4 -4
  96. package/dist/src/deep/equal.d.ts.map +1 -1
  97. package/dist/src/deep/merge.d.ts +1 -1
  98. package/dist/src/deep/merge.d.ts.map +1 -1
  99. package/dist/src/errors/errors.d.ts +62 -36
  100. package/dist/src/errors/errors.d.ts.map +1 -1
  101. package/dist/src/index.d.ts +4 -1
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/instance/index.d.ts +2 -0
  104. package/dist/src/instance/index.d.ts.map +1 -0
  105. package/dist/src/instance/matcher.d.ts +79 -0
  106. package/dist/src/instance/matcher.d.ts.map +1 -0
  107. package/dist/src/instance/matcher.spec.d.ts +2 -0
  108. package/dist/src/instance/matcher.spec.d.ts.map +1 -0
  109. package/dist/src/jsonrpc/jsonrpc.d.ts +40 -9
  110. package/dist/src/jsonrpc/jsonrpc.d.ts.map +1 -1
  111. package/dist/src/kv/types.d.ts +2 -2
  112. package/dist/src/kv/types.d.ts.map +1 -1
  113. package/dist/src/migrate/migrate.d.ts +5 -5
  114. package/dist/src/migrate/migrate.d.ts.map +1 -1
  115. package/dist/src/notation/notation.d.ts +1 -1
  116. package/dist/src/notation/notation.d.ts.map +1 -1
  117. package/dist/src/primitive/index.d.ts +2 -0
  118. package/dist/src/primitive/index.d.ts.map +1 -0
  119. package/dist/src/primitive/primitive.d.ts +39 -0
  120. package/dist/src/primitive/primitive.d.ts.map +1 -0
  121. package/dist/src/primitive/primitive.spec.d.ts +2 -0
  122. package/dist/src/primitive/primitive.spec.d.ts.map +1 -0
  123. package/dist/src/record.d.ts +2 -2
  124. package/dist/src/record.d.ts.map +1 -1
  125. package/dist/src/renderable.d.ts +1 -1
  126. package/dist/src/renderable.d.ts.map +1 -1
  127. package/dist/src/replace.d.ts.map +1 -1
  128. package/dist/src/runtime/detect.d.ts.map +1 -1
  129. package/dist/src/runtime/os.d.ts +1 -1
  130. package/dist/src/runtime/os.d.ts.map +1 -1
  131. package/dist/src/spatial/base.d.ts +10 -10
  132. package/dist/src/spatial/base.d.ts.map +1 -1
  133. package/dist/src/spatial/bounds/bounds.d.ts +82 -16
  134. package/dist/src/spatial/bounds/bounds.d.ts.map +1 -1
  135. package/dist/src/spatial/box/box.d.ts +7 -7
  136. package/dist/src/spatial/box/box.d.ts.map +1 -1
  137. package/dist/src/spatial/dimensions/dimensions.d.ts +5 -5
  138. package/dist/src/spatial/dimensions/dimensions.d.ts.map +1 -1
  139. package/dist/src/spatial/direction/direction.d.ts +1 -1
  140. package/dist/src/spatial/location/location.d.ts +4 -4
  141. package/dist/src/spatial/location/location.d.ts.map +1 -1
  142. package/dist/src/spatial/scale/scale.d.ts +11 -11
  143. package/dist/src/spatial/scale/scale.d.ts.map +1 -1
  144. package/dist/src/spatial/xy/xy.d.ts +5 -5
  145. package/dist/src/spatial/xy/xy.d.ts.map +1 -1
  146. package/dist/src/status/index.d.ts +2 -0
  147. package/dist/src/status/index.d.ts.map +1 -0
  148. package/dist/src/status/types.d.ts +11 -0
  149. package/dist/src/status/types.d.ts.map +1 -0
  150. package/dist/src/sync/index.d.ts.map +1 -1
  151. package/dist/src/sync/mutex.d.ts +0 -1
  152. package/dist/src/sync/mutex.d.ts.map +1 -1
  153. package/dist/src/telem/gl.d.ts +1 -1
  154. package/dist/src/telem/gl.d.ts.map +1 -1
  155. package/dist/src/telem/series.d.ts +468 -62
  156. package/dist/src/telem/series.d.ts.map +1 -1
  157. package/dist/src/telem/telem.d.ts +243 -53
  158. package/dist/src/telem/telem.d.ts.map +1 -1
  159. package/dist/src/uuid/index.d.ts +2 -0
  160. package/dist/src/uuid/index.d.ts.map +1 -0
  161. package/dist/src/uuid/uuid.d.ts +35 -0
  162. package/dist/src/uuid/uuid.d.ts.map +1 -0
  163. package/dist/src/uuid/uuid.spec.d.ts +2 -0
  164. package/dist/src/uuid/uuid.spec.d.ts.map +1 -0
  165. package/dist/src/zod/external.d.ts +1 -1
  166. package/dist/src/zod/external.d.ts.map +1 -1
  167. package/dist/src/zod/nullToUndefined.d.ts +3 -0
  168. package/dist/src/zod/nullToUndefined.d.ts.map +1 -0
  169. package/dist/src/zod/nullToUndefined.spec.d.ts +2 -0
  170. package/dist/src/zod/nullToUndefined.spec.d.ts.map +1 -0
  171. package/dist/src/zod/util.d.ts +2 -2
  172. package/dist/src/zod/util.d.ts.map +1 -1
  173. package/dist/telem.cjs +1 -1
  174. package/dist/telem.js +1 -1
  175. package/dist/xy.cjs +1 -1
  176. package/dist/xy.js +1 -1
  177. package/dist/zod.cjs +1 -1
  178. package/dist/zod.js +19 -2
  179. package/eslint.config.js +1 -1
  180. package/package.json +16 -14
  181. package/src/{toArray.ts → array/index.ts} +1 -5
  182. package/src/array/toArray.spec.ts +56 -0
  183. package/src/array/toArray.ts +28 -0
  184. package/src/binary/codec.spec.ts +201 -278
  185. package/src/binary/codec.ts +20 -76
  186. package/src/breaker/breaker.ts +3 -3
  187. package/src/caseconv/caseconv.ts +6 -4
  188. package/src/change/change.ts +2 -2
  189. package/src/color/color.spec.ts +121 -2
  190. package/src/color/color.ts +90 -54
  191. package/src/color/external.ts +0 -1
  192. package/src/color/gradient.ts +20 -28
  193. package/src/color/palette.ts +1 -1
  194. package/src/compare/compare.ts +5 -5
  195. package/src/control/control.ts +22 -19
  196. package/src/debounce/debounce.ts +1 -1
  197. package/src/deep/delete.ts +5 -4
  198. package/src/deep/difference.ts +6 -2
  199. package/src/deep/equal.spec.ts +1 -1
  200. package/src/deep/equal.ts +5 -5
  201. package/src/deep/merge.spec.ts +13 -1
  202. package/src/deep/merge.ts +16 -7
  203. package/src/deep/path.ts +1 -1
  204. package/src/errors/errors.ts +65 -44
  205. package/src/index.ts +4 -1
  206. package/src/instance/index.ts +10 -0
  207. package/src/instance/matcher.spec.ts +78 -0
  208. package/src/instance/matcher.ts +98 -0
  209. package/src/jsonrpc/jsonrpc.spec.ts +2 -1
  210. package/src/jsonrpc/jsonrpc.ts +36 -7
  211. package/src/kv/types.ts +1 -1
  212. package/src/migrate/migrate.spec.ts +1 -1
  213. package/src/migrate/migrate.ts +7 -7
  214. package/src/notation/notation.ts +1 -1
  215. package/src/primitive/index.ts +10 -0
  216. package/src/primitive/primitive.spec.ts +126 -0
  217. package/src/primitive/primitive.ts +82 -0
  218. package/src/record.ts +3 -5
  219. package/src/renderable.ts +1 -1
  220. package/src/replace.ts +9 -0
  221. package/src/runtime/detect.ts +0 -2
  222. package/src/runtime/os.ts +1 -1
  223. package/src/spatial/base.ts +1 -1
  224. package/src/spatial/bounds/bounds.spec.ts +20 -0
  225. package/src/spatial/bounds/bounds.ts +101 -18
  226. package/src/spatial/box/box.ts +1 -1
  227. package/src/spatial/dimensions/dimensions.ts +3 -3
  228. package/src/spatial/location/location.ts +1 -1
  229. package/src/spatial/scale/scale.ts +1 -1
  230. package/src/spatial/xy/xy.ts +1 -1
  231. package/src/status/index.ts +10 -0
  232. package/src/status/types.ts +22 -0
  233. package/src/sync/index.ts +9 -0
  234. package/src/sync/mutex.ts +9 -4
  235. package/src/telem/gl.ts +1 -1
  236. package/src/telem/series.spec.ts +735 -68
  237. package/src/telem/series.ts +536 -195
  238. package/src/telem/telem.spec.ts +60 -7
  239. package/src/telem/telem.ts +287 -95
  240. package/src/uuid/index.ts +10 -0
  241. package/src/uuid/uuid.spec.ts +82 -0
  242. package/src/uuid/uuid.ts +48 -0
  243. package/src/zod/external.ts +1 -1
  244. package/src/zod/nullToUndefined.spec.ts +31 -0
  245. package/src/zod/nullToUndefined.ts +23 -0
  246. package/src/zod/util.spec.ts +1 -1
  247. package/src/zod/util.ts +6 -6
  248. package/tsconfig.json +1 -1
  249. package/tsconfig.tsbuildinfo +1 -1
  250. package/vite.config.ts +1 -1
  251. package/dist/base-BAM2mqCy.cjs +0 -1
  252. package/dist/base-DFq0vvGn.js +0 -38
  253. package/dist/bounds-BQo7rvs9.cjs +0 -1
  254. package/dist/box-0YrQibkB.cjs +0 -1
  255. package/dist/box-Cc8IzcNo.js +0 -205
  256. package/dist/change-C-YELKx6.cjs +0 -1
  257. package/dist/change-DLl6DccR.js +0 -12
  258. package/dist/dimensions-CRgergMS.js +0 -43
  259. package/dist/dimensions-D2QGoNXO.cjs +0 -1
  260. package/dist/external-BPgtxa8d.js +0 -29
  261. package/dist/external-C-dNgNQw.cjs +0 -1
  262. package/dist/external-C8TFju8Q.js +0 -29
  263. package/dist/external-DWQITF5_.cjs +0 -1
  264. package/dist/external-DqPrWKvU.js +0 -47
  265. package/dist/external-uXk0Avrg.cjs +0 -1
  266. package/dist/index-BywOGO8U.js +0 -1074
  267. package/dist/index-CYYjI7Uf.cjs +0 -1
  268. package/dist/index-C_6NXBlg.cjs +0 -3
  269. package/dist/index-Dd8DLyMx.cjs +0 -1
  270. package/dist/index-DizUWH6z.js +0 -47
  271. package/dist/index-QGplUHuy.js +0 -98
  272. package/dist/location-BGl5Ddds.cjs +0 -1
  273. package/dist/position-Cai5-wi1.cjs +0 -1
  274. package/dist/position-DIglP1l2.js +0 -85
  275. package/dist/scale-BtZINJ-A.cjs +0 -1
  276. package/dist/series-B9JERcqi.js +0 -1977
  277. package/dist/series-DqJ6f97G.cjs +0 -11
  278. package/dist/spatial-BSWPzMkK.js +0 -11
  279. package/dist/spatial-DGpZ2sO3.cjs +0 -1
  280. package/dist/src/color/transformColorsToHex.d.ts +0 -6
  281. package/dist/src/color/transformColorsToHex.d.ts.map +0 -1
  282. package/dist/src/primitive.d.ts +0 -9
  283. package/dist/src/primitive.d.ts.map +0 -1
  284. package/dist/src/toArray.d.ts +0 -3
  285. package/dist/src/toArray.d.ts.map +0 -1
  286. package/dist/src/zod/integer.d.ts +0 -10
  287. package/dist/src/zod/integer.d.ts.map +0 -1
  288. package/dist/src/zod/integer.spec.d.ts +0 -2
  289. package/dist/src/zod/integer.spec.d.ts.map +0 -1
  290. package/dist/toArray.cjs +0 -1
  291. package/dist/toArray.js +0 -5
  292. package/dist/xy-B7065J2S.cjs +0 -1
  293. package/src/color/transformColorsToHex.ts +0 -30
  294. package/src/primitive.ts +0 -46
  295. package/src/zod/integer.spec.ts +0 -148
  296. package/src/zod/integer.ts +0 -38
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../src/uuid/uuid.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,QAAO,MAAgB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,UAAU,EAAE,SAAS,MAAM,KAAG,MACjC,CAAC;AAE3B,uEAAuE;AACvE,eAAO,MAAM,IAAI,wCAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=uuid.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.spec.d.ts","sourceRoot":"","sources":["../../../src/uuid/uuid.spec.ts"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
- export * from './integer';
1
+ export * from './nullToUndefined';
2
2
  export * from './util';
3
3
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/zod/external.ts"],"names":[],"mappings":"AASA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../../src/zod/external.ts"],"names":[],"mappings":"AASA,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const nullToUndefined: <Input, Output>(schema: z.ZodType<Input, Output>) => z.ZodOptional<z.ZodPipe<z.ZodNullable<z.ZodType<Input, Output>>, z.ZodTransform<Awaited<Input & {}> | undefined, Input | null>>>;
3
+ //# sourceMappingURL=nullToUndefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nullToUndefined.d.ts","sourceRoot":"","sources":["../../../src/zod/nullToUndefined.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,eAAe,GAAI,KAAK,EAAE,MAAM,EAC3C,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAC/B,CAAC,CAAC,WAAW,CACd,CAAC,CAAC,OAAO,CACP,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EACvC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAC9D,CAKY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nullToUndefined.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nullToUndefined.spec.d.ts","sourceRoot":"","sources":["../../../src/zod/nullToUndefined.spec.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
- import { z } from 'zod';
1
+ import { z } from 'zod/v4';
2
2
  import { deep } from '../deep';
3
3
  export declare const getFieldSchemaPath: (path: string) => string;
4
- export declare const getFieldSchema: deep.TypedGet<z.ZodTypeAny, z.ZodTypeAny>;
4
+ export declare const getFieldSchema: deep.TypedGet<z.ZodType, z.ZodType>;
5
5
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/zod/util.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAQ9C,CAAC;AAcL,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CASpB,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/zod/util.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAQ9C,CAAC;AAcL,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CASpB,CAAC"}
package/dist/telem.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./series-DqJ6f97G.cjs");exports.DataType=e.DataType;exports.Density=e.Density;exports.MultiSeries=e.MultiSeries;exports.Rate=e.Rate;exports.Series=e.Series;exports.Size=e.Size;exports.TimeRange=e.TimeRange;exports.TimeSpan=e.TimeSpan;exports.TimeStamp=e.TimeStamp;exports.addSamples=e.addSamples;exports.convertDataType=e.convertDataType;exports.isCrudeSeries=e.isCrudeSeries;exports.isTelemValue=e.isTelemValue;exports.sortTimeRange=e.sortTimeRange;exports.typedArrayZ=e.typedArrayZ;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BTet04Hd.cjs");exports.DataType=e.DataType;exports.Density=e.Density;exports.MultiSeries=e.MultiSeries;exports.Rate=e.Rate;exports.Series=e.Series;exports.Size=e.Size;exports.TimeRange=e.TimeRange;exports.TimeSpan=e.TimeSpan;exports.TimeStamp=e.TimeStamp;exports.addSamples=e.addSamples;exports.convertDataType=e.convertDataType;exports.isCrudeSeries=e.isCrudeSeries;exports.isTelemValue=e.isTelemValue;exports.sortTimeRange=e.sortTimeRange;exports.typedArrayZ=e.typedArrayZ;
package/dist/telem.js CHANGED
@@ -1,4 +1,4 @@
1
- import { c as s, D as i, M as t, R as r, S as m, d as S, b as T, a as p, T as d, g as n, f as y, i as l, e as o, s as D, t as R } from "./series-B9JERcqi.js";
1
+ import { e as s, D as i, M as t, R as r, S as m, f as S, d as T, T as p, b as d, j as n, h as y, a as l, g as o, s as D, t as R } from "./index-DBGAIs_7.js";
2
2
  export {
3
3
  s as DataType,
4
4
  i as Density,
package/dist/xy.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./xy-B7065J2S.cjs");exports.xy=e.xy;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-WwMnwoLy.cjs");exports.xy=e.xy;
package/dist/xy.js CHANGED
@@ -1,4 +1,4 @@
1
- import { x as r } from "./xy-D_LqxaGt.js";
1
+ import { x as r } from "./index-C-qYOegc.js";
2
2
  export {
3
3
  r as xy
4
4
  };
package/dist/zod.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./external-DWQITF5_.cjs");exports.zod=e.external;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./path-1tZLZ4AN.cjs"),a=t=>t.nullable().transform(e=>e===null?void 0:e).optional(),l=t=>s.transformPath(t,(e,n,r)=>{const c=n===r.length-1,u=!isNaN(parseInt(e)),i=!isNaN(parseInt(r[n+1]));return u&&(e="element"),c||i?e:[e,"shape"]}),o=(t,e)=>{if(t==null)return null;const n=t[e];return n==null&&typeof t=="object"&&"sourceType"in t?t.sourceType()[e]:n},f=(t,e,n)=>s.get(o(t,"shape"),l(e),{...n,getter:o}),p=Object.freeze(Object.defineProperty({__proto__:null,getFieldSchema:f,getFieldSchemaPath:l,nullToUndefined:a},Symbol.toStringTag,{value:"Module"}));exports.zod=p;
package/dist/zod.js CHANGED
@@ -1,4 +1,21 @@
1
- import { e as r } from "./external-C8TFju8Q.js";
1
+ import { t as a, g as i } from "./path-DD6ytXzr.js";
2
+ const f = (t) => t.nullable().transform((e) => e === null ? void 0 : e).optional(), s = (t) => a(t, (e, n, r) => {
3
+ const l = n === r.length - 1, c = !isNaN(parseInt(e)), u = !isNaN(parseInt(r[n + 1]));
4
+ return c && (e = "element"), l || u ? e : [e, "shape"];
5
+ }), o = (t, e) => {
6
+ if (t == null) return null;
7
+ const n = t[e];
8
+ return n == null && typeof t == "object" && "sourceType" in t ? t.sourceType()[e] : n;
9
+ }, p = (t, e, n) => i(
10
+ o(t, "shape"),
11
+ s(e),
12
+ { ...n, getter: o }
13
+ ), g = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
14
+ __proto__: null,
15
+ getFieldSchema: p,
16
+ getFieldSchemaPath: s,
17
+ nullToUndefined: f
18
+ }, Symbol.toStringTag, { value: "Module" }));
2
19
  export {
3
- r as zod
20
+ g as zod
4
21
  };
package/eslint.config.js CHANGED
@@ -9,4 +9,4 @@
9
9
 
10
10
  import synnaxConfig from "eslint-config-synnaxlabs";
11
11
 
12
- export default synnaxConfig
12
+ export default synnaxConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synnaxlabs/x",
3
- "version": "0.42.1",
3
+ "version": "0.43.0",
4
4
  "type": "module",
5
5
  "description": "Common Utilities for Synnax Labs",
6
6
  "repository": "https://github.com/synnaxlabs/synnax/tree/main/x/go",
@@ -13,22 +13,23 @@
13
13
  "control systems"
14
14
  ],
15
15
  "dependencies": {
16
- "@msgpack/msgpack": "^3.1.1",
16
+ "@msgpack/msgpack": "^3.1.2",
17
17
  "async-mutex": "^0.5.0",
18
18
  "nanoid": "^5.1.5",
19
- "zod": "^4.0.0-beta"
19
+ "uuid": "^11.1.0",
20
+ "zod": "^3.25.63"
20
21
  },
21
22
  "devDependencies": {
22
- "@types/node": "^22.13.10",
23
- "@vitest/coverage-v8": "^3.1.3",
24
- "eslint": "^9.24.0",
23
+ "@types/node": "^24.0.1",
24
+ "@vitest/coverage-v8": "^3.2.3",
25
+ "eslint": "^9.28.0",
25
26
  "madge": "^8.0.0",
26
27
  "typescript": "^5.8.3",
27
- "vite": "^6.2.5",
28
- "vitest": "^3.1.1",
28
+ "vite": "^6.3.5",
29
+ "vitest": "^3.2.3",
29
30
  "@synnaxlabs/tsconfig": "0.0.2",
30
- "@synnaxlabs/vite-plugin": "0.0.1",
31
- "eslint-config-synnaxlabs": "0.0.1"
31
+ "@synnaxlabs/vite-plugin": "0.43.0",
32
+ "eslint-config-synnaxlabs": "0.43.0"
32
33
  },
33
34
  "main": "./dist/index.cjs",
34
35
  "module": "./dist/index.js",
@@ -139,10 +140,10 @@
139
140
  "import": "./dist/debounce.js",
140
141
  "require": "./dist/debounce.cjs"
141
142
  },
142
- "./toArray": {
143
- "types": "./dist/src/toArray.d.ts",
144
- "import": "./dist/toArray.js",
145
- "require": "./dist/toArray.cjs"
143
+ "./array": {
144
+ "types": "./dist/src/array/index.d.ts",
145
+ "import": "./dist/array.js",
146
+ "require": "./dist/array.cjs"
146
147
  },
147
148
  "./search": {
148
149
  "types": "./dist/src/search.d.ts",
@@ -182,6 +183,7 @@
182
183
  },
183
184
  "scripts": {
184
185
  "build": "tsc --noEmit && vite build",
186
+ "check-types": "tsc --noEmit",
185
187
  "test": "vitest",
186
188
  "lint": "eslint --cache",
187
189
  "fix": "eslint --cache --fix",
@@ -7,8 +7,4 @@
7
7
  // License, use of this software will be governed by the Apache License, Version 2.0,
8
8
  // included in the file licenses/APL.txt.
9
9
 
10
- export const toArray = <T>(value: T | T[]): T[] =>
11
- Array.isArray(value) ? value : [value];
12
-
13
- export const nullToArr = <T>(value: T | T[] | null | undefined): T[] =>
14
- Array.isArray(value) ? value : value == null ? [] : [value];
10
+ export * as array from "@/array/toArray";
@@ -0,0 +1,56 @@
1
+ // Copyright 2025 Synnax Labs, Inc.
2
+ //
3
+ // Use of this software is governed by the Business Source License included in the file
4
+ // licenses/BSL.txt.
5
+ //
6
+ // As of the Change Date specified in that file, in accordance with the Business Source
7
+ // License, use of this software will be governed by the Apache License, Version 2.0,
8
+ // included in the file licenses/APL.txt.
9
+
10
+ import { describe, expect, it } from "vitest";
11
+
12
+ import { array } from "@/array";
13
+
14
+ describe("toArray", () => {
15
+ it("should return the same array if input is already an array", () => {
16
+ const input = [1, 2, 3];
17
+ expect(array.toArray(input)).toBe(input);
18
+ });
19
+
20
+ it("should wrap a single value in an array", () => {
21
+ expect(array.toArray(1)).toEqual([1]);
22
+ expect(array.toArray("test")).toEqual(["test"]);
23
+ expect(array.toArray({ key: "value" })).toEqual([{ key: "value" }]);
24
+ });
25
+
26
+ it("should handle empty arrays", () => {
27
+ const input: number[] = [];
28
+ expect(array.toArray(input)).toBe(input);
29
+ });
30
+ });
31
+
32
+ describe("nullToArray", () => {
33
+ it("should return the same array if input is already an array", () => {
34
+ const input = [1, 2, 3];
35
+ expect(array.toArray(input)).toBe(input);
36
+ });
37
+
38
+ it("should wrap a single value in an array", () => {
39
+ expect(array.toArray(1)).toEqual([1]);
40
+ expect(array.toArray("test")).toEqual(["test"]);
41
+ expect(array.toArray({ key: "value" })).toEqual([{ key: "value" }]);
42
+ });
43
+
44
+ it("should return an empty array for null input", () => {
45
+ expect(array.toArray(null)).toEqual([]);
46
+ });
47
+
48
+ it("should return an empty array for undefined input", () => {
49
+ expect(array.toArray(undefined)).toEqual([]);
50
+ });
51
+
52
+ it("should handle empty arrays", () => {
53
+ const input: number[] = [];
54
+ expect(array.toArray(input)).toBe(input);
55
+ });
56
+ });
@@ -0,0 +1,28 @@
1
+ // Copyright 2025 Synnax Labs, Inc.
2
+ //
3
+ // Use of this software is governed by the Business Source License included in the file
4
+ // licenses/BSL.txt.
5
+ //
6
+ // As of the Change Date specified in that file, in accordance with the Business Source
7
+ // License, use of this software will be governed by the Apache License, Version 2.0,
8
+ // included in the file licenses/APL.txt.
9
+
10
+ /**
11
+ * Converts a value to an array, handling null and undefined values. If the input is already an array,
12
+ * returns the same array reference. If the input is null or undefined, returns an empty array.
13
+ * If the input is a single value, wraps it in an array.
14
+ *
15
+ * @template T - The type of the input value
16
+ * @param value - The value to convert to an array
17
+ * @returns An array containing the input value, an empty array for null/undefined, or the input array if it was already an array
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * nullToArray(1) // returns [1]
22
+ * nullToArray(null) // returns []
23
+ * nullToArray(undefined) // returns []
24
+ * nullToArray([1, 2, 3]) // returns [1, 2, 3]
25
+ * ```
26
+ */
27
+ export const toArray = <T>(value: T | T[] | null | undefined): T[] =>
28
+ Array.isArray(value) ? value : value == null ? [] : [value];