@fieldia/core 0.30.1 → 0.31.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 (551) hide show
  1. package/README.md +362 -1
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +758 -1
  4. package/src/index.d.mts +13 -2
  5. package/src/index.d.ts +13 -2
  6. package/src/index.js +45 -2
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +18 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/format/actions.d.mts +16 -16
  11. package/src/lib/format/actions.d.ts +16 -16
  12. package/src/lib/format/actions.js +3 -0
  13. package/src/lib/format/actions.js.map +1 -1
  14. package/src/lib/format/actions.mjs +3 -0
  15. package/src/lib/format/actions.mjs.map +1 -1
  16. package/src/lib/format/address-search.js +3 -0
  17. package/src/lib/format/address-search.js.map +1 -1
  18. package/src/lib/format/address-search.mjs +3 -0
  19. package/src/lib/format/address-search.mjs.map +1 -1
  20. package/src/lib/format/duplicates.js +3 -0
  21. package/src/lib/format/duplicates.js.map +1 -1
  22. package/src/lib/format/duplicates.mjs +3 -0
  23. package/src/lib/format/duplicates.mjs.map +1 -1
  24. package/src/lib/format/endings.js +3 -0
  25. package/src/lib/format/endings.js.map +1 -1
  26. package/src/lib/format/endings.mjs +3 -0
  27. package/src/lib/format/endings.mjs.map +1 -1
  28. package/src/lib/format/field.d.mts +669 -0
  29. package/src/lib/format/field.d.ts +669 -0
  30. package/src/lib/format/field.js +42 -4
  31. package/src/lib/format/field.js.map +1 -1
  32. package/src/lib/format/field.mjs +42 -4
  33. package/src/lib/format/field.mjs.map +1 -1
  34. package/src/lib/format/flow-checks.d.mts +14 -0
  35. package/src/lib/format/flow-checks.d.ts +14 -0
  36. package/src/lib/format/flow-checks.js +61 -0
  37. package/src/lib/format/flow-checks.js.map +1 -0
  38. package/src/lib/format/flow-checks.mjs +58 -0
  39. package/src/lib/format/flow-checks.mjs.map +1 -0
  40. package/src/lib/format/flow.d.mts +43 -0
  41. package/src/lib/format/flow.d.ts +43 -0
  42. package/src/lib/format/flow.js +22 -0
  43. package/src/lib/format/flow.js.map +1 -0
  44. package/src/lib/format/flow.mjs +19 -0
  45. package/src/lib/format/flow.mjs.map +1 -0
  46. package/src/lib/format/from-schema.d.mts +70 -0
  47. package/src/lib/format/from-schema.d.ts +70 -0
  48. package/src/lib/format/from-schema.js +599 -0
  49. package/src/lib/format/from-schema.js.map +1 -0
  50. package/src/lib/format/from-schema.mjs +591 -0
  51. package/src/lib/format/from-schema.mjs.map +1 -0
  52. package/src/lib/format/jitless.d.mts +1 -0
  53. package/src/lib/format/jitless.d.ts +1 -0
  54. package/src/lib/format/jitless.js +27 -0
  55. package/src/lib/format/jitless.js.map +1 -0
  56. package/src/lib/format/jitless.mjs +24 -0
  57. package/src/lib/format/jitless.mjs.map +1 -0
  58. package/src/lib/format/json-schema.js +3 -0
  59. package/src/lib/format/json-schema.js.map +1 -1
  60. package/src/lib/format/json-schema.mjs +3 -0
  61. package/src/lib/format/json-schema.mjs.map +1 -1
  62. package/src/lib/format/json.js +3 -0
  63. package/src/lib/format/json.js.map +1 -1
  64. package/src/lib/format/json.mjs +3 -0
  65. package/src/lib/format/json.mjs.map +1 -1
  66. package/src/lib/format/languages-checks.d.mts +2 -1
  67. package/src/lib/format/languages-checks.d.ts +2 -1
  68. package/src/lib/format/languages-checks.js +8 -2
  69. package/src/lib/format/languages-checks.js.map +1 -1
  70. package/src/lib/format/languages-checks.mjs +8 -2
  71. package/src/lib/format/languages-checks.mjs.map +1 -1
  72. package/src/lib/format/later-checks.d.mts +3 -1
  73. package/src/lib/format/later-checks.d.ts +3 -1
  74. package/src/lib/format/later-checks.js +3 -1
  75. package/src/lib/format/later-checks.js.map +1 -1
  76. package/src/lib/format/later-checks.mjs +3 -1
  77. package/src/lib/format/later-checks.mjs.map +1 -1
  78. package/src/lib/format/layout.d.mts +13192 -7550
  79. package/src/lib/format/layout.d.ts +13192 -7550
  80. package/src/lib/format/layout.js +61 -3
  81. package/src/lib/format/layout.js.map +1 -1
  82. package/src/lib/format/layout.mjs +59 -1
  83. package/src/lib/format/layout.mjs.map +1 -1
  84. package/src/lib/format/layout.types.d.mts +3 -1
  85. package/src/lib/format/layout.types.d.ts +3 -1
  86. package/src/lib/format/limits.js +3 -0
  87. package/src/lib/format/limits.js.map +1 -1
  88. package/src/lib/format/limits.mjs +3 -0
  89. package/src/lib/format/limits.mjs.map +1 -1
  90. package/src/lib/format/list-checks.d.mts +1 -1
  91. package/src/lib/format/list-checks.d.ts +1 -1
  92. package/src/lib/format/list-checks.js +67 -22
  93. package/src/lib/format/list-checks.js.map +1 -1
  94. package/src/lib/format/list-checks.mjs +67 -22
  95. package/src/lib/format/list-checks.mjs.map +1 -1
  96. package/src/lib/format/list-rows-checks.d.mts +11 -0
  97. package/src/lib/format/list-rows-checks.d.ts +11 -0
  98. package/src/lib/format/list-rows-checks.js +62 -0
  99. package/src/lib/format/list-rows-checks.js.map +1 -0
  100. package/src/lib/format/list-rows-checks.mjs +59 -0
  101. package/src/lib/format/list-rows-checks.mjs.map +1 -0
  102. package/src/lib/format/media-options.d.mts +84 -0
  103. package/src/lib/format/media-options.d.ts +84 -0
  104. package/src/lib/format/media-options.js +86 -0
  105. package/src/lib/format/media-options.js.map +1 -0
  106. package/src/lib/format/media-options.mjs +80 -0
  107. package/src/lib/format/media-options.mjs.map +1 -0
  108. package/src/lib/format/outbox-checks.d.mts +11 -0
  109. package/src/lib/format/outbox-checks.d.ts +11 -0
  110. package/src/lib/format/outbox-checks.js +12 -0
  111. package/src/lib/format/outbox-checks.js.map +1 -0
  112. package/src/lib/format/outbox-checks.mjs +9 -0
  113. package/src/lib/format/outbox-checks.mjs.map +1 -0
  114. package/src/lib/format/page.d.mts +3057 -966
  115. package/src/lib/format/page.d.ts +3057 -966
  116. package/src/lib/format/page.js +15 -0
  117. package/src/lib/format/page.js.map +1 -1
  118. package/src/lib/format/page.mjs +15 -0
  119. package/src/lib/format/page.mjs.map +1 -1
  120. package/src/lib/format/part-checks.d.mts +3 -0
  121. package/src/lib/format/part-checks.d.ts +3 -0
  122. package/src/lib/format/payment-checks.d.mts +13 -0
  123. package/src/lib/format/payment-checks.d.ts +13 -0
  124. package/src/lib/format/payment-checks.js +30 -0
  125. package/src/lib/format/payment-checks.js.map +1 -0
  126. package/src/lib/format/payment-checks.mjs +27 -0
  127. package/src/lib/format/payment-checks.mjs.map +1 -0
  128. package/src/lib/format/payment.d.mts +37 -0
  129. package/src/lib/format/payment.d.ts +37 -0
  130. package/src/lib/format/payment.js +15 -0
  131. package/src/lib/format/payment.js.map +1 -0
  132. package/src/lib/format/payment.mjs +12 -0
  133. package/src/lib/format/payment.mjs.map +1 -0
  134. package/src/lib/format/phone.js +3 -0
  135. package/src/lib/format/phone.js.map +1 -1
  136. package/src/lib/format/phone.mjs +3 -0
  137. package/src/lib/format/phone.mjs.map +1 -1
  138. package/src/lib/format/picker-options.d.mts +12 -0
  139. package/src/lib/format/picker-options.d.ts +12 -0
  140. package/src/lib/format/picker-options.js +21 -3
  141. package/src/lib/format/picker-options.js.map +1 -1
  142. package/src/lib/format/picker-options.mjs +20 -2
  143. package/src/lib/format/picker-options.mjs.map +1 -1
  144. package/src/lib/format/prefill-checks.d.mts +13 -0
  145. package/src/lib/format/prefill-checks.d.ts +13 -0
  146. package/src/lib/format/prefill-checks.js +35 -0
  147. package/src/lib/format/prefill-checks.js.map +1 -0
  148. package/src/lib/format/prefill-checks.mjs +32 -0
  149. package/src/lib/format/prefill-checks.mjs.map +1 -0
  150. package/src/lib/format/prefill.d.mts +33 -0
  151. package/src/lib/format/prefill.d.ts +33 -0
  152. package/src/lib/format/prefill.js +20 -0
  153. package/src/lib/format/prefill.js.map +1 -0
  154. package/src/lib/format/prefill.mjs +17 -0
  155. package/src/lib/format/prefill.mjs.map +1 -0
  156. package/src/lib/format/quiz.d.mts +58 -0
  157. package/src/lib/format/quiz.d.ts +58 -0
  158. package/src/lib/format/quiz.js +24 -0
  159. package/src/lib/format/quiz.js.map +1 -0
  160. package/src/lib/format/quiz.mjs +21 -0
  161. package/src/lib/format/quiz.mjs.map +1 -0
  162. package/src/lib/format/records.js +3 -0
  163. package/src/lib/format/records.js.map +1 -1
  164. package/src/lib/format/records.mjs +3 -0
  165. package/src/lib/format/records.mjs.map +1 -1
  166. package/src/lib/format/references.d.mts +1 -1
  167. package/src/lib/format/references.d.ts +1 -1
  168. package/src/lib/format/references.js +56 -7
  169. package/src/lib/format/references.js.map +1 -1
  170. package/src/lib/format/references.mjs +57 -8
  171. package/src/lib/format/references.mjs.map +1 -1
  172. package/src/lib/format/schedule-checks.d.mts +8 -0
  173. package/src/lib/format/schedule-checks.d.ts +8 -0
  174. package/src/lib/format/schedule-checks.js +16 -0
  175. package/src/lib/format/schedule-checks.js.map +1 -0
  176. package/src/lib/format/schedule-checks.mjs +13 -0
  177. package/src/lib/format/schedule-checks.mjs.map +1 -0
  178. package/src/lib/format/signature-checks.d.mts +8 -0
  179. package/src/lib/format/signature-checks.d.ts +8 -0
  180. package/src/lib/format/signature-checks.js +21 -0
  181. package/src/lib/format/signature-checks.js.map +1 -1
  182. package/src/lib/format/signature-checks.mjs +20 -0
  183. package/src/lib/format/signature-checks.mjs.map +1 -1
  184. package/src/lib/format/signature-options.js +3 -0
  185. package/src/lib/format/signature-options.js.map +1 -1
  186. package/src/lib/format/signature-options.mjs +3 -0
  187. package/src/lib/format/signature-options.mjs.map +1 -1
  188. package/src/lib/format/slots-options.js +3 -0
  189. package/src/lib/format/slots-options.js.map +1 -1
  190. package/src/lib/format/slots-options.mjs +3 -0
  191. package/src/lib/format/slots-options.mjs.map +1 -1
  192. package/src/lib/format/templates-checks.d.mts +6 -0
  193. package/src/lib/format/templates-checks.d.ts +6 -0
  194. package/src/lib/format/templates-checks.js +16 -0
  195. package/src/lib/format/templates-checks.js.map +1 -0
  196. package/src/lib/format/templates-checks.mjs +13 -0
  197. package/src/lib/format/templates-checks.mjs.map +1 -0
  198. package/src/lib/format/translate.d.mts +2 -0
  199. package/src/lib/format/translate.d.ts +2 -0
  200. package/src/lib/format/translate.js +6 -2
  201. package/src/lib/format/translate.js.map +1 -1
  202. package/src/lib/format/translate.mjs +4 -2
  203. package/src/lib/format/translate.mjs.map +1 -1
  204. package/src/lib/format/typed-options.d.mts +43 -0
  205. package/src/lib/format/typed-options.d.ts +43 -0
  206. package/src/lib/format/typed-options.js +50 -0
  207. package/src/lib/format/typed-options.js.map +1 -0
  208. package/src/lib/format/typed-options.mjs +46 -0
  209. package/src/lib/format/typed-options.mjs.map +1 -0
  210. package/src/lib/format/upgrade.d.mts +5 -1
  211. package/src/lib/format/upgrade.d.ts +5 -1
  212. package/src/lib/format/upgrade.js +5 -1
  213. package/src/lib/format/upgrade.js.map +1 -1
  214. package/src/lib/format/upgrade.mjs +5 -1
  215. package/src/lib/format/upgrade.mjs.map +1 -1
  216. package/src/lib/format/validate.js +3 -0
  217. package/src/lib/format/validate.js.map +1 -1
  218. package/src/lib/format/validate.mjs +3 -0
  219. package/src/lib/format/validate.mjs.map +1 -1
  220. package/src/lib/format/verify-checks.d.mts +10 -0
  221. package/src/lib/format/verify-checks.d.ts +10 -0
  222. package/src/lib/format/verify-checks.js +44 -0
  223. package/src/lib/format/verify-checks.js.map +1 -0
  224. package/src/lib/format/verify-checks.mjs +41 -0
  225. package/src/lib/format/verify-checks.mjs.map +1 -0
  226. package/src/lib/format/version.d.mts +2 -2
  227. package/src/lib/format/version.d.ts +2 -2
  228. package/src/lib/format/version.js +2 -2
  229. package/src/lib/format/version.js.map +1 -1
  230. package/src/lib/format/version.mjs +2 -2
  231. package/src/lib/format/version.mjs.map +1 -1
  232. package/src/lib/format/week.d.mts +18 -0
  233. package/src/lib/format/week.d.ts +18 -0
  234. package/src/lib/format/week.js +58 -0
  235. package/src/lib/format/week.js.map +1 -0
  236. package/src/lib/format/week.mjs +55 -0
  237. package/src/lib/format/week.mjs.map +1 -0
  238. package/src/lib/record/approvals-part.d.mts +1 -1
  239. package/src/lib/record/approvals-part.d.ts +1 -1
  240. package/src/lib/record/approvals-part.js +2 -2
  241. package/src/lib/record/approvals-part.js.map +1 -1
  242. package/src/lib/record/approvals-part.mjs +1 -1
  243. package/src/lib/record/approvals-part.mjs.map +1 -1
  244. package/src/lib/record/data-source.d.mts +331 -0
  245. package/src/lib/record/data-source.d.ts +331 -0
  246. package/src/lib/record/data-source.js.map +1 -1
  247. package/src/lib/record/data-source.mjs.map +1 -1
  248. package/src/lib/record/day-words.d.mts +22 -1
  249. package/src/lib/record/day-words.d.ts +22 -1
  250. package/src/lib/record/day-words.js +29 -2
  251. package/src/lib/record/day-words.js.map +1 -1
  252. package/src/lib/record/day-words.mjs +24 -2
  253. package/src/lib/record/day-words.mjs.map +1 -1
  254. package/src/lib/record/files-part.d.mts +1 -0
  255. package/src/lib/record/files-part.d.ts +1 -0
  256. package/src/lib/record/files-part.js +7 -1
  257. package/src/lib/record/files-part.js.map +1 -1
  258. package/src/lib/record/files-part.mjs +5 -1
  259. package/src/lib/record/files-part.mjs.map +1 -1
  260. package/src/lib/record/form-approvals.d.mts +12 -17
  261. package/src/lib/record/form-approvals.d.ts +12 -17
  262. package/src/lib/record/form-approvals.js +14 -8
  263. package/src/lib/record/form-approvals.js.map +1 -1
  264. package/src/lib/record/form-approvals.mjs +13 -7
  265. package/src/lib/record/form-approvals.mjs.map +1 -1
  266. package/src/lib/record/form-limits.d.mts +4 -28
  267. package/src/lib/record/form-limits.d.ts +4 -28
  268. package/src/lib/record/form-limits.js +8 -5
  269. package/src/lib/record/form-limits.js.map +1 -1
  270. package/src/lib/record/form-limits.mjs +8 -5
  271. package/src/lib/record/form-limits.mjs.map +1 -1
  272. package/src/lib/record/form.d.mts +115 -3
  273. package/src/lib/record/form.d.ts +115 -3
  274. package/src/lib/record/form.js +262 -65
  275. package/src/lib/record/form.js.map +1 -1
  276. package/src/lib/record/form.mjs +263 -66
  277. package/src/lib/record/form.mjs.map +1 -1
  278. package/src/lib/record/history-steps.d.mts +38 -0
  279. package/src/lib/record/history-steps.d.ts +38 -0
  280. package/src/lib/record/history-steps.js +63 -0
  281. package/src/lib/record/history-steps.js.map +1 -0
  282. package/src/lib/record/history-steps.mjs +58 -0
  283. package/src/lib/record/history-steps.mjs.map +1 -0
  284. package/src/lib/record/history.d.mts +16 -0
  285. package/src/lib/record/history.d.ts +16 -0
  286. package/src/lib/record/history.js +3 -0
  287. package/src/lib/record/history.js.map +1 -0
  288. package/src/lib/record/history.mjs +2 -0
  289. package/src/lib/record/history.mjs.map +1 -0
  290. package/src/lib/record/input-rules.d.mts +2 -0
  291. package/src/lib/record/input-rules.d.ts +2 -0
  292. package/src/lib/record/input-rules.js +4 -1
  293. package/src/lib/record/input-rules.js.map +1 -1
  294. package/src/lib/record/input-rules.mjs +2 -0
  295. package/src/lib/record/input-rules.mjs.map +1 -1
  296. package/src/lib/record/joins.d.mts +143 -0
  297. package/src/lib/record/joins.d.ts +143 -0
  298. package/src/lib/record/joins.js +28 -0
  299. package/src/lib/record/joins.js.map +1 -0
  300. package/src/lib/record/joins.mjs +24 -0
  301. package/src/lib/record/joins.mjs.map +1 -0
  302. package/src/lib/record/limits.js +7 -4
  303. package/src/lib/record/limits.js.map +1 -1
  304. package/src/lib/record/limits.mjs +8 -5
  305. package/src/lib/record/limits.mjs.map +1 -1
  306. package/src/lib/record/link-values.d.mts +31 -0
  307. package/src/lib/record/link-values.d.ts +31 -0
  308. package/src/lib/record/link-values.js +132 -0
  309. package/src/lib/record/link-values.js.map +1 -0
  310. package/src/lib/record/link-values.mjs +125 -0
  311. package/src/lib/record/link-values.mjs.map +1 -0
  312. package/src/lib/record/live-later.d.mts +15 -0
  313. package/src/lib/record/live-later.d.ts +15 -0
  314. package/src/lib/record/live-later.js +10 -0
  315. package/src/lib/record/live-later.js.map +1 -0
  316. package/src/lib/record/live-later.mjs +7 -0
  317. package/src/lib/record/live-later.mjs.map +1 -0
  318. package/src/lib/record/live-part.d.mts +6 -0
  319. package/src/lib/record/live-part.d.ts +6 -0
  320. package/src/lib/record/live-part.js +12 -0
  321. package/src/lib/record/live-part.js.map +1 -0
  322. package/src/lib/record/live-part.mjs +7 -0
  323. package/src/lib/record/live-part.mjs.map +1 -0
  324. package/src/lib/record/live.d.mts +8 -0
  325. package/src/lib/record/live.d.ts +8 -0
  326. package/src/lib/record/live.js +133 -0
  327. package/src/lib/record/live.js.map +1 -0
  328. package/src/lib/record/live.mjs +129 -0
  329. package/src/lib/record/live.mjs.map +1 -0
  330. package/src/lib/record/locales/all.d.mts +5 -5
  331. package/src/lib/record/locales/all.d.ts +5 -5
  332. package/src/lib/record/locales/all.js +3 -3
  333. package/src/lib/record/locales/all.js.map +1 -1
  334. package/src/lib/record/locales/all.mjs +3 -3
  335. package/src/lib/record/locales/all.mjs.map +1 -1
  336. package/src/lib/record/locales/ar.js +8 -0
  337. package/src/lib/record/locales/ar.js.map +1 -1
  338. package/src/lib/record/locales/ar.mjs +8 -0
  339. package/src/lib/record/locales/ar.mjs.map +1 -1
  340. package/src/lib/record/locales/de.js +8 -0
  341. package/src/lib/record/locales/de.js.map +1 -1
  342. package/src/lib/record/locales/de.mjs +8 -0
  343. package/src/lib/record/locales/de.mjs.map +1 -1
  344. package/src/lib/record/locales/es.d.mts +8 -0
  345. package/src/lib/record/locales/es.d.ts +8 -0
  346. package/src/lib/record/locales/es.js +111 -0
  347. package/src/lib/record/locales/es.js.map +1 -0
  348. package/src/lib/record/locales/es.mjs +108 -0
  349. package/src/lib/record/locales/es.mjs.map +1 -0
  350. package/src/lib/record/locales/fa.d.mts +5 -0
  351. package/src/lib/record/locales/fa.d.ts +5 -0
  352. package/src/lib/record/locales/fa.js +117 -0
  353. package/src/lib/record/locales/fa.js.map +1 -0
  354. package/src/lib/record/locales/fa.mjs +114 -0
  355. package/src/lib/record/locales/fa.mjs.map +1 -0
  356. package/src/lib/record/locales/fr.js +8 -0
  357. package/src/lib/record/locales/fr.js.map +1 -1
  358. package/src/lib/record/locales/fr.mjs +8 -0
  359. package/src/lib/record/locales/fr.mjs.map +1 -1
  360. package/src/lib/record/locales/later.d.mts +8 -0
  361. package/src/lib/record/locales/later.d.ts +8 -0
  362. package/src/lib/record/locales/later.js +16 -0
  363. package/src/lib/record/locales/later.js.map +1 -0
  364. package/src/lib/record/locales/later.mjs +13 -0
  365. package/src/lib/record/locales/later.mjs.map +1 -0
  366. package/src/lib/record/locales/tr.d.mts +6 -0
  367. package/src/lib/record/locales/tr.d.ts +6 -0
  368. package/src/lib/record/locales/tr.js +118 -0
  369. package/src/lib/record/locales/tr.js.map +1 -0
  370. package/src/lib/record/locales/tr.mjs +115 -0
  371. package/src/lib/record/locales/tr.mjs.map +1 -0
  372. package/src/lib/record/locales/ur.d.mts +9 -0
  373. package/src/lib/record/locales/ur.d.ts +9 -0
  374. package/src/lib/record/locales/ur.js +118 -0
  375. package/src/lib/record/locales/ur.js.map +1 -0
  376. package/src/lib/record/locales/ur.mjs +115 -0
  377. package/src/lib/record/locales/ur.mjs.map +1 -0
  378. package/src/lib/record/memory-codes.d.mts +37 -0
  379. package/src/lib/record/memory-codes.d.ts +37 -0
  380. package/src/lib/record/memory-codes.js +50 -0
  381. package/src/lib/record/memory-codes.js.map +1 -0
  382. package/src/lib/record/memory-codes.mjs +47 -0
  383. package/src/lib/record/memory-codes.mjs.map +1 -0
  384. package/src/lib/record/memory-data-source.d.mts +56 -2
  385. package/src/lib/record/memory-data-source.d.ts +56 -2
  386. package/src/lib/record/memory-data-source.js +67 -1
  387. package/src/lib/record/memory-data-source.js.map +1 -1
  388. package/src/lib/record/memory-data-source.mjs +67 -1
  389. package/src/lib/record/memory-data-source.mjs.map +1 -1
  390. package/src/lib/record/memory-kept.d.mts +3 -1
  391. package/src/lib/record/memory-kept.d.ts +3 -1
  392. package/src/lib/record/memory-kept.js +7 -2
  393. package/src/lib/record/memory-kept.js.map +1 -1
  394. package/src/lib/record/memory-kept.mjs +7 -2
  395. package/src/lib/record/memory-kept.mjs.map +1 -1
  396. package/src/lib/record/memory-later.d.mts +3 -1
  397. package/src/lib/record/memory-later.d.ts +3 -1
  398. package/src/lib/record/memory-later.js +9 -5
  399. package/src/lib/record/memory-later.js.map +1 -1
  400. package/src/lib/record/memory-later.mjs +8 -4
  401. package/src/lib/record/memory-later.mjs.map +1 -1
  402. package/src/lib/record/memory-live.d.mts +8 -0
  403. package/src/lib/record/memory-live.d.ts +8 -0
  404. package/src/lib/record/memory-live.js +70 -0
  405. package/src/lib/record/memory-live.js.map +1 -0
  406. package/src/lib/record/memory-live.mjs +67 -0
  407. package/src/lib/record/memory-live.mjs.map +1 -0
  408. package/src/lib/record/memory-views.d.mts +11 -0
  409. package/src/lib/record/memory-views.d.ts +11 -0
  410. package/src/lib/record/memory-views.js +60 -0
  411. package/src/lib/record/memory-views.js.map +1 -0
  412. package/src/lib/record/memory-views.mjs +57 -0
  413. package/src/lib/record/memory-views.mjs.map +1 -0
  414. package/src/lib/record/messages.d.mts +21 -3
  415. package/src/lib/record/messages.d.ts +21 -3
  416. package/src/lib/record/messages.js +15 -2
  417. package/src/lib/record/messages.js.map +1 -1
  418. package/src/lib/record/messages.mjs +15 -2
  419. package/src/lib/record/messages.mjs.map +1 -1
  420. package/src/lib/record/order.d.mts +21 -0
  421. package/src/lib/record/order.d.ts +21 -0
  422. package/src/lib/record/order.js +129 -0
  423. package/src/lib/record/order.js.map +1 -0
  424. package/src/lib/record/order.mjs +122 -0
  425. package/src/lib/record/order.mjs.map +1 -0
  426. package/src/lib/record/outbox-form.d.mts +79 -0
  427. package/src/lib/record/outbox-form.d.ts +79 -0
  428. package/src/lib/record/outbox-form.js +291 -0
  429. package/src/lib/record/outbox-form.js.map +1 -0
  430. package/src/lib/record/outbox-form.mjs +286 -0
  431. package/src/lib/record/outbox-form.mjs.map +1 -0
  432. package/src/lib/record/outbox-part.d.mts +6 -0
  433. package/src/lib/record/outbox-part.d.ts +6 -0
  434. package/src/lib/record/outbox-part.js +13 -0
  435. package/src/lib/record/outbox-part.js.map +1 -0
  436. package/src/lib/record/outbox-part.mjs +7 -0
  437. package/src/lib/record/outbox-part.mjs.map +1 -0
  438. package/src/lib/record/pay-part.d.mts +6 -0
  439. package/src/lib/record/pay-part.d.ts +6 -0
  440. package/src/lib/record/pay-part.js +11 -0
  441. package/src/lib/record/pay-part.js.map +1 -0
  442. package/src/lib/record/pay-part.mjs +7 -0
  443. package/src/lib/record/pay-part.mjs.map +1 -0
  444. package/src/lib/record/payment-form.d.mts +25 -0
  445. package/src/lib/record/payment-form.d.ts +25 -0
  446. package/src/lib/record/payment-form.js +98 -0
  447. package/src/lib/record/payment-form.js.map +1 -0
  448. package/src/lib/record/payment-form.mjs +95 -0
  449. package/src/lib/record/payment-form.mjs.map +1 -0
  450. package/src/lib/record/prefill-part.d.mts +7 -0
  451. package/src/lib/record/prefill-part.d.ts +7 -0
  452. package/src/lib/record/prefill-part.js +15 -0
  453. package/src/lib/record/prefill-part.js.map +1 -0
  454. package/src/lib/record/prefill-part.mjs +8 -0
  455. package/src/lib/record/prefill-part.mjs.map +1 -0
  456. package/src/lib/record/press-undo.d.mts +42 -0
  457. package/src/lib/record/press-undo.d.ts +42 -0
  458. package/src/lib/record/press-undo.js +115 -0
  459. package/src/lib/record/press-undo.js.map +1 -0
  460. package/src/lib/record/press-undo.mjs +110 -0
  461. package/src/lib/record/press-undo.mjs.map +1 -0
  462. package/src/lib/record/quiz.d.mts +36 -0
  463. package/src/lib/record/quiz.d.ts +36 -0
  464. package/src/lib/record/quiz.js +90 -0
  465. package/src/lib/record/quiz.js.map +1 -0
  466. package/src/lib/record/quiz.mjs +87 -0
  467. package/src/lib/record/quiz.mjs.map +1 -0
  468. package/src/lib/record/record-words.js +1 -1
  469. package/src/lib/record/record-words.js.map +1 -1
  470. package/src/lib/record/record-words.mjs +1 -1
  471. package/src/lib/record/record-words.mjs.map +1 -1
  472. package/src/lib/record/run.d.mts +54 -2
  473. package/src/lib/record/run.d.ts +54 -2
  474. package/src/lib/record/run.js +30 -6
  475. package/src/lib/record/run.js.map +1 -1
  476. package/src/lib/record/run.mjs +28 -5
  477. package/src/lib/record/run.mjs.map +1 -1
  478. package/src/lib/record/survey-kit.d.mts +37 -0
  479. package/src/lib/record/survey-kit.d.ts +37 -0
  480. package/src/lib/record/survey-kit.js +99 -0
  481. package/src/lib/record/survey-kit.js.map +1 -0
  482. package/src/lib/record/survey-kit.mjs +96 -0
  483. package/src/lib/record/survey-kit.mjs.map +1 -0
  484. package/src/lib/record/survey.d.mts +16 -0
  485. package/src/lib/record/survey.d.ts +16 -0
  486. package/src/lib/record/survey.js +17 -0
  487. package/src/lib/record/survey.js.map +1 -0
  488. package/src/lib/record/survey.mjs +13 -0
  489. package/src/lib/record/survey.mjs.map +1 -0
  490. package/src/lib/record/surveyflow-part.d.mts +9 -0
  491. package/src/lib/record/surveyflow-part.d.ts +9 -0
  492. package/src/lib/record/surveyflow-part.js +20 -0
  493. package/src/lib/record/surveyflow-part.js.map +1 -0
  494. package/src/lib/record/surveyflow-part.mjs +10 -0
  495. package/src/lib/record/surveyflow-part.mjs.map +1 -0
  496. package/src/lib/record/timing.d.mts +76 -0
  497. package/src/lib/record/timing.d.ts +76 -0
  498. package/src/lib/record/timing.js +112 -0
  499. package/src/lib/record/timing.js.map +1 -0
  500. package/src/lib/record/timing.mjs +104 -0
  501. package/src/lib/record/timing.mjs.map +1 -0
  502. package/src/lib/record/undo-later.d.mts +9 -0
  503. package/src/lib/record/undo-later.d.ts +9 -0
  504. package/src/lib/record/undo-later.js +10 -0
  505. package/src/lib/record/undo-later.js.map +1 -0
  506. package/src/lib/record/undo-later.mjs +7 -0
  507. package/src/lib/record/undo-later.mjs.map +1 -0
  508. package/src/lib/record/undo-part.d.mts +8 -0
  509. package/src/lib/record/undo-part.d.ts +8 -0
  510. package/src/lib/record/undo-part.js +17 -0
  511. package/src/lib/record/undo-part.js.map +1 -0
  512. package/src/lib/record/undo-part.mjs +9 -0
  513. package/src/lib/record/undo-part.mjs.map +1 -0
  514. package/src/lib/record/upload-to-later.d.mts +10 -0
  515. package/src/lib/record/upload-to-later.d.ts +10 -0
  516. package/src/lib/record/upload-to-later.js +15 -0
  517. package/src/lib/record/upload-to-later.js.map +1 -0
  518. package/src/lib/record/upload-to-later.mjs +12 -0
  519. package/src/lib/record/upload-to-later.mjs.map +1 -0
  520. package/src/lib/record/uploads.d.mts +5 -0
  521. package/src/lib/record/uploads.d.ts +5 -0
  522. package/src/lib/record/uploads.js.map +1 -1
  523. package/src/lib/record/uploads.mjs.map +1 -1
  524. package/src/lib/record/values.d.mts +6 -0
  525. package/src/lib/record/values.d.ts +6 -0
  526. package/src/lib/record/values.js.map +1 -1
  527. package/src/lib/record/values.mjs.map +1 -1
  528. package/src/lib/record/verify-form.d.mts +24 -0
  529. package/src/lib/record/verify-form.d.ts +24 -0
  530. package/src/lib/record/verify-form.js +65 -0
  531. package/src/lib/record/verify-form.js.map +1 -0
  532. package/src/lib/record/verify-form.mjs +62 -0
  533. package/src/lib/record/verify-form.mjs.map +1 -0
  534. package/src/lib/record/verify-part.d.mts +6 -0
  535. package/src/lib/record/verify-part.d.ts +6 -0
  536. package/src/lib/record/verify-part.js +11 -0
  537. package/src/lib/record/verify-part.js.map +1 -0
  538. package/src/lib/record/verify-part.mjs +7 -0
  539. package/src/lib/record/verify-part.mjs.map +1 -0
  540. package/src/lib/record/words-chunks.d.mts +37 -0
  541. package/src/lib/record/words-chunks.d.ts +37 -0
  542. package/src/lib/record/words-chunks.js +94 -0
  543. package/src/lib/record/words-chunks.js.map +1 -0
  544. package/src/lib/record/words-chunks.mjs +86 -0
  545. package/src/lib/record/words-chunks.mjs.map +1 -0
  546. package/src/runtime.d.mts +28 -6
  547. package/src/runtime.d.ts +28 -6
  548. package/src/runtime.js +35 -6
  549. package/src/runtime.js.map +1 -1
  550. package/src/runtime.mjs +15 -3
  551. package/src/runtime.mjs.map +1 -1
