@fieldia/core 0.26.1 → 0.28.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 (435) hide show
  1. package/README.md +326 -3
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +230 -24
  4. package/src/index.d.mts +10 -2
  5. package/src/index.d.ts +10 -2
  6. package/src/index.js +26 -1
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +11 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/expression/app-functions.d.mts +47 -0
  11. package/src/lib/expression/app-functions.d.ts +47 -0
  12. package/src/lib/expression/app-functions.js +64 -0
  13. package/src/lib/expression/app-functions.js.map +1 -0
  14. package/src/lib/expression/app-functions.mjs +58 -0
  15. package/src/lib/expression/app-functions.mjs.map +1 -0
  16. package/src/lib/expression/dates.d.mts +21 -0
  17. package/src/lib/expression/dates.d.ts +21 -0
  18. package/src/lib/expression/dates.js +73 -0
  19. package/src/lib/expression/dates.js.map +1 -0
  20. package/src/lib/expression/dates.mjs +67 -0
  21. package/src/lib/expression/dates.mjs.map +1 -0
  22. package/src/lib/expression/evaluator.js +12 -6
  23. package/src/lib/expression/evaluator.js.map +1 -1
  24. package/src/lib/expression/evaluator.mjs +12 -6
  25. package/src/lib/expression/evaluator.mjs.map +1 -1
  26. package/src/lib/expression/expression.d.mts +7 -3
  27. package/src/lib/expression/expression.d.ts +7 -3
  28. package/src/lib/expression/expression.js +8 -2
  29. package/src/lib/expression/expression.js.map +1 -1
  30. package/src/lib/expression/expression.mjs +7 -2
  31. package/src/lib/expression/expression.mjs.map +1 -1
  32. package/src/lib/expression/functions-part.d.mts +7 -0
  33. package/src/lib/expression/functions-part.d.ts +7 -0
  34. package/src/lib/expression/functions-part.js +13 -0
  35. package/src/lib/expression/functions-part.js.map +1 -0
  36. package/src/lib/expression/functions-part.mjs +8 -0
  37. package/src/lib/expression/functions-part.mjs.map +1 -0
  38. package/src/lib/expression/functions.d.mts +60 -3
  39. package/src/lib/expression/functions.d.ts +60 -3
  40. package/src/lib/expression/functions.js +109 -15
  41. package/src/lib/expression/functions.js.map +1 -1
  42. package/src/lib/expression/functions.mjs +103 -16
  43. package/src/lib/expression/functions.mjs.map +1 -1
  44. package/src/lib/expression/kinds.d.mts +31 -0
  45. package/src/lib/expression/kinds.d.ts +31 -0
  46. package/src/lib/expression/kinds.js +159 -0
  47. package/src/lib/expression/kinds.js.map +1 -0
  48. package/src/lib/expression/kinds.mjs +151 -0
  49. package/src/lib/expression/kinds.mjs.map +1 -0
  50. package/src/lib/expression/modifier.d.mts +4 -3
  51. package/src/lib/expression/modifier.d.ts +4 -3
  52. package/src/lib/expression/modifier.js +4 -3
  53. package/src/lib/expression/modifier.js.map +1 -1
  54. package/src/lib/expression/modifier.mjs +4 -3
  55. package/src/lib/expression/modifier.mjs.map +1 -1
  56. package/src/lib/expression/more-functions.d.mts +8 -0
  57. package/src/lib/expression/more-functions.d.ts +8 -0
  58. package/src/lib/expression/more-functions.js +235 -0
  59. package/src/lib/expression/more-functions.js.map +1 -0
  60. package/src/lib/expression/more-functions.mjs +230 -0
  61. package/src/lib/expression/more-functions.mjs.map +1 -0
  62. package/src/lib/expression/parser.d.mts +4 -1
  63. package/src/lib/expression/parser.d.ts +4 -1
  64. package/src/lib/expression/parser.js +6 -3
  65. package/src/lib/expression/parser.js.map +1 -1
  66. package/src/lib/expression/parser.mjs +6 -3
  67. package/src/lib/expression/parser.mjs.map +1 -1
  68. package/src/lib/expression/reads.d.mts +2 -2
  69. package/src/lib/expression/reads.d.ts +2 -2
  70. package/src/lib/expression/reads.js +6 -4
  71. package/src/lib/expression/reads.js.map +1 -1
  72. package/src/lib/expression/reads.mjs +6 -4
  73. package/src/lib/expression/reads.mjs.map +1 -1
  74. package/src/lib/format/actions.d.mts +16 -16
  75. package/src/lib/format/actions.d.ts +16 -16
  76. package/src/lib/format/check-page.d.mts +7 -2
  77. package/src/lib/format/check-page.d.ts +7 -2
  78. package/src/lib/format/check-page.js +10 -4
  79. package/src/lib/format/check-page.js.map +1 -1
  80. package/src/lib/format/check-page.mjs +10 -4
  81. package/src/lib/format/check-page.mjs.map +1 -1
  82. package/src/lib/format/choice-options.d.mts +34 -0
  83. package/src/lib/format/choice-options.d.ts +34 -0
  84. package/src/lib/format/choice-options.js +60 -0
  85. package/src/lib/format/choice-options.js.map +1 -0
  86. package/src/lib/format/choice-options.mjs +51 -0
  87. package/src/lib/format/choice-options.mjs.map +1 -0
  88. package/src/lib/format/endings-checks.d.mts +8 -0
  89. package/src/lib/format/endings-checks.d.ts +8 -0
  90. package/src/lib/format/endings-checks.js +23 -0
  91. package/src/lib/format/endings-checks.js.map +1 -0
  92. package/src/lib/format/endings-checks.mjs +20 -0
  93. package/src/lib/format/endings-checks.mjs.map +1 -0
  94. package/src/lib/format/endings.d.mts +40 -0
  95. package/src/lib/format/endings.d.ts +40 -0
  96. package/src/lib/format/endings.js +15 -0
  97. package/src/lib/format/endings.js.map +1 -0
  98. package/src/lib/format/endings.mjs +12 -0
  99. package/src/lib/format/endings.mjs.map +1 -0
  100. package/src/lib/format/field.d.mts +151 -16
  101. package/src/lib/format/field.d.ts +151 -16
  102. package/src/lib/format/field.js +64 -11
  103. package/src/lib/format/field.js.map +1 -1
  104. package/src/lib/format/field.mjs +63 -10
  105. package/src/lib/format/field.mjs.map +1 -1
  106. package/src/lib/format/head-checks.d.mts +2 -0
  107. package/src/lib/format/head-checks.d.ts +2 -0
  108. package/src/lib/format/head-checks.js +2 -59
  109. package/src/lib/format/head-checks.js.map +1 -1
  110. package/src/lib/format/head-checks.mjs +1 -58
  111. package/src/lib/format/head-checks.mjs.map +1 -1
  112. package/src/lib/format/later-checks.d.mts +17 -0
  113. package/src/lib/format/later-checks.d.ts +17 -0
  114. package/src/lib/format/later-checks.js +20 -0
  115. package/src/lib/format/later-checks.js.map +1 -0
  116. package/src/lib/format/later-checks.mjs +17 -0
  117. package/src/lib/format/later-checks.mjs.map +1 -0
  118. package/src/lib/format/layout.d.mts +264 -190
  119. package/src/lib/format/layout.d.ts +264 -190
  120. package/src/lib/format/layout.js +34 -29
  121. package/src/lib/format/layout.js.map +1 -1
  122. package/src/lib/format/layout.mjs +14 -4
  123. package/src/lib/format/layout.mjs.map +1 -1
  124. package/src/lib/format/layout.types.d.mts +2 -1
  125. package/src/lib/format/layout.types.d.ts +2 -1
  126. package/src/lib/format/limits-checks.d.mts +14 -0
  127. package/src/lib/format/limits-checks.d.ts +14 -0
  128. package/src/lib/format/limits-checks.js +36 -0
  129. package/src/lib/format/limits-checks.js.map +1 -0
  130. package/src/lib/format/limits-checks.mjs +33 -0
  131. package/src/lib/format/limits-checks.mjs.map +1 -0
  132. package/src/lib/format/limits.d.mts +24 -0
  133. package/src/lib/format/limits.d.ts +24 -0
  134. package/src/lib/format/limits.js +35 -0
  135. package/src/lib/format/limits.js.map +1 -0
  136. package/src/lib/format/limits.mjs +32 -0
  137. package/src/lib/format/limits.mjs.map +1 -0
  138. package/src/lib/format/list-checks.d.mts +44 -0
  139. package/src/lib/format/list-checks.d.ts +44 -0
  140. package/src/lib/format/list-checks.js +340 -0
  141. package/src/lib/format/list-checks.js.map +1 -0
  142. package/src/lib/format/list-checks.mjs +336 -0
  143. package/src/lib/format/list-checks.mjs.map +1 -0
  144. package/src/lib/format/map-checks.d.mts +33 -0
  145. package/src/lib/format/map-checks.d.ts +33 -0
  146. package/src/lib/format/map-checks.js +180 -0
  147. package/src/lib/format/map-checks.js.map +1 -0
  148. package/src/lib/format/map-checks.mjs +175 -0
  149. package/src/lib/format/map-checks.mjs.map +1 -0
  150. package/src/lib/format/mapchecks-part.d.mts +5 -0
  151. package/src/lib/format/mapchecks-part.d.ts +5 -0
  152. package/src/lib/format/mapchecks-part.js +11 -0
  153. package/src/lib/format/mapchecks-part.js.map +1 -0
  154. package/src/lib/format/mapchecks-part.mjs +6 -0
  155. package/src/lib/format/mapchecks-part.mjs.map +1 -0
  156. package/src/lib/format/option-checks.d.mts +16 -0
  157. package/src/lib/format/option-checks.d.ts +16 -0
  158. package/src/lib/format/option-checks.js +39 -0
  159. package/src/lib/format/option-checks.js.map +1 -0
  160. package/src/lib/format/option-checks.mjs +36 -0
  161. package/src/lib/format/option-checks.mjs.map +1 -0
  162. package/src/lib/format/options-part.d.mts +6 -0
  163. package/src/lib/format/options-part.d.ts +6 -0
  164. package/src/lib/format/options-part.js +11 -0
  165. package/src/lib/format/options-part.js.map +1 -0
  166. package/src/lib/format/options-part.mjs +7 -0
  167. package/src/lib/format/options-part.mjs.map +1 -0
  168. package/src/lib/format/page.d.mts +154 -71
  169. package/src/lib/format/page.d.ts +154 -71
  170. package/src/lib/format/page.js +5 -0
  171. package/src/lib/format/page.js.map +1 -1
  172. package/src/lib/format/page.mjs +5 -0
  173. package/src/lib/format/page.mjs.map +1 -1
  174. package/src/lib/format/part-checks.d.mts +20 -0
  175. package/src/lib/format/part-checks.d.ts +20 -0
  176. package/src/lib/format/part-checks.js +3 -0
  177. package/src/lib/format/part-checks.js.map +1 -0
  178. package/src/lib/format/part-checks.mjs +2 -0
  179. package/src/lib/format/part-checks.mjs.map +1 -0
  180. package/src/lib/format/references.d.mts +71 -65
  181. package/src/lib/format/references.d.ts +71 -65
  182. package/src/lib/format/references.js +194 -631
  183. package/src/lib/format/references.js.map +1 -1
  184. package/src/lib/format/references.mjs +194 -631
  185. package/src/lib/format/references.mjs.map +1 -1
  186. package/src/lib/format/seats-checks.d.mts +3 -0
  187. package/src/lib/format/seats-checks.d.ts +3 -0
  188. package/src/lib/format/seats-checks.js +13 -0
  189. package/src/lib/format/seats-checks.js.map +1 -0
  190. package/src/lib/format/seats-checks.mjs +10 -0
  191. package/src/lib/format/seats-checks.mjs.map +1 -0
  192. package/src/lib/format/sheet-head-checks.d.mts +4 -0
  193. package/src/lib/format/sheet-head-checks.d.ts +4 -0
  194. package/src/lib/format/sheet-head-checks.js +68 -0
  195. package/src/lib/format/sheet-head-checks.js.map +1 -0
  196. package/src/lib/format/sheet-head-checks.mjs +65 -0
  197. package/src/lib/format/sheet-head-checks.mjs.map +1 -0
  198. package/src/lib/format/signature-checks.d.mts +7 -0
  199. package/src/lib/format/signature-checks.d.ts +7 -0
  200. package/src/lib/format/signature-checks.js +32 -0
  201. package/src/lib/format/signature-checks.js.map +1 -0
  202. package/src/lib/format/signature-checks.mjs +29 -0
  203. package/src/lib/format/signature-checks.mjs.map +1 -0
  204. package/src/lib/format/signature-options.d.mts +24 -0
  205. package/src/lib/format/signature-options.d.ts +24 -0
  206. package/src/lib/format/signature-options.js +30 -0
  207. package/src/lib/format/signature-options.js.map +1 -0
  208. package/src/lib/format/signature-options.mjs +26 -0
  209. package/src/lib/format/signature-options.mjs.map +1 -0
  210. package/src/lib/format/slots-checks.d.mts +4 -0
  211. package/src/lib/format/slots-checks.d.ts +4 -0
  212. package/src/lib/format/slots-checks.js +21 -0
  213. package/src/lib/format/slots-checks.js.map +1 -0
  214. package/src/lib/format/slots-checks.mjs +18 -0
  215. package/src/lib/format/slots-checks.mjs.map +1 -0
  216. package/src/lib/format/statusbar-checks.d.mts +8 -0
  217. package/src/lib/format/statusbar-checks.d.ts +8 -0
  218. package/src/lib/format/statusbar-checks.js +35 -0
  219. package/src/lib/format/statusbar-checks.js.map +1 -0
  220. package/src/lib/format/statusbar-checks.mjs +32 -0
  221. package/src/lib/format/statusbar-checks.mjs.map +1 -0
  222. package/src/lib/format/table-checks.d.mts +21 -0
  223. package/src/lib/format/table-checks.d.ts +21 -0
  224. package/src/lib/format/table-checks.js +86 -0
  225. package/src/lib/format/table-checks.js.map +1 -0
  226. package/src/lib/format/table-checks.mjs +82 -0
  227. package/src/lib/format/table-checks.mjs.map +1 -0
  228. package/src/lib/format/translate.js +2 -2
  229. package/src/lib/format/translate.js.map +1 -1
  230. package/src/lib/format/translate.mjs +2 -2
  231. package/src/lib/format/translate.mjs.map +1 -1
  232. package/src/lib/format/upgrade.d.mts +7 -3
  233. package/src/lib/format/upgrade.d.ts +7 -3
  234. package/src/lib/format/upgrade.js +7 -3
  235. package/src/lib/format/upgrade.js.map +1 -1
  236. package/src/lib/format/upgrade.mjs +7 -3
  237. package/src/lib/format/upgrade.mjs.map +1 -1
  238. package/src/lib/format/validate.d.mts +18 -2
  239. package/src/lib/format/validate.d.ts +18 -2
  240. package/src/lib/format/validate.js +36 -3
  241. package/src/lib/format/validate.js.map +1 -1
  242. package/src/lib/format/validate.mjs +35 -3
  243. package/src/lib/format/validate.mjs.map +1 -1
  244. package/src/lib/format/version.d.mts +2 -2
  245. package/src/lib/format/version.d.ts +2 -2
  246. package/src/lib/format/version.js +2 -2
  247. package/src/lib/format/version.js.map +1 -1
  248. package/src/lib/format/version.mjs +2 -2
  249. package/src/lib/format/version.mjs.map +1 -1
  250. package/src/lib/format/words.d.mts +6 -2
  251. package/src/lib/format/words.d.ts +6 -2
  252. package/src/lib/format/words.js +13 -7
  253. package/src/lib/format/words.js.map +1 -1
  254. package/src/lib/format/words.mjs +13 -7
  255. package/src/lib/format/words.mjs.map +1 -1
  256. package/src/lib/parts.d.mts +45 -0
  257. package/src/lib/parts.d.ts +45 -0
  258. package/src/lib/parts.js +60 -0
  259. package/src/lib/parts.js.map +1 -0
  260. package/src/lib/parts.mjs +53 -0
  261. package/src/lib/parts.mjs.map +1 -0
  262. package/src/lib/record/cells.d.mts +3 -3
  263. package/src/lib/record/cells.d.ts +3 -3
  264. package/src/lib/record/cells.js +16 -15
  265. package/src/lib/record/cells.js.map +1 -1
  266. package/src/lib/record/cells.mjs +16 -15
  267. package/src/lib/record/cells.mjs.map +1 -1
  268. package/src/lib/record/check.js +3 -1
  269. package/src/lib/record/check.js.map +1 -1
  270. package/src/lib/record/check.mjs +3 -1
  271. package/src/lib/record/check.mjs.map +1 -1
  272. package/src/lib/record/compute.d.mts +16 -5
  273. package/src/lib/record/compute.d.ts +16 -5
  274. package/src/lib/record/compute.js +57 -16
  275. package/src/lib/record/compute.js.map +1 -1
  276. package/src/lib/record/compute.mjs +57 -16
  277. package/src/lib/record/compute.mjs.map +1 -1
  278. package/src/lib/record/data-source.d.mts +140 -3
  279. package/src/lib/record/data-source.d.ts +140 -3
  280. package/src/lib/record/data-source.js.map +1 -1
  281. package/src/lib/record/data-source.mjs.map +1 -1
  282. package/src/lib/record/day-words.d.mts +10 -0
  283. package/src/lib/record/day-words.d.ts +10 -0
  284. package/src/lib/record/day-words.js +23 -0
  285. package/src/lib/record/day-words.js.map +1 -0
  286. package/src/lib/record/day-words.mjs +20 -0
  287. package/src/lib/record/day-words.mjs.map +1 -0
  288. package/src/lib/record/drafts.d.mts +19 -0
  289. package/src/lib/record/drafts.d.ts +19 -0
  290. package/src/lib/record/drafts.js +35 -0
  291. package/src/lib/record/drafts.js.map +1 -0
  292. package/src/lib/record/drafts.mjs +31 -0
  293. package/src/lib/record/drafts.mjs.map +1 -0
  294. package/src/lib/record/env.d.mts +5 -1
  295. package/src/lib/record/env.d.ts +5 -1
  296. package/src/lib/record/env.js +9 -1
  297. package/src/lib/record/env.js.map +1 -1
  298. package/src/lib/record/env.mjs +8 -1
  299. package/src/lib/record/env.mjs.map +1 -1
  300. package/src/lib/record/form-limits.d.mts +78 -0
  301. package/src/lib/record/form-limits.d.ts +78 -0
  302. package/src/lib/record/form-limits.js +230 -0
  303. package/src/lib/record/form-limits.js.map +1 -0
  304. package/src/lib/record/form-limits.mjs +223 -0
  305. package/src/lib/record/form-limits.mjs.map +1 -0
  306. package/src/lib/record/form.d.mts +180 -9
  307. package/src/lib/record/form.d.ts +180 -9
  308. package/src/lib/record/form.js +858 -90
  309. package/src/lib/record/form.js.map +1 -1
  310. package/src/lib/record/form.mjs +858 -90
  311. package/src/lib/record/form.mjs.map +1 -1
  312. package/src/lib/record/limits-part.d.mts +6 -0
  313. package/src/lib/record/limits-part.d.ts +6 -0
  314. package/src/lib/record/limits-part.js +12 -0
  315. package/src/lib/record/limits-part.js.map +1 -0
  316. package/src/lib/record/limits-part.mjs +7 -0
  317. package/src/lib/record/limits-part.mjs.map +1 -0
  318. package/src/lib/record/limits.js +4 -2
  319. package/src/lib/record/limits.js.map +1 -1
  320. package/src/lib/record/limits.mjs +4 -2
  321. package/src/lib/record/limits.mjs.map +1 -1
  322. package/src/lib/record/line-choices.d.mts +30 -0
  323. package/src/lib/record/line-choices.d.ts +30 -0
  324. package/src/lib/record/line-choices.js +42 -0
  325. package/src/lib/record/line-choices.js.map +1 -0
  326. package/src/lib/record/line-choices.mjs +36 -0
  327. package/src/lib/record/line-choices.mjs.map +1 -0
  328. package/src/lib/record/locales/ar.js +11 -0
  329. package/src/lib/record/locales/ar.js.map +1 -1
  330. package/src/lib/record/locales/ar.mjs +11 -0
  331. package/src/lib/record/locales/ar.mjs.map +1 -1
  332. package/src/lib/record/locales/de.js +11 -0
  333. package/src/lib/record/locales/de.js.map +1 -1
  334. package/src/lib/record/locales/de.mjs +11 -0
  335. package/src/lib/record/locales/de.mjs.map +1 -1
  336. package/src/lib/record/locales/fr.js +11 -0
  337. package/src/lib/record/locales/fr.js.map +1 -1
  338. package/src/lib/record/locales/fr.mjs +11 -0
  339. package/src/lib/record/locales/fr.mjs.map +1 -1
  340. package/src/lib/record/memory-data-source.d.mts +44 -3
  341. package/src/lib/record/memory-data-source.d.ts +44 -3
  342. package/src/lib/record/memory-data-source.js +102 -40
  343. package/src/lib/record/memory-data-source.js.map +1 -1
  344. package/src/lib/record/memory-data-source.mjs +101 -40
  345. package/src/lib/record/memory-data-source.mjs.map +1 -1
  346. package/src/lib/record/memory-kept.d.mts +20 -0
  347. package/src/lib/record/memory-kept.d.ts +20 -0
  348. package/src/lib/record/memory-kept.js +46 -0
  349. package/src/lib/record/memory-kept.js.map +1 -0
  350. package/src/lib/record/memory-kept.mjs +43 -0
  351. package/src/lib/record/memory-kept.mjs.map +1 -0
  352. package/src/lib/record/memory-later.d.mts +19 -0
  353. package/src/lib/record/memory-later.d.ts +19 -0
  354. package/src/lib/record/memory-later.js +39 -0
  355. package/src/lib/record/memory-later.js.map +1 -0
  356. package/src/lib/record/memory-later.mjs +35 -0
  357. package/src/lib/record/memory-later.mjs.map +1 -0
  358. package/src/lib/record/memory-part.d.mts +7 -0
  359. package/src/lib/record/memory-part.d.ts +7 -0
  360. package/src/lib/record/memory-part.js +13 -0
  361. package/src/lib/record/memory-part.js.map +1 -0
  362. package/src/lib/record/memory-part.mjs +8 -0
  363. package/src/lib/record/memory-part.mjs.map +1 -0
  364. package/src/lib/record/messages.d.mts +27 -2
  365. package/src/lib/record/messages.d.ts +27 -2
  366. package/src/lib/record/messages.js +13 -4
  367. package/src/lib/record/messages.js.map +1 -1
  368. package/src/lib/record/messages.mjs +13 -4
  369. package/src/lib/record/messages.mjs.map +1 -1
  370. package/src/lib/record/option-rules.d.mts +56 -0
  371. package/src/lib/record/option-rules.d.ts +56 -0
  372. package/src/lib/record/option-rules.js +143 -0
  373. package/src/lib/record/option-rules.js.map +1 -0
  374. package/src/lib/record/option-rules.mjs +140 -0
  375. package/src/lib/record/option-rules.mjs.map +1 -0
  376. package/src/lib/record/record-words.d.mts +13 -1
  377. package/src/lib/record/record-words.d.ts +13 -1
  378. package/src/lib/record/record-words.js +29 -1
  379. package/src/lib/record/record-words.js.map +1 -1
  380. package/src/lib/record/record-words.mjs +27 -1
  381. package/src/lib/record/record-words.mjs.map +1 -1
  382. package/src/lib/record/rules.d.mts +2 -2
  383. package/src/lib/record/rules.d.ts +2 -2
  384. package/src/lib/record/rules.js +3 -3
  385. package/src/lib/record/rules.js.map +1 -1
  386. package/src/lib/record/rules.mjs +3 -3
  387. package/src/lib/record/rules.mjs.map +1 -1
  388. package/src/lib/record/run.js +9 -7
  389. package/src/lib/record/run.js.map +1 -1
  390. package/src/lib/record/run.mjs +9 -7
  391. package/src/lib/record/run.mjs.map +1 -1
  392. package/src/lib/record/search.d.mts +12 -2
  393. package/src/lib/record/search.d.ts +12 -2
  394. package/src/lib/record/search.js +29 -4
  395. package/src/lib/record/search.js.map +1 -1
  396. package/src/lib/record/search.mjs +29 -4
  397. package/src/lib/record/search.mjs.map +1 -1
  398. package/src/lib/record/set-when.d.mts +3 -3
  399. package/src/lib/record/set-when.d.ts +3 -3
  400. package/src/lib/record/set-when.js +9 -9
  401. package/src/lib/record/set-when.js.map +1 -1
  402. package/src/lib/record/set-when.mjs +9 -9
  403. package/src/lib/record/set-when.mjs.map +1 -1
  404. package/src/lib/record/signed.d.mts +21 -0
  405. package/src/lib/record/signed.d.ts +21 -0
  406. package/src/lib/record/signed.js +62 -0
  407. package/src/lib/record/signed.js.map +1 -0
  408. package/src/lib/record/signed.mjs +57 -0
  409. package/src/lib/record/signed.mjs.map +1 -0
  410. package/src/lib/record/taking.d.mts +60 -0
  411. package/src/lib/record/taking.d.ts +60 -0
  412. package/src/lib/record/taking.js +58 -0
  413. package/src/lib/record/taking.js.map +1 -0
  414. package/src/lib/record/taking.mjs +50 -0
  415. package/src/lib/record/taking.mjs.map +1 -0
  416. package/src/lib/record/value-map.js +11 -4
  417. package/src/lib/record/value-map.js.map +1 -1
  418. package/src/lib/record/value-map.mjs +11 -4
  419. package/src/lib/record/value-map.mjs.map +1 -1
  420. package/src/lib/record/values.d.mts +20 -0
  421. package/src/lib/record/values.d.ts +20 -0
  422. package/src/lib/record/values.js.map +1 -1
  423. package/src/lib/record/values.mjs.map +1 -1
  424. package/src/lib/record/waits.d.mts +13 -6
  425. package/src/lib/record/waits.d.ts +13 -6
  426. package/src/lib/record/waits.js +9 -12
  427. package/src/lib/record/waits.js.map +1 -1
  428. package/src/lib/record/waits.mjs +9 -12
  429. package/src/lib/record/waits.mjs.map +1 -1
  430. package/src/runtime.d.mts +17 -6
  431. package/src/runtime.d.ts +17 -6
  432. package/src/runtime.js +45 -3
  433. package/src/runtime.js.map +1 -1
  434. package/src/runtime.mjs +17 -1
  435. package/src/runtime.mjs.map +1 -1
