@rpgjs/client 5.0.0-alpha.9 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/Game/AnimationManager.d.ts +8 -0
  2. package/dist/Game/AnimationManager.js +26 -0
  3. package/dist/Game/AnimationManager.js.map +1 -0
  4. package/dist/Game/Event.d.ts +1 -1
  5. package/dist/Game/Event.js +12 -0
  6. package/dist/Game/Event.js.map +1 -0
  7. package/dist/Game/Map.d.ts +23 -2
  8. package/dist/Game/Map.js +80 -0
  9. package/dist/Game/Map.js.map +1 -0
  10. package/dist/Game/Object.d.ts +157 -0
  11. package/dist/Game/Object.js +211 -0
  12. package/dist/Game/Object.js.map +1 -0
  13. package/dist/Game/Player.d.ts +1 -1
  14. package/dist/Game/Player.js +12 -0
  15. package/dist/Game/Player.js.map +1 -0
  16. package/dist/Gui/Gui.d.ts +177 -5
  17. package/dist/Gui/Gui.js +445 -0
  18. package/dist/Gui/Gui.js.map +1 -0
  19. package/dist/Gui/NotificationManager.d.ts +23 -0
  20. package/dist/Gui/NotificationManager.js +49 -0
  21. package/dist/Gui/NotificationManager.js.map +1 -0
  22. package/dist/Resource.d.ts +97 -0
  23. package/dist/Resource.js +133 -0
  24. package/dist/Resource.js.map +1 -0
  25. package/dist/RpgClient.d.ts +238 -11
  26. package/dist/RpgClientEngine.d.ts +615 -14
  27. package/dist/RpgClientEngine.js +1334 -0
  28. package/dist/RpgClientEngine.js.map +1 -0
  29. package/dist/Sound.d.ts +199 -0
  30. package/dist/Sound.js +167 -0
  31. package/dist/Sound.js.map +1 -0
  32. package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
  33. package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js +6 -0
  34. package/dist/components/animations/animation.ce.js +24 -0
  35. package/dist/components/animations/animation.ce.js.map +1 -0
  36. package/dist/components/animations/hit.ce.js +70 -0
  37. package/dist/components/animations/hit.ce.js.map +1 -0
  38. package/dist/components/animations/index.d.ts +4 -0
  39. package/dist/components/animations/index.js +11 -0
  40. package/dist/components/animations/index.js.map +1 -0
  41. package/dist/components/character.ce.js +392 -0
  42. package/dist/components/character.ce.js.map +1 -0
  43. package/dist/components/dynamics/parse-value.d.ts +1 -0
  44. package/dist/components/dynamics/parse-value.js +44 -0
  45. package/dist/components/dynamics/parse-value.js.map +1 -0
  46. package/dist/components/dynamics/text.ce.js +73 -0
  47. package/dist/components/dynamics/text.ce.js.map +1 -0
  48. package/dist/components/gui/box.ce.js +28 -0
  49. package/dist/components/gui/box.ce.js.map +1 -0
  50. package/dist/components/gui/dialogbox/index.ce.js +205 -0
  51. package/dist/components/gui/dialogbox/index.ce.js.map +1 -0
  52. package/dist/components/gui/gameover.ce.js +193 -0
  53. package/dist/components/gui/gameover.ce.js.map +1 -0
  54. package/dist/components/gui/hud/hud.ce.js +92 -0
  55. package/dist/components/gui/hud/hud.ce.js.map +1 -0
  56. package/dist/components/gui/index.d.ts +15 -3
  57. package/dist/components/gui/index.js +14 -0
  58. package/dist/components/gui/menu/equip-menu.ce.js +481 -0
  59. package/dist/components/gui/menu/equip-menu.ce.js.map +1 -0
  60. package/dist/components/gui/menu/exit-menu.ce.js +54 -0
  61. package/dist/components/gui/menu/exit-menu.ce.js.map +1 -0
  62. package/dist/components/gui/menu/items-menu.ce.js +344 -0
  63. package/dist/components/gui/menu/items-menu.ce.js.map +1 -0
  64. package/dist/components/gui/menu/main-menu.ce.js +417 -0
  65. package/dist/components/gui/menu/main-menu.ce.js.map +1 -0
  66. package/dist/components/gui/menu/options-menu.ce.js +48 -0
  67. package/dist/components/gui/menu/options-menu.ce.js.map +1 -0
  68. package/dist/components/gui/menu/skills-menu.ce.js +107 -0
  69. package/dist/components/gui/menu/skills-menu.ce.js.map +1 -0
  70. package/dist/components/gui/mobile/index.d.ts +8 -0
  71. package/dist/components/gui/mobile/index.js +21 -0
  72. package/dist/components/gui/mobile/index.js.map +1 -0
  73. package/dist/components/gui/mobile/mobile.ce.js +78 -0
  74. package/dist/components/gui/mobile/mobile.ce.js.map +1 -0
  75. package/dist/components/gui/notification/notification.ce.js +64 -0
  76. package/dist/components/gui/notification/notification.ce.js.map +1 -0
  77. package/dist/components/gui/save-load.ce.js +389 -0
  78. package/dist/components/gui/save-load.ce.js.map +1 -0
  79. package/dist/components/gui/shop/shop.ce.js +652 -0
  80. package/dist/components/gui/shop/shop.ce.js.map +1 -0
  81. package/dist/components/gui/title-screen.ce.js +190 -0
  82. package/dist/components/gui/title-screen.ce.js.map +1 -0
  83. package/dist/components/index.d.ts +1 -0
  84. package/dist/components/index.js +4 -0
  85. package/dist/components/prebuilt/hp-bar.ce.js +116 -0
  86. package/dist/components/prebuilt/hp-bar.ce.js.map +1 -0
  87. package/dist/components/prebuilt/index.d.ts +19 -0
  88. package/dist/components/prebuilt/index.js +2 -0
  89. package/dist/components/prebuilt/light-halo.ce.js +94 -0
  90. package/dist/components/prebuilt/light-halo.ce.js.map +1 -0
  91. package/dist/components/scenes/canvas.ce.js +60 -0
  92. package/dist/components/scenes/canvas.ce.js.map +1 -0
  93. package/dist/components/scenes/draw-map.ce.js +89 -0
  94. package/dist/components/scenes/draw-map.ce.js.map +1 -0
  95. package/dist/components/scenes/event-layer.ce.js +28 -0
  96. package/dist/components/scenes/event-layer.ce.js.map +1 -0
  97. package/dist/core/inject.js +18 -0
  98. package/dist/core/inject.js.map +1 -0
  99. package/dist/core/setup.js +16 -0
  100. package/dist/core/setup.js.map +1 -0
  101. package/dist/index.d.ts +15 -1
  102. package/dist/index.js +44 -14
  103. package/dist/module.d.ts +43 -4
  104. package/dist/module.js +176 -0
  105. package/dist/module.js.map +1 -0
  106. package/dist/node_modules/.pnpm/@signe_di@2.9.0/node_modules/@signe/di/dist/index.js +277 -0
  107. package/dist/node_modules/.pnpm/@signe_di@2.9.0/node_modules/@signe/di/dist/index.js.map +1 -0
  108. package/dist/node_modules/.pnpm/@signe_reactive@2.8.3/node_modules/@signe/reactive/dist/index.js +457 -0
  109. package/dist/node_modules/.pnpm/@signe_reactive@2.8.3/node_modules/@signe/reactive/dist/index.js.map +1 -0
  110. package/dist/node_modules/.pnpm/@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js +463 -0
  111. package/dist/node_modules/.pnpm/@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js.map +1 -0
  112. package/dist/node_modules/.pnpm/@signe_room@2.9.0/node_modules/@signe/room/dist/index.js +2191 -0
  113. package/dist/node_modules/.pnpm/@signe_room@2.9.0/node_modules/@signe/room/dist/index.js.map +1 -0
  114. package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/chunk-7QVYU63E.js +10 -0
  115. package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/chunk-7QVYU63E.js.map +1 -0
  116. package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/client/index.js +91 -0
  117. package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/client/index.js.map +1 -0
  118. package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/index.js +325 -0
  119. package/dist/node_modules/.pnpm/@signe_sync@2.9.0/node_modules/@signe/sync/dist/index.js.map +1 -0
  120. package/dist/node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.js +14 -0
  121. package/dist/node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.js.map +1 -0
  122. package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.js +115 -0
  123. package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.js.map +1 -0
  124. package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-S74YV6PU.js +401 -0
  125. package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-S74YV6PU.js.map +1 -0
  126. package/dist/node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/index.js +2 -0
  127. package/dist/node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js +3756 -0
  128. package/dist/node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js.map +1 -0
  129. package/dist/presets/animation.d.ts +31 -0
  130. package/dist/presets/animation.js +39 -0
  131. package/dist/presets/animation.js.map +1 -0
  132. package/dist/presets/faceset.d.ts +30 -0
  133. package/dist/presets/faceset.js +51 -0
  134. package/dist/presets/faceset.js.map +1 -0
  135. package/dist/presets/icon.d.ts +20 -0
  136. package/dist/presets/icon.js +15 -0
  137. package/dist/presets/icon.js.map +1 -0
  138. package/dist/presets/index.d.ts +123 -0
  139. package/dist/presets/index.js +17 -0
  140. package/dist/presets/index.js.map +1 -0
  141. package/dist/presets/lpc.d.ts +89 -0
  142. package/dist/presets/lpc.js +98 -0
  143. package/dist/presets/lpc.js.map +1 -0
  144. package/dist/presets/rmspritesheet.js +42 -0
  145. package/dist/presets/rmspritesheet.js.map +1 -0
  146. package/dist/services/AbstractSocket.d.ts +9 -5
  147. package/dist/services/AbstractSocket.js +11 -0
  148. package/dist/services/AbstractSocket.js.map +1 -0
  149. package/dist/services/keyboardControls.d.ts +15 -0
  150. package/dist/services/keyboardControls.js +23 -0
  151. package/dist/services/keyboardControls.js.map +1 -0
  152. package/dist/services/loadMap.js +123 -0
  153. package/dist/services/loadMap.js.map +1 -0
  154. package/dist/services/mmorpg.d.ts +21 -9
  155. package/dist/services/mmorpg.js +131 -0
  156. package/dist/services/mmorpg.js.map +1 -0
  157. package/dist/services/save.d.ts +19 -0
  158. package/dist/services/save.js +77 -0
  159. package/dist/services/save.js.map +1 -0
  160. package/dist/services/standalone.d.ts +67 -7
  161. package/dist/services/standalone.js +168 -0
  162. package/dist/services/standalone.js.map +1 -0
  163. package/dist/utils/getEntityProp.d.ts +39 -0
  164. package/dist/utils/getEntityProp.js +52 -0
  165. package/dist/utils/getEntityProp.js.map +1 -0
  166. package/package.json +13 -9
  167. package/src/Game/{EffectManager.ts → AnimationManager.ts} +3 -2
  168. package/src/Game/Event.ts +1 -1
  169. package/src/Game/Map.ts +95 -3
  170. package/src/Game/Object.ts +330 -14
  171. package/src/Game/Player.ts +1 -1
  172. package/src/Gui/Gui.ts +506 -18
  173. package/src/Gui/NotificationManager.ts +69 -0
  174. package/src/Resource.ts +150 -0
  175. package/src/RpgClient.ts +246 -12
  176. package/src/RpgClientEngine.ts +1641 -62
  177. package/src/Sound.ts +253 -0
  178. package/src/components/{effects → animations}/animation.ce +3 -6
  179. package/src/components/{effects → animations}/index.ts +1 -1
  180. package/src/components/character.ce +387 -52
  181. package/src/components/dynamics/parse-value.ts +80 -0
  182. package/src/components/dynamics/text.ce +183 -0
  183. package/src/components/gui/box.ce +17 -0
  184. package/src/components/gui/dialogbox/index.ce +204 -187
  185. package/src/components/gui/gameover.ce +158 -0
  186. package/src/components/gui/hud/hud.ce +61 -0
  187. package/src/components/gui/index.ts +30 -4
  188. package/src/components/gui/menu/equip-menu.ce +410 -0
  189. package/src/components/gui/menu/exit-menu.ce +41 -0
  190. package/src/components/gui/menu/items-menu.ce +317 -0
  191. package/src/components/gui/menu/main-menu.ce +294 -0
  192. package/src/components/gui/menu/options-menu.ce +35 -0
  193. package/src/components/gui/menu/skills-menu.ce +83 -0
  194. package/src/components/gui/mobile/index.ts +24 -0
  195. package/src/components/gui/mobile/mobile.ce +80 -0
  196. package/src/components/gui/notification/notification.ce +51 -0
  197. package/src/components/gui/save-load.ce +208 -0
  198. package/src/components/gui/shop/shop.ce +493 -0
  199. package/src/components/gui/title-screen.ce +163 -0
  200. package/src/components/index.ts +3 -0
  201. package/src/components/prebuilt/hp-bar.ce +255 -0
  202. package/src/components/prebuilt/index.ts +24 -0
  203. package/src/components/prebuilt/light-halo.ce +148 -0
  204. package/src/components/scenes/canvas.ce +20 -15
  205. package/src/components/scenes/draw-map.ce +60 -13
  206. package/src/components/scenes/event-layer.ce +7 -0
  207. package/src/components/scenes/transition.ce +60 -0
  208. package/src/index.ts +16 -2
  209. package/src/module.ts +127 -9
  210. package/src/presets/animation.ts +46 -0
  211. package/src/presets/faceset.ts +60 -0
  212. package/src/presets/icon.ts +17 -0
  213. package/src/presets/index.ts +9 -1
  214. package/src/presets/lpc.ts +108 -0
  215. package/src/services/AbstractSocket.ts +10 -2
  216. package/src/services/keyboardControls.ts +20 -0
  217. package/src/services/loadMap.ts +1 -1
  218. package/src/services/mmorpg.ts +100 -12
  219. package/src/services/save.ts +103 -0
  220. package/src/services/standalone.ts +110 -18
  221. package/src/utils/getEntityProp.ts +87 -0
  222. package/vite.config.ts +4 -2
  223. package/dist/Game/EffectManager.d.ts +0 -5
  224. package/dist/components/effects/index.d.ts +0 -4
  225. package/dist/index.js.map +0 -1
  226. package/dist/index10.js +0 -8
  227. package/dist/index10.js.map +0 -1
  228. package/dist/index11.js +0 -10
  229. package/dist/index11.js.map +0 -1
  230. package/dist/index12.js +0 -8
  231. package/dist/index12.js.map +0 -1
  232. package/dist/index13.js +0 -17
  233. package/dist/index13.js.map +0 -1
  234. package/dist/index14.js +0 -107
  235. package/dist/index14.js.map +0 -1
  236. package/dist/index15.js +0 -50
  237. package/dist/index15.js.map +0 -1
  238. package/dist/index16.js +0 -191
  239. package/dist/index16.js.map +0 -1
  240. package/dist/index17.js +0 -9
  241. package/dist/index17.js.map +0 -1
  242. package/dist/index18.js +0 -387
  243. package/dist/index18.js.map +0 -1
  244. package/dist/index19.js +0 -31
  245. package/dist/index19.js.map +0 -1
  246. package/dist/index2.js +0 -181
  247. package/dist/index2.js.map +0 -1
  248. package/dist/index20.js +0 -24
  249. package/dist/index20.js.map +0 -1
  250. package/dist/index21.js +0 -2421
  251. package/dist/index21.js.map +0 -1
  252. package/dist/index22.js +0 -114
  253. package/dist/index22.js.map +0 -1
  254. package/dist/index23.js +0 -109
  255. package/dist/index23.js.map +0 -1
  256. package/dist/index24.js +0 -71
  257. package/dist/index24.js.map +0 -1
  258. package/dist/index25.js +0 -21
  259. package/dist/index25.js.map +0 -1
  260. package/dist/index26.js +0 -41
  261. package/dist/index26.js.map +0 -1
  262. package/dist/index27.js +0 -5
  263. package/dist/index27.js.map +0 -1
  264. package/dist/index28.js +0 -322
  265. package/dist/index28.js.map +0 -1
  266. package/dist/index29.js +0 -27
  267. package/dist/index29.js.map +0 -1
  268. package/dist/index3.js +0 -87
  269. package/dist/index3.js.map +0 -1
  270. package/dist/index30.js +0 -11
  271. package/dist/index30.js.map +0 -1
  272. package/dist/index31.js +0 -11
  273. package/dist/index31.js.map +0 -1
  274. package/dist/index32.js +0 -174
  275. package/dist/index32.js.map +0 -1
  276. package/dist/index33.js +0 -501
  277. package/dist/index33.js.map +0 -1
  278. package/dist/index34.js +0 -12
  279. package/dist/index34.js.map +0 -1
  280. package/dist/index35.js +0 -4403
  281. package/dist/index35.js.map +0 -1
  282. package/dist/index36.js +0 -316
  283. package/dist/index36.js.map +0 -1
  284. package/dist/index37.js +0 -61
  285. package/dist/index37.js.map +0 -1
  286. package/dist/index38.js +0 -20
  287. package/dist/index38.js.map +0 -1
  288. package/dist/index39.js +0 -20
  289. package/dist/index39.js.map +0 -1
  290. package/dist/index4.js +0 -67
  291. package/dist/index4.js.map +0 -1
  292. package/dist/index5.js +0 -16
  293. package/dist/index5.js.map +0 -1
  294. package/dist/index6.js +0 -17
  295. package/dist/index6.js.map +0 -1
  296. package/dist/index7.js +0 -39
  297. package/dist/index7.js.map +0 -1
  298. package/dist/index8.js +0 -108
  299. package/dist/index8.js.map +0 -1
  300. package/dist/index9.js +0 -76
  301. package/dist/index9.js.map +0 -1
  302. package/src/components/gui/dialogbox/itemMenu.ce +0 -23
  303. package/src/components/gui/dialogbox/selection.ce +0 -67
  304. /package/src/components/{effects → animations}/hit.ce +0 -0