@@ -14,12 +14,14 @@ function memoryKept(options) {
14
14
  versions.set(`${model}:${id}`, version);
15
15
  return version;
16
16
  };
17
- return {
17
+ const kept = {
18
18
  records,
19
19
  notDuplicatePairs: (0, values_1.structuredCopy)(options.notDuplicatePairs ?? {}),
20
20
  responses: [],
21
21
  calls: [],
22
22
  drafts: (0, values_1.structuredCopy)(options.drafts ?? {}),
23
+ codes: [],
24
+ payments: [],
23
25
  elsewhere,
24
26
  table,
25
27
  versionOf(model, id) {
@@ -39,8 +41,11 @@ function memoryKept(options) {
39
41
  if (!stored)
40
42
  throw new Error(`No ${model} record with id ${id}`);
41
43
  Object.assign(stored, (0, values_1.structuredCopy)(values));
42
- return moveOn(model, id, who.by, who.at);
44
+ const version = moveOn(model, id, who.by, who.at);
45
+ kept.changed?.(model, id, version, who.by);
46
+ return version;
43
47
  },
44
48
  };
49
+ return kept;
45
50
  }
46
51
  //# sourceMappingURL=memory-kept.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-kept.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-kept.ts"],"names":[],"mappings":";;AAqBA,gCAqCC;AAxDD,qCAAsE;AAmBtE,SAAgB,UAAU,CAAC,OAA+F;IACxH,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAY,EAAE,EAAsB,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAiB,EAAE;QACnH,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACtF,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,OAAO;QACL,OAAO;QACP,iBAAiB,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAClE,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,SAAS;QACT,KAAK;QACL,SAAS,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM;QACN,iBAAiB,CAAC,MAAc,EAAE,MAAc;YAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,eAAe,CAAC,KAAa,EAAE,EAAY,EAAE,MAAc,EAAE,GAAgC;YAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"memory-kept.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-kept.ts"],"names":[],"mappings":";;AAuBA,gCA0CC;AA/DD,qCAAsE;AAqBtE,SAAgB,UAAU,CAAC,OAA+F;IACxH,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAY,EAAE,EAAsB,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAiB,EAAE;QACnH,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACtF,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,IAAI,GAAe;QACvB,OAAO;QACP,iBAAiB,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAClE,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,SAAS;QACT,KAAK;QACL,SAAS,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM;QACN,iBAAiB,CAAC,MAAc,EAAE,MAAc;YAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,eAAe,CAAC,KAAa,EAAE,EAAY,EAAE,MAAc,EAAE,GAAgC;YAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -11,12 +11,14 @@ export function memoryKept(options) {
11
11
  versions.set(`${model}:${id}`, version);
12
12
  return version;
13
13
  };