@@ -9,7 +9,9 @@
9
9
  "0.2",
10
10
  "0.3",
11
11
  "0.4",
12
- "0.5"
12
+ "0.5",
13
+ "0.6",
14
+ "0.7"
13
15
  ]
14
16
  },
15
17
  "id": {
@@ -373,6 +375,20 @@
373
375
  },
374
376
  "lowerLabels": {
375
377
  "type": "boolean"
378
+ },
379
+ "endings": {
380
+ "minItems": 1,
381
+ "maxItems": 50,
382
+ "type": "array",
383
+ "items": {
384
+ "$ref": "#/$defs/PageEnding"
385
+ }
386
+ },
387
+ "limits": {
388
+ "$ref": "#/$defs/PageLimits"
389
+ },
390
+ "continueLater": {
391
+ "type": "boolean"
376
392
  }
377
393
  },
378
394
  "required": [
@@ -943,7 +959,7 @@
943
959
  "options": {
944
960
  "type": "array",
945
961
  "items": {
946
- "$ref": "#/$defs/Option"
962
+ "$ref": "#/$defs/SelectionOption"
947
963
  }
948
964
  },
949
965
  "multiple": {
@@ -1733,7 +1749,7 @@
1733
1749
  "UTC"
1734
1750
  ]
1735
1751
  },
