@defra/forms-model 3.0.10 → 3.0.12

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 (239) hide show
  1. package/dist/module/components/component-types.js +1 -5
  2. package/dist/module/components/component-types.js.map +1 -1
  3. package/dist/module/components/conditional-component-types.js +1 -5
  4. package/dist/module/components/conditional-component-types.js.map +1 -1
  5. package/dist/module/components/enums.js +1 -5
  6. package/dist/module/components/enums.js.map +1 -1
  7. package/dist/module/components/index.js +3 -24
  8. package/dist/module/components/index.js.map +1 -1
  9. package/dist/module/components/types.js +1 -1
  10. package/dist/module/conditions/condition-abstract.js +3 -8
  11. package/dist/module/conditions/condition-abstract.js.map +1 -1
  12. package/dist/module/conditions/condition-field.js +3 -8
  13. package/dist/module/conditions/condition-field.js.map +1 -1
  14. package/dist/module/conditions/condition-group-def.js +1 -6
  15. package/dist/module/conditions/condition-group-def.js.map +1 -1
  16. package/dist/module/conditions/condition-group.js +4 -9
  17. package/dist/module/conditions/condition-group.js.map +1 -1
  18. package/dist/module/conditions/condition-model.js +20 -25
  19. package/dist/module/conditions/condition-model.js.map +1 -1
  20. package/dist/module/conditions/condition-operators.js +15 -23
  21. package/dist/module/conditions/condition-operators.js.map +1 -1
  22. package/dist/module/conditions/condition-ref.js +2 -7
  23. package/dist/module/conditions/condition-ref.js.map +1 -1
  24. package/dist/module/conditions/condition-value-abstract.js +3 -8
  25. package/dist/module/conditions/condition-value-abstract.js.map +1 -1
  26. package/dist/module/conditions/condition-value-registration.js +1 -6
  27. package/dist/module/conditions/condition-value-registration.js.map +1 -1
  28. package/dist/module/conditions/condition-values.js +12 -20
  29. package/dist/module/conditions/condition-values.js.map +1 -1
  30. package/dist/module/conditions/condition.js +9 -14
  31. package/dist/module/conditions/condition.js.map +1 -1
  32. package/dist/module/conditions/enums.js +1 -5
  33. package/dist/module/conditions/enums.js.map +1 -1
  34. package/dist/module/conditions/helpers.js +2 -7
  35. package/dist/module/conditions/helpers.js.map +1 -1
  36. package/dist/module/conditions/index.js +10 -139
  37. package/dist/module/conditions/index.js.map +1 -1
  38. package/dist/module/conditions/inline-condition-model.js +15 -26
  39. package/dist/module/conditions/inline-condition-model.js.map +1 -1
  40. package/dist/module/conditions/inline-condition-operators.js +15 -23
  41. package/dist/module/conditions/inline-condition-operators.js.map +1 -1
  42. package/dist/module/conditions/inline-condition-values.js +9 -17
  43. package/dist/module/conditions/inline-condition-values.js.map +1 -1
  44. package/dist/module/conditions/types.js +1 -1
  45. package/dist/module/conditions/types.js.map +1 -1
  46. package/dist/module/data-model/conditions-wrapper.js +3 -8
  47. package/dist/module/data-model/conditions-wrapper.js.map +1 -1
  48. package/dist/module/data-model/enums.js +1 -5
  49. package/dist/module/data-model/enums.js.map +1 -1
  50. package/dist/module/data-model/index.js +3 -24
  51. package/dist/module/data-model/index.js.map +1 -1
  52. package/dist/module/data-model/input-wrapper.js +3 -8
  53. package/dist/module/data-model/input-wrapper.js.map +1 -1
  54. package/dist/module/data-model/types.js +1 -5
  55. package/dist/module/data-model/types.js.map +1 -1
  56. package/dist/module/form/form-configuration.js +1 -6
  57. package/dist/module/form/form-configuration.js.map +1 -1
  58. package/dist/module/form/index.js +1 -10
  59. package/dist/module/form/index.js.map +1 -1
  60. package/dist/module/index.js +8 -91
  61. package/dist/module/index.js.map +1 -1
  62. package/dist/module/migration/index.js +1 -10
  63. package/dist/module/migration/index.js.map +1 -1
  64. package/dist/module/migration/migration.0-2.js +1 -5
  65. package/dist/module/migration/migration.0-2.js.map +1 -1
  66. package/dist/module/migration/migration.1-2.js +3 -6
  67. package/dist/module/migration/migration.1-2.js.map +1 -1
  68. package/dist/module/migration/types.js +1 -1
  69. package/dist/module/migration/whichMigrations.js +5 -9
  70. package/dist/module/migration/whichMigrations.js.map +1 -1
  71. package/dist/module/schema/index.js +1 -16
  72. package/dist/module/schema/index.js.map +1 -1
  73. package/dist/module/schema/schema.js +163 -167
  74. package/dist/module/schema/schema.js.map +1 -1
  75. package/dist/module/utils/helpers.js +5 -13
  76. package/dist/module/utils/helpers.js.map +1 -1
  77. package/dist/module/utils/logger.js +1 -6
  78. package/dist/module/utils/logger.js.map +1 -1
  79. package/dist/types/components/component-types.d.ts +1 -1
  80. package/dist/types/components/component-types.d.ts.map +1 -1
  81. package/dist/types/components/conditional-component-types.d.ts +1 -1
  82. package/dist/types/components/conditional-component-types.d.ts.map +1 -1
  83. package/dist/types/components/index.d.ts +3 -3
  84. package/dist/types/components/index.d.ts.map +1 -1
  85. package/dist/types/conditions/condition-abstract.d.ts +1 -1
  86. package/dist/types/conditions/condition-abstract.d.ts.map +1 -1
  87. package/dist/types/conditions/condition-field.d.ts +1 -1
  88. package/dist/types/conditions/condition-field.d.ts.map +1 -1
  89. package/dist/types/conditions/condition-group-def.d.ts +2 -2
  90. package/dist/types/conditions/condition-group-def.d.ts.map +1 -1
  91. package/dist/types/conditions/condition-group.d.ts +2 -2
  92. package/dist/types/conditions/condition-group.d.ts.map +1 -1
  93. package/dist/types/conditions/condition-model.d.ts +5 -5
  94. package/dist/types/conditions/condition-model.d.ts.map +1 -1
  95. package/dist/types/conditions/condition-operators.d.ts +2 -2
  96. package/dist/types/conditions/condition-operators.d.ts.map +1 -1
  97. package/dist/types/conditions/condition-ref.d.ts +2 -2
  98. package/dist/types/conditions/condition-ref.d.ts.map +1 -1
  99. package/dist/types/conditions/condition-value-abstract.d.ts +1 -1
  100. package/dist/types/conditions/condition-value-abstract.d.ts.map +1 -1
  101. package/dist/types/conditions/condition-values.d.ts +3 -3
  102. package/dist/types/conditions/condition-values.d.ts.map +1 -1
  103. package/dist/types/conditions/condition.d.ts +4 -4
  104. package/dist/types/conditions/condition.d.ts.map +1 -1
  105. package/dist/types/conditions/index.d.ts +10 -10
  106. package/dist/types/conditions/index.d.ts.map +1 -1
  107. package/dist/types/conditions/types.d.ts +3 -3
  108. package/dist/types/conditions/types.d.ts.map +1 -1
  109. package/dist/types/data-model/conditions-wrapper.d.ts +1 -1
  110. package/dist/types/data-model/conditions-wrapper.d.ts.map +1 -1
  111. package/dist/types/data-model/index.d.ts +3 -3
  112. package/dist/types/data-model/index.d.ts.map +1 -1
  113. package/dist/types/data-model/input-wrapper.d.ts +2 -2
  114. package/dist/types/data-model/input-wrapper.d.ts.map +1 -1
  115. package/dist/types/data-model/types.d.ts +3 -3
  116. package/dist/types/data-model/types.d.ts.map +1 -1
  117. package/dist/types/form/index.d.ts +1 -1
  118. package/dist/types/form/index.d.ts.map +1 -1
  119. package/dist/types/index.d.ts +11 -11
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/migration/index.d.ts +1 -1
  122. package/dist/types/migration/index.d.ts.map +1 -1
  123. package/dist/types/migration/migration.0-2.d.ts +1 -1
  124. package/dist/types/migration/migration.0-2.d.ts.map +1 -1
  125. package/dist/types/migration/migration.1-2.d.ts +1 -1
  126. package/dist/types/migration/migration.1-2.d.ts.map +1 -1
  127. package/dist/types/migration/whichMigrations.d.ts +1 -1
  128. package/dist/types/migration/whichMigrations.d.ts.map +1 -1
  129. package/dist/types/schema/index.d.ts +1 -1
  130. package/dist/types/schema/index.d.ts.map +1 -1
  131. package/package.json +3 -4
  132. package/src/components/component-types.ts +1 -1
  133. package/src/components/conditional-component-types.ts +1 -1
  134. package/src/components/index.ts +3 -3
  135. package/src/conditions/condition-abstract.ts +1 -1
  136. package/src/conditions/condition-field.ts +2 -2
  137. package/src/conditions/condition-group-def.ts +1 -1
  138. package/src/conditions/condition-group.ts +3 -3
  139. package/src/conditions/condition-model.ts +9 -9
  140. package/src/conditions/condition-operators.ts +6 -3
  141. package/src/conditions/condition-ref.ts +2 -2
  142. package/src/conditions/condition-value-abstract.ts +1 -1
  143. package/src/conditions/condition-values.ts +3 -3
  144. package/src/conditions/condition.ts +6 -6
  145. package/src/conditions/index.ts +10 -10
  146. package/src/conditions/inline-condition-model.ts +3 -3
  147. package/src/conditions/inline-condition-operators.ts +1 -1
  148. package/src/conditions/types.ts +3 -3
  149. package/src/data-model/conditions-wrapper.ts +2 -2
  150. package/src/data-model/index.ts +3 -3
  151. package/src/data-model/input-wrapper.ts +3 -3
  152. package/src/data-model/types.ts +3 -3
  153. package/src/form/index.ts +1 -1
  154. package/src/index.ts +11 -11
  155. package/src/migration/index.ts +1 -1
  156. package/src/migration/migration.0-2.ts +1 -1
  157. package/src/migration/migration.1-2.ts +2 -2
  158. package/src/migration/whichMigrations.ts +3 -3
  159. package/src/schema/index.ts +1 -1
  160. package/dist/browser/components/component-types.js +0 -220
  161. package/dist/browser/components/component-types.js.map +0 -1
  162. package/dist/browser/components/conditional-component-types.js +0 -28
  163. package/dist/browser/components/conditional-component-types.js.map +0 -1
  164. package/dist/browser/components/enums.js +0 -46
  165. package/dist/browser/components/enums.js.map +0 -1
  166. package/dist/browser/components/index.js +0 -36
  167. package/dist/browser/components/index.js.map +0 -1
  168. package/dist/browser/components/types.js +0 -16
  169. package/dist/browser/components/types.js.map +0 -1
  170. package/dist/browser/conditions/condition-abstract.js +0 -62
  171. package/dist/browser/conditions/condition-abstract.js.map +0 -1
  172. package/dist/browser/conditions/condition-field.js +0 -45
  173. package/dist/browser/conditions/condition-field.js.map +0 -1
  174. package/dist/browser/conditions/condition-group-def.js +0 -45
  175. package/dist/browser/conditions/condition-group-def.js.map +0 -1
  176. package/dist/browser/conditions/condition-group.js +0 -64
  177. package/dist/browser/conditions/condition-group.js.map +0 -1
  178. package/dist/browser/conditions/condition-model.js +0 -214
  179. package/dist/browser/conditions/condition-model.js.map +0 -1
  180. package/dist/browser/conditions/condition-operators.js +0 -132
  181. package/dist/browser/conditions/condition-operators.js.map +0 -1
  182. package/dist/browser/conditions/condition-ref.js +0 -51
  183. package/dist/browser/conditions/condition-ref.js.map +0 -1
  184. package/dist/browser/conditions/condition-value-abstract.js +0 -41
  185. package/dist/browser/conditions/condition-value-abstract.js.map +0 -1
  186. package/dist/browser/conditions/condition-value-registration.js +0 -37
  187. package/dist/browser/conditions/condition-value-registration.js.map +0 -1
  188. package/dist/browser/conditions/condition-values.js +0 -127
  189. package/dist/browser/conditions/condition-values.js.map +0 -1
  190. package/dist/browser/conditions/condition.js +0 -56
  191. package/dist/browser/conditions/condition.js.map +0 -1
  192. package/dist/browser/conditions/enums.js +0 -24
  193. package/dist/browser/conditions/enums.js.map +0 -1
  194. package/dist/browser/conditions/helpers.js +0 -26
  195. package/dist/browser/conditions/helpers.js.map +0 -1
  196. package/dist/browser/conditions/index.js +0 -144
  197. package/dist/browser/conditions/index.js.map +0 -1
  198. package/dist/browser/conditions/inline-condition-model.js +0 -418
  199. package/dist/browser/conditions/inline-condition-model.js.map +0 -1
  200. package/dist/browser/conditions/inline-condition-operators.js +0 -132
  201. package/dist/browser/conditions/inline-condition-operators.js.map +0 -1
  202. package/dist/browser/conditions/inline-condition-values.js +0 -159
  203. package/dist/browser/conditions/inline-condition-values.js.map +0 -1
  204. package/dist/browser/conditions/types.js +0 -16
  205. package/dist/browser/conditions/types.js.map +0 -1
  206. package/dist/browser/data-model/conditions-wrapper.js +0 -49
  207. package/dist/browser/data-model/conditions-wrapper.js.map +0 -1
  208. package/dist/browser/data-model/enums.js +0 -25
  209. package/dist/browser/data-model/enums.js.map +0 -1
  210. package/dist/browser/data-model/index.js +0 -36
  211. package/dist/browser/data-model/index.js.map +0 -1
  212. package/dist/browser/data-model/input-wrapper.js +0 -49
  213. package/dist/browser/data-model/input-wrapper.js.map +0 -1
  214. package/dist/browser/data-model/types.js +0 -27
  215. package/dist/browser/data-model/types.js.map +0 -1
  216. package/dist/browser/form/form-configuration.js +0 -38
  217. package/dist/browser/form/form-configuration.js.map +0 -1
  218. package/dist/browser/form/index.js +0 -24
  219. package/dist/browser/form/index.js.map +0 -1
  220. package/dist/browser/index.js +0 -98
  221. package/dist/browser/index.js.map +0 -1
  222. package/dist/browser/migration/index.js +0 -24
  223. package/dist/browser/migration/index.js.map +0 -1
  224. package/dist/browser/migration/migration.0-2.js +0 -65
  225. package/dist/browser/migration/migration.0-2.js.map +0 -1
  226. package/dist/browser/migration/migration.1-2.js +0 -108
  227. package/dist/browser/migration/migration.1-2.js.map +0 -1
  228. package/dist/browser/migration/types.js +0 -16
  229. package/dist/browser/migration/types.js.map +0 -1
  230. package/dist/browser/migration/whichMigrations.js +0 -38
  231. package/dist/browser/migration/whichMigrations.js.map +0 -1
  232. package/dist/browser/schema/index.js +0 -30
  233. package/dist/browser/schema/index.js.map +0 -1
  234. package/dist/browser/schema/schema.js +0 -255
  235. package/dist/browser/schema/schema.js.map +0 -1
  236. package/dist/browser/utils/helpers.js +0 -48
  237. package/dist/browser/utils/helpers.js.map +0 -1
  238. package/dist/browser/utils/logger.js +0 -46
  239. package/dist/browser/utils/logger.js.map +0 -1