14
- return {
14
+ const kept = {
15
15
  records,
16
16
  notDuplicatePairs: structuredCopy(options.notDuplicatePairs ?? {}),
17
17
  responses: [],
18
18
  calls: [],
19
19
  drafts: structuredCopy(options.drafts ?? {}),
20
+ codes: [],
21
+ payments: [],
20
22
  elsewhere,
21
23
  table,
22
24
  versionOf(model, id) {
@@ -36,8 +38,11 @@ export function memoryKept(options) {
36
38
  if (!stored)
37
39
  throw new Error(`No ${model} record with id ${id}`);
38
40
  Object.assign(stored, structuredCopy(values));
39
- return moveOn(model, id, who.by, who.at);
41
+ const version = moveOn(model, id, who.by, who.at);
42
+ kept.changed?.(model, id, version, who.by);
43
+ return version;
40
44
  },
41
45
  };
46
+ return kept;
42
47
  }
43
48
  //# sourceMappingURL=memory-kept.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-kept.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-kept.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAmBtE,MAAM,UAAU,UAAU,CAAC,OAA+F;IACxH,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAY,EAAE,EAAsB,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAiB,EAAE;QACnH,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACtF,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,OAAO;QACL,OAAO;QACP,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAClE,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,SAAS;QACT,KAAK;QACL,SAAS,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM;QACN,iBAAiB,CAAC,MAAc,EAAE,MAAc;YAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,eAAe,CAAC,KAAa,EAAE,EAAY,EAAE,MAAc,EAAE,GAAgC;YAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"memory-kept.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-kept.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA8B,MAAM,UAAU,CAAC;AAqBtE,MAAM,UAAU,UAAU,CAAC,OAA+F;IACxH,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAY,EAAE,EAAsB,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAiB,EAAE;QACnH,MAAM,OAAO,GAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACtF,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,IAAI,GAAe;QACvB,OAAO;QACP,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAClE,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC5C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,SAAS;QACT,KAAK;QACL,SAAS,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM;QACN,iBAAiB,CAAC,MAAc,EAAE,MAAc;YAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,eAAe,CAAC,KAAa,EAAE,EAAY,EAAE,MAAc,EAAE,GAAgC;YAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -9,7 +9,9 @@ export type MemoryPart = typeof MemoryModule;
9
9
  */
10
10
  export declare const memoryPart: Part<MemoryPart>;
11
11
  /** Every member of a data source a memory source answers, as its members do once they have come. */
12
- export declare const MEMORY_MEMBERS: readonly ["load", "save", "onchange", "search", "create", "submit", "list", "groups", "options", "definitions", "saveDefinitions", "archive", "copy", "delete", "attachments", "totals", "upload", "slots", "writeMany", "createMany", "duplicates", "merge", "notDuplicates", "markNotDuplicate", "limits", "saveDraft", "loadDraft", "approvals", "decide"];
12
+ export declare const MEMORY_MEMBERS: readonly ["load", "save", "onchange", "search", "create", "submit", "list", "groups", "options", "definitions", "saveDefinitions", "archive", "copy", "delete", "attachments", "totals", "upload", "slots", "writeMany", "createMany", "duplicates", "merge", "notDuplicates", "markNotDuplicate", "limits", "saveDraft", "loadDraft", "approvals", "decide", "sendCode", "checkCode", "pay"];
13
+ /** The members a memory source answers only where it is given what they keep: lists' saved views (`views`). */
14
+ export declare const MEMORY_VIEW_MEMBERS: readonly ["views", "saveView", "deleteView"];
13
15
  /**
14
16
  * The one-tag script's memory source: what it keeps — its records, responses, calls, drafts, its versions, and what
15
17
  * someone else does to them (`changeElsewhere`, `answeredElsewhere`) — at once, every member answering once the memory
@@ -9,7 +9,9 @@ export type MemoryPart = typeof MemoryModule;
9
9
  */
10
10
  export declare const memoryPart: Part<MemoryPart>;
11
11
  /** Every member of a data source a memory source answers, as its members do once they have come. */
12
- export declare const MEMORY_MEMBERS: readonly ["load", "save", "onchange", "search", "create", "submit", "list", "groups", "options", "definitions", "saveDefinitions", "archive", "copy", "delete", "attachments", "totals", "upload", "slots", "writeMany", "createMany", "duplicates", "merge", "notDuplicates", "markNotDuplicate", "limits", "saveDraft", "loadDraft", "approvals", "decide"];
12
+ export declare const MEMORY_MEMBERS: readonly ["load", "save", "onchange", "search", "create", "submit", "list", "groups", "options", "definitions", "saveDefinitions", "archive", "copy", "delete", "attachments", "totals", "upload", "slots", "writeMany", "createMany", "duplicates", "merge", "notDuplicates", "markNotDuplicate", "limits", "saveDraft", "loadDraft", "approvals", "decide", "sendCode", "checkCode", "pay"];
13
+ /** The members a memory source answers only where it is given what they keep: lists' saved views (`views`). */
14
+ export declare const MEMORY_VIEW_MEMBERS: readonly ["views", "saveView", "deleteView"];
13
15
  /**
14
16
  * The one-tag script's memory source: what it keeps — its records, responses, calls, drafts, its versions, and what
15
17
  * someone else does to them (`changeElsewhere`, `answeredElsewhere`) — at once, every member answering once the memory
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MEMORY_MEMBERS = exports.memoryPart = void 0;
3
+ exports.MEMORY_VIEW_MEMBERS = exports.MEMORY_MEMBERS = exports.memoryPart = void 0;
4
4
  exports.createMemoryDataSource = createMemoryDataSource;
5
5
  const parts_1 = require("../parts");
6
6
  const memory_kept_1 = require("./memory-kept");
@@ -13,8 +13,10 @@ exports.memoryPart = (0, parts_1.lazyPart)('memory', () => Promise.resolve().the
13
13
  exports.MEMORY_MEMBERS = [
14
14
  'load', 'save', 'onchange', 'search', 'create', 'submit', 'list', 'groups', 'options', 'definitions', 'saveDefinitions', 'archive', 'copy', 'delete',
15
15
  'attachments', 'totals', 'upload', 'slots', 'writeMany', 'createMany', 'duplicates', 'merge', 'notDuplicates', 'markNotDuplicate', 'limits', 'saveDraft', 'loadDraft',
16
- 'approvals', 'decide',
16
+ 'approvals', 'decide', 'sendCode', 'checkCode', 'pay',
17
17
  ];
18
+ /** The members a memory source answers only where it is given what they keep: lists' saved views (`views`). */
19
+ exports.MEMORY_VIEW_MEMBERS = ['views', 'saveView', 'deleteView'];
18
20
  /**
19
21
  * The one-tag script's memory source: what it keeps — its records, responses, calls, drafts, its versions, and what
20
22
  * someone else does to them (`changeElsewhere`, `answeredElsewhere`) — at once, every member answering once the memory
@@ -28,10 +30,12 @@ function createMemoryDataSource(options = {}) {
28
30
  const kept = (0, memory_kept_1.memoryKept)(options);
29
31
  let made;
30
32
  const members = () => exports.memoryPart.load().then((loaded) => (made ??= loaded.memorySource(options, kept)));
31
- const source = { records: kept.records, notDuplicatePairs: kept.notDuplicatePairs, responses: kept.responses, calls: kept.calls, drafts: kept.drafts, changeElsewhere: kept.changeElsewhere, answeredElsewhere: kept.answeredElsewhere };
32
- // AI help's members, where the app gave what answers them: without, the source has none.
33
+ const source = { records: kept.records, notDuplicatePairs: kept.notDuplicatePairs, responses: kept.responses, calls: kept.calls, drafts: kept.drafts, codes: kept.codes, payments: kept.payments, changeElsewhere: kept.changeElsewhere, answeredElsewhere: kept.answeredElsewhere };
34
+ // AI help's members, where the app gave what answers them: without, the source has none. Lists' saved views where it
35
+ // was given some (`views`); record templates (`templates`); live (`live`): a push answered once the members came, as
36
+ // a form asks for it once it has read the record through them.
33
37
  const assist = ['suggest', 'rewrite', 'searchToFilter'].filter((name) => options.assist?.[name]);
34
- for (const name of [...exports.MEMORY_MEMBERS, ...assist]) {
38
+ for (const name of [...exports.MEMORY_MEMBERS, ...assist, ...(options.views ? exports.MEMORY_VIEW_MEMBERS : []), ...(options.templates ? ['templates', 'saveTemplate', 'deleteTemplate'] : []), ...(options.live ? ['subscribe', 'presence', 'arrive', 'leave'] : [])]) {
35
39
  source[name] = (...args) => {
36
40
  const call = (from) => from[name](...args);
37
41
  return made ? call(made) : members().then(call);
@@ -1 +1 @@
1
- {"version":3,"file":"memory-later.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-later.ts"],"names":[],"mappings":";;;AA2BA,wDAgBC;AA3CD,oCAA+C;AAG/C,+CAA2C;AAK3C;;;GAGG;AACU,QAAA,UAAU,GAAqB,IAAA,gBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,sCAAQ,eAAe,EAAC,CAAC,CAAC;AAE9F,oGAAoG;AACvF,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IACpJ,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;IACrK,WAAW,EAAE,QAAQ;CACb,CAAC;AAEX;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,UAAmC,EAAE;IAC1E,MAAM,IAAI,GAAG,kBAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,OAAO,CAAC,CAAC;IACjC,IAAI,IAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,GAA8B,EAAE,CAAC,kBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAA6B,CAAC;IACpQ,yFAAyF;IACzF,MAAM,MAAM,GAAI,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5G,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,sBAAc,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAE,IAAI,CAAC,IAAI,CAA+C,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5G,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAqC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"memory-later.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-later.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,10 @@ export const memoryPart = lazyPart('memory', () => import('./memory-part.mjs'));
9
9
  export const MEMORY_MEMBERS = [
10
10
  'load', 'save', 'onchange', 'search', 'create', 'submit', 'list', 'groups', 'options', 'definitions', 'saveDefinitions', 'archive', 'copy', 'delete',
11
11
  'attachments', 'totals', 'upload', 'slots', 'writeMany', 'createMany', 'duplicates', 'merge', 'notDuplicates', 'markNotDuplicate', 'limits', 'saveDraft', 'loadDraft',
12
- 'approvals', 'decide',
12
+ 'approvals', 'decide', 'sendCode', 'checkCode', 'pay',
13
13
  ];
14
+ /** The members a memory source answers only where it is given what they keep: lists' saved views (`views`). */
15
+ export const MEMORY_VIEW_MEMBERS = ['views', 'saveView', 'deleteView'];
14
16
  /**
15
17
  * The one-tag script's memory source: what it keeps — its records, responses, calls, drafts, its versions, and what
16
18
  * someone else does to them (`changeElsewhere`, `answeredElsewhere`) — at once, every member answering once the memory
@@ -24,10 +26,12 @@ export function createMemoryDataSource(options = {}) {
24
26
  const kept = memoryKept(options);
25
27
  let made;
26
28
  const members = () => memoryPart.load().then((loaded) => (made ??= loaded.memorySource(options, kept)));
27
- const source = { records: kept.records, notDuplicatePairs: kept.notDuplicatePairs, responses: kept.responses, calls: kept.calls, drafts: kept.drafts, changeElsewhere: kept.changeElsewhere, answeredElsewhere: kept.answeredElsewhere };
28
- // AI help's members, where the app gave what answers them: without, the source has none.
29
+ const source = { records: kept.records, notDuplicatePairs: kept.notDuplicatePairs, responses: kept.responses, calls: kept.calls, drafts: kept.drafts, codes: kept.codes, payments: kept.payments, changeElsewhere: kept.changeElsewhere, answeredElsewhere: kept.answeredElsewhere };
30
+ // AI help's members, where the app gave what answers them: without, the source has none. Lists' saved views where it
31
+ // was given some (`views`); record templates (`templates`); live (`live`): a push answered once the members came, as
32
+ // a form asks for it once it has read the record through them.
29
33
  const assist = ['suggest', 'rewrite', 'searchToFilter'].filter((name) => options.assist?.[name]);
30
- for (const name of [...MEMORY_MEMBERS, ...assist]) {
34
+ for (const name of [...MEMORY_MEMBERS, ...assist, ...(options.views ? MEMORY_VIEW_MEMBERS : []), ...(options.templates ? ['templates', 'saveTemplate', 'deleteTemplate'] : []), ...(options.live ? ['subscribe', 'presence', 'arrive', 'leave'] : [])]) {
31
35
  source[name] = (...args) => {
32
36
  const call = (from) => from[name](...args);
33
37
  return made ? call(made) : members().then(call);
@@ -1 +1 @@
1
- {"version":3,"file":"memory-later.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-later.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAE9F,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IACpJ,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;IACrK,WAAW,EAAE,QAAQ;CACb,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAmC,EAAE;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,IAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,GAA8B,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAA6B,CAAC;IACpQ,yFAAyF;IACzF,MAAM,MAAM,GAAI,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5G,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAE,IAAI,CAAC,IAAI,CAA+C,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5G,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAqC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"memory-later.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-later.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAE9F,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IACpJ,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;IACrK,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK;CAC7C,CAAC;AAEX,+GAA+G;AAC/G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAmC,EAAE;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,IAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,GAA8B,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAA6B,CAAC;IAChT,qHAAqH;IACrH,qHAAqH;IACrH,+DAA+D;IAC/D,MAAM,MAAM,GAAI,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5G,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACvP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAE,IAAI,CAAC,IAA8B,CAAiD,CAAC,GAAG,IAAI,CAAC,CAAC;YACxI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAqC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { MemoryDataSourceOptions } from './memory-data-source.mjs';
2
+ import type { MemoryKept } from './memory-kept.mjs';
3
+ /**
4
+ * A memory source live, as a server with a socket (`live`): each change `changeElsewhere` makes pushed to the pages
5
+ * that have its record open (`subscribe`), and who has a record open told to each of them (`presence`) — every page
6
+ * that opens it with a `user`, and whoever `arrive` brings until `leave`. Off unless said: then it has none of them.
7
+ */
8
+ export declare function memoryLive(options: Pick<MemoryDataSourceOptions, 'live' | 'versions'>, kept: MemoryKept): {};
@@ -0,0 +1,8 @@
1
+ import type { MemoryDataSourceOptions } from './memory-data-source';
2
+ import type { MemoryKept } from './memory-kept';
3
+ /**
4
+ * A memory source live, as a server with a socket (`live`): each change `changeElsewhere` makes pushed to the pages
5
+ * that have its record open (`subscribe`), and who has a record open told to each of them (`presence`) — every page
6
+ * that opens it with a `user`, and whoever `arrive` brings until `leave`. Off unless said: then it has none of them.
7
+ */
8
+ export declare function memoryLive(options: Pick<MemoryDataSourceOptions, 'live' | 'versions'>, kept: MemoryKept): {};
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.memoryLive = memoryLive;
4
+ const values_1 = require("./values");
5
+ /**
6
+ * A memory source live, as a server with a socket (`live`): each change `changeElsewhere` makes pushed to the pages
7
+ * that have its record open (`subscribe`), and who has a record open told to each of them (`presence`) — every page
8
+ * that opens it with a `user`, and whoever `arrive` brings until `leave`. Off unless said: then it has none of them.
9
+ */
10
+ function memoryLive(options, kept) {
11
+ const changes = new Map();
12
+ const watchers = new Map();
13
+ const present = new Map();
14
+ const at = (model, id) => `${model}:${id}`;
15
+ const held = (map, key, make) => {
16
+ let found = map.get(key);
17
+ if (!found)
18
+ map.set(key, (found = make()));
19
+ return found;
20
+ };
21
+ /** Everyone watching a record told who else has it open: never themselves. */
22
+ const tell = (key) => {
23
+ const people = [...(present.get(key)?.values() ?? [])];
24
+ for (const one of watchers.get(key) ?? [])
25
+ one.push(people.filter((person) => one.me === null || String(person.id) !== String(one.me)).map((person) => ({ ...person })));
26
+ };
27
+ kept.changed = (model, id, version, by) => {
28
+ if (!options.live)
29
+ return;
30
+ const stored = kept.table(model)[String(id)];
31
+ for (const push of changes.get(at(model, id)) ?? [])
32
+ push({ type: 'record', ...(options.versions ? { version } : {}), values: (0, values_1.structuredCopy)(stored), by, ...(version.at ? { at: version.at } : {}) });
33
+ };
34
+ // Live only where it says: without `live`, a memory source tells neither, as an app's source without a socket.
35
+ const told = {
36
+ subscribe(record, push) {
37
+ const listening = held(changes, at(record.model, record.id), () => new Set());
38
+ listening.add(push);
39
+ return () => void listening.delete(push);
40
+ },
41
+ presence(request, push) {
42
+ const key = at(request.model, request.id);
43
+ const one = { push, me: request.user?.id ?? null };
44
+ held(watchers, key, () => new Set()).add(one);
45
+ if (request.user?.id != null)
46
+ held(present, key, () => new Map()).set(String(request.user.id), { id: request.user.id, name: request.user.name ?? String(request.user.id), editing: request.editing });
47
+ tell(key);
48
+ return () => {
49
+ watchers.get(key)?.delete(one);
50
+ if (one.me !== null)
51
+ present.get(key)?.delete(String(one.me));
52
+ tell(key);
53
+ };
54
+ },
55
+ };
56
+ return options.live
57
+ ? {
58
+ ...told,
59
+ arrive(model, id, person) {
60
+ held(present, at(model, id), () => new Map()).set(String(person.id), { ...person });
61
+ tell(at(model, id));
62
+ },
63
+ leave(model, id, person) {
64
+ present.get(at(model, id))?.delete(String(person));
65
+ tell(at(model, id));
66
+ },
67
+ }
68
+ : {};
69
+ }
70
+ //# sourceMappingURL=memory-live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-live.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-live.ts"],"names":[],"mappings":";;AAUA,gCAqDC;AA5DD,qCAAyD;AAEzD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,OAA2D,EAAE,IAAgB;IACtG,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+C,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiF,CAAC;IAC1G,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC9D,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAY,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAI,GAAmB,EAAE,GAAW,EAAE,IAAa,EAAK,EAAE;QACrE,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,8EAA8E;IAC9E,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3K,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACzM,CAAC,CAAC;IACF,+GAA+G;IAC/G,MAAM,IAAI,GAAG;QACX,SAAS,CAAC,MAAqB,EAAE,IAAoC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAkC,CAAC,CAAC;YAC9G,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,QAAQ,CAAC,OAAwB,EAAE,IAAuC;YACxE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI;gBAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAyB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7N,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC,IAAI;QACjB,CAAC,CAAC;YACE,GAAG,IAAI;YACP,MAAM,CAAC,KAAa,EAAE,EAAY,EAAE,MAAqB;gBACvD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAyB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;gBAC3G,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC;YACD,KAAK,CAAC,KAAa,EAAE,EAAY,EAAE,MAAgB;gBACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC;SACF;QACH,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { structuredCopy } from './values.mjs';
2
+ /**
3
+ * A memory source live, as a server with a socket (`live`): each change `changeElsewhere` makes pushed to the pages
4
+ * that have its record open (`subscribe`), and who has a record open told to each of them (`presence`) — every page
5
+ * that opens it with a `user`, and whoever `arrive` brings until `leave`. Off unless said: then it has none of them.
6
+ */
7
+ export function memoryLive(options, kept) {
8
+ const changes = new Map();
9
+ const watchers = new Map();
10
+ const present = new Map();
11
+ const at = (model, id) => `${model}:${id}`;
12
+ const held = (map, key, make) => {
13
+ let found = map.get(key);
14
+ if (!found)
15
+ map.set(key, (found = make()));
16
+ return found;
17
+ };
18
+ /** Everyone watching a record told who else has it open: never themselves. */
19
+ const tell = (key) => {
20
+ const people = [...(present.get(key)?.values() ?? [])];
21
+ for (const one of watchers.get(key) ?? [])
22
+ one.push(people.filter((person) => one.me === null || String(person.id) !== String(one.me)).map((person) => ({ ...person })));
23
+ };
24
+ kept.changed = (model, id, version, by) => {
25
+ if (!options.live)
26
+ return;
27
+ const stored = kept.table(model)[String(id)];
28
+ for (const push of changes.get(at(model, id)) ?? [])
29
+ push({ type: 'record', ...(options.versions ? { version } : {}), values: structuredCopy(stored), by, ...(version.at ? { at: version.at } : {}) });
30
+ };
31
+ // Live only where it says: without `live`, a memory source tells neither, as an app's source without a socket.
32
+ const told = {
33
+ subscribe(record, push) {
34
+ const listening = held(changes, at(record.model, record.id), () => new Set());
35
+ listening.add(push);
36
+ return () => void listening.delete(push);
37
+ },
38
+ presence(request, push) {
39
+ const key = at(request.model, request.id);
40
+ const one = { push, me: request.user?.id ?? null };
41
+ held(watchers, key, () => new Set()).add(one);
42
+ if (request.user?.id != null)
43
+ held(present, key, () => new Map()).set(String(request.user.id), { id: request.user.id, name: request.user.name ?? String(request.user.id), editing: request.editing });
44
+ tell(key);
45
+ return () => {
46
+ watchers.get(key)?.delete(one);
47
+ if (one.me !== null)
48
+ present.get(key)?.delete(String(one.me));
49
+ tell(key);
50
+ };
51
+ },
52
+ };
53
+ return options.live
54
+ ? {
55
+ ...told,
56
+ arrive(model, id, person) {
57
+ held(present, at(model, id), () => new Map()).set(String(person.id), { ...person });
58
+ tell(at(model, id));
59
+ },
60
+ leave(model, id, person) {
61
+ present.get(at(model, id))?.delete(String(person));
62
+ tell(at(model, id));
63
+ },
64
+ }
65
+ : {};
66
+ }
67
+ //# sourceMappingURL=memory-live.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-live.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-live.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { DataSource, SavedView } from './data-source.mjs';
2
+ /**
3
+ * A memory source's saved views (`views`, `saveView`, `deleteView`), by page id, as an app's server keeps them: the
4
+ * views it was given — the team's shared ones, each with `by`, and this person's own (`mine`) — and those this person
5
+ * saves, theirs. One default of a kind: a view kept as the default lets go of the person's other own default, a shared
6
+ * one of the team's other default. Another's view is never changed nor deleted: refused, as a server would.
7
+ */
8
+ export declare function memoryViews(given: Record<string, SavedView[]>, calls: {
9
+ method: keyof DataSource;
10
+ request: unknown;
11
+ }[], pause: () => Promise<void>): Required<Pick<DataSource, 'views' | 'saveView' | 'deleteView'>>;
@@ -0,0 +1,11 @@
1
+ import type { DataSource, SavedView } from './data-source';
2
+ /**
3
+ * A memory source's saved views (`views`, `saveView`, `deleteView`), by page id, as an app's server keeps them: the
4
+ * views it was given — the team's shared ones, each with `by`, and this person's own (`mine`) — and those this person
5
+ * saves, theirs. One default of a kind: a view kept as the default lets go of the person's other own default, a shared
6
+ * one of the team's other default. Another's view is never changed nor deleted: refused, as a server would.
7
+ */
8
+ export declare function memoryViews(given: Record<string, SavedView[]>, calls: {
9
+ method: keyof DataSource;
10
+ request: unknown;
11
+ }[], pause: () => Promise<void>): Required<Pick<DataSource, 'views' | 'saveView' | 'deleteView'>>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.memoryViews = memoryViews;
4
+ const values_1 = require("./values");
5
+ /**
6
+ * A memory source's saved views (`views`, `saveView`, `deleteView`), by page id, as an app's server keeps them: the
7
+ * views it was given — the team's shared ones, each with `by`, and this person's own (`mine`) — and those this person
8
+ * saves, theirs. One default of a kind: a view kept as the default lets go of the person's other own default, a shared
9
+ * one of the team's other default. Another's view is never changed nor deleted: refused, as a server would.
10
+ */
11
+ function memoryViews(given, calls, pause) {
12
+ const kept = (0, values_1.structuredCopy)(given);
13
+ let made = 0;
14
+ const of = (request) => (kept[request.pageId] ??= []);
15
+ return {
16
+ async views(request) {
17
+ calls.push({ method: 'views', request });
18
+ await pause();
19
+ return (0, values_1.structuredCopy)(of(request));
20
+ },
21
+ async saveView(request) {
22
+ calls.push({ method: 'saveView', request });
23
+ await pause();
24
+ const views = of(request);
25
+ const { id, ...asked } = (0, values_1.structuredCopy)(request.view);
26
+ const before = id === undefined ? undefined : views.find((view) => view.id === id);
27
+ if (id !== undefined && !before)
28
+ throw new Error('That view is no longer there.');
29
+ if (before && !before.mine)
30
+ throw new Error(`${before.name} is ${before.by ?? 'someone else'}’s view: save it under a name of your own.`);
31
+ const view = { ...asked, id: before?.id ?? `view-${++made}`, mine: true };
32
+ if (!view.shared)
33
+ delete view.shared;
34
+ if (!view.isDefault)
35
+ delete view.isDefault;
36
+ // One default of a kind: the person's own, or the team's.
37
+ if (view.isDefault)
38
+ for (const other of views)
39
+ if (other.id !== view.id && other.isDefault && (view.shared ? other.shared : other.mine && !other.shared))
40
+ delete other.isDefault;
41
+ if (before)
42
+ views.splice(views.indexOf(before), 1, view);
43
+ else
44
+ views.push(view);
45
+ return (0, values_1.structuredCopy)(view);
46
+ },
47
+ async deleteView(request) {
48
+ calls.push({ method: 'deleteView', request });
49
+ await pause();
50
+ const views = of(request);
51
+ const at = views.findIndex((view) => view.id === request.id);
52
+ if (at < 0)
53
+ return;
54
+ if (!views[at].mine)
55
+ throw new Error(`${views[at].name} is ${views[at].by ?? 'someone else'}’s view.`);
56
+ views.splice(at, 1);
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=memory-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-views.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-views.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { structuredCopy } from './values.mjs';
2
+ /**
3
+ * A memory source's saved views (`views`, `saveView`, `deleteView`), by page id, as an app's server keeps them: the
4
+ * views it was given — the team's shared ones, each with `by`, and this person's own (`mine`) — and those this person
5
+ * saves, theirs. One default of a kind: a view kept as the default lets go of the person's other own default, a shared
6
+ * one of the team's other default. Another's view is never changed nor deleted: refused, as a server would.
7
+ */
8
+ export function memoryViews(given, calls, pause) {
9
+ const kept = structuredCopy(given);
10
+ let made = 0;
11
+ const of = (request) => (kept[request.pageId] ??= []);
12
+ return {
13
+ async views(request) {
14
+ calls.push({ method: 'views', request });
15
+ await pause();
16
+ return structuredCopy(of(request));
17
+ },
18
+ async saveView(request) {
19
+ calls.push({ method: 'saveView', request });
20
+ await pause();
21
+ const views = of(request);
22
+ const { id, ...asked } = structuredCopy(request.view);
23
+ const before = id === undefined ? undefined : views.find((view) => view.id === id);
24
+ if (id !== undefined && !before)
25
+ throw new Error('That view is no longer there.');
26
+ if (before && !before.mine)
27
+ throw new Error(`${before.name} is ${before.by ?? 'someone else'}’s view: save it under a name of your own.`);
28
+ const view = { ...asked, id: before?.id ?? `view-${++made}`, mine: true };
29
+ if (!view.shared)
30
+ delete view.shared;
31
+ if (!view.isDefault)
32
+ delete view.isDefault;
33
+ // One default of a kind: the person's own, or the team's.
34
+ if (view.isDefault)
35
+ for (const other of views)
36
+ if (other.id !== view.id && other.isDefault && (view.shared ? other.shared : other.mine && !other.shared))
37
+ delete other.isDefault;
38
+ if (before)
39
+ views.splice(views.indexOf(before), 1, view);
40
+ else
41
+ views.push(view);
42
+ return structuredCopy(view);
43
+ },
44
+ async deleteView(request) {
45
+ calls.push({ method: 'deleteView', request });
46
+ await pause();
47
+ const views = of(request);
48
+ const at = views.findIndex((view) => view.id === request.id);
49
+ if (at < 0)
50
+ return;
51
+ if (!views[at].mine)
52
+ throw new Error(`${views[at].name} is ${views[at].by ?? 'someone else'}’s view.`);
53
+ views.splice(at, 1);
54
+ },
55
+ };
56
+ }
57
+ //# sourceMappingURL=memory-views.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-views.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/memory-views.ts"],"names":[],"mappings":"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"}
@@ -105,10 +105,21 @@ export interface Messages {
105
105
  * could not be read again: nothing is saved over work the person never saw.
106
106
  */
107
107
  theirsUnread: string;
108
+ /** Told as the source pushes that the record shown was deleted elsewhere (`subscribe`); by whom, where it says. */
109
+ deletedElsewhere: string;
110
+ deletedBy: string;
111
+ /** Told as a change made elsewhere is laid on the record shown, the person having changed nothing: `{fields}`, their labels; by whom, where it says. */
112
+ changedElsewhere: string;
113
+ changedBy: string;
108
114
  /** Asked before a step leaves the record while work of the person's is not saved: a copy shown, another record. */
109
115
  discardChanges: string;
110
116
  /** Why a run of steps stopped: the record it ran on was replaced by another while it went on, and its steps are not for that one. */
111
117
  recordReplaced: string;
118
+ /** Said with Undo after a one-tap press that offers it and said nothing of its own: `{label}`, the button's. */
119
+ pressDone: string;
120
+ /** The same, for the menu's own Archive and Unarchive. */
121
+ pressArchived: string;
122
+ pressUnarchived: string;
112
123
  /**
113
124
  * The same sentences in the words a page names its records by (`Page.records`): `{record}` for one, `{records}` for
114
125
  * more, `{aRecord}` for one with its article. Where a language leaves one out, it says its own sentence above.
@@ -165,6 +176,8 @@ export interface Messages {
165
176
  */
166
177
  languagesNeeded: string;
167
178
  languagesNeededQuestion: string;
179
+ /** An email or a phone that asks for a code (`options.verify`) sent before the person confirmed it with one. */
180
+ notVerified: string;
168
181
  /** The language the days in these messages are written in, as Intl reads it. */
169
182
  locale: string;
170
183
  /**
@@ -178,12 +191,17 @@ export interface Messages {
178
191
  */
179
192
  dateOrder?: DateOrder;
180
193
  }
181
- export type Locale = 'en' | 'ar' | 'de' | 'fr';
194
+ /**
195
+ * A language Fieldia has its own words in. Turkish, Persian, Urdu and Spanish are machine-assisted and not yet reviewed
196
+ * by a native speaker (0.31).
197
+ */
198
+ export type Locale = 'en' | 'ar' | 'de' | 'fr' | 'tr' | 'fa' | 'ur' | 'es';
182
199
  /** A message every language has: the sentences in a page's words for its records (`…Noun`) are each language's own to give. */
183
200
  export type MessageKey = Exclude<keyof Messages, `${string}Noun` | 'lowerLabels' | 'dateOrder'>;
184
201
  /**
185
- * The messages in every language Fieldia has. This package holds all four;
186
- * the one-tag script holds English alone, and a page adds another language
202
+ * The messages in every language Fieldia has. This package holds all eight
203
+ * (Turkish, Persian, Urdu and Spanish machine-assisted, not yet reviewed by a
204
+ * native speaker); the one-tag script holds English alone, and a page adds another language
187
205
  * with that language's script (fieldia.ar.js, …), through the viewer's
188
206
  * `addLanguage`.
189
207
  */