1736
- "Option": {
1752
+ "SelectionOption": {
1737
1753
  "type": "object",
1738
1754
  "properties": {
1739
1755
  "value": {
@@ -1760,6 +1776,14 @@
1760
1776
  },
1761
1777
  "fixed": {
1762
1778
  "type": "boolean"
1779
+ },
1780
+ "seats": {
1781
+ "type": "integer",
1782
+ "minimum": 0,
1783
+ "maximum": 100000000
1784
+ },
1785
+ "invisible": {
1786
+ "$ref": "#/$defs/Modifier"
1763
1787
  }
1764
1788
  },
1765
1789
  "required": [
@@ -1768,7 +1792,28 @@
1768
1792
  ],
1769
1793
  "additionalProperties": false
1770
1794
  },
1795
+ "Modifier": {
1796
+ "anyOf": [
1797
+ {
1798
+ "type": "boolean"
1799
+ },
1800
+ {
1801
+ "type": "string",
1802
+ "minLength": 1
1803
+ }
1804
+ ]
1805
+ },
1771
1806
  "OptionsFrom": {
1807
+ "anyOf": [
1808
+ {
1809
+ "$ref": "#/$defs/OptionsFromList"
1810
+ },
1811
+ {
1812
+ "$ref": "#/$defs/OptionsFromField"
1813
+ }
1814
+ ]
1815
+ },
1816
+ "OptionsFromList": {
1772
1817
  "type": "object",
1773
1818
  "properties": {
1774
1819
  "list": {
@@ -1780,7 +1825,7 @@
1780
1825
  "type": "array",
1781
1826
  "items": {
1782
1827
  "type": "string",
1783
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1828
+ "pattern": "^(parent\\.)?[A-Za-z_][A-Za-z0-9_]*$"
1784
1829
  }
1785
1830
  }
1786
1831
  },
@@ -1789,6 +1834,22 @@
1789
1834
  ],
1790
1835
  "additionalProperties": false
1791
1836
  },