@@ -0,0 +1,325 @@
1
+ import { __name } from "./chunk-7QVYU63E.js";
2
+ import { isArraySubject, isComputed, isObjectSubject, isSignal } from "../../../../../@signe_reactive@2.9.0/node_modules/@signe/reactive/dist/index.js";
3
+ //#region ../../node_modules/.pnpm/@signe+sync@2.9.0/node_modules/@signe/sync/dist/index.js
4
+ function isFunction(val) {
5
+ return {}.toString.call(val) === "[object Function]";
6
+ }
7
+ __name(isFunction, "isFunction");
8
+ function isClass(obj) {
9
+ return typeof obj === "function" && obj.prototype && obj.prototype.constructor === obj;
10
+ }
11
+ __name(isClass, "isClass");
12
+ var isObject = /* @__PURE__ */ __name((item) => item && typeof item === "object" && !Array.isArray(item) && item !== null, "isObject");
13
+ function isInstanceOfClass(value) {
14
+ if (value === null || typeof value !== "object" || value === void 0 || Array.isArray(value)) return false;
15
+ return Object.getPrototypeOf(value) !== Object.prototype;
16
+ }
17
+ __name(isInstanceOfClass, "isInstanceOfClass");
18
+ function generateShortUUID() {
19
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
20
+ let uuid = "";
21
+ for (let i = 0; i < 8; i++) {
22
+ const randomIndex = Math.floor(Math.random() * 62);
23
+ uuid += chars[randomIndex];
24
+ }
25
+ return uuid;
26
+ }
27
+ __name(generateShortUUID, "generateShortUUID");
28
+ var DELETE_TOKEN = "$delete";
29
+ var syncClass = /* @__PURE__ */ __name((instance, options = {}) => {
30
+ const cacheSync = /* @__PURE__ */ new Map();
31
+ const cachePersist = /* @__PURE__ */ new Map();
32
+ instance.$valuesChanges = {
33
+ set: /* @__PURE__ */ __name((path, value) => {
34
+ cacheSync.set(path, value);
35
+ options.onSync?.(cacheSync);
36
+ }, "set"),
37
+ setPersist: /* @__PURE__ */ __name((path, value) => {
38
+ if (path == "") path = ".";
39
+ cachePersist.set(path, value);
40
+ options.onPersist?.(cachePersist);
41
+ }, "setPersist"),
42
+ has: /* @__PURE__ */ __name((path) => {
43
+ return cacheSync.has(path);
44
+ }, "has"),
45
+ get: /* @__PURE__ */ __name((path) => {
46
+ return cacheSync.get(path);
47
+ }, "get")
48
+ };
49
+ createSyncClass(instance);
50
+ }, "syncClass");
51
+ function createStatesSnapshot(instance) {
52
+ let persistObject = {};
53
+ if (instance?.$snapshot) for (const key of instance.$snapshot.keys()) {
54
+ const signal = instance.$snapshot.get(key);
55
+ const persist2 = signal.options.persist ?? true;
56
+ let value = signal();
57
+ if (isObject(value) || Array.isArray(value)) continue;
58
+ if (persist2) persistObject[key] = value;
59
+ }
60
+ return persistObject;
61
+ }
62
+ __name(createStatesSnapshot, "createStatesSnapshot");
63
+ var SNAPSHOT_SKIP = Symbol("snapshot-skip");
64
+ var serializeSnapshotDeep = /* @__PURE__ */ __name((value, path, options, seen) => {
65
+ if (isSignal(value)) return serializeSnapshotDeep(value(), path, options, seen);
66
+ if (value instanceof Map) return SNAPSHOT_SKIP;
67
+ if (options.filter && !options.filter(value, path)) return SNAPSHOT_SKIP;
68
+ if (value instanceof Date) return options.dateToString ? options.dateToString(value) : value.toISOString();
69
+ if (value && typeof value === "object") {
70
+ if (seen.has(value)) return SNAPSHOT_SKIP;
71
+ seen.add(value);
72
+ if (Array.isArray(value)) {
73
+ const result2 = [];
74
+ value.forEach((item, index) => {
75
+ const serialized = serializeSnapshotDeep(item, path ? `${path}.${index}` : String(index), options, seen);
76
+ if (serialized !== SNAPSHOT_SKIP) result2.push(serialized);
77
+ });
78
+ return result2;
79
+ }
80
+ const result = {};
81
+ const idKey = isInstanceOfClass(value) ? value.constructor?._propertyMetadata?.get("id") : void 0;
82
+ const entries = Object.entries(value).filter(([key]) => isInstanceOfClass(value) ? key.startsWith("__") || (idKey ? key === idKey : false) : true);
83
+ for (const [key, childValue] of entries) {
84
+ const normalizedKey = key.startsWith("__") ? key.slice(2) : key;
85
+ const serialized = serializeSnapshotDeep(childValue, path ? `${path}.${normalizedKey}` : normalizedKey, options, seen);
86
+ if (serialized !== SNAPSHOT_SKIP) result[normalizedKey] = serialized;
87
+ }
88
+ return result;
89
+ }
90
+ return value;
91
+ }, "serializeSnapshotDeep");
92
+ function createStatesSnapshotDeep(instance, options = {}) {
93
+ const persistObject = {};
94
+ if (instance?.$snapshot) for (const key of instance.$snapshot.keys()) {
95
+ const signal = instance.$snapshot.get(key);
96
+ if (!(signal.options.persist ?? true)) continue;
97
+ const serialized = serializeSnapshotDeep(signal(), key, options, /* @__PURE__ */ new WeakSet());
98
+ if (serialized !== SNAPSHOT_SKIP) persistObject[key] = serialized;
99
+ }
100
+ return persistObject;
101
+ }
102
+ __name(createStatesSnapshotDeep, "createStatesSnapshotDeep");
103
+ function setMetadata(target, key, value) {
104
+ const propId = target.constructor._propertyMetadata?.get(key);
105
+ if (propId) if (isSignal(target[propId])) target[propId].set(value);
106
+ else target[propId] = value;
107
+ }
108
+ __name(setMetadata, "setMetadata");
109
+ var createSyncClass = /* @__PURE__ */ __name((currentClass, parentKey = null, parentClass = null, path = "") => {
110
+ currentClass.$path = path;
111
+ if (parentClass) currentClass.$valuesChanges = parentClass.$valuesChanges;
112
+ if (parentKey) setMetadata(currentClass, "id", parentKey);
113
+ if (currentClass.$snapshot) for (const key of currentClass.$snapshot.keys()) {
114
+ const signal = currentClass.$snapshot.get(key);
115
+ const syncToClient = signal.options?.syncToClient ?? true;
116
+ const persist2 = signal.options?.persist ?? true;
117
+ const transform = signal.options?.transform;
118
+ let signalValue = signal();
119
+ if (transform) signalValue = transform(signalValue);
120
+ if (isObject(signalValue) || Array.isArray(signalValue)) signalValue = { ...signalValue };
121
+ const transformedValue = signalValue;
122
+ const newPath = (path ? path + "." : "") + key;
123
+ if (syncToClient) currentClass.$valuesChanges.set(newPath, transformedValue);
124
+ if (persist2) {
125
+ if (parentClass) currentClass.$valuesChanges.setPersist(path, transformedValue);
126
+ }
127
+ if (isComputed(signal)) signal.observable.subscribe((newValue) => {
128
+ if (syncToClient) {
129
+ const transformedNewValue = transform ? transform(newValue) : newValue;
130
+ currentClass.$valuesChanges.set(newPath, transformedNewValue);
131
+ }
132
+ });
133
+ }
134
+ }, "createSyncClass");
135
+ var type = /* @__PURE__ */ __name((_signal, path, options = {}, currentInstance) => {
136
+ const { syncToClient = true, persist: persist2 = true, transform } = options;
137
+ let init = true;
138
+ const handleObjectSubject = /* @__PURE__ */ __name((value, propPath) => {
139
+ const newPath = `${propPath}${value.key ? `.${value.key}` : ""}`;
140
+ if ([
141
+ "add",
142
+ "reset",
143
+ "update"
144
+ ].includes(value.type)) if (isInstanceOfClass(value.value)) createSyncClass(value.value, value.key, currentInstance, newPath);
145
+ else if (value.type === "update" && (isObject(value.value) || Array.isArray(value.value))) createSyncClass(value.value, value.key, currentInstance, newPath);
146
+ else savePath(newPath, value.value);
147
+ else if (value.type === "remove") savePath(newPath, DELETE_TOKEN);
148
+ }, "handleObjectSubject");
149
+ const handleArraySubject = /* @__PURE__ */ __name((value, propPath) => {
150
+ if (value.type === "reset" && Array.isArray(value.items)) {
151
+ value.items.forEach((item, index) => {
152
+ const newPath2 = `${propPath}.${index}`;
153
+ if (isInstanceOfClass(item)) createSyncClass(item, value.key, currentInstance, newPath2);
154
+ else savePath(newPath2, item);
155
+ });
156
+ return;
157
+ }
158
+ const newPath = `${propPath}.${value.index}`;
159
+ const firstItem = value.items?.[0];
160
+ if (["add", "update"].includes(value.type) && firstItem !== void 0) if (isInstanceOfClass(firstItem)) createSyncClass(firstItem, value.key, currentInstance, newPath);
161
+ else if (value.type === "update" && (isObject(firstItem) || Array.isArray(firstItem))) createSyncClass(firstItem, value.key, currentInstance, newPath);
162
+ else savePath(newPath, firstItem);
163
+ else if (value.type === "remove") savePath(newPath, DELETE_TOKEN);
164
+ }, "handleArraySubject");
165
+ const savePath = /* @__PURE__ */ __name((propPath, value) => {
166
+ const transformedValue = transform && value !== "$delete" ? transform(value) : value;
167
+ if (syncToClient) currentInstance.$valuesChanges.set(propPath, transformedValue);
168
+ if (persist2 && currentInstance.$path !== void 0) currentInstance.$valuesChanges.setPersist(transformedValue == "$delete" ? propPath : currentInstance.$path, transformedValue);
169
+ }, "savePath");
170
+ const setupSubscription = /* @__PURE__ */ __name((signal, signalPath) => {
171
+ if (!isSignal(signal)) return;
172
+ if (syncToClient && currentInstance.$valuesChanges) {
173
+ const initialValue = signal();
174
+ const transformedInitialValue = transform ? transform(initialValue) : initialValue;
175
+ currentInstance.$valuesChanges.set(signalPath, transformedInitialValue);
176
+ }
177
+ signal.options = options;
178
+ signal.observable.subscribe((value) => {
179
+ if (init) return;
180
+ if (currentInstance.$path !== void 0) {
181
+ const fullPath = `${currentInstance.$path ? currentInstance.$path + "." : ""}${signalPath}`;
182
+ if (isComputed(signal)) savePath(fullPath, value);
183
+ else if (isObjectSubject(signal._subject)) handleObjectSubject(value, fullPath);
184
+ else if (isArraySubject(signal._subject)) handleArraySubject(value, fullPath);
185
+ else savePath(fullPath, value);
186
+ }
187
+ });
188
+ if (!currentInstance.$snapshot) currentInstance.$snapshot = /* @__PURE__ */ new Map();
189
+ currentInstance.$snapshot.set(path, signal);
190
+ }, "setupSubscription");
191
+ if (!isSignal(_signal)) {
192
+ if (_signal && typeof _signal === "object" && !Array.isArray(_signal)) {
193
+ for (const key in _signal) if (Object.prototype.hasOwnProperty.call(_signal, key)) {
194
+ const value = _signal[key];
195
+ const propertyPath = `${path}.${key}`;
196
+ if (isSignal(value)) setupSubscription(value, propertyPath);
197
+ else if (value && typeof value === "object" && !Array.isArray(value)) type(value, propertyPath, options, currentInstance);
198
+ }
199
+ init = false;
200
+ }
201
+ return _signal;
202
+ }
203
+ setupSubscription(_signal, path);
204
+ init = false;
205
+ return _signal;
206
+ }, "type");
207
+ function sync(options) {
208
+ let classType;
209
+ let persist2 = true;
210
+ let syncToClient = true;
211
+ let transform;
212
+ if (typeof options === "function") classType = options;
213
+ else if (typeof options === "object") {
214
+ classType = options.classType;
215
+ if (options.hasOwnProperty("persist")) persist2 = options.persist;
216
+ if (options.hasOwnProperty("syncToClient")) syncToClient = options.syncToClient;
217
+ if (options.hasOwnProperty("transform")) transform = options.transform;
218
+ }
219
+ return function(target, propertyKey) {
220
+ const privatePropertyKey = `__${propertyKey}`;
221
+ Object.defineProperty(target, propertyKey, {
222
+ get: /* @__PURE__ */ __name(function() {
223
+ return this[privatePropertyKey];
224
+ }, "getter"),
225
+ set: /* @__PURE__ */ __name(function(newVal) {
226
+ this[privatePropertyKey] = type(newVal, propertyKey, {
227
+ classType,
228
+ persist: persist2,
229
+ syncToClient,
230
+ transform
231
+ }, this);
232
+ }, "setter"),
233
+ enumerable: true,
234
+ configurable: true
235
+ });
236
+ };
237
+ }
238
+ __name(sync, "sync");
239
+ function id() {
240
+ return function(target, propertyKey) {
241
+ if (!target.constructor._propertyMetadata) target.constructor._propertyMetadata = /* @__PURE__ */ new Map();
242
+ target.constructor._propertyMetadata.set("id", propertyKey);
243
+ };
244
+ }
245
+ __name(id, "id");
246
+ function users(options) {
247
+ return function(target, propertyKey) {
248
+ if (!target.constructor._propertyMetadata) target.constructor._propertyMetadata = /* @__PURE__ */ new Map();
249
+ target.constructor._propertyMetadata.set("users", propertyKey);
250
+ sync(options)(target, propertyKey);
251
+ };
252
+ }
253
+ __name(users, "users");
254
+ function persist() {
255
+ return sync({
256
+ persist: true,
257
+ syncToClient: false
258
+ });
259
+ }
260
+ __name(persist, "persist");
261
+ function connected() {
262
+ return function(target, propertyKey) {
263
+ if (!target.constructor._propertyMetadata) target.constructor._propertyMetadata = /* @__PURE__ */ new Map();
264
+ target.constructor._propertyMetadata.set("connected", propertyKey);
265
+ sync({ persist: false })(target, propertyKey);
266
+ };
267
+ }
268
+ __name(connected, "connected");
269
+ function load(rootInstance, values, valueIsObject) {
270
+ if (valueIsObject) loadFromObject(rootInstance, values);
271
+ else loadFromPaths(rootInstance, values);
272
+ }
273
+ __name(load, "load");
274
+ function loadFromPaths(rootInstance, values) {
275
+ for (const [path, value] of Object.entries(values)) loadValue(rootInstance, path.split("."), value);
276
+ }
277
+ __name(loadFromPaths, "loadFromPaths");
278
+ function loadFromObject(rootInstance, values, currentPath = "") {
279
+ for (let key in values) {
280
+ const value = values[key];
281
+ const newPath = currentPath ? `${currentPath}.${key}` : key;
282
+ if (typeof value === "object" && !Array.isArray(value) && value !== null) loadFromObject(rootInstance, value, newPath);
283
+ else loadValue(rootInstance, newPath.split("."), value);
284
+ }
285
+ }
286
+ __name(loadFromObject, "loadFromObject");
287
+ function loadValue(rootInstance, parts, value) {
288
+ let current = rootInstance;
289
+ for (let i = 0; i < parts.length; i++) {
290
+ const part = parts[i];
291
+ if (i === parts.length - 1) if (value == "$delete") {
292
+ if (isSignal(current)) current = current();
293
+ Reflect.deleteProperty(current, part);
294
+ } else if (current[part]?._subject) current[part].set(value);
295
+ else if (isSignal(current) && Array.isArray(current()) && !isNaN(Number(part))) current()[Number(part)] = value;
296
+ else current[part] = value;
297
+ else {
298
+ if (isSignal(current)) current = current();
299
+ if (current[part] === void 0) {
300
+ const classType = getByPath(rootInstance, parts.slice(0, i).join("."))?.options?.classType;
301
+ if (classType) {
302
+ current[part] = !isClass(classType) ? classType(part) : new classType();
303
+ setMetadata(current[part], "id", part);
304
+ } else current[part] = {};
305
+ }
306
+ current = current[part];
307
+ }
308
+ }
309
+ }
310
+ __name(loadValue, "loadValue");
311
+ function getByPath(root, path) {
312
+ const parts = path.split(".");
313
+ let current = root;
314
+ for (const part of parts) {
315
+ if (isSignal(current)) current = current();
316
+ if (current[part]) current = current[part];
317
+ else return;
318
+ }
319
+ return current;
320
+ }
321
+ __name(getByPath, "getByPath");
322
+ //#endregion
323
+ export { DELETE_TOKEN, createStatesSnapshot, createStatesSnapshotDeep, generateShortUUID, getByPath, id, load, persist, sync, syncClass, users };
324
+
325
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["isSignal2"],"sources":["../../../../../../../../../../node_modules/.pnpm/@signe+sync@2.9.0/node_modules/@signe/sync/dist/index.js"],"sourcesContent":["import {\n __name\n} from \"./chunk-7QVYU63E.js\";\n\n// src/core.ts\nimport { isArraySubject, isObjectSubject, isSignal, isComputed } from \"@signe/reactive\";\n\n// src/utils.ts\nfunction isFunction(val) {\n return {}.toString.call(val) === \"[object Function]\";\n}\n__name(isFunction, \"isFunction\");\nfunction isClass(obj) {\n return typeof obj === \"function\" && obj.prototype && obj.prototype.constructor === obj;\n}\n__name(isClass, \"isClass\");\nvar isObject = /* @__PURE__ */ __name((item) => item && typeof item === \"object\" && !Array.isArray(item) && item !== null, \"isObject\");\nfunction isInstanceOfClass(value) {\n if (value === null || typeof value !== \"object\" || value === void 0 || Array.isArray(value)) {\n return false;\n }\n return Object.getPrototypeOf(value) !== Object.prototype;\n}\n__name(isInstanceOfClass, \"isInstanceOfClass\");\nfunction generateShortUUID() {\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n let uuid = \"\";\n for (let i = 0; i < 8; i++) {\n const randomIndex = Math.floor(Math.random() * chars.length);\n uuid += chars[randomIndex];\n }\n return uuid;\n}\n__name(generateShortUUID, \"generateShortUUID\");\n\n// src/core.ts\nvar DELETE_TOKEN = \"$delete\";\nvar syncClass = /* @__PURE__ */ __name((instance, options = {}) => {\n const cacheSync = /* @__PURE__ */ new Map();\n const cachePersist = /* @__PURE__ */ new Map();\n instance.$valuesChanges = {\n set: /* @__PURE__ */ __name((path, value) => {\n cacheSync.set(path, value);\n options.onSync?.(cacheSync);\n }, \"set\"),\n setPersist: /* @__PURE__ */ __name((path, value) => {\n if (path == \"\") path = \".\";\n cachePersist.set(path, value);\n options.onPersist?.(cachePersist);\n }, \"setPersist\"),\n has: /* @__PURE__ */ __name((path) => {\n return cacheSync.has(path);\n }, \"has\"),\n get: /* @__PURE__ */ __name((path) => {\n return cacheSync.get(path);\n }, \"get\")\n };\n createSyncClass(instance);\n}, \"syncClass\");\nfunction createStatesSnapshot(instance) {\n let persistObject = {};\n if (instance?.$snapshot) {\n for (const key of instance.$snapshot.keys()) {\n const signal = instance.$snapshot.get(key);\n const persist2 = signal.options.persist ?? true;\n let value = signal();\n if (isObject(value) || Array.isArray(value)) {\n continue;\n }\n if (persist2) {\n persistObject[key] = value;\n }\n }\n }\n return persistObject;\n}\n__name(createStatesSnapshot, \"createStatesSnapshot\");\nvar SNAPSHOT_SKIP = Symbol(\"snapshot-skip\");\nvar serializeSnapshotDeep = /* @__PURE__ */ __name((value, path, options, seen) => {\n if (isSignal(value)) {\n return serializeSnapshotDeep(value(), path, options, seen);\n }\n if (value instanceof Map) {\n return SNAPSHOT_SKIP;\n }\n if (options.filter && !options.filter(value, path)) {\n return SNAPSHOT_SKIP;\n }\n if (value instanceof Date) {\n return options.dateToString ? options.dateToString(value) : value.toISOString();\n }\n if (value && typeof value === \"object\") {\n if (seen.has(value)) {\n return SNAPSHOT_SKIP;\n }\n seen.add(value);\n if (Array.isArray(value)) {\n const result2 = [];\n value.forEach((item, index) => {\n const itemPath = path ? `${path}.${index}` : String(index);\n const serialized = serializeSnapshotDeep(item, itemPath, options, seen);\n if (serialized !== SNAPSHOT_SKIP) {\n result2.push(serialized);\n }\n });\n return result2;\n }\n const result = {};\n const idKey = isInstanceOfClass(value) ? value.constructor?._propertyMetadata?.get(\"id\") : void 0;\n const entries = Object.entries(value).filter(([key]) => isInstanceOfClass(value) ? key.startsWith(\"__\") || (idKey ? key === idKey : false) : true);\n for (const [key, childValue] of entries) {\n const normalizedKey = key.startsWith(\"__\") ? key.slice(2) : key;\n const childPath = path ? `${path}.${normalizedKey}` : normalizedKey;\n const serialized = serializeSnapshotDeep(childValue, childPath, options, seen);\n if (serialized !== SNAPSHOT_SKIP) {\n result[normalizedKey] = serialized;\n }\n }\n return result;\n }\n return value;\n}, \"serializeSnapshotDeep\");\nfunction createStatesSnapshotDeep(instance, options = {}) {\n const persistObject = {};\n if (instance?.$snapshot) {\n for (const key of instance.$snapshot.keys()) {\n const signal = instance.$snapshot.get(key);\n const persist2 = signal.options.persist ?? true;\n if (!persist2) {\n continue;\n }\n const value = signal();\n const serialized = serializeSnapshotDeep(value, key, options, /* @__PURE__ */ new WeakSet());\n if (serialized !== SNAPSHOT_SKIP) {\n persistObject[key] = serialized;\n }\n }\n }\n return persistObject;\n}\n__name(createStatesSnapshotDeep, \"createStatesSnapshotDeep\");\nfunction setMetadata(target, key, value) {\n const meta = target.constructor._propertyMetadata;\n const propId = meta?.get(key);\n if (propId) {\n if (isSignal(target[propId])) {\n target[propId].set(value);\n } else {\n target[propId] = value;\n }\n }\n}\n__name(setMetadata, \"setMetadata\");\nvar createSyncClass = /* @__PURE__ */ __name((currentClass, parentKey = null, parentClass = null, path = \"\") => {\n currentClass.$path = path;\n if (parentClass) {\n currentClass.$valuesChanges = parentClass.$valuesChanges;\n }\n if (parentKey) {\n setMetadata(currentClass, \"id\", parentKey);\n }\n if (currentClass.$snapshot) {\n for (const key of currentClass.$snapshot.keys()) {\n const signal = currentClass.$snapshot.get(key);\n const syncToClient = signal.options?.syncToClient ?? true;\n const persist2 = signal.options?.persist ?? true;\n const transform = signal.options?.transform;\n let signalValue = signal();\n if (transform) {\n signalValue = transform(signalValue);\n }\n if (isObject(signalValue) || Array.isArray(signalValue)) {\n signalValue = {\n ...signalValue\n };\n }\n const transformedValue = signalValue;\n const newPath = (path ? path + \".\" : \"\") + key;\n if (syncToClient) {\n currentClass.$valuesChanges.set(newPath, transformedValue);\n }\n if (persist2) {\n if (parentClass) currentClass.$valuesChanges.setPersist(path, transformedValue);\n }\n if (isComputed(signal)) {\n signal.observable.subscribe((newValue) => {\n if (syncToClient) {\n const transformedNewValue = transform ? transform(newValue) : newValue;\n currentClass.$valuesChanges.set(newPath, transformedNewValue);\n }\n });\n }\n }\n }\n}, \"createSyncClass\");\nvar type = /* @__PURE__ */ __name((_signal, path, options = {}, currentInstance) => {\n const { syncToClient = true, persist: persist2 = true, transform } = options;\n let init = true;\n const handleObjectSubject = /* @__PURE__ */ __name((value, propPath) => {\n const newPath = `${propPath}${value.key ? `.${value.key}` : \"\"}`;\n if ([\n \"add\",\n \"reset\",\n \"update\"\n ].includes(value.type)) {\n if (isInstanceOfClass(value.value)) {\n createSyncClass(value.value, value.key, currentInstance, newPath);\n } else if (value.type === \"update\" && (isObject(value.value) || Array.isArray(value.value))) {\n createSyncClass(value.value, value.key, currentInstance, newPath);\n } else {\n savePath(newPath, value.value);\n }\n } else if (value.type === \"remove\") {\n savePath(newPath, DELETE_TOKEN);\n }\n }, \"handleObjectSubject\");\n const handleArraySubject = /* @__PURE__ */ __name((value, propPath) => {\n if (value.type === \"reset\" && Array.isArray(value.items)) {\n value.items.forEach((item, index) => {\n const newPath2 = `${propPath}.${index}`;\n if (isInstanceOfClass(item)) {\n createSyncClass(item, value.key, currentInstance, newPath2);\n } else {\n savePath(newPath2, item);\n }\n });\n return;\n }\n const newPath = `${propPath}.${value.index}`;\n const firstItem = value.items?.[0];\n if ([\n \"add\",\n \"update\"\n ].includes(value.type) && firstItem !== void 0) {\n if (isInstanceOfClass(firstItem)) {\n createSyncClass(firstItem, value.key, currentInstance, newPath);\n } else if (value.type === \"update\" && (isObject(firstItem) || Array.isArray(firstItem))) {\n createSyncClass(firstItem, value.key, currentInstance, newPath);\n } else {\n savePath(newPath, firstItem);\n }\n } else if (value.type === \"remove\") {\n savePath(newPath, DELETE_TOKEN);\n }\n }, \"handleArraySubject\");\n const savePath = /* @__PURE__ */ __name((propPath, value) => {\n const transformedValue = transform && value !== DELETE_TOKEN ? transform(value) : value;\n if (syncToClient) {\n currentInstance.$valuesChanges.set(propPath, transformedValue);\n }\n if (persist2 && currentInstance.$path !== void 0) {\n currentInstance.$valuesChanges.setPersist(transformedValue == DELETE_TOKEN ? propPath : currentInstance.$path, transformedValue);\n }\n }, \"savePath\");\n const setupSubscription = /* @__PURE__ */ __name((signal, signalPath) => {\n if (!isSignal(signal)) return;\n if (syncToClient && currentInstance.$valuesChanges) {\n const initialValue = signal();\n const transformedInitialValue = transform ? transform(initialValue) : initialValue;\n currentInstance.$valuesChanges.set(signalPath, transformedInitialValue);\n }\n signal.options = options;\n signal.observable.subscribe((value) => {\n if (init) return;\n if (currentInstance.$path !== void 0) {\n const fullPath = `${currentInstance.$path ? currentInstance.$path + \".\" : \"\"}${signalPath}`;\n if (isComputed(signal)) {\n savePath(fullPath, value);\n } else if (isObjectSubject(signal._subject)) {\n handleObjectSubject(value, fullPath);\n } else if (isArraySubject(signal._subject)) {\n handleArraySubject(value, fullPath);\n } else {\n savePath(fullPath, value);\n }\n }\n });\n if (!currentInstance.$snapshot) {\n currentInstance.$snapshot = /* @__PURE__ */ new Map();\n }\n currentInstance.$snapshot.set(path, signal);\n }, \"setupSubscription\");\n if (!isSignal(_signal)) {\n if (_signal && typeof _signal === \"object\" && !Array.isArray(_signal)) {\n for (const key in _signal) {\n if (Object.prototype.hasOwnProperty.call(_signal, key)) {\n const value = _signal[key];\n const propertyPath = `${path}.${key}`;\n if (isSignal(value)) {\n setupSubscription(value, propertyPath);\n } else if (value && typeof value === \"object\" && !Array.isArray(value)) {\n type(value, propertyPath, options, currentInstance);\n }\n }\n }\n init = false;\n }\n return _signal;\n }\n setupSubscription(_signal, path);\n init = false;\n return _signal;\n}, \"type\");\n\n// src/decorators.ts\nfunction sync(options) {\n let classType;\n let persist2 = true;\n let syncToClient = true;\n let transform;\n if (typeof options === \"function\") {\n classType = options;\n } else if (typeof options === \"object\") {\n classType = options.classType;\n if (options.hasOwnProperty(\"persist\")) {\n persist2 = options.persist;\n }\n if (options.hasOwnProperty(\"syncToClient\")) {\n syncToClient = options.syncToClient;\n }\n if (options.hasOwnProperty(\"transform\")) {\n transform = options.transform;\n }\n }\n return function(target, propertyKey) {\n const privatePropertyKey = `__${propertyKey}`;\n const getter = /* @__PURE__ */ __name(function() {\n return this[privatePropertyKey];\n }, \"getter\");\n const setter = /* @__PURE__ */ __name(function(newVal) {\n this[privatePropertyKey] = type(newVal, propertyKey, {\n classType,\n persist: persist2,\n syncToClient,\n transform\n }, this);\n }, \"setter\");\n Object.defineProperty(target, propertyKey, {\n get: getter,\n set: setter,\n enumerable: true,\n configurable: true\n });\n };\n}\n__name(sync, \"sync\");\nfunction id() {\n return function(target, propertyKey) {\n if (!target.constructor._propertyMetadata) {\n target.constructor._propertyMetadata = /* @__PURE__ */ new Map();\n }\n target.constructor._propertyMetadata.set(\"id\", propertyKey);\n };\n}\n__name(id, \"id\");\nfunction users(options) {\n return function(target, propertyKey) {\n if (!target.constructor._propertyMetadata) {\n target.constructor._propertyMetadata = /* @__PURE__ */ new Map();\n }\n target.constructor._propertyMetadata.set(\"users\", propertyKey);\n sync(options)(target, propertyKey);\n };\n}\n__name(users, \"users\");\nfunction persist() {\n return sync({\n persist: true,\n syncToClient: false\n });\n}\n__name(persist, \"persist\");\nfunction connected() {\n return function(target, propertyKey) {\n if (!target.constructor._propertyMetadata) {\n target.constructor._propertyMetadata = /* @__PURE__ */ new Map();\n }\n target.constructor._propertyMetadata.set(\"connected\", propertyKey);\n sync({\n persist: false\n })(target, propertyKey);\n };\n}\n__name(connected, \"connected\");\n\n// src/load.ts\nimport { isSignal as isSignal2 } from \"@signe/reactive\";\nfunction load(rootInstance, values, valueIsObject) {\n if (valueIsObject) {\n loadFromObject(rootInstance, values);\n } else {\n loadFromPaths(rootInstance, values);\n }\n}\n__name(load, \"load\");\nfunction loadFromPaths(rootInstance, values) {\n for (const [path, value] of Object.entries(values)) {\n const parts = path.split(\".\");\n loadValue(rootInstance, parts, value);\n }\n}\n__name(loadFromPaths, \"loadFromPaths\");\nfunction loadFromObject(rootInstance, values, currentPath = \"\") {\n for (let key in values) {\n const value = values[key];\n const newPath = currentPath ? `${currentPath}.${key}` : key;\n if (typeof value === \"object\" && !Array.isArray(value) && value !== null) {\n loadFromObject(rootInstance, value, newPath);\n } else {\n const parts = newPath.split(\".\");\n loadValue(rootInstance, parts, value);\n }\n }\n}\n__name(loadFromObject, \"loadFromObject\");\nfunction loadValue(rootInstance, parts, value) {\n let current = rootInstance;\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n if (i === parts.length - 1) {\n if (value == DELETE_TOKEN) {\n if (isSignal2(current)) {\n current = current();\n }\n Reflect.deleteProperty(current, part);\n } else if (current[part]?._subject) {\n current[part].set(value);\n } else if (isSignal2(current) && Array.isArray(current()) && !isNaN(Number(part))) {\n current()[Number(part)] = value;\n } else {\n current[part] = value;\n }\n } else {\n if (isSignal2(current)) {\n current = current();\n }\n const currentValue = current[part];\n if (currentValue === void 0) {\n const parentInstance = getByPath(rootInstance, parts.slice(0, i).join(\".\"));\n const classType = parentInstance?.options?.classType;\n if (classType) {\n current[part] = !isClass(classType) ? classType(part) : new classType();\n setMetadata(current[part], \"id\", part);\n } else {\n current[part] = {};\n }\n }\n current = current[part];\n }\n }\n}\n__name(loadValue, \"loadValue\");\nfunction getByPath(root, path) {\n const parts = path.split(\".\");\n let current = root;\n for (const part of parts) {\n if (isSignal2(current)) {\n current = current();\n }\n if (current[part]) {\n current = current[part];\n } else {\n return void 0;\n }\n }\n return current;\n}\n__name(getByPath, \"getByPath\");\nexport {\n DELETE_TOKEN,\n connected,\n createStatesSnapshot,\n createStatesSnapshotDeep,\n createSyncClass,\n generateShortUUID,\n getByPath,\n id,\n isClass,\n isFunction,\n isInstanceOfClass,\n isObject,\n load,\n persist,\n setMetadata,\n sync,\n syncClass,\n type,\n users\n};\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ //#region ../../node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.mjs
2
+ function dset(obj, keys, val) {
3
+ keys.split && (keys = keys.split("."));
4
+ var i = 0, l = keys.length, t = obj, x, k;
5
+ while (i < l) {
6
+ k = "" + keys[i++];
7
+ if (k === "__proto__" || k === "constructor" || k === "prototype") break;
8
+ t = t[k] = i === l ? val : typeof (x = t[k]) === typeof keys ? x : keys[i] * 0 !== 0 || !!~("" + keys[i]).indexOf(".") ? {} : [];
9
+ }
10
+ }
11
+ //#endregion
12
+ export { dset };
13
+
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/dset@3.1.4/node_modules/dset/dist/index.mjs"],"sourcesContent":["export function dset(obj, keys, val) {\n\tkeys.split && (keys=keys.split('.'));\n\tvar i=0, l=keys.length, t=obj, x, k;\n\twhile (i < l) {\n\t\tk = ''+keys[i++];\n\t\tif (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n\t\tt = t[k] = (i === l) ? val : (typeof(x=t[k])===typeof(keys)) ? x : (keys[i]*0 !== 0 || !!~(''+keys[i]).indexOf('.')) ? {} : [];\n\t}\n}\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAgB,KAAK,KAAK,MAAM,KAAK;AACpC,MAAK,UAAU,OAAK,KAAK,MAAM,IAAI;CACnC,IAAI,IAAE,GAAG,IAAE,KAAK,QAAQ,IAAE,KAAK,GAAG;AAClC,QAAO,IAAI,GAAG;AACb,MAAI,KAAG,KAAK;AACZ,MAAI,MAAM,eAAe,MAAM,iBAAiB,MAAM,YAAa;AACnE,MAAI,EAAE,KAAM,MAAM,IAAK,MAAO,QAAO,IAAE,EAAE,QAAM,OAAO,OAAS,IAAK,KAAK,KAAG,MAAM,KAAK,CAAC,CAAC,EAAE,KAAG,KAAK,IAAI,QAAQ,IAAI,GAAI,EAAE,GAAG,EAAE"}
@@ -0,0 +1,115 @@
1
+ import { ReconnectingWebSocket } from "./chunk-S74YV6PU.js";
2
+ //#region ../../node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.mjs
3
+ var valueIsNotNil = (keyValuePair) => keyValuePair[1] !== null && keyValuePair[1] !== void 0;
4
+ function generateUUID() {
5
+ if (typeof crypto !== "undefined" && crypto.randomUUID) return crypto.randomUUID();
6
+ let d = /* @__PURE__ */ (/* @__PURE__ */ new Date()).getTime();
7
+ let d2 = typeof performance !== "undefined" && performance.now && performance.now() * 1e3 || 0;
8
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
9
+ let r = Math.random() * 16;
10
+ if (d > 0) {
11
+ r = (d + r) % 16 | 0;
12
+ d = Math.floor(d / 16);
13
+ } else {
14
+ r = (d2 + r) % 16 | 0;
15
+ d2 = Math.floor(d2 / 16);
16
+ }
17
+ return (c === "x" ? r : r & 3 | 8).toString(16);
18
+ });
19
+ }
20
+ function getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {
21
+ const { host: rawHost, path: rawPath, protocol: rawProtocol, room, party, basePath, prefix, query } = partySocketOptions;
22
+ let host = rawHost.replace(/^(http|https|ws|wss):\/\//, "");
23
+ if (host.endsWith("/")) host = host.slice(0, -1);
24
+ if (rawPath == null ? void 0 : rawPath.startsWith("/")) throw new Error("path must not start with a slash");
25
+ const name = party ?? "main";
26
+ const path = rawPath ? `/${rawPath}` : "";
27
+ const protocol = rawProtocol || (host.startsWith("localhost:") || host.startsWith("127.0.0.1:") || host.startsWith("192.168.") || host.startsWith("10.") || host.startsWith("172.") && host.split(".")[1] >= "16" && host.split(".")[1] <= "31" || host.startsWith("[::ffff:7f00:1]:") ? defaultProtocol : `${defaultProtocol}s`);
28
+ const baseUrl = `${protocol}://${host}/${basePath || `${prefix || "parties"}/${name}/${room}`}${path}`;
29
+ const makeUrl = (query2 = {}) => `${baseUrl}?${new URLSearchParams([...Object.entries(defaultParams), ...Object.entries(query2).filter(valueIsNotNil)])}`;
30
+ const urlProvider = typeof query === "function" ? async () => makeUrl(await query()) : makeUrl(query);
31
+ return {
32
+ host,
33
+ path,
34
+ room,
35
+ name,
36
+ protocol,
37
+ partyUrl: baseUrl,
38
+ urlProvider
39
+ };
40
+ }
41
+ var PartySocket = class extends ReconnectingWebSocket {
42
+ constructor(partySocketOptions) {
43
+ const wsOptions = getWSOptions(partySocketOptions);
44
+ super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);
45
+ this.partySocketOptions = partySocketOptions;
46
+ this.setWSProperties(wsOptions);
47
+ }
48
+ _pk;
49
+ _pkurl;
50
+ name;
51
+ room;
52
+ host;
53
+ path;
54
+ updateProperties(partySocketOptions) {
55
+ const wsOptions = getWSOptions({
56
+ ...this.partySocketOptions,
57
+ ...partySocketOptions,
58
+ host: partySocketOptions.host ?? this.host,
59
+ room: partySocketOptions.room ?? this.room,
60
+ path: partySocketOptions.path ?? this.path
61
+ });
62
+ this._url = wsOptions.urlProvider;
63
+ this._protocols = wsOptions.protocols;
64
+ this._options = wsOptions.socketOptions;
65
+ this.setWSProperties(wsOptions);
66
+ }
67
+ setWSProperties(wsOptions) {
68
+ const { _pk, _pkurl, name, room, host, path } = wsOptions;
69
+ this._pk = _pk;
70
+ this._pkurl = _pkurl;
71
+ this.name = name;
72
+ this.room = room;
73
+ this.host = host;
74
+ this.path = path;
75
+ }
76
+ reconnect(code, reason) {
77
+ if (!this.room || !this.host) throw new Error("The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.");
78
+ super.reconnect(code, reason);
79
+ }
80
+ get id() {
81
+ return this._pk;
82
+ }
83
+ /**
84
+ * Exposes the static PartyKit room URL without applying query parameters.
85
+ * To access the currently connected WebSocket url, use PartySocket#url.
86
+ */
87
+ get roomUrl() {
88
+ return this._pkurl;
89
+ }
90
+ static async fetch(options, init) {
91
+ const party = getPartyInfo(options, "http");
92
+ const url = typeof party.urlProvider === "string" ? party.urlProvider : await party.urlProvider();
93
+ return (options.fetch ?? fetch)(url, init);
94
+ }
95
+ };
96
+ function getWSOptions(partySocketOptions) {
97
+ const { id, host: _host, path: _path, party: _party, room: _room, protocol: _protocol, query: _query, protocols, ...socketOptions } = partySocketOptions;
98
+ const _pk = id || generateUUID();
99
+ const party = getPartyInfo(partySocketOptions, "ws", { _pk });
100
+ return {
101
+ _pk,
102
+ _pkurl: party.partyUrl,
103
+ name: party.name,
104
+ room: party.room,
105
+ host: party.host,
106
+ path: party.path,
107
+ protocols,
108
+ socketOptions,
109
+ urlProvider: party.urlProvider
110
+ };
111
+ }
112
+ //#endregion
113
+ export { PartySocket };
114
+
115
+ //# sourceMappingURL=chunk-HAC622V3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-HAC622V3.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/partysocket@1.1.3/node_modules/partysocket/dist/chunk-HAC622V3.mjs"],"sourcesContent":["import { ReconnectingWebSocket } from \"./chunk-S74YV6PU.mjs\";\n\n// src/index.ts\nvar valueIsNotNil = (keyValuePair) =>\n keyValuePair[1] !== null && keyValuePair[1] !== void 0;\nfunction generateUUID() {\n if (typeof crypto !== \"undefined\" && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n let d = /* @__PURE__ */ new Date().getTime();\n let d2 =\n (typeof performance !== \"undefined\" &&\n performance.now &&\n performance.now() * 1e3) ||\n 0;\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n let r = Math.random() * 16;\n if (d > 0) {\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : (r & 3) | 8).toString(16);\n });\n}\nfunction getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {\n const {\n host: rawHost,\n path: rawPath,\n protocol: rawProtocol,\n room,\n party,\n basePath,\n prefix,\n query\n } = partySocketOptions;\n let host = rawHost.replace(/^(http|https|ws|wss):\\/\\//, \"\");\n if (host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n }\n if (rawPath == null ? void 0 : rawPath.startsWith(\"/\")) {\n throw new Error(\"path must not start with a slash\");\n }\n const name = party ?? \"main\";\n const path = rawPath ? `/${rawPath}` : \"\";\n const protocol =\n rawProtocol ||\n (host.startsWith(\"localhost:\") ||\n host.startsWith(\"127.0.0.1:\") ||\n host.startsWith(\"192.168.\") ||\n host.startsWith(\"10.\") ||\n (host.startsWith(\"172.\") &&\n host.split(\".\")[1] >= \"16\" &&\n host.split(\".\")[1] <= \"31\") ||\n host.startsWith(\"[::ffff:7f00:1]:\")\n ? // http / ws\n defaultProtocol\n : // https / wss\n `${defaultProtocol}s`);\n const baseUrl = `${protocol}://${host}/${basePath || `${prefix || \"parties\"}/${name}/${room}`}${path}`;\n const makeUrl = (query2 = {}) =>\n `${baseUrl}?${new URLSearchParams([\n ...Object.entries(defaultParams),\n ...Object.entries(query2).filter(valueIsNotNil)\n ])}`;\n const urlProvider =\n typeof query === \"function\"\n ? async () => makeUrl(await query())\n : makeUrl(query);\n return {\n host,\n path,\n room,\n name,\n protocol,\n partyUrl: baseUrl,\n urlProvider\n };\n}\nvar PartySocket = class extends ReconnectingWebSocket {\n constructor(partySocketOptions) {\n const wsOptions = getWSOptions(partySocketOptions);\n super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);\n this.partySocketOptions = partySocketOptions;\n this.setWSProperties(wsOptions);\n }\n _pk;\n _pkurl;\n name;\n room;\n host;\n path;\n updateProperties(partySocketOptions) {\n const wsOptions = getWSOptions({\n ...this.partySocketOptions,\n ...partySocketOptions,\n host: partySocketOptions.host ?? this.host,\n room: partySocketOptions.room ?? this.room,\n path: partySocketOptions.path ?? this.path\n });\n this._url = wsOptions.urlProvider;\n this._protocols = wsOptions.protocols;\n this._options = wsOptions.socketOptions;\n this.setWSProperties(wsOptions);\n }\n setWSProperties(wsOptions) {\n const { _pk, _pkurl, name, room, host, path } = wsOptions;\n this._pk = _pk;\n this._pkurl = _pkurl;\n this.name = name;\n this.room = room;\n this.host = host;\n this.path = path;\n }\n reconnect(code, reason) {\n if (!this.room || !this.host) {\n throw new Error(\n \"The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.\"\n );\n }\n super.reconnect(code, reason);\n }\n get id() {\n return this._pk;\n }\n /**\n * Exposes the static PartyKit room URL without applying query parameters.\n * To access the currently connected WebSocket url, use PartySocket#url.\n */\n get roomUrl() {\n return this._pkurl;\n }\n // a `fetch` method that uses (almost) the same options as `PartySocket`\n static async fetch(options, init) {\n const party = getPartyInfo(options, \"http\");\n const url =\n typeof party.urlProvider === \"string\"\n ? party.urlProvider\n : await party.urlProvider();\n const doFetch = options.fetch ?? fetch;\n return doFetch(url, init);\n }\n};\nfunction getWSOptions(partySocketOptions) {\n const {\n id,\n host: _host,\n path: _path,\n party: _party,\n room: _room,\n protocol: _protocol,\n query: _query,\n protocols,\n ...socketOptions\n } = partySocketOptions;\n const _pk = id || generateUUID();\n const party = getPartyInfo(partySocketOptions, \"ws\", { _pk });\n return {\n _pk,\n _pkurl: party.partyUrl,\n name: party.name,\n room: party.room,\n host: party.host,\n path: party.path,\n protocols,\n socketOptions,\n urlProvider: party.urlProvider\n };\n}\n\nexport { PartySocket };\n//# sourceMappingURL=chunk-HAC622V3.mjs.map\n"],"x_google_ignoreList":[0],"mappings":"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"}