@communecter/cocolight-api-client 1.0.155 → 1.0.156

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 (329) hide show
  1. package/dist/1035.cocolight-api-client.browser.js +1 -1
  2. package/dist/1035.cocolight-api-client.cjs +1 -1
  3. package/dist/1483.cocolight-api-client.browser.js +1 -1
  4. package/dist/1483.cocolight-api-client.cjs +1 -1
  5. package/dist/1491.cocolight-api-client.browser.js +1 -1
  6. package/dist/1491.cocolight-api-client.cjs +1 -1
  7. package/dist/1494.cocolight-api-client.browser.js +1 -1
  8. package/dist/1494.cocolight-api-client.cjs +1 -1
  9. package/dist/1641.cocolight-api-client.browser.js +1 -1
  10. package/dist/1641.cocolight-api-client.cjs +1 -1
  11. package/dist/1678.cocolight-api-client.browser.js +1 -1
  12. package/dist/1678.cocolight-api-client.cjs +1 -1
  13. package/dist/2041.cocolight-api-client.browser.js +1 -1
  14. package/dist/2041.cocolight-api-client.cjs +1 -1
  15. package/dist/2302.cocolight-api-client.browser.js +1 -1
  16. package/dist/2302.cocolight-api-client.cjs +1 -1
  17. package/dist/2313.cocolight-api-client.browser.js +1 -1
  18. package/dist/2313.cocolight-api-client.cjs +1 -1
  19. package/dist/2379.cocolight-api-client.browser.js +1 -1
  20. package/dist/2379.cocolight-api-client.cjs +1 -1
  21. package/dist/2439.cocolight-api-client.browser.js +1 -1
  22. package/dist/2439.cocolight-api-client.cjs +1 -1
  23. package/dist/2594.cocolight-api-client.browser.js +1 -1
  24. package/dist/2594.cocolight-api-client.cjs +1 -1
  25. package/dist/2766.cocolight-api-client.browser.js +1 -1
  26. package/dist/2766.cocolight-api-client.cjs +1 -1
  27. package/dist/2812.cocolight-api-client.browser.js +1 -1
  28. package/dist/2812.cocolight-api-client.cjs +1 -1
  29. package/dist/2918.cocolight-api-client.browser.js +1 -1
  30. package/dist/2918.cocolight-api-client.cjs +1 -1
  31. package/dist/3028.cocolight-api-client.browser.js +1 -1
  32. package/dist/3028.cocolight-api-client.cjs +1 -1
  33. package/dist/3330.cocolight-api-client.browser.js +1 -1
  34. package/dist/3330.cocolight-api-client.cjs +1 -1
  35. package/dist/3371.cocolight-api-client.browser.js +1 -1
  36. package/dist/3371.cocolight-api-client.cjs +1 -1
  37. package/dist/3401.cocolight-api-client.browser.js +1 -1
  38. package/dist/3401.cocolight-api-client.cjs +1 -1
  39. package/dist/3516.cocolight-api-client.browser.js +1 -1
  40. package/dist/3516.cocolight-api-client.cjs +1 -1
  41. package/dist/3593.cocolight-api-client.browser.js +1 -1
  42. package/dist/3593.cocolight-api-client.cjs +1 -1
  43. package/dist/3764.cocolight-api-client.browser.js +1 -1
  44. package/dist/3764.cocolight-api-client.cjs +1 -1
  45. package/dist/3873.cocolight-api-client.browser.js +1 -1
  46. package/dist/3873.cocolight-api-client.cjs +1 -1
  47. package/dist/3911.cocolight-api-client.browser.js +1 -1
  48. package/dist/3911.cocolight-api-client.cjs +1 -1
  49. package/dist/4031.cocolight-api-client.browser.js +1 -1
  50. package/dist/4031.cocolight-api-client.cjs +1 -1
  51. package/dist/4152.cocolight-api-client.browser.js +1 -1
  52. package/dist/4152.cocolight-api-client.cjs +1 -1
  53. package/dist/4203.cocolight-api-client.browser.js +1 -1
  54. package/dist/4203.cocolight-api-client.cjs +1 -1
  55. package/dist/424.cocolight-api-client.browser.js +1 -1
  56. package/dist/424.cocolight-api-client.cjs +1 -1
  57. package/dist/435.cocolight-api-client.browser.js +1 -1
  58. package/dist/435.cocolight-api-client.cjs +1 -1
  59. package/dist/4402.cocolight-api-client.browser.js +1 -1
  60. package/dist/4402.cocolight-api-client.cjs +1 -1
  61. package/dist/4425.cocolight-api-client.browser.js +1 -1
  62. package/dist/4425.cocolight-api-client.cjs +1 -1
  63. package/dist/4472.cocolight-api-client.browser.js +1 -1
  64. package/dist/4472.cocolight-api-client.cjs +1 -1
  65. package/dist/4914.cocolight-api-client.browser.js +1 -1
  66. package/dist/4914.cocolight-api-client.cjs +1 -1
  67. package/dist/4959.cocolight-api-client.browser.js +1 -1
  68. package/dist/4959.cocolight-api-client.cjs +1 -1
  69. package/dist/5100.cocolight-api-client.browser.js +1 -1
  70. package/dist/5100.cocolight-api-client.cjs +1 -1
  71. package/dist/5111.cocolight-api-client.browser.js +1 -1
  72. package/dist/5111.cocolight-api-client.cjs +1 -1
  73. package/dist/5286.cocolight-api-client.browser.js +1 -1
  74. package/dist/5286.cocolight-api-client.cjs +1 -1
  75. package/dist/5380.cocolight-api-client.browser.js +1 -1
  76. package/dist/5380.cocolight-api-client.cjs +1 -1
  77. package/dist/5383.cocolight-api-client.browser.js +1 -1
  78. package/dist/5383.cocolight-api-client.cjs +1 -1
  79. package/dist/5480.cocolight-api-client.browser.js +1 -1
  80. package/dist/5480.cocolight-api-client.cjs +1 -1
  81. package/dist/5541.cocolight-api-client.browser.js +1 -1
  82. package/dist/5541.cocolight-api-client.cjs +1 -1
  83. package/dist/5839.cocolight-api-client.browser.js +1 -1
  84. package/dist/5839.cocolight-api-client.cjs +1 -1
  85. package/dist/5862.cocolight-api-client.browser.js +1 -1
  86. package/dist/5862.cocolight-api-client.cjs +1 -1
  87. package/dist/5869.cocolight-api-client.browser.js +1 -1
  88. package/dist/5869.cocolight-api-client.cjs +1 -1
  89. package/dist/588.cocolight-api-client.browser.js +1 -1
  90. package/dist/588.cocolight-api-client.cjs +1 -1
  91. package/dist/601.cocolight-api-client.browser.js +1 -1
  92. package/dist/601.cocolight-api-client.cjs +1 -1
  93. package/dist/6012.cocolight-api-client.browser.js +1 -1
  94. package/dist/6012.cocolight-api-client.cjs +1 -1
  95. package/dist/6200.cocolight-api-client.browser.js +1 -1
  96. package/dist/6200.cocolight-api-client.cjs +1 -1
  97. package/dist/6369.cocolight-api-client.browser.js +1 -1
  98. package/dist/6369.cocolight-api-client.cjs +1 -1
  99. package/dist/7009.cocolight-api-client.browser.js +1 -1
  100. package/dist/7009.cocolight-api-client.cjs +1 -1
  101. package/dist/725.cocolight-api-client.browser.js +1 -1
  102. package/dist/725.cocolight-api-client.cjs +1 -1
  103. package/dist/7320.cocolight-api-client.browser.js +1 -1
  104. package/dist/7339.cocolight-api-client.browser.js +1 -1
  105. package/dist/7339.cocolight-api-client.cjs +1 -1
  106. package/dist/7398.cocolight-api-client.browser.js +1 -1
  107. package/dist/7398.cocolight-api-client.cjs +1 -1
  108. package/dist/7888.cocolight-api-client.browser.js +1 -1
  109. package/dist/7888.cocolight-api-client.cjs +1 -1
  110. package/dist/7975.cocolight-api-client.browser.js +1 -1
  111. package/dist/7975.cocolight-api-client.cjs +1 -1
  112. package/dist/809.cocolight-api-client.browser.js +1 -1
  113. package/dist/809.cocolight-api-client.cjs +1 -1
  114. package/dist/8300.cocolight-api-client.browser.js +1 -1
  115. package/dist/8300.cocolight-api-client.cjs +1 -1
  116. package/dist/8317.cocolight-api-client.browser.js +1 -1
  117. package/dist/8317.cocolight-api-client.cjs +1 -1
  118. package/dist/8525.cocolight-api-client.browser.js +1 -1
  119. package/dist/8525.cocolight-api-client.cjs +1 -1
  120. package/dist/8894.cocolight-api-client.browser.js +1 -1
  121. package/dist/8894.cocolight-api-client.cjs +1 -1
  122. package/dist/9301.cocolight-api-client.browser.js +1 -1
  123. package/dist/9301.cocolight-api-client.cjs +1 -1
  124. package/dist/9438.cocolight-api-client.browser.js +1 -1
  125. package/dist/9438.cocolight-api-client.cjs +1 -1
  126. package/dist/9478.cocolight-api-client.browser.js +1 -1
  127. package/dist/9478.cocolight-api-client.cjs +1 -1
  128. package/dist/9568.cocolight-api-client.browser.js +1 -1
  129. package/dist/9568.cocolight-api-client.cjs +1 -1
  130. package/dist/cocolight-api-client.browser.js +6 -6
  131. package/dist/cocolight-api-client.cjs +1 -1
  132. package/dist/cocolight-api-client.vite.mjs.js +1 -1
  133. package/dist/cocolight-api-client.vite.mjs.js.map +1 -1
  134. package/package.json +7 -17
  135. package/types/Api.d.ts +1 -0
  136. package/types/ApiClient.d.ts +10 -1
  137. package/types/api/BaseEntity.d.ts +2 -0
  138. package/types/utils/OfflineClientManager.d.ts +8 -0
  139. package/dist/1035.cocolight-api-client.mjs.js +0 -1
  140. package/dist/1483.cocolight-api-client.mjs.js +0 -1
  141. package/dist/1491.cocolight-api-client.mjs.js +0 -1
  142. package/dist/1494.cocolight-api-client.mjs.js +0 -1
  143. package/dist/1641.cocolight-api-client.mjs.js +0 -1
  144. package/dist/1678.cocolight-api-client.mjs.js +0 -1
  145. package/dist/2041.cocolight-api-client.mjs.js +0 -1
  146. package/dist/2302.cocolight-api-client.mjs.js +0 -1
  147. package/dist/2313.cocolight-api-client.mjs.js +0 -1
  148. package/dist/2379.cocolight-api-client.mjs.js +0 -1
  149. package/dist/2439.cocolight-api-client.mjs.js +0 -1
  150. package/dist/2594.cocolight-api-client.mjs.js +0 -1
  151. package/dist/2766.cocolight-api-client.mjs.js +0 -1
  152. package/dist/2812.cocolight-api-client.mjs.js +0 -1
  153. package/dist/2918.cocolight-api-client.mjs.js +0 -1
  154. package/dist/3028.cocolight-api-client.mjs.js +0 -1
  155. package/dist/3330.cocolight-api-client.mjs.js +0 -1
  156. package/dist/3371.cocolight-api-client.mjs.js +0 -1
  157. package/dist/3401.cocolight-api-client.mjs.js +0 -1
  158. package/dist/3516.cocolight-api-client.mjs.js +0 -1
  159. package/dist/3593.cocolight-api-client.mjs.js +0 -1
  160. package/dist/3764.cocolight-api-client.mjs.js +0 -1
  161. package/dist/3873.cocolight-api-client.mjs.js +0 -1
  162. package/dist/3911.cocolight-api-client.mjs.js +0 -1
  163. package/dist/4031.cocolight-api-client.mjs.js +0 -1
  164. package/dist/4152.cocolight-api-client.mjs.js +0 -1
  165. package/dist/4203.cocolight-api-client.mjs.js +0 -1
  166. package/dist/424.cocolight-api-client.mjs.js +0 -1
  167. package/dist/435.cocolight-api-client.mjs.js +0 -1
  168. package/dist/4402.cocolight-api-client.mjs.js +0 -1
  169. package/dist/4425.cocolight-api-client.mjs.js +0 -1
  170. package/dist/4472.cocolight-api-client.mjs.js +0 -1
  171. package/dist/4914.cocolight-api-client.mjs.js +0 -1
  172. package/dist/4959.cocolight-api-client.mjs.js +0 -1
  173. package/dist/5100.cocolight-api-client.mjs.js +0 -1
  174. package/dist/5111.cocolight-api-client.mjs.js +0 -1
  175. package/dist/5286.cocolight-api-client.mjs.js +0 -1
  176. package/dist/5380.cocolight-api-client.mjs.js +0 -1
  177. package/dist/5383.cocolight-api-client.mjs.js +0 -1
  178. package/dist/5480.cocolight-api-client.mjs.js +0 -1
  179. package/dist/5541.cocolight-api-client.mjs.js +0 -1
  180. package/dist/5839.cocolight-api-client.mjs.js +0 -1
  181. package/dist/5862.cocolight-api-client.mjs.js +0 -1
  182. package/dist/5869.cocolight-api-client.mjs.js +0 -1
  183. package/dist/588.cocolight-api-client.mjs.js +0 -1
  184. package/dist/601.cocolight-api-client.mjs.js +0 -1
  185. package/dist/6012.cocolight-api-client.mjs.js +0 -1
  186. package/dist/6200.cocolight-api-client.mjs.js +0 -1
  187. package/dist/6369.cocolight-api-client.mjs.js +0 -1
  188. package/dist/7009.cocolight-api-client.mjs.js +0 -1
  189. package/dist/725.cocolight-api-client.mjs.js +0 -1
  190. package/dist/7339.cocolight-api-client.mjs.js +0 -1
  191. package/dist/7398.cocolight-api-client.mjs.js +0 -1
  192. package/dist/7888.cocolight-api-client.mjs.js +0 -1
  193. package/dist/7975.cocolight-api-client.mjs.js +0 -1
  194. package/dist/809.cocolight-api-client.mjs.js +0 -1
  195. package/dist/8300.cocolight-api-client.mjs.js +0 -1
  196. package/dist/8317.cocolight-api-client.mjs.js +0 -1
  197. package/dist/8525.cocolight-api-client.mjs.js +0 -1
  198. package/dist/8894.cocolight-api-client.mjs.js +0 -1
  199. package/dist/9301.cocolight-api-client.mjs.js +0 -1
  200. package/dist/9438.cocolight-api-client.mjs.js +0 -1
  201. package/dist/9478.cocolight-api-client.mjs.js +0 -1
  202. package/dist/9568.cocolight-api-client.mjs.js +0 -1
  203. package/dist/cocolight-api-client.mjs.js +0 -1
  204. package/src/Api.ts +0 -348
  205. package/src/ApiClient.ts +0 -1994
  206. package/src/EJSONType.ts +0 -103
  207. package/src/api/Action.ts +0 -665
  208. package/src/api/Answer.ts +0 -1392
  209. package/src/api/Badge.ts +0 -143
  210. package/src/api/BaseEntity.ts +0 -6384
  211. package/src/api/Classified.ts +0 -175
  212. package/src/api/Comment.ts +0 -280
  213. package/src/api/EndpointApi.ts +0 -2270
  214. package/src/api/EndpointApi.types.ts +0 -6566
  215. package/src/api/EntityRegistry.ts +0 -324
  216. package/src/api/Event.ts +0 -360
  217. package/src/api/Form.ts +0 -282
  218. package/src/api/News.ts +0 -547
  219. package/src/api/Notifications.ts +0 -196
  220. package/src/api/Organization.ts +0 -771
  221. package/src/api/Poi.ts +0 -242
  222. package/src/api/Project.ts +0 -545
  223. package/src/api/User.ts +0 -1889
  224. package/src/api/UserApi.ts +0 -192
  225. package/src/api/serverDataType/Action.ts +0 -177
  226. package/src/api/serverDataType/Answer.ts +0 -106
  227. package/src/api/serverDataType/Classified.ts +0 -152
  228. package/src/api/serverDataType/Comment.ts +0 -88
  229. package/src/api/serverDataType/Country.ts +0 -1
  230. package/src/api/serverDataType/Event.ts +0 -112
  231. package/src/api/serverDataType/Form.ts +0 -157
  232. package/src/api/serverDataType/News.ts +0 -138
  233. package/src/api/serverDataType/Notification.ts +0 -81
  234. package/src/api/serverDataType/Organization.ts +0 -111
  235. package/src/api/serverDataType/Poi.ts +0 -75
  236. package/src/api/serverDataType/Project.ts +0 -115
  237. package/src/api/serverDataType/User.ts +0 -112
  238. package/src/api/serverDataType/Zone.ts +0 -33
  239. package/src/api/serverDataType/common.ts +0 -84
  240. package/src/costum/normalize.ts +0 -7
  241. package/src/costum/registry.ts +0 -138
  242. package/src/costum/runtime-map.ts +0 -221
  243. package/src/costum/runtime.ts +0 -274
  244. package/src/costum/schemas/CercleTravailleursSociauxLiberauxLaPlumeSociale.ts +0 -19
  245. package/src/costum/schemas/FabEn.ts +0 -19
  246. package/src/costum/schemas/LivingLabInnovationSocialeBraspanon.ts +0 -19
  247. package/src/costum/schemas/alfph.ts +0 -27
  248. package/src/costum/schemas/campagne.ts +0 -19
  249. package/src/costum/schemas/chtitube.ts +0 -19
  250. package/src/costum/schemas/circuitCourt.ts +0 -19
  251. package/src/costum/schemas/cmcasHauteBretagne.ts +0 -19
  252. package/src/costum/schemas/coFinancementTierslieux.ts +0 -27
  253. package/src/costum/schemas/coeurNumerique.ts +0 -19
  254. package/src/costum/schemas/communLundi.ts +0 -19
  255. package/src/costum/schemas/cressReunion.ts +0 -35
  256. package/src/costum/schemas/cressReunionNetwork.ts +0 -35
  257. package/src/costum/schemas/ctenat.ts +0 -43
  258. package/src/costum/schemas/cyberReunion.ts +0 -19
  259. package/src/costum/schemas/ekisphere.ts +0 -35
  260. package/src/costum/schemas/equipementsSportifs974.ts +0 -19
  261. package/src/costum/schemas/federationDesCae.ts +0 -19
  262. package/src/costum/schemas/formationGenerique.ts +0 -35
  263. package/src/costum/schemas/franceTierslieux.ts +0 -19
  264. package/src/costum/schemas/hinaura.ts +0 -27
  265. package/src/costum/schemas/hubmayotte.ts +0 -19
  266. package/src/costum/schemas/hubnouvellecaledonie.ts +0 -19
  267. package/src/costum/schemas/hubpolynesiefrancaise.ts +0 -19
  268. package/src/costum/schemas/hubreunion.ts +0 -19
  269. package/src/costum/schemas/hubterritoires.ts +0 -19
  270. package/src/costum/schemas/hubwallisetfutuna.ts +0 -19
  271. package/src/costum/schemas/hva.ts +0 -27
  272. package/src/costum/schemas/ibv2.ts +0 -19
  273. package/src/costum/schemas/institutBleu.ts +0 -19
  274. package/src/costum/schemas/journalInsoumisChambery.ts +0 -27
  275. package/src/costum/schemas/kpacite.ts +0 -19
  276. package/src/costum/schemas/laCompagnieDesTierslieux.ts +0 -43
  277. package/src/costum/schemas/laMaisonDesFaiseurs.ts +0 -19
  278. package/src/costum/schemas/laReunionPourUnNumeriqueInclusif.ts +0 -19
  279. package/src/costum/schemas/laSemaineDesTierslieux.ts +0 -19
  280. package/src/costum/schemas/labEnCommuns.ts +0 -19
  281. package/src/costum/schemas/lakou.ts +0 -27
  282. package/src/costum/schemas/lesCommunsDesTierslieux.ts +0 -19
  283. package/src/costum/schemas/mayottePourUnNumeriqueInclusif.ts +0 -19
  284. package/src/costum/schemas/meir.ts +0 -27
  285. package/src/costum/schemas/navigatorDesTierslieux.ts +0 -19
  286. package/src/costum/schemas/notragora.ts +0 -27
  287. package/src/costum/schemas/nouvellecaledoniePourUnNumeriqueInclusif.ts +0 -19
  288. package/src/costum/schemas/openAtlas.ts +0 -19
  289. package/src/costum/schemas/polynesieFrancaisePourUnNumeriqueInclusif.ts +0 -19
  290. package/src/costum/schemas/prdr.ts +0 -19
  291. package/src/costum/schemas/reseauTierslieux.ts +0 -19
  292. package/src/costum/schemas/rfflabs.ts +0 -19
  293. package/src/costum/schemas/ries.ts +0 -19
  294. package/src/costum/schemas/siteDuPactePourLaTransition.ts +0 -27
  295. package/src/costum/schemas/sportSanteBienetre.ts +0 -43
  296. package/src/costum/schemas/suppa.ts +0 -19
  297. package/src/costum/schemas/terramies.ts +0 -19
  298. package/src/costum/schemas/testeTplFormation.ts +0 -35
  299. package/src/costum/schemas/tierslieuxbelgique.ts +0 -19
  300. package/src/costum/schemas/tierslieuxorg1.ts +0 -35
  301. package/src/costum/schemas/transiter.ts +0 -35
  302. package/src/costum/schemas/vhelioPeiTour2025.ts +0 -19
  303. package/src/costum/schemas/wallisetfutunaPourUnNumeriqueInclusif.ts +0 -19
  304. package/src/costum/symbol.ts +0 -26
  305. package/src/costum/types.ts +0 -895
  306. package/src/endpoints.module.ts +0 -4253
  307. package/src/error.ts +0 -86
  308. package/src/forms/entityForm.ts +0 -142
  309. package/src/index.ts +0 -161
  310. package/src/mixin/UserMixin.ts +0 -4
  311. package/src/types/api-responses.ts +0 -217
  312. package/src/types/entities.ts +0 -58
  313. package/src/types/error-guards.ts +0 -230
  314. package/src/types/index.ts +0 -41
  315. package/src/types/payloads.ts +0 -21
  316. package/src/types/transforms.ts +0 -119
  317. package/src/utils/FileOfflineStorageStrategy.node.ts +0 -50
  318. package/src/utils/FileStorageStrategy.node.ts +0 -63
  319. package/src/utils/MultiServerFileStorageStrategy.node.ts +0 -67
  320. package/src/utils/MultiServerTokenStorageStrategy.ts +0 -139
  321. package/src/utils/OfflineClientManager.ts +0 -216
  322. package/src/utils/OfflineQueueStorageStrategy.ts +0 -47
  323. package/src/utils/TokenStorage.ts +0 -77
  324. package/src/utils/compat.ts +0 -12
  325. package/src/utils/createDefaultMultiServerTokenStorageStrategy.ts +0 -35
  326. package/src/utils/createDefaultOfflineStrategy.ts +0 -34
  327. package/src/utils/createDefaultTokenStorageStrategy.ts +0 -33
  328. package/src/utils/reactive.ts +0 -243
  329. package/src/utils/stream-utils.node.ts +0 -12