1837
+ "OptionsFromField": {
1838
+ "type": "object",
1839
+ "properties": {
1840
+ "field": {
1841
+ "type": "string",
1842
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
1843
+ },
1844
+ "picked": {
1845
+ "type": "boolean"
1846
+ }
1847
+ },
1848
+ "required": [
1849
+ "field"
1850
+ ],
1851
+ "additionalProperties": false
1852
+ },
1792
1853
  "Shrink": {
1793
1854
  "anyOf": [
1794
1855
  {
@@ -2508,6 +2569,46 @@
2508
2569
  }
2509
2570
  ]
2510
2571
  },
2572
+ "Option": {
2573
+ "type": "object",
2574
+ "properties": {
2575
+ "value": {
2576
+ "type": [
2577
+ "string",
2578
+ "number"
2579
+ ]
2580
+ },
2581
+ "label": {
2582
+ "type": "string"
2583
+ },
2584
+ "image": {
2585
+ "type": "string",
2586
+ "minLength": 1
2587
+ },
2588
+ "score": {
2589
+ "type": "number"
2590
+ },
2591
+ "alt": {
2592
+ "type": "string"
2593
+ },
2594
+ "exclusive": {
2595
+ "type": "boolean"
2596
+ },
2597
+ "fixed": {
2598
+ "type": "boolean"
2599
+ },
2600
+ "seats": {
2601
+ "type": "integer",
2602
+ "minimum": 0,
2603
+ "maximum": 100000000
2604
+ }
2605
+ },
2606
+ "required": [
2607
+ "value",
2608
+ "label"
2609
+ ],
2610
+ "additionalProperties": false
2611
+ },
2511
2612
  "LineField": {
2512
2613
  "oneOf": [
2513
2614
  {
@@ -3063,10 +3164,9 @@
3063
3164
  }
3064
3165
  },
3065
3166
  "options": {
3066
- "minItems": 1,
3067
3167
  "type": "array",
3068
3168
  "items": {
3069
- "$ref": "#/$defs/Option"
3169
+ "$ref": "#/$defs/SelectionOption"
3070
3170
  }
3071
3171
  },
3072
3172
  "multiple": {
@@ -3079,7 +3179,7 @@
3079
3179
  "type": "boolean"
3080
3180
  },
3081
3181
  "optionsFrom": {
3082
- "not": {}
3182
+ "$ref": "#/$defs/OptionsFrom"
3083
3183
  }
3084
3184
  },
