@fieldia/core 0.9.2 → 0.10.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 (208) hide show
  1. package/package.json +1 -1
  2. package/schema/page.schema.json +1128 -89
  3. package/src/lib/expression/evaluator.d.mts +6 -5
  4. package/src/lib/expression/evaluator.d.ts +6 -5
  5. package/src/lib/expression/evaluator.js +37 -22
  6. package/src/lib/expression/evaluator.js.map +1 -1
  7. package/src/lib/expression/evaluator.mjs +32 -18
  8. package/src/lib/expression/evaluator.mjs.map +1 -1
  9. package/src/lib/expression/expression.d.mts +21 -0
  10. package/src/lib/expression/expression.d.ts +21 -0
  11. package/src/lib/expression/expression.js +29 -0
  12. package/src/lib/expression/expression.js.map +1 -0
  13. package/src/lib/expression/expression.mjs +26 -0
  14. package/src/lib/expression/expression.mjs.map +1 -0
  15. package/src/lib/expression/extractFieldNames.js +6 -1
  16. package/src/lib/expression/extractFieldNames.js.map +1 -1
  17. package/src/lib/expression/extractFieldNames.mjs +6 -1
  18. package/src/lib/expression/extractFieldNames.mjs.map +1 -1
  19. package/src/lib/expression/functions.d.mts +35 -0
  20. package/src/lib/expression/functions.d.ts +35 -0
  21. package/src/lib/expression/functions.js +129 -0
  22. package/src/lib/expression/functions.js.map +1 -0
  23. package/src/lib/expression/functions.mjs +124 -0
  24. package/src/lib/expression/functions.mjs.map +1 -0
  25. package/src/lib/expression/modifier.d.mts +3 -1
  26. package/src/lib/expression/modifier.d.ts +3 -1
  27. package/src/lib/expression/modifier.js +4 -27
  28. package/src/lib/expression/modifier.js.map +1 -1
  29. package/src/lib/expression/modifier.mjs +3 -26
  30. package/src/lib/expression/modifier.mjs.map +1 -1
  31. package/src/lib/expression/operations.d.mts +25 -0
  32. package/src/lib/expression/operations.d.ts +25 -0
  33. package/src/lib/expression/operations.js +81 -0
  34. package/src/lib/expression/operations.js.map +1 -0
  35. package/src/lib/expression/operations.mjs +72 -0
  36. package/src/lib/expression/operations.mjs.map +1 -0
  37. package/src/lib/expression/order.d.mts +11 -0
  38. package/src/lib/expression/order.d.ts +11 -0
  39. package/src/lib/expression/order.js +36 -0
  40. package/src/lib/expression/order.js.map +1 -0
  41. package/src/lib/expression/order.mjs +33 -0
  42. package/src/lib/expression/order.mjs.map +1 -0
  43. package/src/lib/expression/parser.d.mts +34 -4
  44. package/src/lib/expression/parser.d.ts +34 -4
  45. package/src/lib/expression/parser.js +72 -6
  46. package/src/lib/expression/parser.js.map +1 -1
  47. package/src/lib/expression/parser.mjs +72 -6
  48. package/src/lib/expression/parser.mjs.map +1 -1
  49. package/src/lib/expression/reads.d.mts +8 -0
  50. package/src/lib/expression/reads.d.ts +8 -0
  51. package/src/lib/expression/reads.js +48 -0
  52. package/src/lib/expression/reads.js.map +1 -0
  53. package/src/lib/expression/reads.mjs +44 -0
  54. package/src/lib/expression/reads.mjs.map +1 -0
  55. package/src/lib/expression/tokenizer.d.mts +7 -6
  56. package/src/lib/expression/tokenizer.d.ts +7 -6
  57. package/src/lib/expression/tokenizer.js +28 -18
  58. package/src/lib/expression/tokenizer.js.map +1 -1
  59. package/src/lib/expression/tokenizer.mjs +28 -18
  60. package/src/lib/expression/tokenizer.mjs.map +1 -1
  61. package/src/lib/format/field.d.mts +686 -5
  62. package/src/lib/format/field.d.ts +686 -5
  63. package/src/lib/format/field.js +115 -13
  64. package/src/lib/format/field.js.map +1 -1
  65. package/src/lib/format/field.mjs +114 -12
  66. package/src/lib/format/field.mjs.map +1 -1
  67. package/src/lib/format/layout.d.mts +388 -10
  68. package/src/lib/format/layout.d.ts +388 -10
  69. package/src/lib/format/layout.js +50 -3
  70. package/src/lib/format/layout.js.map +1 -1
  71. package/src/lib/format/layout.mjs +49 -2
  72. package/src/lib/format/layout.mjs.map +1 -1
  73. package/src/lib/format/names.d.mts +1 -1
  74. package/src/lib/format/names.d.ts +1 -1
  75. package/src/lib/format/names.js +1 -0
  76. package/src/lib/format/names.js.map +1 -1
  77. package/src/lib/format/names.mjs +1 -0
  78. package/src/lib/format/names.mjs.map +1 -1
  79. package/src/lib/format/page.d.mts +391 -4
  80. package/src/lib/format/page.d.ts +391 -4
  81. package/src/lib/format/page.js +13 -0
  82. package/src/lib/format/page.js.map +1 -1
  83. package/src/lib/format/page.mjs +13 -0
  84. package/src/lib/format/page.mjs.map +1 -1
  85. package/src/lib/format/references.d.mts +14 -1
  86. package/src/lib/format/references.d.ts +14 -1
  87. package/src/lib/format/references.js +96 -8
  88. package/src/lib/format/references.js.map +1 -1
  89. package/src/lib/format/references.mjs +96 -8
  90. package/src/lib/format/references.mjs.map +1 -1
  91. package/src/lib/format/translate.d.mts +20 -0
  92. package/src/lib/format/translate.d.ts +20 -0
  93. package/src/lib/format/translate.js +79 -21
  94. package/src/lib/format/translate.js.map +1 -1
  95. package/src/lib/format/translate.mjs +76 -21
  96. package/src/lib/format/translate.mjs.map +1 -1
  97. package/src/lib/record/check.d.mts +19 -1
  98. package/src/lib/record/check.d.ts +19 -1
  99. package/src/lib/record/check.js +84 -21
  100. package/src/lib/record/check.js.map +1 -1
  101. package/src/lib/record/check.mjs +82 -21
  102. package/src/lib/record/check.mjs.map +1 -1
  103. package/src/lib/record/compute.d.mts +24 -0
  104. package/src/lib/record/compute.d.ts +24 -0
  105. package/src/lib/record/compute.js +107 -0
  106. package/src/lib/record/compute.js.map +1 -0
  107. package/src/lib/record/compute.mjs +103 -0
  108. package/src/lib/record/compute.mjs.map +1 -0
  109. package/src/lib/record/data-source.d.mts +9 -1
  110. package/src/lib/record/data-source.d.ts +9 -1
  111. package/src/lib/record/data-source.js.map +1 -1
  112. package/src/lib/record/data-source.mjs.map +1 -1
  113. package/src/lib/record/env.d.mts +9 -0
  114. package/src/lib/record/env.d.ts +9 -0
  115. package/src/lib/record/env.js +28 -0
  116. package/src/lib/record/env.js.map +1 -0
  117. package/src/lib/record/env.mjs +25 -0
  118. package/src/lib/record/env.mjs.map +1 -0
  119. package/src/lib/record/form.d.mts +24 -0
  120. package/src/lib/record/form.d.ts +24 -0
  121. package/src/lib/record/form.js +160 -32
  122. package/src/lib/record/form.js.map +1 -1
  123. package/src/lib/record/form.mjs +160 -32
  124. package/src/lib/record/form.mjs.map +1 -1
  125. package/src/lib/record/inputs.d.mts +5 -0
  126. package/src/lib/record/inputs.d.ts +5 -0
  127. package/src/lib/record/inputs.js +47 -0
  128. package/src/lib/record/inputs.js.map +1 -0
  129. package/src/lib/record/inputs.mjs +44 -0
  130. package/src/lib/record/inputs.mjs.map +1 -0
  131. package/src/lib/record/limits.d.mts +13 -0
  132. package/src/lib/record/limits.d.ts +13 -0
  133. package/src/lib/record/limits.js +45 -0
  134. package/src/lib/record/limits.js.map +1 -0
  135. package/src/lib/record/limits.mjs +41 -0
  136. package/src/lib/record/limits.mjs.map +1 -0
  137. package/src/lib/record/locales/all.d.mts +7 -0
  138. package/src/lib/record/locales/all.d.ts +7 -0
  139. package/src/lib/record/locales/all.js +13 -0
  140. package/src/lib/record/locales/all.js.map +1 -0
  141. package/src/lib/record/locales/all.mjs +10 -0
  142. package/src/lib/record/locales/all.mjs.map +1 -0
  143. package/src/lib/record/locales/ar.d.mts +3 -0
  144. package/src/lib/record/locales/ar.d.ts +3 -0
  145. package/src/lib/record/locales/ar.js +55 -0
  146. package/src/lib/record/locales/ar.js.map +1 -0
  147. package/src/lib/record/locales/ar.mjs +52 -0
  148. package/src/lib/record/locales/ar.mjs.map +1 -0
  149. package/src/lib/record/locales/de.d.mts +3 -0
  150. package/src/lib/record/locales/de.d.ts +3 -0
  151. package/src/lib/record/locales/de.js +55 -0
  152. package/src/lib/record/locales/de.js.map +1 -0
  153. package/src/lib/record/locales/de.mjs +52 -0
  154. package/src/lib/record/locales/de.mjs.map +1 -0
  155. package/src/lib/record/locales/fr.d.mts +3 -0
  156. package/src/lib/record/locales/fr.d.ts +3 -0
  157. package/src/lib/record/locales/fr.js +55 -0
  158. package/src/lib/record/locales/fr.js.map +1 -0
  159. package/src/lib/record/locales/fr.mjs +52 -0
  160. package/src/lib/record/locales/fr.mjs.map +1 -0
  161. package/src/lib/record/memory-data-source.d.mts +3 -0
  162. package/src/lib/record/memory-data-source.d.ts +3 -0
  163. package/src/lib/record/memory-data-source.js +8 -0
  164. package/src/lib/record/memory-data-source.js.map +1 -1
  165. package/src/lib/record/memory-data-source.mjs +8 -0
  166. package/src/lib/record/memory-data-source.mjs.map +1 -1
  167. package/src/lib/record/messages.d.mts +46 -0
  168. package/src/lib/record/messages.d.ts +46 -0
  169. package/src/lib/record/messages.js +58 -101
  170. package/src/lib/record/messages.js.map +1 -1
  171. package/src/lib/record/messages.mjs +58 -101
  172. package/src/lib/record/messages.mjs.map +1 -1
  173. package/src/lib/record/rules.d.mts +33 -0
  174. package/src/lib/record/rules.d.ts +33 -0
  175. package/src/lib/record/rules.js +83 -0
  176. package/src/lib/record/rules.js.map +1 -0
  177. package/src/lib/record/rules.mjs +79 -0
  178. package/src/lib/record/rules.mjs.map +1 -0
  179. package/src/lib/record/score.d.mts +16 -0
  180. package/src/lib/record/score.d.ts +16 -0
  181. package/src/lib/record/score.js +35 -0
  182. package/src/lib/record/score.js.map +1 -0
  183. package/src/lib/record/score.mjs +32 -0
  184. package/src/lib/record/score.mjs.map +1 -0
  185. package/src/lib/record/set-when.d.mts +24 -0
  186. package/src/lib/record/set-when.d.ts +24 -0
  187. package/src/lib/record/set-when.js +68 -0
  188. package/src/lib/record/set-when.js.map +1 -0
  189. package/src/lib/record/set-when.mjs +65 -0
  190. package/src/lib/record/set-when.mjs.map +1 -0
  191. package/src/lib/record/structures.d.mts +14 -0
  192. package/src/lib/record/structures.d.ts +14 -0
  193. package/src/lib/record/structures.js +32 -0
  194. package/src/lib/record/structures.js.map +1 -0
  195. package/src/lib/record/structures.mjs +28 -0
  196. package/src/lib/record/structures.mjs.map +1 -0
  197. package/src/lib/record/values.d.mts +10 -5
  198. package/src/lib/record/values.d.ts +10 -5
  199. package/src/lib/record/values.js +20 -6
  200. package/src/lib/record/values.js.map +1 -1
  201. package/src/lib/record/values.mjs +19 -6
  202. package/src/lib/record/values.mjs.map +1 -1
  203. package/src/runtime.d.mts +10 -7
  204. package/src/runtime.d.ts +10 -7
  205. package/src/runtime.js +12 -1
  206. package/src/runtime.js.map +1 -1
  207. package/src/runtime.mjs +5 -2
  208. package/src/runtime.mjs.map +1 -1