@@ -1,65 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define(["exports"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports);
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports);
11
- global.migration02 = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
14
- "use strict";
15
-
16
- _exports.__esModule = true;
17
- _exports.migrate = migrate;
18
- const _excluded = ["list"];
19
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
25
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
- function needsUpgrade(data) {
27
- var _data$pages;
28
- return !!((_data$pages = data.pages) !== null && _data$pages !== void 0 ? _data$pages : []).flatMap(page => page.components).find(component => {
29
- var _component$options;
30
- return (_component$options = component.options) === null || _component$options === void 0 ? void 0 : _component$options.list;
31
- });
32
- }
33
- function migrate(data) {
34
- if (!needsUpgrade(data)) {
35
- return _objectSpread(_objectSpread({}, data), {}, {
36
- version: 2
37
- });
38
- }
39
- const {
40
- pages
41
- } = data;
42
- const newPages = pages.flatMap(page => {
43
- return page.components.map(component => {
44
- var _component$options2;
45
- if (!((_component$options2 = component.options) !== null && _component$options2 !== void 0 && _component$options2.list)) {
46
- return component;
47
- }
48
- const _component$options3 = component.options,
49
- {
50
- list
51
- } = _component$options3,
52
- rest = _objectWithoutProperties(_component$options3, _excluded);
53
- return _objectSpread(_objectSpread({}, component), {}, {
54
- list,
55
- options: _objectSpread({}, rest)
56
- });
57
- });
58
- });
59
- return _objectSpread(_objectSpread({}, data), {}, {
60
- pages: newPages,
61
- version: 2
62
- });
63
- }
64
- });
65
- //# sourceMappingURL=migration.0-2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration.0-2.js","names":["needsUpgrade","data","_data$pages","pages","flatMap","page","components","find","component","_component$options","options","list","migrate","_objectSpread","version","newPages","map","_component$options2","_component$options3","rest","_objectWithoutProperties","_excluded"],"sources":["../../../src/migration/migration.0-2.ts"],"sourcesContent":["import { type MigrationScript } from '~/src/migration/types'\n\nfunction needsUpgrade(data) {\n return !!(data.pages ?? [])\n .flatMap((page) => page.components)\n .find((component) => component.options?.list)\n}\n\nexport function migrate(data): MigrationScript {\n if (!needsUpgrade(data)) {\n return { ...data, version: 2 }\n }\n const { pages } = data\n const newPages = pages.flatMap((page) => {\n return page.components.map((component) => {\n if (!component.options?.list) {\n return component\n }\n const { list, ...rest } = component.options\n return { ...component, list, options: { ...rest } }\n })\n })\n\n return {\n ...data,\n pages: newPages,\n version: 2\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAEA,SAASA,YAAYA,CAACC,IAAI,EAAE;IAAA,IAAAC,WAAA;IAC1B,OAAO,CAAC,CAAC,EAAAA,WAAA,GAACD,IAAI,CAACE,KAAK,cAAAD,WAAA,cAAAA,WAAA,GAAI,EAAE,EACvBE,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAACC,UAAU,CAAC,CAClCC,IAAI,CAAEC,SAAS;MAAA,IAAAC,kBAAA;MAAA,QAAAA,kBAAA,GAAKD,SAAS,CAACE,OAAO,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBE,IAAI;IAAA,EAAC;EACjD;EAEO,SAASC,OAAOA,CAACX,IAAI,EAAmB;IAC7C,IAAI,CAACD,YAAY,CAACC,IAAI,CAAC,EAAE;MACvB,OAAAY,aAAA,CAAAA,aAAA,KAAYZ,IAAI;QAAEa,OAAO,EAAE;MAAC;IAC9B;IACA,MAAM;MAAEX;IAAM,CAAC,GAAGF,IAAI;IACtB,MAAMc,QAAQ,GAAGZ,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAK;MACvC,OAAOA,IAAI,CAACC,UAAU,CAACU,GAAG,CAAER,SAAS,IAAK;QAAA,IAAAS,mBAAA;QACxC,IAAI,GAAAA,mBAAA,GAACT,SAAS,CAACE,OAAO,cAAAO,mBAAA,eAAjBA,mBAAA,CAAmBN,IAAI,GAAE;UAC5B,OAAOH,SAAS;QAClB;QACA,MAAAU,mBAAA,GAA0BV,SAAS,CAACE,OAAO;UAArC;YAAEC;UAAc,CAAC,GAAAO,mBAAA;UAANC,IAAI,GAAAC,wBAAA,CAAAF,mBAAA,EAAAG,SAAA;QACrB,OAAAR,aAAA,CAAAA,aAAA,KAAYL,SAAS;UAAEG,IAAI;UAAED,OAAO,EAAAG,aAAA,KAAOM,IAAI;QAAE;MACnD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAAN,aAAA,CAAAA,aAAA,KACKZ,IAAI;MACPE,KAAK,EAAEY,QAAQ;MACfD,OAAO,EAAE;IAAC;EAEd;AAAC"}
@@ -1,108 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define(["exports", "../utils/helpers"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports, require("../utils/helpers"));
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports, global.helpers);
11
- global.migration12 = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _helpers) {
14
- "use strict";
15
-
16
- _exports.__esModule = true;
17
- _exports.migrate = migrate;
18
- const _excluded = ["values"];
19
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
25
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
- /**
27
- * @private
28
- * StaticItem is a deprecated Type.
29
- * It should only be used for aiding migration scripts.
30
- */
31
-
32
- /**
33
- * @private
34
- * StaticComponentValues is a deprecated Type.
35
- * It should only be used for aiding migration scripts.
36
- */
37
-
38
- function recastItem({
39
- label,
40
- value,
41
- condition,
42
- hint
43
- }) {
44
- const item = {
45
- title: label,
46
- value
47
- };
48
- condition && (item.conditions = condition);
49
- hint && (item.hint = hint);
50
- return item;
51
- }
52
- function addListId(component) {
53
- if (!component.values) {
54
- return component;
55
- }
56
- const {
57
- values
58
- } = component;
59
- return _objectSpread(_objectSpread({}, component), {}, {
60
- list: values.type === 'listRef' ? values.list : (0, _helpers.nanoid)()
61
- });
62
- }
63
- function migratePage(page) {
64
- return _objectSpread(_objectSpread({}, page), {}, {
65
- components: page.components.map(addListId)
66
- });
67
- }
68
- function removeValues(page) {
69
- return _objectSpread(_objectSpread({}, page), {}, {
70
- components: page.components.map(component => {
71
- const {
72
- values
73
- } = component,
74
- rest = _objectWithoutProperties(component, _excluded);
75
- return _objectSpread({}, rest);
76
- })
77
- });
78
- }
79
- function needsUpgrade(data) {
80
- return !!data.pages.flatMap(page => page.components).find(component => component.values);
81
- }
82
- function migrate(data) {
83
- var _data$lists;
84
- if (!needsUpgrade(data)) {
85
- return _objectSpread(_objectSpread({}, data), {}, {
86
- version: 2
87
- });
88
- }
89
- const pages = data.pages.map(migratePage);
90
- const componentsWithList = pages.flatMap(page => page.components.filter(c => {
91
- var _c$values;
92
- return (_c$values = c.values) === null || _c$values === void 0 ? void 0 : _c$values.items;
93
- }));
94
- const valuesAsLists = componentsWithList.map(component => {
95
- return {
96
- title: component.title,
97
- name: component.list,
98
- items: component.values.items.map(item => recastItem(item))
99
- };
100
- });
101
- return _objectSpread(_objectSpread({}, data), {}, {
102
- pages: pages.map(removeValues),
103
- lists: [...((_data$lists = data.lists) !== null && _data$lists !== void 0 ? _data$lists : []), ...valuesAsLists],
104
- version: 2
105
- });
106
- }
107
- });
108
- //# sourceMappingURL=migration.1-2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migration.1-2.js","names":["recastItem","label","value","condition","hint","item","title","conditions","addListId","component","values","_objectSpread","list","type","nanoid","migratePage","page","components","map","removeValues","rest","_objectWithoutProperties","_excluded","needsUpgrade","data","pages","flatMap","find","migrate","_data$lists","version","componentsWithList","filter","c","_c$values","items","valuesAsLists","name","lists"],"sources":["../../../src/migration/migration.1-2.ts"],"sourcesContent":["import { nanoid } from '~/src/utils/helpers'\nimport { type MigrationScript } from '~/src/migration/types'\n\n/**\n * @private\n * StaticItem is a deprecated Type.\n * It should only be used for aiding migration scripts.\n */\ntype StaticItem = {\n label: string\n value: string | number | boolean\n hint?: string\n condition?: string\n}\n\n/**\n * @private\n * StaticComponentValues is a deprecated Type.\n * It should only be used for aiding migration scripts.\n */\ntype StaticComponentValues = {\n list: any\n type: 'static' | 'listRef'\n valueType: string | number\n items: StaticItem[]\n}\n\ntype Item = {\n title: string\n value: any\n conditions?: any\n hint?: string\n}\n\nfunction recastItem({ label, value, condition, hint }: StaticItem) {\n const item: Item = {\n title: label,\n value\n }\n\n condition && (item.conditions = condition)\n hint && (item.hint = hint)\n return item\n}\n\nfunction addListId(component: { values: StaticComponentValues }) {\n if (!component.values) {\n return component\n }\n const { values } = component\n return {\n ...component,\n list: values.type === 'listRef' ? values.list : nanoid()\n }\n}\n\nfunction migratePage(page) {\n return {\n ...page,\n components: page.components.map(addListId)\n }\n}\n\nfunction removeValues(page) {\n return {\n ...page,\n components: page.components.map((component) => {\n const { values, ...rest } = component\n return {\n ...rest\n }\n })\n }\n}\n\nfunction needsUpgrade(data) {\n return !!data.pages\n .flatMap((page) => page.components)\n .find((component) => component.values)\n}\n\nexport function migrate(data): MigrationScript {\n if (!needsUpgrade(data)) {\n return { ...data, version: 2 }\n }\n const pages = data.pages.map(migratePage)\n const componentsWithList = pages.flatMap((page) =>\n page.components.filter((c) => c.values?.items)\n )\n\n const valuesAsLists = componentsWithList.map((component) => {\n return {\n title: component.title,\n name: component.list,\n items: component.values.items.map((item) => recastItem(item))\n }\n })\n\n return {\n ...data,\n pages: pages.map(removeValues),\n lists: [...(data.lists ?? []), ...valuesAsLists],\n version: 2\n }\n}\n"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define([], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory();
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory();
11
- global.types = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function () {
14
- "use strict";
15
- });
16
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/migration/types.ts"],"sourcesContent":["export type MigrationScript = (data: Object) => Object\n"],"mappings":""}
@@ -1,38 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define(["exports", "./migration.0-2", "./migration.1-2"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports, require("./migration.0-2"), require("./migration.1-2"));
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports, global.migration, global.migration);
11
- global.whichMigrations = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _migration, _migration2) {
14
- "use strict";
15
-
16
- _exports.__esModule = true;
17
- _exports.whichMigrations = whichMigrations;
18
- /**
19
- * Returns which migrations that should be run against your Object with the given version
20
- * @param version
21
- */
22
- function whichMigrations(version) {
23
- const migrations = new Set();
24
- switch (version) {
25
- case 0:
26
- migrations.add(_migration.migrate);
27
- /**
28
- * we are skipping v1 entirely. If we weren't you would do migrations.add([V1_TO_V2, V2_TO_V3]) for example.
29
- */
30
- break;
31
- case 1:
32
- migrations.add(_migration2.migrate);
33
- break;
34
- }
35
- return migrations;
36
- }
37
- });
38
- //# sourceMappingURL=whichMigrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whichMigrations.js","names":["whichMigrations","version","migrations","Set","add","V0_TO_V2","V1_TO_V2"],"sources":["../../../src/migration/whichMigrations.ts"],"sourcesContent":["import { migrate as V0_TO_V2 } from '~/src/migration/migration.0-2'\nimport { migrate as V1_TO_V2 } from '~/src/migration/migration.1-2'\nimport { type MigrationScript } from '~/src/migration/types'\n\n/**\n * Returns which migrations that should be run against your Object with the given version\n * @param version\n */\nexport function whichMigrations(version: number) {\n const migrations = new Set<MigrationScript>()\n switch (version) {\n case 0:\n migrations.add(V0_TO_V2)\n /**\n * we are skipping v1 entirely. If we weren't you would do migrations.add([V1_TO_V2, V2_TO_V3]) for example.\n */\n break\n case 1:\n migrations.add(V1_TO_V2)\n break\n }\n return migrations\n}\n"],"mappings":";;;;;;;;;;;;;;;;;EAIA;AACA;AACA;AACA;EACO,SAASA,eAAeA,CAACC,OAAe,EAAE;IAC/C,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAkB,CAAC;IAC7C,QAAQF,OAAO;MACb,KAAK,CAAC;QACJC,UAAU,CAACE,GAAG,CAACC,kBAAQ,CAAC;QACxB;AACN;AACA;QACM;MACF,KAAK,CAAC;QACJH,UAAU,CAACE,GAAG,CAACE,mBAAQ,CAAC;QACxB;IACJ;IACA,OAAOJ,UAAU;EACnB;AAAC"}
@@ -1,30 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define(["exports", "./schema"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports, require("./schema"));
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports, global.schema);
11
- global.index = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _schema) {
14
- "use strict";
15
-
16
- _exports.__esModule = true;
17
- Object.defineProperty(_exports, "Schema", {
18
- enumerable: true,
19
- get: function () {
20
- return _schema.Schema;
21
- }
22
- });
23
- Object.defineProperty(_exports, "componentSchema", {
24
- enumerable: true,
25
- get: function () {
26
- return _schema.componentSchema;
27
- }
28
- });
29
- });
30
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/schema/index.ts"],"sourcesContent":["export { Schema, componentSchema } from '~/src/schema/schema'\n"],"mappings":""}
@@ -1,255 +0,0 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define(["exports", "joi"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports, require("joi"));
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports, global.joi);
11
- global.schema = mod.exports;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _joi) {
14
- "use strict";
15
-
16
- _exports.__esModule = true;
17
- _exports.componentSchema = _exports.Schema = _exports.CURRENT_VERSION = void 0;
18
- _joi = _interopRequireDefault(_joi);
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
24
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
- /**
26
- * If an optional key is added, CURRENT_VERSION does not need to be incremented.
27
- * Only breaking changes will require an increment, as well as a migration script.
28
- */
29
- const CURRENT_VERSION = _exports.CURRENT_VERSION = 2;
30
- const sectionsSchema = _joi.default.object().keys({
31
- name: _joi.default.string().required(),
32
- title: _joi.default.string().required(),
33
- hideTitle: _joi.default.boolean().default(false)
34
- });
35
- const conditionFieldSchema = _joi.default.object().keys({
36
- name: _joi.default.string().required(),
37
- type: _joi.default.string().required(),
38
- display: _joi.default.string().required()
39
- });
40
- const conditionValueSchema = _joi.default.object().keys({
41
- type: _joi.default.string().required(),
42
- value: _joi.default.string().required(),
43
- display: _joi.default.string().required()
44
- });
45
- const relativeTimeValueSchema = _joi.default.object().keys({
46
- type: _joi.default.string().required(),
47
- timePeriod: _joi.default.string().required(),
48
- timeUnit: _joi.default.string().required(),
49
- direction: _joi.default.string().required(),
50
- timeOnly: _joi.default.boolean().required()
51
- });
52
- const conditionRefSchema = _joi.default.object().keys({
53
- conditionName: _joi.default.string().required(),
54
- conditionDisplayName: _joi.default.string().required(),
55
- coordinator: _joi.default.string().optional()
56
- });
57
- const conditionSchema = _joi.default.object().keys({
58
- field: conditionFieldSchema,
59
- operator: _joi.default.string().required(),
60
- value: _joi.default.alternatives().try(conditionValueSchema, relativeTimeValueSchema),
61
- coordinator: _joi.default.string().optional()
62
- });
63
- const conditionGroupSchema = _joi.default.object().keys({
64
- conditions: _joi.default.array().items(_joi.default.alternatives().try(conditionSchema, conditionRefSchema, _joi.default.any() /** Should be a joi.link('#conditionGroupSchema') */))
65
- });
66
- const conditionsModelSchema = _joi.default.object().keys({
67
- name: _joi.default.string().required(),
68
- conditions: _joi.default.array().items(_joi.default.alternatives().try(conditionSchema, conditionRefSchema, conditionGroupSchema))
69
- });
70
- const conditionsSchema = _joi.default.object().keys({
71
- name: _joi.default.string().required(),
72
- displayName: _joi.default.string(),
73
- value: _joi.default.alternatives().try(_joi.default.string(), conditionsModelSchema).required()
74
- });
75
- const localisedString = _joi.default.alternatives().try(_joi.default.object({
76
- a: _joi.default.any()
77
- }).unknown(), _joi.default.string().allow(''));
78
- const componentSchema = _exports.componentSchema = _joi.default.object().keys({
79
- type: _joi.default.string().required(),
80
- name: _joi.default.string(),
81
- title: localisedString,
82
- hint: localisedString.optional(),
83
- options: _joi.default.object().default({}),
84
- schema: _joi.default.object({
85
- min: _joi.default.number(),
86
- max: _joi.default.number()
87
- }).unknown(true).default({}),
88
- list: _joi.default.string().optional()
89
- }).unknown(true);
90
- const nextSchema = _joi.default.object().keys({
91
- path: _joi.default.string().required(),
92
- condition: _joi.default.string().allow('').optional(),
93
- redirect: _joi.default.string().uri().optional()
94
- });
95
-
96
- /**
97
- * `/status` is a special route for providing a user's application status.
98
- * It should not be configured via the designer.
99
- */
100
- const pageSchema = _joi.default.object().keys({
101
- path: _joi.default.string().required().disallow('/status'),
102
- title: localisedString,
103
- section: _joi.default.string(),
104
- controller: _joi.default.string(),
105
- components: _joi.default.array().items(componentSchema),
106
- next: _joi.default.array().items(nextSchema),
107
- repeatField: _joi.default.string().optional(),
108
- options: _joi.default.object().optional(),
109
- backLinkFallback: _joi.default.string().optional()
110
- });
111
- const toggleableString = _joi.default.alternatives().try(_joi.default.boolean(), _joi.default.string());
112
- const confirmationPageSchema = _joi.default.object({
113
- customText: _joi.default.object({
114
- title: _joi.default.string().default('Application complete'),
115
- paymentSkipped: toggleableString.default('Someone will be in touch to make a payment.'),
116
- nextSteps: toggleableString.default('You will receive an email with details with the next steps.')
117
- }).default(),
118
- components: _joi.default.array().items(componentSchema)
119
- });
120
- const paymentSkippedWarningPage = _joi.default.object({
121
- customText: _joi.default.object({
122
- title: _joi.default.string().default('Pay for your application').optional(),
123
- caption: _joi.default.string().default('Payment').optional(),
124
- body: _joi.default.string().default('').optional()
125
- })
126
- });
127
- const specialPagesSchema = _joi.default.object().keys({
128
- confirmationPage: confirmationPageSchema.optional(),
129
- paymentSkippedWarningPage: paymentSkippedWarningPage.optional()
130
- });
131
- const listItemSchema = _joi.default.object().keys({
132
- text: localisedString,
133
- value: _joi.default.alternatives().try(_joi.default.number(), _joi.default.string()),
134
- description: localisedString.optional(),
135
- conditional: _joi.default.object().keys({
136
- components: _joi.default.array().required().items(componentSchema.unknown(true)).unique('name')
137
- }).allow(null).optional(),
138
- condition: _joi.default.string().allow(null, '').optional()
139
- });
140
- const listSchema = _joi.default.object().keys({
141
- name: _joi.default.string().required(),
142
- title: localisedString,
143
- type: _joi.default.string().required().valid('string', 'number'),
144
- items: _joi.default.array().items(listItemSchema)
145
- });
146
- const feeSchema = _joi.default.object().keys({
147
- description: _joi.default.string().required(),
148
- amount: _joi.default.number().required(),
149
- multiplier: _joi.default.string().optional(),
150
- condition: _joi.default.string().optional(),
151
- prefix: _joi.default.string().optional()
152
- });
153
- const multiApiKeySchema = _joi.default.object({
154
- test: _joi.default.string().optional(),
155
- production: _joi.default.string().optional()
156
- });
157
- const replyToConfigurationSchema = _joi.default.object({
158
- emailReplyToId: _joi.default.string(),
159
- condition: _joi.default.string().allow('').optional()
160
- });
161
- const notifySchema = _joi.default.object().keys({
162
- apiKey: [_joi.default.string().allow('').optional(), multiApiKeySchema],
163
- templateId: _joi.default.string(),
164
- emailField: _joi.default.string(),
165
- personalisation: _joi.default.array().items(_joi.default.string()),
166
- personalisationFieldCustomisation: _joi.default.object().pattern(/./, _joi.default.array().items(_joi.default.string())).optional(),
167
- addReferencesToPersonalisation: _joi.default.boolean().optional(),
168
- emailReplyToIdConfiguration: _joi.default.array().items(replyToConfigurationSchema)
169
- });
170
- const emailSchema = _joi.default.object().keys({
171
- emailAddress: _joi.default.string()
172
- });
173
- const webhookSchema = _joi.default.object().keys({
174
- url: _joi.default.string(),
175
- allowRetry: _joi.default.boolean().default(true)
176
- });
177
- const outputSchema = _joi.default.object().keys({
178
- name: _joi.default.string(),
179
- title: _joi.default.string().optional(),
180
- type: _joi.default.string().allow('notify', 'email', 'webhook', 'sheets'),
181
- outputConfiguration: _joi.default.alternatives().try(notifySchema, emailSchema, webhookSchema)
182
- });
183
- const feedbackSchema = _joi.default.object().keys({
184
- feedbackForm: _joi.default.boolean().default(false),
185
- url: _joi.default.when('feedbackForm', {
186
- is: _joi.default.boolean().valid(false),
187
- then: _joi.default.string().optional().allow('')
188
- }),
189
- emailAddress: _joi.default.string().email({
190
- tlds: {
191
- allow: false
192
- }
193
- }).optional()
194
- });
195
- const phaseBannerSchema = _joi.default.object().keys({
196
- phase: _joi.default.string().valid('alpha', 'beta')
197
- });
198
- const feeOptionSchema = _joi.default.object().keys({
199
- payApiKey: [_joi.default.string().allow('').optional(), multiApiKeySchema],
200
- paymentReferenceFormat: [_joi.default.string().optional()],
201
- payReturnUrl: _joi.default.string().optional(),
202
- allowSubmissionWithoutPayment: _joi.default.boolean().optional().default(true),
203
- maxAttempts: _joi.default.number().optional().default(3),
204
- customPayErrorMessage: _joi.default.string().optional(),
205
- showPaymentSkippedWarningPage: _joi.default.when('allowSubmissionWithoutPayment', {
206
- is: true,
207
- then: _joi.default.boolean().valid(true, false).default(false),
208
- otherwise: _joi.default.boolean().valid(false).default(false)
209
- })
210
- }).default(({
211
- payApiKey,
212
- paymentReferenceFormat
213
- }) => {
214
- return _objectSpread(_objectSpread({}, payApiKey && {
215
- payApiKey
216
- }), paymentReferenceFormat && {
217
- paymentReferenceFormat
218
- });
219
- });
220
- const Schema = _exports.Schema = _joi.default.object().required().keys({
221
- name: localisedString.optional(),
222
- feedback: feedbackSchema,
223
- startPage: _joi.default.string().required(),
224
- pages: _joi.default.array().required().items(pageSchema).unique('path'),
225
- sections: _joi.default.array().items(sectionsSchema).unique('name').required(),
226
- conditions: _joi.default.array().items(conditionsSchema).unique('name'),
227
- lists: _joi.default.array().items(listSchema).unique('name'),
228
- fees: _joi.default.array().items(feeSchema).optional(),
229
- paymentReferenceFormat: _joi.default.string().optional(),
230
- metadata: _joi.default.object({
231
- a: _joi.default.any()
232
- }).unknown().optional(),
233
- declaration: _joi.default.string().allow('').optional(),
234
- outputs: _joi.default.array().items(outputSchema),
235
- payApiKey: [_joi.default.string().allow('').optional(), multiApiKeySchema],
236
- skipSummary: _joi.default.boolean().default(false),
237
- version: _joi.default.number().default(CURRENT_VERSION),
238
- phaseBanner: phaseBannerSchema,
239
- specialPages: specialPagesSchema.optional(),
240
- feeOptions: feeOptionSchema
241
- });
242
-
243
- /**
244
- * Schema versions:
245
- * Undefined / 0 - initial version as at 28/8/20. Conditions may be in object structure or string form.
246
- * 1 - Relevant components (radio, checkbox, select, autocomplete) now contain
247
- * options as 'values' rather than referencing a data list
248
- * 2 - Reverse v1. Values populating radio, checkboxes, select, autocomplete are defined in Lists only.
249
- * TODO:- merge fees and paymentReferenceFormat
250
- * 2 - 2023-05-04 `feeOptions` has been introduced. paymentReferenceFormat and payApiKey can be configured in top level or feeOptions. feeOptions will take precedent.
251
- * if feeOptions are empty, it will pull values from the top level keys.
252
- * WARN: Fee/GOV.UK pay configurations (apart from fees) should no longer be stored in the top level, always within feeOptions.
253
- **/
254
- });
255
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","names":["CURRENT_VERSION","_exports","sectionsSchema","joi","object","keys","name","string","required","title","hideTitle","boolean","default","conditionFieldSchema","type","display","conditionValueSchema","value","relativeTimeValueSchema","timePeriod","timeUnit","direction","timeOnly","conditionRefSchema","conditionName","conditionDisplayName","coordinator","optional","conditionSchema","field","operator","alternatives","try","conditionGroupSchema","conditions","array","items","any","conditionsModelSchema","conditionsSchema","displayName","localisedString","a","unknown","allow","componentSchema","hint","options","schema","min","number","max","list","nextSchema","path","condition","redirect","uri","pageSchema","disallow","section","controller","components","next","repeatField","backLinkFallback","toggleableString","confirmationPageSchema","customText","paymentSkipped","nextSteps","paymentSkippedWarningPage","caption","body","specialPagesSchema","confirmationPage","listItemSchema","text","description","conditional","unique","listSchema","valid","feeSchema","amount","multiplier","prefix","multiApiKeySchema","test","production","replyToConfigurationSchema","emailReplyToId","notifySchema","apiKey","templateId","emailField","personalisation","personalisationFieldCustomisation","pattern","addReferencesToPersonalisation","emailReplyToIdConfiguration","emailSchema","emailAddress","webhookSchema","url","allowRetry","outputSchema","outputConfiguration","feedbackSchema","feedbackForm","when","is","then","email","tlds","phaseBannerSchema","phase","feeOptionSchema","payApiKey","paymentReferenceFormat","payReturnUrl","allowSubmissionWithoutPayment","maxAttempts","customPayErrorMessage","showPaymentSkippedWarningPage","otherwise","_objectSpread","Schema","feedback","startPage","pages","sections","lists","fees","metadata","declaration","outputs","skipSummary","version","phaseBanner","specialPages","feeOptions"],"sources":["../../../src/schema/schema.ts"],"sourcesContent":["import joi from 'joi'\n\n/**\n * If an optional key is added, CURRENT_VERSION does not need to be incremented.\n * Only breaking changes will require an increment, as well as a migration script.\n */\nexport const CURRENT_VERSION = 2\nconst sectionsSchema = joi.object().keys({\n name: joi.string().required(),\n title: joi.string().required(),\n hideTitle: joi.boolean().default(false)\n})\n\nconst conditionFieldSchema = joi.object().keys({\n name: joi.string().required(),\n type: joi.string().required(),\n display: joi.string().required()\n})\n\nconst conditionValueSchema = joi.object().keys({\n type: joi.string().required(),\n value: joi.string().required(),\n display: joi.string().required()\n})\n\nconst relativeTimeValueSchema = joi.object().keys({\n type: joi.string().required(),\n timePeriod: joi.string().required(),\n timeUnit: joi.string().required(),\n direction: joi.string().required(),\n timeOnly: joi.boolean().required()\n})\n\nconst conditionRefSchema = joi.object().keys({\n conditionName: joi.string().required(),\n conditionDisplayName: joi.string().required(),\n coordinator: joi.string().optional()\n})\n\nconst conditionSchema = joi.object().keys({\n field: conditionFieldSchema,\n operator: joi.string().required(),\n value: joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),\n coordinator: joi.string().optional()\n})\n\nconst conditionGroupSchema = joi.object().keys({\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(\n conditionSchema,\n conditionRefSchema,\n joi.any() /** Should be a joi.link('#conditionGroupSchema') */\n )\n )\n})\n\nconst conditionsModelSchema = joi.object().keys({\n name: joi.string().required(),\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(conditionSchema, conditionRefSchema, conditionGroupSchema)\n )\n})\n\nconst conditionsSchema = joi.object().keys({\n name: joi.string().required(),\n displayName: joi.string(),\n value: joi.alternatives().try(joi.string(), conditionsModelSchema).required()\n})\n\nconst localisedString = joi\n .alternatives()\n .try(joi.object({ a: joi.any() }).unknown(), joi.string().allow(''))\n\nexport const componentSchema = joi\n .object()\n .keys({\n type: joi.string().required(),\n name: joi.string(),\n title: localisedString,\n hint: localisedString.optional(),\n options: joi.object().default({}),\n schema: joi\n .object({ min: joi.number(), max: joi.number() })\n .unknown(true)\n .default({}),\n list: joi.string().optional()\n })\n .unknown(true)\n\nconst nextSchema = joi.object().keys({\n path: joi.string().required(),\n condition: joi.string().allow('').optional(),\n redirect: joi.string().uri().optional()\n})\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nconst pageSchema = joi.object().keys({\n path: joi.string().required().disallow('/status'),\n title: localisedString,\n section: joi.string(),\n controller: joi.string(),\n components: joi.array().items(componentSchema),\n next: joi.array().items(nextSchema),\n repeatField: joi.string().optional(),\n options: joi.object().optional(),\n backLinkFallback: joi.string().optional()\n})\n\nconst toggleableString = joi.alternatives().try(joi.boolean(), joi.string())\n\nconst confirmationPageSchema = joi.object({\n customText: joi\n .object({\n title: joi.string().default('Application complete'),\n paymentSkipped: toggleableString.default(\n 'Someone will be in touch to make a payment.'\n ),\n nextSteps: toggleableString.default(\n 'You will receive an email with details with the next steps.'\n )\n })\n .default(),\n components: joi.array().items(componentSchema)\n})\n\nconst paymentSkippedWarningPage = joi.object({\n customText: joi.object({\n title: joi.string().default('Pay for your application').optional(),\n caption: joi.string().default('Payment').optional(),\n body: joi.string().default('').optional()\n })\n})\n\nconst specialPagesSchema = joi.object().keys({\n confirmationPage: confirmationPageSchema.optional(),\n paymentSkippedWarningPage: paymentSkippedWarningPage.optional()\n})\n\nconst listItemSchema = joi.object().keys({\n text: localisedString,\n value: joi.alternatives().try(joi.number(), joi.string()),\n description: localisedString.optional(),\n conditional: joi\n .object()\n .keys({\n components: joi\n .array()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n })\n .allow(null)\n .optional(),\n condition: joi.string().allow(null, '').optional()\n})\n\nconst listSchema = joi.object().keys({\n name: joi.string().required(),\n title: localisedString,\n type: joi.string().required().valid('string', 'number'),\n items: joi.array().items(listItemSchema)\n})\n\nconst feeSchema = joi.object().keys({\n description: joi.string().required(),\n amount: joi.number().required(),\n multiplier: joi.string().optional(),\n condition: joi.string().optional(),\n prefix: joi.string().optional()\n})\n\nconst multiApiKeySchema = joi.object({\n test: joi.string().optional(),\n production: joi.string().optional()\n})\n\nconst replyToConfigurationSchema = joi.object({\n emailReplyToId: joi.string(),\n condition: joi.string().allow('').optional()\n})\n\nconst notifySchema = joi.object().keys({\n apiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n templateId: joi.string(),\n emailField: joi.string(),\n personalisation: joi.array().items(joi.string()),\n personalisationFieldCustomisation: joi\n .object()\n .pattern(/./, joi.array().items(joi.string()))\n .optional(),\n addReferencesToPersonalisation: joi.boolean().optional(),\n emailReplyToIdConfiguration: joi.array().items(replyToConfigurationSchema)\n})\n\nconst emailSchema = joi.object().keys({\n emailAddress: joi.string()\n})\n\nconst webhookSchema = joi.object().keys({\n url: joi.string(),\n allowRetry: joi.boolean().default(true)\n})\n\nconst outputSchema = joi.object().keys({\n name: joi.string(),\n title: joi.string().optional(),\n type: joi.string().allow('notify', 'email', 'webhook', 'sheets'),\n outputConfiguration: joi\n .alternatives()\n .try(notifySchema, emailSchema, webhookSchema)\n})\n\nconst feedbackSchema = joi.object().keys({\n feedbackForm: joi.boolean().default(false),\n url: joi.when('feedbackForm', {\n is: joi.boolean().valid(false),\n then: joi.string().optional().allow('')\n }),\n emailAddress: joi\n .string()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n})\n\nconst phaseBannerSchema = joi.object().keys({\n phase: joi.string().valid('alpha', 'beta')\n})\n\nconst feeOptionSchema = joi\n .object()\n .keys({\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n paymentReferenceFormat: [joi.string().optional()],\n payReturnUrl: joi.string().optional(),\n allowSubmissionWithoutPayment: joi.boolean().optional().default(true),\n maxAttempts: joi.number().optional().default(3),\n customPayErrorMessage: joi.string().optional(),\n showPaymentSkippedWarningPage: joi.when('allowSubmissionWithoutPayment', {\n is: true,\n then: joi.boolean().valid(true, false).default(false),\n otherwise: joi.boolean().valid(false).default(false)\n })\n })\n .default(({ payApiKey, paymentReferenceFormat }) => {\n return {\n ...(payApiKey && { payApiKey }),\n ...(paymentReferenceFormat && { paymentReferenceFormat })\n }\n })\n\nexport const Schema = joi\n .object()\n .required()\n .keys({\n name: localisedString.optional(),\n feedback: feedbackSchema,\n startPage: joi.string().required(),\n pages: joi.array().required().items(pageSchema).unique('path'),\n sections: joi.array().items(sectionsSchema).unique('name').required(),\n conditions: joi.array().items(conditionsSchema).unique('name'),\n lists: joi.array().items(listSchema).unique('name'),\n fees: joi.array().items(feeSchema).optional(),\n paymentReferenceFormat: joi.string().optional(),\n metadata: joi.object({ a: joi.any() }).unknown().optional(),\n declaration: joi.string().allow('').optional(),\n outputs: joi.array().items(outputSchema),\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n skipSummary: joi.boolean().default(false),\n version: joi.number().default(CURRENT_VERSION),\n phaseBanner: phaseBannerSchema,\n specialPages: specialPagesSchema.optional(),\n feeOptions: feeOptionSchema\n })\n\n/**\n * Schema versions:\n * Undefined / 0 - initial version as at 28/8/20. Conditions may be in object structure or string form.\n * 1 - Relevant components (radio, checkbox, select, autocomplete) now contain\n * options as 'values' rather than referencing a data list\n * 2 - Reverse v1. Values populating radio, checkboxes, select, autocomplete are defined in Lists only.\n * TODO:- merge fees and paymentReferenceFormat\n * 2 - 2023-05-04 `feeOptions` has been introduced. paymentReferenceFormat and payApiKey can be configured in top level or feeOptions. feeOptions will take precedent.\n * if feeOptions are empty, it will pull values from the top level keys.\n * WARN: Fee/GOV.UK pay configurations (apart from fees) should no longer be stored in the top level, always within feeOptions.\n **/\n"],"mappings":"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"}