3085
3185
  "required": [
@@ -3087,7 +3187,21 @@
3087
3187
  "label",
3088
3188
  "options"
3089
3189
  ],
3090
- "additionalProperties": false
3190
+ "additionalProperties": false,
3191
+ "anyOf": [
3192
+ {
3193
+ "properties": {
3194
+ "options": {
3195
+ "minItems": 1
3196
+ }
3197
+ }
3198
+ },
3199
+ {
3200
+ "required": [
3201
+ "optionsFrom"
3202
+ ]
3203
+ }
3204
+ ]
3091
3205
  },
3092
3206
  {
3093
3207
  "type": "object",
@@ -4250,10 +4364,9 @@
4250
4364
  }
4251
4365
  },
4252
4366
  "options": {
4253
- "minItems": 1,
4254
4367
  "type": "array",
4255
4368
  "items": {
4256
- "$ref": "#/$defs/Option"
4369
+ "$ref": "#/$defs/SelectionOption"
4257
4370
  }
4258
4371
  },
4259
4372
  "multiple": {
@@ -4266,7 +4379,7 @@
4266
4379
  "type": "boolean"
4267
4380
  },
4268
4381
  "optionsFrom": {
4269
- "not": {}
4382
+ "$ref": "#/$defs/OptionsFrom"
4270
4383
  }
4271
4384
  },
4272
4385
  "required": [
@@ -4274,7 +4387,21 @@
4274
4387
  "label",
4275
4388
  "options"
4276
4389
  ],
4277
- "additionalProperties": false
4390
+ "additionalProperties": false,
4391
+ "anyOf": [
4392
+ {
4393
+ "properties": {
4394
+ "options": {
4395
+ "minItems": 1
4396
+ }
4397
+ }
4398
+ },
4399
+ {
4400
+ "required": [
4401
+ "optionsFrom"
4402
+ ]
4403
+ }
4404
+ ]
4278
4405
  },
4279
4406
  {
4280
4407
  "type": "object",
@@ -6242,7 +6369,8 @@
6242
6369
  "type": "string",
6243
6370
  "enum": [
6244
6371
  "narrow",
6245
- "always"
6372
+ "always",
6373
+ "never"
6246
6374
  ]
6247
6375
  },
6248
6376
  "fit": {
@@ -6347,17 +6475,6 @@
6347
6475
  ],
6348
6476
  "additionalProperties": false
6349
6477
  },
6350
- "Modifier": {
6351
- "anyOf": [
6352
- {
6353
- "type": "boolean"
6354
- },
6355
- {
6356
- "type": "string",
6357
- "minLength": 1
6358
- }
6359
- ]
6360
- },
6361
6478
  "LineOrder": {
6362
6479
  "type": "object",
6363
6480
  "properties": {
@@ -9408,6 +9525,22 @@
9408
9525
  "minLength": 1
9409
9526
  }
9410
9527
  },
9528
+ "filterRanges": {
9529
+ "type": "object",
9530
+ "propertyNames": {
9531
+ "type": "string",
9532
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9533
+ },
9534
+ "additionalProperties": {
9535
+ "$ref": "#/$defs/FilterRange"
9536
+ }
9537
+ },
9538
+ "filterCounts": {
9539
+ "type": "boolean"
9540
+ },
9541
+ "filterSheet": {
9542
+ "type": "boolean"
9543
+ },
9411
9544
  "parentField": {
9412
9545
  "type": "string",
9413
9546
  "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
@@ -9857,6 +9990,20 @@
9857
9990
  ],
9858
9991
  "additionalProperties": false
9859
9992
  },
9993
+ "FilterRange": {
9994
+ "type": "object",
9995
+ "properties": {
9996
+ "atLeast": {
9997
+ "minItems": 1,
9998
+ "maxItems": 12,
9999
+ "type": "array",
10000
+ "items": {
10001
+ "type": "number"
10002
+ }
10003
+ }
10004
+ },
10005
+ "additionalProperties": false
10006
+ },
9860
10007
  "ListGallery": {
9861
10008
  "type": "object",
9862
10009
  "properties": {
@@ -10036,6 +10183,65 @@
10036
10183
  "other"
10037
10184
  ],
10038
10185
  "additionalProperties": false
10186
+ },
10187
+ "PageEnding": {
10188
+ "type": "object",
10189
+ "properties": {
10190
+ "when": {
10191
+ "$ref": "#/$defs/Modifier"
10192
+ },
10193
+ "title": {
10194
+ "type": "string",
10195
+ "maxLength": 300,
10196
+ "pattern": "\\S"
10197
+ },
10198
+ "text": {
10199
+ "type": "string",
10200
+ "maxLength": 4000,
10201
+ "pattern": "\\S"
10202
+ },
10203
+ "again": {
10204
+ "anyOf": [
10205
+ {
10206
+ "type": "boolean",
10207
+ "const": false
10208
+ },
10209
+ {
10210
+ "type": "string",
10211
+ "maxLength": 80,
10212
+ "pattern": "\\S"
10213
+ }
10214
+ ]
10215
+ }
10216
+ },
10217
+ "additionalProperties": false
10218
+ },
10219
+ "PageLimits": {
10220
+ "type": "object",
10221
+ "properties": {
10222
+ "opens": {
10223
+ "type": "string",
10224
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
10225
+ },
10226
+ "closes": {
10227
+ "type": "string",
10228
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
10229
+ },
10230
+ "maxResponses": {
10231
+ "type": "integer",
10232
+ "minimum": 1,
10233
+ "maximum": 100000000
10234
+ },
10235
+ "onePerPerson": {
10236
+ "type": "boolean"
10237
+ },
10238
+ "message": {
10239
+ "type": "string",
10240
+ "maxLength": 1000,
10241
+ "pattern": "\\S"
10242
+ }
10243
+ },
10244
+ "additionalProperties": false
10039
10245
  }
10040
10246
  }
10041
10247
  }
package/src/index.d.mts CHANGED
@@ -1,17 +1,25 @@
1
1
  export * from './runtime.mjs';
2
+ export { takingWords, whenWords } from './lib/record/form-limits.mjs';
3
+ export { isQuestion } from './lib/record/record-words.mjs';
4
+ export { dayWords } from './lib/record/day-words.mjs';
2
5
  export { scheduleSlots, type MemorySchedule } from './lib/record/memory-schedules.mjs';
3
6
  export { alikeRecords, nameLikeness } from './lib/record/memory-duplicates.mjs';
4
7
  export { FieldSchema, FieldsSchema, LineFieldSchema, LinkedFieldSchema, LineKindsSchema, OptionSchema, PropertyDefinitionSchema, FilterConditionSchema, FilterItemSchema, MoneyLookSchema, ShrinkSchema, PERIODS, TimeZoneSchema, } from './lib/format/field.mjs';
5
- export { ModifierSchema, RolesSchema, CellRulesSchema, ToneWhenSchema, LayoutNodeSchema, RootLayoutSchema, ListNodeSchema, ListCellSchema, ListCalendarSchema, ListCardSchema, ListGallerySchema, FilterPeriodSchema, RelatedNodeSchema } from './lib/format/layout.mjs';
8
+ export { ModifierSchema, RolesSchema, CellRulesSchema, ToneWhenSchema, LayoutNodeSchema, RootLayoutSchema, ListNodeSchema, ListCellSchema, ListCalendarSchema, ListCardSchema, ListGallerySchema, FilterRangeSchema, FilterPeriodSchema, RelatedNodeSchema } from './lib/format/layout.mjs';
6
9
  export { PageSchema } from './lib/format/page.mjs';
7
10
  export { ActionStepSchema, PageEventsSchema } from './lib/format/actions.mjs';
8
- export { validatePage } from './lib/format/validate.mjs';
11
+ export { pageWarnings, validatePage } from './lib/format/validate.mjs';
12
+ export { kindProblems, kindProblemWords, kindWords, fieldKind, writtenAs, type KindProblem, type KindScope } from './lib/expression/kinds.mjs';
13
+ export { parseExpression } from './lib/expression/expression.mjs';
9
14
  export { AddressSearchOptionsSchema } from './lib/format/address-search.mjs';