@@ -1,243 +0,0 @@
1
- // reactive.ts - Système maison combinant Signal + Proxy pour réactivité profonde et fine
2
-
3
- const effectStack: (() => void)[] = [];
4
- const computedCache = new WeakMap();
5
- const signalRegistry = new WeakMap();
6
- let batchDepth = 0;
7
- const pendingEffects = new Set<() => void>();
8
-
9
- /**
10
- * Crée une fonction réactive qui se relance automatiquement
11
- * lorsqu'une valeur réactive qu'elle utilise change.
12
- */
13
- export function effect(fn: () => void): () => void {
14
- const wrapper = () => {
15
- try {
16
- effectStack.push(wrapper);
17
- fn();
18
- } finally {
19
- effectStack.pop();
20
- }
21
- };
22
- wrapper();
23
- return wrapper;
24
- }
25
-
26
- /**
27
- * Exécute une fonction dans un lot, en retardant l'exécution
28
- * des effets jusqu'à ce que le lot soit terminé.
29
- */
30
- export function batch(fn: () => void): void {
31
- batchDepth++;
32
- try {
33
- fn();
34
- } finally {
35
- batchDepth--;
36
- if (batchDepth === 0) {
37
- const effects = Array.from(pendingEffects);
38
- pendingEffects.clear();
39
- for (const effect of effects) (effect as () => void)();
40
- }
41
- }
42
- }
43
-
44
- /**
45
- * Crée un signal observable pour une valeur primitive ou complexe.
46
- */
47
- function createSignal(initialValue?: any): any {
48
- let value = initialValue;
49
- const subscribers = new Set();
50
-
51
- const signal = {
52
- get value() {
53
- const currentEffect = effectStack[effectStack.length - 1];
54
- if (currentEffect) subscribers.add(currentEffect);
55
- return value;
56
- },
57
- set value(newValue) {
58
- if (value !== newValue) {
59
- value = newValue;
60
- if (batchDepth > 0) {
61
- subscribers.forEach((fn) => pendingEffects.add(fn as () => void));
62
- } else {
63
- subscribers.forEach((fn) => (fn as () => void)());
64
- }
65
- }
66
- },
67
- subscribe(fn: any) {
68
- subscribers.add(fn);
69
- return () => subscribers.delete(fn);
70
- },
71
- __isSignal: true
72
- };
73
-
74
- return signal;
75
- }
76
-
77
- /**
78
- * vérifie si un objet est un signal.
79
- * @param {*} obj
80
- * @returns {boolean}
81
- */
82
- export function isSignal(obj: any) {
83
- return obj && obj.__isSignal === true;
84
- }
85
-
86
- function toRaw(obj: any) {
87
- return isSignal(obj) ? obj.value : obj;
88
- }
89
-
90
- function _wrapArray(arr: any[], path: string[]): any {
91
- const proxy = new Proxy(arr, {
92
- get(target, prop, receiver) {
93
- if (typeof prop === "string" && !isNaN(+prop)) {
94
- const val = target[+prop];
95
- return isReactive(val) ? val : _wrapReactive(val, [...path, prop] as any);
96
- }
97
- return Reflect.get(target, prop, receiver);
98
- },
99
- set(target, prop, value) {
100
- if (typeof prop === "string" && !isNaN(+prop)) {
101
- const val = _wrapReactive(value, [...path, prop] as any);
102
- target[+prop] = val;
103
- }
104
- return true;
105
- }
106
- });
107
- return proxy;
108
- }
109
-
110
- function _wrapReactive(obj: any, path: any = []) {
111
- if (typeof obj !== "object" || obj === null) return obj;
112
- if (Array.isArray(obj)) return _wrapArray(obj, path);
113
- if (obj.__isReactive) return obj;
114
-
115
- // Ne pas proxifier les types d'upload (Buffer, File, Blob, Stream)
116
- // car cela corromprait leurs données internes
117
- // Buffer (Node.js)
118
- if (typeof Buffer !== "undefined" && Buffer.isBuffer(obj)) return obj;
119
- // File (Browser)
120
- if (typeof File !== "undefined" && obj instanceof File) return obj;
121
- // Blob (Browser)
122
- if (typeof Blob !== "undefined" && obj instanceof Blob) return obj;
123
- // ReadableStream (Node.js)
124
- if (obj && typeof obj.pipe === "function" && typeof obj.on === "function") return obj;
125
- // Date objects
126
- if (obj instanceof Date) return obj;
127
-
128
- // ✨ AJOUT : Ne pas proxifier les instances d'entités BaseEntity
129
- if (obj.__entityTag) return obj;
130
-
131
-
132
- const signalMap = new Map();
133
- const proxy = new Proxy(obj, {
134
-
135
- get(target, prop) {
136
- if (prop === "__raw") return target;
137
- if (prop === "__isReactive") return true;
138
-
139
- if (!signalMap.has(prop)) {
140
- const val = target[prop];
141
- const reactiveVal = _wrapReactive(val, [...path, String(prop)] as any);
142
- const signal = createSignal(reactiveVal);
143
- signalMap.set(prop, signal);
144
- }
145
-
146
- const signal = signalMap.get(prop);
147
- return signal.value;
148
- },
149
-
150
- set(target, prop, value) {
151
- const val = _wrapReactive(value, [...path, String(prop)] as any);
152
- if (!signalMap.has(prop)) {
153
- const signal = createSignal(val);
154
- signalMap.set(prop, signal);
155
- }
156
- signalMap.get(prop)!.value = val;
157
- target[prop] = toRaw(val);
158
- return true;
159
- },
160
-
161
- deleteProperty(target, prop) {
162
- signalMap.delete(prop);
163
- return Reflect.deleteProperty(target, prop);
164
- }
165
- });
166
-
167
- signalRegistry.set(proxy, signalMap);
168
- return proxy;
169
- }
170
-
171
- /**
172
- * Rend un objet profondément réactif.
173
- * @param {object} obj
174
- * @returns {object}
175
- */
176
- export function reactive(obj: any) {
177
- if (typeof obj !== "object" || obj === null) return obj;
178
- if (obj.__isReactive) return obj;
179
- return _wrapReactive(obj);
180
- }
181
-
182
- /**
183
- * Teste si un objet est réactif.
184
- * @param {*} obj
185
- * @returns {boolean}
186
- */
187
- export function isReactive(obj: any) {
188
- return obj !== null && typeof obj === "object" && obj.__isReactive === true;
189
- }
190
-
191
- /**
192
- * Crée une valeur dérivée automatiquement recalculée.
193
- * @param {Function} fn
194
- * @returns {{value: *}}
195
- */
196
- export function computed(fn: any) {
197
- if (computedCache.has(fn)) return computedCache.get(fn);
198
-
199
- const result = createSignal();
200
- effect(() => result.value = fn());
201
- computedCache.set(fn, result);
202
- return result;
203
- }
204
-
205
- /**
206
- * Observe les changements de valeur retournée par un getter.
207
- * @param {Function} getter
208
- * @param {Function} callback
209
- */
210
- export function watch(getter: any, callback: any) {
211
- let oldValue: any;
212
- effect(() => {
213
- const newValue = getter();
214
- if (newValue !== oldValue) {
215
- callback(newValue, oldValue);
216
- oldValue = newValue;
217
- }
218
- });
219
- }
220
-
221
- /**
222
- * Récupère les signaux internes d'un objet réactif.
223
- * @param {object} obj
224
- * @returns {Map|null}
225
- */
226
- export function getSignals(obj: any) {
227
- if (!isReactive(obj)) return null;
228
- return signalRegistry.get(obj);
229
- }
230
-
231
- /**
232
- * Permet à React de s'abonner à une propriété réactive (champ simple).
233
- * @param {object} obj - Objet réactif
234
- * @param {string} key - Nom de la propriété à écouter
235
- * @param {(newValue: any, oldValue: any) => void} callback
236
- * @returns {() => void} fonction de nettoyage
237
- */
238
- export function subscribeTo(obj: any, key: any, callback: any) {
239
- const signals = getSignals(obj);
240
- if (!signals || !signals.has(key)) return () => {};
241
- const signal = signals.get(key);
242
- return signal?.subscribe?.(() => callback(signal.value)) ?? (() => {});
243
- }
@@ -1,12 +0,0 @@
1
- // utils/stream-utils.node.ts
2
- import type { Readable, PassThrough } from "stream";
3
-
4
- export async function bufferToReadable(buffer: Buffer): Promise<Readable> {
5
- const { Readable } = await import("stream");
6
- return Readable.from(buffer);
7
- }
8
-
9
- export async function createPassThrough(): Promise<PassThrough> {
10
- const { PassThrough } = await import("stream");
11
- return new PassThrough();
12
- }