@@ -22,6 +22,19 @@ exports.PageSchema = z
22
22
  layout: layout_1.RootLayoutSchema,
23
23
  maxWidth: z.enum(['narrow', 'medium', 'wide', 'full']).optional(),
24
24
  actionsPosition: z.enum(['top', 'bottom']).optional(),
25
+ look: z
26
+ .strictObject({
27
+ accent: z.string().regex(/^#[0-9a-fA-F]{6}$/).optional(),
28
+ font: z.enum(['system', 'serif', 'rounded']).optional(),
29
+ density: z.enum(['compact', 'comfortable', 'roomy']).optional(),
30
+ corners: z.enum(['square', 'soft', 'round']).optional(),
31
+ labels: z.enum(['above', 'beside', 'hidden']).optional(),
32
+ labelWidth: z.int().min(60).max(320).optional(),
33
+ scheme: z.enum(['light', 'dark', 'auto']).optional(),
34
+ })
35
+ .optional(),
36
+ language: z.string().regex(/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/).optional(),
37
+ translations: z.record(z.string().regex(/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/), z.record(z.string(), z.string())).optional(),
25
38
  })
26
39
  .meta({
27
40
  title: 'Fieldia page',
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,mCAAoD;AACpD,qCAA6D;AAE7D,uCAA2C;AAC3C,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AAwBV,QAAA,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACzD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;CACjD,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,CAAC;KACxB,YAAY,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAc,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,sBAAc;IACpB,MAAM,EAAE,oBAAY;IACpB,MAAM,EAAE,yBAAgB;IACxB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,IAAI,CAAC;IACJ,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,8HAA8H;CACjI,CAAC,CAAC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,mCAAoD;AACpD,qCAA6D;AAE7D,uCAA2C;AAC3C,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AAoDV,QAAA,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACzD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;CACjD,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,CAAC;KACxB,YAAY,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAc,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,sBAAc;IACpB,MAAM,EAAE,oBAAY;IACpB,MAAM,EAAE,yBAAgB;IACxB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,IAAI,EAAE,CAAC;SACJ,YAAY,CAAC;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QACxD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QACxD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;KACrD,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,QAAQ,EAAE;IACzE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1H,CAAC;KACD,IAAI,CAAC;IACJ,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,8HAA8H;CACjI,CAAC,CAAC"}
@@ -18,6 +18,19 @@ export const PageSchema = z
18
18
  layout: RootLayoutSchema,
19
19
  maxWidth: z.enum(['narrow', 'medium', 'wide', 'full']).optional(),
20
20
  actionsPosition: z.enum(['top', 'bottom']).optional(),
21
+ look: z
22
+ .strictObject({
23
+ accent: z.string().regex(/^#[0-9a-fA-F]{6}$/).optional(),
24
+ font: z.enum(['system', 'serif', 'rounded']).optional(),
25
+ density: z.enum(['compact', 'comfortable', 'roomy']).optional(),
26
+ corners: z.enum(['square', 'soft', 'round']).optional(),
27
+ labels: z.enum(['above', 'beside', 'hidden']).optional(),
28
+ labelWidth: z.int().min(60).max(320).optional(),
29
+ scheme: z.enum(['light', 'dark', 'auto']).optional(),
30
+ })
31
+ .optional(),
32
+ language: z.string().regex(/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/).optional(),
33
+ translations: z.record(z.string().regex(/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/), z.record(z.string(), z.string())).optional(),
21
34
  })
22
35
  .meta({
23
36
  title: 'Fieldia page',
@@ -1 +1 @@
1
- {"version":3,"file":"page.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwB3C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACzD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,YAAY,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,IAAI,CAAC;IACJ,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,8HAA8H;CACjI,CAAC,CAAC"}
1
+ {"version":3,"file":"page.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,21 @@ export declare class ReferenceCheck {
22
22
  private claim;
23
23
  /** The field a reference names, or a reported issue and undefined. */
24
24
  private need;
25
- /** Every modifier on `owner` must read, and read only fields of this page. */
25
+ /** Every modifier on `owner` must read, and read only fields of this page (or of its line). */
26
26
  private checkModifiers;
27
+ /** Each name an expression reads must be a field where it is worked out. */
28
+ private checkReads;
29
+ /**
30
+ * An expression for a value must read, read only fields where it is worked
31
+ * out, and add up only line fields that exist. Returns the fields it reads,
32
+ * or null when it cannot be read.
33
+ */
34
+ private checkExpression;
35
+ /**
36
+ * Worked-out values and values set by a condition, among one set of fields:
37
+ * each expression checked, and no two values worked out from each other.
38
+ */
39
+ private checkWorkedOut;
27
40
  private checkFields;
28
41
  private checkLineKinds;
29
42
  private walkRoot;
@@ -22,8 +22,21 @@ export declare class ReferenceCheck {
22
22
  private claim;
23
23
  /** The field a reference names, or a reported issue and undefined. */
24
24
  private need;
25
- /** Every modifier on `owner` must read, and read only fields of this page. */
25
+ /** Every modifier on `owner` must read, and read only fields of this page (or of its line). */
26
26
  private checkModifiers;
27
+ /** Each name an expression reads must be a field where it is worked out. */
28
+ private checkReads;
29
+ /**
30
+ * An expression for a value must read, read only fields where it is worked
31
+ * out, and add up only line fields that exist. Returns the fields it reads,
32
+ * or null when it cannot be read.
33
+ */
34
+ private checkExpression;
35
+ /**
36
+ * Worked-out values and values set by a condition, among one set of fields:
37
+ * each expression checked, and no two values worked out from each other.
38
+ */
39
+ private checkWorkedOut;
27
40
  private checkFields;
28
41
  private checkLineKinds;
29
42
  private walkRoot;
@@ -2,7 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReferenceCheck = void 0;
4
4
  const modifier_1 = require("../expression/modifier");
5
+ const expression_1 = require("../expression/expression");
6
+ const order_1 = require("../expression/order");
5
7
  const has = (record, key) => Object.prototype.hasOwnProperty.call(record, key);
8
+ /** The kinds of field an expression can give a value to: the rest hold records, lines or files. */
9
+ const EXPRESSIBLE = new Set(['char', 'text', 'html', 'integer', 'float', 'monetary', 'boolean', 'date', 'datetime', 'selection', 'json']);
10
+ const EXPRESSIBLE_WORDS = 'text, numbers, yes or no, dates, choices and json can';
11
+ /** Names quoted and joined as a person lists them: "a", "b" and "c". */
12
+ const listed = (names) => {
13
+ const quoted = names.map((name) => `"${name}"`);
14
+ return quoted.length < 2 ? quoted.join('') : `${quoted.slice(0, -1).join(', ')} and ${quoted[quoted.length - 1]}`;
15
+ };
6
16
  /** The second pass of every check: ids unique, every name defined, every condition readable. */
7
17
  class ReferenceCheck {
8
18
  page;
@@ -33,8 +43,8 @@ class ReferenceCheck {
33
43
  this.report(path, `no field "${name}"`);
34
44
  return undefined;
35
45
  }
36
- /** Every modifier on `owner` must read, and read only fields of this page. */
37
- checkModifiers(owner, path, keys = ['invisible']) {
46
+ /** Every modifier on `owner` must read, and read only fields of this page (or of its line). */
47
+ checkModifiers(owner, path, keys = ['invisible'], scope = { fields: this.page.fields }) {
38
48
  for (const key of keys) {
39
49
  const value = owner[key];
40
50
  if (typeof value !== 'string')
@@ -47,14 +57,77 @@ class ReferenceCheck {
47
57
  this.report(`${path}.${key}`, `cannot read "${value}": ${error.message}`);
48
58
  continue;
49
59
  }
50
- for (const name of fields) {
51
- if (!has(this.page.fields, name)) {
52
- this.report(`${path}.${key}`, `"${value}" reads "${name}", which is not a field of this page`);
53
- }
60
+ this.checkReads(value, fields, `${path}.${key}`, scope);
61
+ }
62
+ }
63
+ /** Each name an expression reads must be a field where it is worked out. */
64
+ checkReads(source, fields, path, scope) {
65
+ for (const name of fields) {
66
+ if (has(scope.fields, name))
67
+ continue;
68
+ const where = scope.lines === undefined ? 'of this page' : `of the lines of "${scope.lines}"`;
69
+ this.report(path, `"${source}" reads "${name}", which is not a field ${where}`);
70
+ }
71
+ }
72
+ /**
73
+ * An expression for a value must read, read only fields where it is worked
74
+ * out, and add up only line fields that exist. Returns the fields it reads,
75
+ * or null when it cannot be read.
76
+ */
77
+ checkExpression(source, path, scope) {
78
+ let compiled;
79
+ try {
80
+ compiled = (0, expression_1.compileExpression)(source);
81
+ }
82
+ catch (error) {
83
+ this.report(path, `cannot read "${source}": ${error.message}`);
84
+ return null;
85
+ }
86
+ this.checkReads(source, compiled.fields, path, scope);
87
+ for (const sum of compiled.sums) {
88
+ if (!has(scope.fields, sum.lines))
89
+ continue;
90
+ const lines = scope.fields[sum.lines];
91
+ if (lines.type !== 'one2many')
92
+ this.report(path, `sum adds up the lines of a one2many; "${sum.lines}" is a ${lines.type}`);
93
+ else if (!has(lines.fields, sum.field))
94
+ this.report(path, `"${sum.field}" is not a field of the lines of "${sum.lines}"`);
95
+ }
96
+ return compiled.fields;
97
+ }
98
+ /**
99
+ * Worked-out values and values set by a condition, among one set of fields:
100
+ * each expression checked, and no two values worked out from each other.
101
+ */
102
+ checkWorkedOut(fields, base, scope) {
103
+ const reads = new Map();
104
+ for (const [name, def] of Object.entries(fields)) {
105
+ const path = `${base}.${name}`;
106
+ if ((def.compute !== undefined || def.setWhen) && !EXPRESSIBLE.has(def.type)) {
107
+ if (def.compute !== undefined)
108
+ this.report(`${path}.compute`, `a ${def.type} cannot be worked out; ${EXPRESSIBLE_WORDS}`);
109
+ if (def.setWhen)
110
+ this.report(`${path}.setWhen`, `a ${def.type} cannot be set by a condition; ${EXPRESSIBLE_WORDS}`);
111
+ continue;
54
112
  }
113
+ if (def.compute !== undefined) {
114
+ const read = this.checkExpression(def.compute, `${path}.compute`, scope);
115
+ if (read)
116
+ reads.set(name, read);
117
+ }
118
+ def.setWhen?.forEach((item, i) => {
119
+ this.checkModifiers(item, `${path}.setWhen[${i}]`, ['when'], scope);
120
+ this.checkExpression(item.value, `${path}.setWhen[${i}].value`, scope);
121
+ });
122
+ }
123
+ for (const cycle of (0, order_1.dependencyOrder)(reads).cycles) {
124
+ const names = cycle.slice(0, -1);
125
+ const message = names.length === 1 ? `"${names[0]}" is worked out from itself` : `${listed(names)} are worked out from each other: ${cycle.join(' → ')}`;
126
+ this.report(`${base}.${cycle[0]}.compute`, message);
55
127
  }
56
128
  }
57
- checkFields(fields, base) {
129
+ checkFields(fields, base, lines) {
130
+ this.checkWorkedOut(fields, base, { fields, lines });
58
131
  for (const [name, def] of Object.entries(fields)) {
59
132
  const path = `${base}.${name}`;
60
133
  if (def.type === 'monetary' && def.currencyField !== undefined) {
@@ -77,6 +150,8 @@ class ReferenceCheck {
77
150
  walk(item, `${path}.filter[${i}]`);
78
151
  });
79
152
  }
153
+ if (def.type === 'selection')
154
+ def.optionsFrom?.dependsOn?.forEach((other, i) => this.need(other, `${path}.optionsFrom.dependsOn[${i}]`, fields));
80
155
  if (def.type === 'properties' && def.definitions) {
81
156
  const seen = new Set();
82
157
  def.definitions.forEach((property, i) => {
@@ -89,7 +164,7 @@ class ReferenceCheck {
89
164
  });
90
165
  }
91
166
  if (def.type === 'one2many') {
92
- this.checkFields(def.fields, `${path}.fields`);
167
+ this.checkFields(def.fields, `${path}.fields`, name);
93
168
  if (def.lineKinds)
94
169
  this.checkLineKinds(name, def.lineKinds, def.fields, `${path}.lineKinds`);
95
170
  if (def.sequenceField !== undefined) {
@@ -255,6 +330,19 @@ class ReferenceCheck {
255
330
  }
256
331
  checkFieldNode(node, path) {
257
332
  const def = this.need(node.field, `${path}.field`);
333
+ // Answer rules: each condition and rule across fields reads, each pattern is a regular expression.
334
+ node.validate?.forEach((rule, i) => {
335
+ const at = `${path}.validate[${i}]`;
336
+ this.checkModifiers(rule, at, ['when', 'holds']);
337
+ if (rule.pattern === undefined)
338
+ return;
339
+ try {
340
+ new RegExp(rule.pattern);
341
+ }
342
+ catch {
343
+ this.report(`${at}.pattern`, `"${rule.pattern}" is not a regular expression`);
344
+ }
345
+ });
258
346
  if (def && node.totals) {
259
347
  if (def.type !== 'one2many') {
260
348
  this.report(`${path}.totals`, `totals only apply to one2many fields; "${node.field}" is a ${def.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/references.ts"],"names":[],"mappings":";;;AAGA,qDAAyD;AAUzD,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/F,gGAAgG;AAChG,MAAa,cAAc;IAII;IAHZ,MAAM,GAAgB,EAAE,CAAC;IACzB,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,GAAG;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,IAAY,EAAE,OAAe;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,IAAY;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,KAAK,EAAE,CAAC,CAAC;;YACrF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,sEAAsE;IAC9D,IAAI,CAAC,IAAY,EAAE,IAAY,EAAE,QAA2C,IAAI,CAAC,IAAI,CAAC,MAAM;QAClG,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8EAA8E;IACtE,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,OAA0B,CAAC,WAAW,CAAC;QACzF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAI,KAAiC,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACxC,IAAI,MAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,GAAG,IAAA,0BAAe,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,gBAAgB,KAAK,MAAO,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,KAAK,YAAY,IAAI,sCAAsC,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAA0C,EAAE,IAAY;QAC1E,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC/E,IAAI,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3E,IAAI,CAAC,MAAM,CACT,GAAG,IAAI,gBAAgB,EACvB,IAAI,GAAG,CAAC,aAAa,UAAU,QAAQ,CAAC,IAAI,0DAA0D,CACvG,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxE,iEAAiE;gBACjE,MAAM,IAAI,GAAG,CAAC,IAAgB,EAAE,EAAU,EAAQ,EAAE;oBAClD,IAAI,KAAK,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzF,IAAI,KAAK,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;wBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;gBACzF,CAAC,CAAC;gBACF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC7B,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACvD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;oBAC1F,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC;oBAChH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,SAAS;oBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;gBAC7F,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ;wBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,gBAAgB,EAAE,IAAI,GAAG,CAAC,aAAa,qCAAqC,IAAI,GAAG,CAAC,CAAC;yBAClH,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,gBAAgB,EAAE,IAAI,GAAG,CAAC,aAAa,UAAU,QAAQ,CAAC,IAAI,8DAA8D,CAAC,CAAC;oBACnJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,KAAgB,EAAE,UAAqC,EAAE,IAAY;QACzG,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,qCAAqC,KAAK,GAAG,CAAC,CAAC;aACtG,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,UAAU,SAAS,CAAC,IAAI,kEAAkE,CAAC,CAAC;QAC1I,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,MAAM,CAAU,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,oBAAoB,KAAK,GAAG,CAAC,CAAC;YACtI,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,qCAAqC,KAAK,GAAG,CAAC,CAAC;aAC/F,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,2DAA2D,CAAC,CAAC;QAC5H,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAgB,EAAE,IAAY;QAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,IAAc,EAAE,IAAY;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,gEAAgE,CAAC,CAAC;QAC5H,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,wHAAwH;QACxH,MAAM,IAAI,GAAG,CAAC,IAAgB,EAAE,EAAU,EAAQ,EAAE;YAClD,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACzF,IAAI,KAAK,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,8DAA8D,CAAC,CAAC;QACnI,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,CAAC;IAEO,YAAY,CAAC,QAAsB,EAAE,IAAY;QACvD,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,QAAQ,CAAC,IAAgB,EAAE,IAAY;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACrK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,mDAAmD,CAAC,CAAC;gBAC5G,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;gBAChG,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChD,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC;gBACE,OAAO;QACX,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAc,EAAE,IAAY;QAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,KAAgB,EAAE,IAAY;QAC9C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC;YACjH,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,KAAK,UAAU,GAAG,CAAC,IAAI,6CAA6C,CAAC,CAAC;YACnH,CAAC;YACD,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,IAAI,aAAa,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,4BAA4B,CAAC,GAAG,EAAE,IAAI,KAAK,0BAA0B,KAAK,GAAG,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;YAChD,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,IAAe,EAAE,IAAY;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QACnD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,0CAA0C,IAAI,CAAC,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACrE,IAAI,CAAC,GAAG;wBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,MAAM,qCAAqC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;yBACvG,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,MAAM,UAAU,GAAG,CAAC,IAAI,mDAAmD,CAAC,CAAC;oBACvH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,iFAAiF;QACjF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,8CAA8C,IAAI,CAAC,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,kBAAkB,EAAE,oDAAoD,IAAI,CAAC,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7H,CAAC;iBAAM,CAAC;gBACN,yFAAyF;gBACzF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3H,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,oBAAoB,MAAM,EAAE,EAAE,IAAI,MAAM,yBAAyB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClI,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAClC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,MAAM,qCAAqC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,yDAAyD,IAAI,CAAC,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;CACF;AAvRD,wCAuRC"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/references.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  import { compileModifier } from '../expression/modifier.mjs';
2
+ import { compileExpression } from '../expression/expression.mjs';
3
+ import { dependencyOrder } from '../expression/order.mjs';
2
4
  const has = (record, key) => Object.prototype.hasOwnProperty.call(record, key);
5
+ /** The kinds of field an expression can give a value to: the rest hold records, lines or files. */
6
+ const EXPRESSIBLE = new Set(['char', 'text', 'html', 'integer', 'float', 'monetary', 'boolean', 'date', 'datetime', 'selection', 'json']);
7
+ const EXPRESSIBLE_WORDS = 'text, numbers, yes or no, dates, choices and json can';
8
+ /** Names quoted and joined as a person lists them: "a", "b" and "c". */
9
+ const listed = (names) => {
10
+ const quoted = names.map((name) => `"${name}"`);
11
+ return quoted.length < 2 ? quoted.join('') : `${quoted.slice(0, -1).join(', ')} and ${quoted[quoted.length - 1]}`;
12
+ };
3
13
  /** The second pass of every check: ids unique, every name defined, every condition readable. */
4
14
  export class ReferenceCheck {
5
15
  page;
@@ -30,8 +40,8 @@ export class ReferenceCheck {
30
40
  this.report(path, `no field "${name}"`);
31
41
  return undefined;
32
42
  }
33
- /** Every modifier on `owner` must read, and read only fields of this page. */
34
- checkModifiers(owner, path, keys = ['invisible']) {
43
+ /** Every modifier on `owner` must read, and read only fields of this page (or of its line). */
44
+ checkModifiers(owner, path, keys = ['invisible'], scope = { fields: this.page.fields }) {
35
45
  for (const key of keys) {
36
46
  const value = owner[key];
37
47
  if (typeof value !== 'string')
@@ -44,14 +54,77 @@ export class ReferenceCheck {
44
54
  this.report(`${path}.${key}`, `cannot read "${value}": ${error.message}`);
45
55
  continue;
46
56
  }
47
- for (const name of fields) {
48
- if (!has(this.page.fields, name)) {
49
- this.report(`${path}.${key}`, `"${value}" reads "${name}", which is not a field of this page`);
50
- }
57
+ this.checkReads(value, fields, `${path}.${key}`, scope);
58
+ }
59
+ }
60
+ /** Each name an expression reads must be a field where it is worked out. */
61
+ checkReads(source, fields, path, scope) {
62
+ for (const name of fields) {
63
+ if (has(scope.fields, name))
64
+ continue;
65
+ const where = scope.lines === undefined ? 'of this page' : `of the lines of "${scope.lines}"`;
66
+ this.report(path, `"${source}" reads "${name}", which is not a field ${where}`);
67
+ }
68
+ }
69
+ /**
70
+ * An expression for a value must read, read only fields where it is worked
71
+ * out, and add up only line fields that exist. Returns the fields it reads,
72
+ * or null when it cannot be read.
73
+ */
74
+ checkExpression(source, path, scope) {
75
+ let compiled;
76
+ try {
77
+ compiled = compileExpression(source);
78
+ }
79
+ catch (error) {
80
+ this.report(path, `cannot read "${source}": ${error.message}`);
81
+ return null;
82
+ }
83
+ this.checkReads(source, compiled.fields, path, scope);
84
+ for (const sum of compiled.sums) {
85
+ if (!has(scope.fields, sum.lines))
86
+ continue;
87
+ const lines = scope.fields[sum.lines];
88
+ if (lines.type !== 'one2many')
89
+ this.report(path, `sum adds up the lines of a one2many; "${sum.lines}" is a ${lines.type}`);
90
+ else if (!has(lines.fields, sum.field))
91
+ this.report(path, `"${sum.field}" is not a field of the lines of "${sum.lines}"`);
92
+ }
93
+ return compiled.fields;
94
+ }
95
+ /**
96
+ * Worked-out values and values set by a condition, among one set of fields:
97
+ * each expression checked, and no two values worked out from each other.
98
+ */
99
+ checkWorkedOut(fields, base, scope) {
100
+ const reads = new Map();
101
+ for (const [name, def] of Object.entries(fields)) {
102
+ const path = `${base}.${name}`;
103
+ if ((def.compute !== undefined || def.setWhen) && !EXPRESSIBLE.has(def.type)) {
104
+ if (def.compute !== undefined)
105
+ this.report(`${path}.compute`, `a ${def.type} cannot be worked out; ${EXPRESSIBLE_WORDS}`);
106
+ if (def.setWhen)
107
+ this.report(`${path}.setWhen`, `a ${def.type} cannot be set by a condition; ${EXPRESSIBLE_WORDS}`);
108
+ continue;
51
109
  }
110
+ if (def.compute !== undefined) {
111
+ const read = this.checkExpression(def.compute, `${path}.compute`, scope);
112
+ if (read)
113
+ reads.set(name, read);
114
+ }
115
+ def.setWhen?.forEach((item, i) => {
116
+ this.checkModifiers(item, `${path}.setWhen[${i}]`, ['when'], scope);
117
+ this.checkExpression(item.value, `${path}.setWhen[${i}].value`, scope);
118
+ });
119
+ }
120
+ for (const cycle of dependencyOrder(reads).cycles) {
121
+ const names = cycle.slice(0, -1);
122
+ const message = names.length === 1 ? `"${names[0]}" is worked out from itself` : `${listed(names)} are worked out from each other: ${cycle.join(' → ')}`;
123
+ this.report(`${base}.${cycle[0]}.compute`, message);
52
124
  }
53
125
  }
54
- checkFields(fields, base) {
126
+ checkFields(fields, base, lines) {
127
+ this.checkWorkedOut(fields, base, { fields, lines });
55
128
  for (const [name, def] of Object.entries(fields)) {
56
129
  const path = `${base}.${name}`;
57
130
  if (def.type === 'monetary' && def.currencyField !== undefined) {
@@ -74,6 +147,8 @@ export class ReferenceCheck {
74
147
  walk(item, `${path}.filter[${i}]`);
75
148
  });
76
149
  }
150
+ if (def.type === 'selection')
151
+ def.optionsFrom?.dependsOn?.forEach((other, i) => this.need(other, `${path}.optionsFrom.dependsOn[${i}]`, fields));
77
152
  if (def.type === 'properties' && def.definitions) {
78
153
  const seen = new Set();
79
154
  def.definitions.forEach((property, i) => {
@@ -86,7 +161,7 @@ export class ReferenceCheck {
86
161
  });
87
162
  }
88
163
  if (def.type === 'one2many') {
89
- this.checkFields(def.fields, `${path}.fields`);
164
+ this.checkFields(def.fields, `${path}.fields`, name);
90
165
  if (def.lineKinds)
91
166
  this.checkLineKinds(name, def.lineKinds, def.fields, `${path}.lineKinds`);
92
167
  if (def.sequenceField !== undefined) {
@@ -252,6 +327,19 @@ export class ReferenceCheck {
252
327
  }
253
328
  checkFieldNode(node, path) {
254
329
  const def = this.need(node.field, `${path}.field`);
330
+ // Answer rules: each condition and rule across fields reads, each pattern is a regular expression.
331
+ node.validate?.forEach((rule, i) => {
332
+ const at = `${path}.validate[${i}]`;
333
+ this.checkModifiers(rule, at, ['when', 'holds']);
334
+ if (rule.pattern === undefined)
335
+ return;
336
+ try {
337
+ new RegExp(rule.pattern);
338
+ }
339
+ catch {
340
+ this.report(`${at}.pattern`, `"${rule.pattern}" is not a regular expression`);
341
+ }
342
+ });
255
343
  if (def && node.totals) {
256
344
  if (def.type !== 'one2many') {
257
345
  this.report(`${path}.totals`, `totals only apply to one2many fields; "${node.field}" is a ${def.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"references.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/references.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,23 @@ import type { Page } from './page.mjs';
6
6
  * given is left alone.
7
7
  */
8
8
  export declare function translatePage(page: Page, translate: (text: string) => string): Page;
9
+ /**
10
+ * Every word of the page a person reads, once each, in the order they read
11
+ * it: the title and description, then each part of the layout — a field where
12
+ * it stands, with its label, the words in its box, its help, its choices and
13
+ * its messages — a wizard's buttons under its pages, and last the words of
14
+ * fields no part shows. The same words `translatePage` translates: the list a
15
+ * translator works through.
16
+ */
17
+ export declare function pageWords(page: Page): string[];
18
+ /**
19
+ * The page in one of the languages it keeps in `translations`: every word a
20
+ * person reads that has a translation there, translated; the rest as written.
21
+ * A language the page does not keep gives the page as it is.
22
+ */
23
+ export declare function localizePage(page: Page, locale: string): Page;
24
+ /**
25
+ * Whether a language is written right to left, by its tag: the script it
26
+ * names (`az-Arab`), or else its language (`ar`, `he`, `fa-IR`).
27
+ */
28
+ export declare function isRightToLeft(tag: string): boolean;
@@ -6,3 +6,23 @@ import type { Page } from './page';
6
6
  * given is left alone.
7
7
  */
8
8
  export declare function translatePage(page: Page, translate: (text: string) => string): Page;
9
+ /**
10
+ * Every word of the page a person reads, once each, in the order they read
11
+ * it: the title and description, then each part of the layout — a field where
12
+ * it stands, with its label, the words in its box, its help, its choices and
13
+ * its messages — a wizard's buttons under its pages, and last the words of
14
+ * fields no part shows. The same words `translatePage` translates: the list a
15
+ * translator works through.
16
+ */
17
+ export declare function pageWords(page: Page): string[];
18
+ /**
19
+ * The page in one of the languages it keeps in `translations`: every word a
20
+ * person reads that has a translation there, translated; the rest as written.
21
+ * A language the page does not keep gives the page as it is.
22
+ */
23
+ export declare function localizePage(page: Page, locale: string): Page;
24
+ /**
25
+ * Whether a language is written right to left, by its tag: the script it
26
+ * names (`az-Arab`), or else its language (`ar`, `he`, `fa-IR`).
27
+ */
28
+ export declare function isRightToLeft(tag: string): boolean;