10
15
  export { PathPickerOptionsSchema, StateDotOptionsSchema } from './lib/format/picker-options.mjs';
11
16
  export { PagePhoneSchema, PhoneOptionsSchema } from './lib/format/phone.mjs';
12
17
  export { SlotsOptionsSchema } from './lib/format/slots-options.mjs';
18
+ export { SignatureOptionsSchema } from './lib/format/signature-options.mjs';
13
19
  export { PageDuplicatesSchema } from './lib/format/duplicates.mjs';
14
20
  export { PageRecordsSchema } from './lib/format/records.mjs';
21
+ export { PageEndingSchema } from './lib/format/endings.mjs';
22
+ export { PageLimitsSchema } from './lib/format/limits.mjs';
15
23
  export { DUPLICATE_KINDS, comparable } from './lib/format/duplicate-kinds.mjs';
16
24
  export { pageJsonSchema } from './lib/format/json-schema.mjs';
17
25
  export { AUTOFILL, AUTOFILL_CONTACT, AUTOFILL_NAMES, autofillProblem, autofillPurpose } from './lib/format/autofill.mjs';
package/src/index.d.ts CHANGED
@@ -1,17 +1,25 @@
1
1
  export * from './runtime';
2
+ export { takingWords, whenWords } from './lib/record/form-limits';
3
+ export { isQuestion } from './lib/record/record-words';
4
+ export { dayWords } from './lib/record/day-words';
2
5
  export { scheduleSlots, type MemorySchedule } from './lib/record/memory-schedules';
3
6
  export { alikeRecords, nameLikeness } from './lib/record/memory-duplicates';
4
7
  export { FieldSchema, FieldsSchema, LineFieldSchema, LinkedFieldSchema, LineKindsSchema, OptionSchema, PropertyDefinitionSchema, FilterConditionSchema, FilterItemSchema, MoneyLookSchema, ShrinkSchema, PERIODS, TimeZoneSchema, } from './lib/format/field';
5
- export { ModifierSchema, RolesSchema, CellRulesSchema, ToneWhenSchema, LayoutNodeSchema, RootLayoutSchema, ListNodeSchema, ListCellSchema, ListCalendarSchema, ListCardSchema, ListGallerySchema, FilterPeriodSchema, RelatedNodeSchema } from './lib/format/layout';
8
+ export { ModifierSchema, RolesSchema, CellRulesSchema, ToneWhenSchema, LayoutNodeSchema, RootLayoutSchema, ListNodeSchema, ListCellSchema, ListCalendarSchema, ListCardSchema, ListGallerySchema, FilterRangeSchema, FilterPeriodSchema, RelatedNodeSchema } from './lib/format/layout';
6
9
  export { PageSchema } from './lib/format/page';
7
10
  export { ActionStepSchema, PageEventsSchema } from './lib/format/actions';
8
- export { validatePage } from './lib/format/validate';
11
+ export { pageWarnings, validatePage } from './lib/format/validate';
12
+ export { kindProblems, kindProblemWords, kindWords, fieldKind, writtenAs, type KindProblem, type KindScope } from './lib/expression/kinds';
13
+ export { parseExpression } from './lib/expression/expression';
9
14
  export { AddressSearchOptionsSchema } from './lib/format/address-search';
10
15
  export { PathPickerOptionsSchema, StateDotOptionsSchema } from './lib/format/picker-options';
11
16
  export { PagePhoneSchema, PhoneOptionsSchema } from './lib/format/phone';
12
17
  export { SlotsOptionsSchema } from './lib/format/slots-options';
18
+ export { SignatureOptionsSchema } from './lib/format/signature-options';
13
19
  export { PageDuplicatesSchema } from './lib/format/duplicates';
14
20
  export { PageRecordsSchema } from './lib/format/records';
21
+ export { PageEndingSchema } from './lib/format/endings';
22
+ export { PageLimitsSchema } from './lib/format/limits';
15
23
  export { DUPLICATE_KINDS, comparable } from './lib/format/duplicate-kinds';
16
24
  export { pageJsonSchema } from './lib/format/json-schema';
17
25
  export { AUTOFILL, AUTOFILL_CONTACT, AUTOFILL_NAMES, autofillProblem, autofillPurpose } from './lib/format/autofill';
package/src/index.js CHANGED
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.autofillPurpose = exports.autofillProblem = exports.AUTOFILL_NAMES = exports.AUTOFILL_CONTACT = exports.AUTOFILL = exports.pageJsonSchema = exports.comparable = exports.DUPLICATE_KINDS = exports.PageRecordsSchema = exports.PageDuplicatesSchema = exports.SlotsOptionsSchema = exports.PhoneOptionsSchema = exports.PagePhoneSchema = exports.StateDotOptionsSchema = exports.PathPickerOptionsSchema = exports.AddressSearchOptionsSchema = exports.validatePage = exports.PageEventsSchema = exports.ActionStepSchema = exports.PageSchema = exports.RelatedNodeSchema = exports.FilterPeriodSchema = exports.ListGallerySchema = exports.ListCardSchema = exports.ListCalendarSchema = exports.ListCellSchema = exports.ListNodeSchema = exports.RootLayoutSchema = exports.LayoutNodeSchema = exports.ToneWhenSchema = exports.CellRulesSchema = exports.RolesSchema = exports.ModifierSchema = exports.TimeZoneSchema = exports.PERIODS = exports.ShrinkSchema = exports.MoneyLookSchema = exports.FilterItemSchema = exports.FilterConditionSchema = exports.PropertyDefinitionSchema = exports.OptionSchema = exports.LineKindsSchema = exports.LinkedFieldSchema = exports.LineFieldSchema = exports.FieldsSchema = exports.FieldSchema = exports.nameLikeness = exports.alikeRecords = exports.scheduleSlots = void 0;
3
+ exports.PhoneOptionsSchema = exports.PagePhoneSchema = exports.StateDotOptionsSchema = exports.PathPickerOptionsSchema = exports.AddressSearchOptionsSchema = exports.parseExpression = exports.writtenAs = exports.fieldKind = exports.kindWords = exports.kindProblemWords = exports.kindProblems = exports.validatePage = exports.pageWarnings = exports.PageEventsSchema = exports.ActionStepSchema = exports.PageSchema = exports.RelatedNodeSchema = exports.FilterPeriodSchema = exports.FilterRangeSchema = exports.ListGallerySchema = exports.ListCardSchema = exports.ListCalendarSchema = exports.ListCellSchema = exports.ListNodeSchema = exports.RootLayoutSchema = exports.LayoutNodeSchema = exports.ToneWhenSchema = exports.CellRulesSchema = exports.RolesSchema = exports.ModifierSchema = exports.TimeZoneSchema = exports.PERIODS = exports.ShrinkSchema = exports.MoneyLookSchema = exports.FilterItemSchema = exports.FilterConditionSchema = exports.PropertyDefinitionSchema = exports.OptionSchema = exports.LineKindsSchema = exports.LinkedFieldSchema = exports.LineFieldSchema = exports.FieldsSchema = exports.FieldSchema = exports.nameLikeness = exports.alikeRecords = exports.scheduleSlots = exports.dayWords = exports.isQuestion = exports.whenWords = exports.takingWords = void 0;
4
+ exports.autofillPurpose = exports.autofillProblem = exports.AUTOFILL_NAMES = exports.AUTOFILL_CONTACT = exports.AUTOFILL = exports.pageJsonSchema = exports.comparable = exports.DUPLICATE_KINDS = exports.PageLimitsSchema = exports.PageEndingSchema = exports.PageRecordsSchema = exports.PageDuplicatesSchema = exports.SignatureOptionsSchema = exports.SlotsOptionsSchema = void 0;
4
5
  const tslib_1 = require("tslib");
5
6
  tslib_1.__exportStar(require("./runtime"), exports);
7
+ // Why a page takes no answers now, in words: the limits part's (`formLimitsPart`), whole here.
8
+ var form_limits_1 = require("./lib/record/form-limits");
9
+ Object.defineProperty(exports, "takingWords", { enumerable: true, get: function () { return form_limits_1.takingWords; } });
10
+ Object.defineProperty(exports, "whenWords", { enumerable: true, get: function () { return form_limits_1.whenWords; } });
11
+ var record_words_1 = require("./lib/record/record-words");
12
+ Object.defineProperty(exports, "isQuestion", { enumerable: true, get: function () { return record_words_1.isQuestion; } });
13
+ var day_words_1 = require("./lib/record/day-words");
14
+ Object.defineProperty(exports, "dayWords", { enumerable: true, get: function () { return day_words_1.dayWords; } });
6
15
  // A memory source's free times from booking schedules: for demos and tests, outside the one-tag script.
7
16
  var memory_schedules_1 = require("./lib/record/memory-schedules");
8
17
  Object.defineProperty(exports, "scheduleSlots", { enumerable: true, get: function () { return memory_schedules_1.scheduleSlots; } });
@@ -36,6 +45,7 @@ Object.defineProperty(exports, "ListCellSchema", { enumerable: true, get: functi
36
45
  Object.defineProperty(exports, "ListCalendarSchema", { enumerable: true, get: function () { return layout_1.ListCalendarSchema; } });
37
46
  Object.defineProperty(exports, "ListCardSchema", { enumerable: true, get: function () { return layout_1.ListCardSchema; } });
38
47
  Object.defineProperty(exports, "ListGallerySchema", { enumerable: true, get: function () { return layout_1.ListGallerySchema; } });
48
+ Object.defineProperty(exports, "FilterRangeSchema", { enumerable: true, get: function () { return layout_1.FilterRangeSchema; } });
39
49
  Object.defineProperty(exports, "FilterPeriodSchema", { enumerable: true, get: function () { return layout_1.FilterPeriodSchema; } });
40
50
  Object.defineProperty(exports, "RelatedNodeSchema", { enumerable: true, get: function () { return layout_1.RelatedNodeSchema; } });
41
51
  var page_1 = require("./lib/format/page");
@@ -44,7 +54,16 @@ var actions_1 = require("./lib/format/actions");
44
54
  Object.defineProperty(exports, "ActionStepSchema", { enumerable: true, get: function () { return actions_1.ActionStepSchema; } });
45
55
  Object.defineProperty(exports, "PageEventsSchema", { enumerable: true, get: function () { return actions_1.PageEventsSchema; } });
46
56
  var validate_1 = require("./lib/format/validate");
57
+ Object.defineProperty(exports, "pageWarnings", { enumerable: true, get: function () { return validate_1.pageWarnings; } });
47
58
  Object.defineProperty(exports, "validatePage", { enumerable: true, get: function () { return validate_1.validatePage; } });
59
+ var kinds_1 = require("./lib/expression/kinds");
60
+ Object.defineProperty(exports, "kindProblems", { enumerable: true, get: function () { return kinds_1.kindProblems; } });
61
+ Object.defineProperty(exports, "kindProblemWords", { enumerable: true, get: function () { return kinds_1.kindProblemWords; } });
62
+ Object.defineProperty(exports, "kindWords", { enumerable: true, get: function () { return kinds_1.kindWords; } });
63
+ Object.defineProperty(exports, "fieldKind", { enumerable: true, get: function () { return kinds_1.fieldKind; } });
64
+ Object.defineProperty(exports, "writtenAs", { enumerable: true, get: function () { return kinds_1.writtenAs; } });
65
+ var expression_1 = require("./lib/expression/expression");
66
+ Object.defineProperty(exports, "parseExpression", { enumerable: true, get: function () { return expression_1.parseExpression; } });
48
67
  var address_search_1 = require("./lib/format/address-search");
49
68
  Object.defineProperty(exports, "AddressSearchOptionsSchema", { enumerable: true, get: function () { return address_search_1.AddressSearchOptionsSchema; } });
50
69
  var picker_options_1 = require("./lib/format/picker-options");
@@ -55,10 +74,16 @@ Object.defineProperty(exports, "PagePhoneSchema", { enumerable: true, get: funct
55
74
  Object.defineProperty(exports, "PhoneOptionsSchema", { enumerable: true, get: function () { return phone_1.PhoneOptionsSchema; } });
56
75
  var slots_options_1 = require("./lib/format/slots-options");
57
76
  Object.defineProperty(exports, "SlotsOptionsSchema", { enumerable: true, get: function () { return slots_options_1.SlotsOptionsSchema; } });
77
+ var signature_options_1 = require("./lib/format/signature-options");
78
+ Object.defineProperty(exports, "SignatureOptionsSchema", { enumerable: true, get: function () { return signature_options_1.SignatureOptionsSchema; } });
58
79
  var duplicates_1 = require("./lib/format/duplicates");
59
80
  Object.defineProperty(exports, "PageDuplicatesSchema", { enumerable: true, get: function () { return duplicates_1.PageDuplicatesSchema; } });
60
81
  var records_1 = require("./lib/format/records");
61
82
  Object.defineProperty(exports, "PageRecordsSchema", { enumerable: true, get: function () { return records_1.PageRecordsSchema; } });
83
+ var endings_1 = require("./lib/format/endings");
84
+ Object.defineProperty(exports, "PageEndingSchema", { enumerable: true, get: function () { return endings_1.PageEndingSchema; } });
85
+ var limits_1 = require("./lib/format/limits");
86
+ Object.defineProperty(exports, "PageLimitsSchema", { enumerable: true, get: function () { return limits_1.PageLimitsSchema; } });
62
87
  var duplicate_kinds_1 = require("./lib/format/duplicate-kinds");
63
88
  Object.defineProperty(exports, "DUPLICATE_KINDS", { enumerable: true, get: function () { return duplicate_kinds_1.DUPLICATE_KINDS; } });
64
89
  Object.defineProperty(exports, "comparable", { enumerable: true, get: function () { return duplicate_kinds_1.comparable; } });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,wGAAwG;AACxG,kEAAmF;AAA1E,iHAAA,aAAa,OAAA;AACtB,uHAAuH;AACvH,oEAA4E;AAAnE,iHAAA,YAAY,OAAA;AAAE,iHAAA,YAAY,OAAA;AACnC,4CAc4B;AAb1B,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,iHAAA,wBAAwB,OAAA;AACxB,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AAEhB,8CAAqQ;AAA5P,wGAAA,cAAc,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACvO,0CAA+C;AAAtC,kGAAA,UAAU,OAAA;AACnB,gDAA0E;AAAjE,2GAAA,gBAAgB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC3C,kDAAqD;AAA5C,wGAAA,YAAY,OAAA;AACrB,8DAAyE;AAAhE,4HAAA,0BAA0B,OAAA;AACnC,8DAA6F;AAApF,yHAAA,uBAAuB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AACvD,4CAAyE;AAAhE,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAC5C,4DAAgE;AAAvD,mHAAA,kBAAkB,OAAA;AAC3B,sDAA+D;AAAtD,kHAAA,oBAAoB,OAAA;AAC7B,gDAAyD;AAAhD,4GAAA,iBAAiB,OAAA;AAC1B,gEAA2E;AAAlE,kHAAA,eAAe,OAAA;AAAE,6GAAA,UAAU,OAAA;AACpC,wDAA0D;AAAjD,6GAAA,cAAc,OAAA;AACvB,iGAAiG;AACjG,kDAAqH;AAA5G,oGAAA,QAAQ,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAA0B;AAC1B,+FAA+F;AAC/F,wDAAkE;AAAzD,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAC/B,0DAAuD;AAA9C,0GAAA,UAAU,OAAA;AACnB,oDAAkD;AAAzC,qGAAA,QAAQ,OAAA;AACjB,wGAAwG;AACxG,kEAAmF;AAA1E,iHAAA,aAAa,OAAA;AACtB,uHAAuH;AACvH,oEAA4E;AAAnE,iHAAA,YAAY,OAAA;AAAE,iHAAA,YAAY,OAAA;AACnC,4CAc4B;AAb1B,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,iHAAA,wBAAwB,OAAA;AACxB,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AAEhB,8CAAwR;AAA/Q,wGAAA,cAAc,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAC1P,0CAA+C;AAAtC,kGAAA,UAAU,OAAA;AACnB,gDAA0E;AAAjE,2GAAA,gBAAgB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC3C,kDAAmE;AAA1D,wGAAA,YAAY,OAAA;AAAE,wGAAA,YAAY,OAAA;AACnC,gDAA2I;AAAlI,qGAAA,YAAY,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA;AACxE,0DAA8D;AAArD,6GAAA,eAAe,OAAA;AACxB,8DAAyE;AAAhE,4HAAA,0BAA0B,OAAA;AACnC,8DAA6F;AAApF,yHAAA,uBAAuB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AACvD,4CAAyE;AAAhE,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAC5C,4DAAgE;AAAvD,mHAAA,kBAAkB,OAAA;AAC3B,oEAAwE;AAA/D,2HAAA,sBAAsB,OAAA;AAC/B,sDAA+D;AAAtD,kHAAA,oBAAoB,OAAA;AAC7B,gDAAyD;AAAhD,4GAAA,iBAAiB,OAAA;AAC1B,gDAAwD;AAA/C,2GAAA,gBAAgB,OAAA;AACzB,8CAAuD;AAA9C,0GAAA,gBAAgB,OAAA;AACzB,gEAA2E;AAAlE,kHAAA,eAAe,OAAA;AAAE,6GAAA,UAAU,OAAA;AACpC,wDAA0D;AAAjD,6GAAA,cAAc,OAAA;AACvB,iGAAiG;AACjG,kDAAqH;AAA5G,oGAAA,QAAQ,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,2GAAA,eAAe,OAAA"}
package/src/index.mjs CHANGED
@@ -1,19 +1,28 @@
1
1
  export * from './runtime.mjs';
2
+ // Why a page takes no answers now, in words: the limits part's (`formLimitsPart`), whole here.
3
+ export { takingWords, whenWords } from './lib/record/form-limits.mjs';
4
+ export { isQuestion } from './lib/record/record-words.mjs';
5
+ export { dayWords } from './lib/record/day-words.mjs';
2
6
  // A memory source's free times from booking schedules: for demos and tests, outside the one-tag script.
3
7
  export { scheduleSlots } from './lib/record/memory-schedules.mjs';
4
8
  // A memory source's records like the one typed, for its `duplicates`: for demos and tests, outside the one-tag script.
5
9
  export { alikeRecords, nameLikeness } from './lib/record/memory-duplicates.mjs';
6
10
  export { FieldSchema, FieldsSchema, LineFieldSchema, LinkedFieldSchema, LineKindsSchema, OptionSchema, PropertyDefinitionSchema, FilterConditionSchema, FilterItemSchema, MoneyLookSchema, ShrinkSchema, PERIODS, TimeZoneSchema, } from './lib/format/field.mjs';
7
- export { ModifierSchema, RolesSchema, CellRulesSchema, ToneWhenSchema, LayoutNodeSchema, RootLayoutSchema, ListNodeSchema, ListCellSchema, ListCalendarSchema, ListCardSchema, ListGallerySchema, FilterPeriodSchema, RelatedNodeSchema } from './lib/format/layout.mjs';
11
+ export { ModifierSchema, RolesSchema, CellRulesSchema, ToneWhenSchema, LayoutNodeSchema, RootLayoutSchema, ListNodeSchema, ListCellSchema, ListCalendarSchema, ListCardSchema, ListGallerySchema, FilterRangeSchema, FilterPeriodSchema, RelatedNodeSchema } from './lib/format/layout.mjs';
8
12
  export { PageSchema } from './lib/format/page.mjs';
9
13
  export { ActionStepSchema, PageEventsSchema } from './lib/format/actions.mjs';
10
- export { validatePage } from './lib/format/validate.mjs';
14
+ export { pageWarnings, validatePage } from './lib/format/validate.mjs';
15
+ export { kindProblems, kindProblemWords, kindWords, fieldKind, writtenAs } from './lib/expression/kinds.mjs';
16
+ export { parseExpression } from './lib/expression/expression.mjs';
11
17
  export { AddressSearchOptionsSchema } from './lib/format/address-search.mjs';
12
18
  export { PathPickerOptionsSchema, StateDotOptionsSchema } from './lib/format/picker-options.mjs';
13
19
  export { PagePhoneSchema, PhoneOptionsSchema } from './lib/format/phone.mjs';
14
20
  export { SlotsOptionsSchema } from './lib/format/slots-options.mjs';
21
+ export { SignatureOptionsSchema } from './lib/format/signature-options.mjs';
15
22
  export { PageDuplicatesSchema } from './lib/format/duplicates.mjs';
16
23
  export { PageRecordsSchema } from './lib/format/records.mjs';
24
+ export { PageEndingSchema } from './lib/format/endings.mjs';
25
+ export { PageLimitsSchema } from './lib/format/limits.mjs';
17
26
  export { DUPLICATE_KINDS, comparable } from './lib/format/duplicate-kinds.mjs';
18
27
  export { pageJsonSchema } from './lib/format/json-schema.mjs';
19
28
  // The purposes a browser fills a box in with, from the HTML standard, as the format checks them.
package/src/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,wGAAwG;AACxG,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,uHAAuH;AACvH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrQ,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,iGAAiG;AACjG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,+FAA+F;AAC/F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,wGAAwG;AACxG,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,uHAAuH;AACvH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxR,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAoC,MAAM,wBAAwB,CAAC;AAC3I,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,iGAAiG;AACjG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { type FunctionTable } from './functions.mjs';
2
+ /**
3
+ * The app's own functions, for a page's expressions beside Fieldia's: given as `functions` to the form, the viewer
4
+ * and its wrappers, the page's checks and the designer. A function that asks the app's server gives a promise: the
5
+ * value worked out from it waits while it is asked (`ExpressionEnv.answer`), and its answer is laid only on the
6
+ * record it was asked for.
7
+ */
8
+ /** The kinds of value a function takes and gives, as the page's checks and the designer read them. */
9
+ export type ValueKind = 'number' | 'text' | 'date' | 'boolean' | 'list' | 'any';
10
+ /** What the page's checks and the designer know of an app's function: all but its call. */
11
+ export interface FunctionInfo {
12
+ /** How many values it takes: at least, at most (Infinity for any number). Any number when left out. */
13
+ takes?: readonly [number, number];
14
+ /** The kind of each value it takes, in order, the last standing for any after it. Any kind when left out. */
15
+ values?: readonly ValueKind[];
16
+ /** The kind of value it gives. Any when left out. */
17
+ gives?: ValueKind;
18
+ /** What it does, in words, with an example as a formula is written: the designer shows it. */
19
+ tip?: string;
20
+ /** It asks the app's server, its call giving a promise. Found out at its first call when left out. */
21
+ asks?: boolean;
22
+ }
23
+ /** One of the app's own functions. */
24
+ export interface AppFunction extends FunctionInfo {
25
+ /** Its value from the values it is given, in order: a value, or — when it asks the app's server — a promise of one. */
26
+ call(...values: never[]): unknown;
27
+ }
28
+ /** A function the app gives, by the name a page calls it by: an `AppFunction`, or a plain function. */
29
+ export type AppFunctions = Readonly<Record<string, AppFunction | ((...values: never[]) => unknown)>>;
30
+ /** The app's functions as the page's checks and the designer take them: what is known of each, with its call or without. */
31
+ export type FunctionsKnown = Readonly<Record<string, FunctionInfo | AppFunction | ((...values: never[]) => unknown)>>;
32
+ /** What is wrong with a name an app gives a function, or undefined when a page may call it so. */
33
+ export declare function functionNameProblem(name: string): string | undefined;
34
+ /**
35
+ * A table reading a call of any function: for what reads a page's conditions apart from its form — the fields an
36
+ * amount's look reads, a designer's outline — where the app's functions are not at hand. A call of one gives
37
+ * nothing there; the page's checks, given the app's functions, say which are not.
38
+ */
39
+ export declare const ANY_FUNCTION: FunctionTable;
40
+ /**
41
+ * The table a page's expressions call the app's functions through, read once for each `functions` object. Throws
42
+ * for a name a page cannot call (a word of the language, Fieldia's own function, not a name), so a mistake is said
43
+ * as the form is made. Undefined for none.
44
+ */
45
+ export declare function functionTable(given: FunctionsKnown | undefined): FunctionTable | undefined;
46
+ /** What is known of an entry: a plain function is one taking any number of values. */
47
+ export declare function functionInfo(entry: FunctionInfo | AppFunction | ((...values: never[]) => unknown)): FunctionInfo;