@wise/dynamic-flow-client 3.4.1 → 3.5.0-experimental-6654c72

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 (260) hide show
  1. package/build/common/errorBoundary/ErrorBoundary.js +44 -0
  2. package/build/common/errorBoundary/ErrorBoundaryAlert.js +12 -0
  3. package/build/common/httpClientContext/HttpClientContext.js +35 -0
  4. package/build/common/httpClientContext/index.js +1 -0
  5. package/build/common/makeHttpClient/index.js +1 -0
  6. package/build/common/makeHttpClient/makeHttpClient.js +34 -0
  7. package/build/common/messages/external-confirmation.messages.js +23 -0
  8. package/build/common/messages/generic-error.messages.js +18 -0
  9. package/build/common/messages/help.messages.js +8 -0
  10. package/build/common/messages/multi-file-upload.messages.js +18 -0
  11. package/build/common/messages/multi-select.messages.js +8 -0
  12. package/build/common/messages/paragraph.messages.js +13 -0
  13. package/build/common/messages/repeatable.messages.js +23 -0
  14. package/build/common/messages/validation.array.messages.js +13 -0
  15. package/build/common/messages/validation.messages.js +53 -0
  16. package/build/common/utils/api-utils.js +4 -0
  17. package/build/i18n/index.js +36 -0
  18. package/build/legacy/common/constants/DateMode.js +4 -0
  19. package/build/legacy/common/constants/FeatureName.js +4 -0
  20. package/build/legacy/common/constants/FormControlType.js +21 -0
  21. package/build/legacy/common/constants/MonthFormat.js +4 -0
  22. package/build/legacy/common/constants/Size.js +7 -0
  23. package/build/legacy/common/constants/index.js +4 -0
  24. package/build/legacy/common/contexts/dynamicFlowContexts/DynamicFlowContexts.js +36 -0
  25. package/build/legacy/common/contexts/dynamicFlowContexts/usePendingPromiseCounter.js +13 -0
  26. package/build/legacy/common/contexts/eventsContext/EventsContext.js +38 -0
  27. package/build/legacy/common/contexts/featureContext/FeatureContext.js +22 -0
  28. package/build/legacy/common/contexts/index.js +3 -0
  29. package/build/legacy/common/contexts/logContext/LogContext.js +44 -0
  30. package/build/legacy/common/hooks/index.js +7 -0
  31. package/build/legacy/common/hooks/useDebouncedFunction/useDebouncedFunction.js +9 -0
  32. package/build/legacy/common/hooks/useExternal/useExternal.js +15 -0
  33. package/build/legacy/common/hooks/useExternalStepPolling/useExternalStepPolling.js +70 -0
  34. package/build/legacy/common/hooks/usePersistAsync/usePersistAsync.js +172 -0
  35. package/build/legacy/common/hooks/usePolling/usePolling.js +51 -0
  36. package/build/legacy/common/hooks/usePrevious/usePrevious.js +8 -0
  37. package/build/legacy/common/hooks/useStepPolling/useStepPolling.js +43 -0
  38. package/build/legacy/common/messages.js +8 -0
  39. package/build/legacy/common/utils/api-utils.js +6 -0
  40. package/build/legacy/common/utils/date-utils.js +22 -0
  41. package/build/legacy/common/utils/debounce.js +38 -0
  42. package/build/legacy/common/utils/file-utils.js +45 -0
  43. package/build/legacy/common/utils/id-utils.js +5 -0
  44. package/build/legacy/common/utils/index.js +11 -0
  45. package/build/legacy/common/utils/is-equal.js +21 -0
  46. package/build/legacy/common/utils/misc-utils.js +4 -0
  47. package/build/legacy/common/utils/mobile-utils.js +23 -0
  48. package/build/legacy/common/utils/model-utils.js +33 -0
  49. package/build/legacy/common/utils/schema-utils.js +113 -0
  50. package/build/legacy/common/utils/step-utils.js +32 -0
  51. package/build/legacy/common/validators/index.js +5 -0
  52. package/build/legacy/common/validators/models/model-utils.js +119 -0
  53. package/build/legacy/common/validators/models/model-validators.js +62 -0
  54. package/build/legacy/common/validators/schemas/schema-validators.js +101 -0
  55. package/build/legacy/common/validators/types/type-validators.js +14 -0
  56. package/build/legacy/common/validators/validationFailures/validation-failures.js +139 -0
  57. package/build/legacy/common/validators/validationFailures/validation-failures.utils.js +40 -0
  58. package/build/legacy/common/validators/values/value-validators.js +6 -0
  59. package/build/legacy/dynamic-flow-types.js +1 -0
  60. package/build/legacy/dynamicFlow/BackButton.js +22 -0
  61. package/build/legacy/dynamicFlow/DynamicFlow.js +346 -0
  62. package/build/legacy/dynamicFlow/DynamicFlowStep.js +37 -0
  63. package/build/legacy/dynamicFlow/DynamicFlowTypes.js +1 -0
  64. package/build/legacy/dynamicFlow/index.js +1 -0
  65. package/build/legacy/dynamicFlow/utils/index.js +5 -0
  66. package/build/legacy/dynamicFlow/utils/responseParsers/response-parsers.js +185 -0
  67. package/build/legacy/dynamicFlow/utils/useDebouncedRefresh/useDebouncedRefresh.js +26 -0
  68. package/build/legacy/dynamicFlow/utils/useDynamicFlowState.js +137 -0
  69. package/build/legacy/dynamicFlow/utils/useLoader.js +22 -0
  70. package/build/legacy/formControl/FormControl.js +266 -0
  71. package/build/legacy/formControl/index.js +1 -0
  72. package/build/legacy/formControl/utils/getAutocompleteString.js +80 -0
  73. package/build/legacy/formControl/utils/index.js +2 -0
  74. package/build/legacy/formControl/utils/value-utils.js +108 -0
  75. package/build/legacy/jsonSchemaForm/JsonSchemaForm.js +24 -0
  76. package/build/legacy/jsonSchemaForm/allOfSchema/AllOfSchema.js +50 -0
  77. package/build/legacy/jsonSchemaForm/allOfSchema/index.js +1 -0
  78. package/build/legacy/jsonSchemaForm/arrayTypeSchema/ArraySchema.js +25 -0
  79. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/ArrayListSchema.js +34 -0
  80. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multiSelectSchema/MultiSelectSchema.js +84 -0
  81. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/MultipleFileUploadSchema.js +141 -0
  82. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/index.js +1 -0
  83. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/index.js +2 -0
  84. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/upload-utils.js +79 -0
  85. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/multipleFileUploadSchema/utils/useFormattedDefaultErrorMessages.js +14 -0
  86. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/ItemSummary.js +7 -0
  87. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchema.js +134 -0
  88. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/RepeatableSchemaStep.js +85 -0
  89. package/build/legacy/jsonSchemaForm/arrayTypeSchema/arrayListSchema/repeatableSchema/utils/summary-utils.js +135 -0
  90. package/build/legacy/jsonSchemaForm/arrayTypeSchema/index.js +1 -0
  91. package/build/legacy/jsonSchemaForm/basicTypeSchema/BasicTypeSchema.js +111 -0
  92. package/build/legacy/jsonSchemaForm/basicTypeSchema/index.js +1 -0
  93. package/build/legacy/jsonSchemaForm/controlFeedback/ControlFeedback.js +86 -0
  94. package/build/legacy/jsonSchemaForm/controlFeedback/index.js +1 -0
  95. package/build/legacy/jsonSchemaForm/genericSchema/GenericSchema.js +85 -0
  96. package/build/legacy/jsonSchemaForm/genericSchema/index.js +1 -0
  97. package/build/legacy/jsonSchemaForm/help/Help.js +20 -0
  98. package/build/legacy/jsonSchemaForm/help/index.js +1 -0
  99. package/build/legacy/jsonSchemaForm/index.js +1 -0
  100. package/build/legacy/jsonSchemaForm/objectSchema/ObjectSchema.js +77 -0
  101. package/build/legacy/jsonSchemaForm/objectSchema/index.js +1 -0
  102. package/build/legacy/jsonSchemaForm/oneOfSchema/OneOfSchema.js +155 -0
  103. package/build/legacy/jsonSchemaForm/oneOfSchema/index.js +1 -0
  104. package/build/legacy/jsonSchemaForm/oneOfSchema/utils.js +68 -0
  105. package/build/legacy/jsonSchemaForm/persistAsyncSchema/PersistAsyncSchema.js +26 -0
  106. package/build/legacy/jsonSchemaForm/persistAsyncSchema/index.js +1 -0
  107. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/PersistAsyncBasicSchema.js +165 -0
  108. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBasicSchema/index.js +1 -0
  109. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/PersistAsyncBlobSchema.js +131 -0
  110. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/UploadInputAdapter.js +31 -0
  111. package/build/legacy/jsonSchemaForm/persistAsyncSchema/persistAsyncBlobSchema/index.js +1 -0
  112. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/PromotedOneOfSchema.js +72 -0
  113. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/index.js +1 -0
  114. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promoted-one-of-utils.js +8 -0
  115. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfCheckboxControl.js +27 -0
  116. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfControl.js +31 -0
  117. package/build/legacy/jsonSchemaForm/promotedOneOfSchema/promotedOneOfControl/PromotedOneOfRadioControl.js +32 -0
  118. package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.js +54 -0
  119. package/build/legacy/jsonSchemaForm/readOnlySchema/ReadOnlySchema.messages.js +13 -0
  120. package/build/legacy/jsonSchemaForm/readOnlySchema/index.js +1 -0
  121. package/build/legacy/jsonSchemaForm/schemaFormControl/SchemaFormControl.js +133 -0
  122. package/build/legacy/jsonSchemaForm/schemaFormControl/index.js +1 -0
  123. package/build/legacy/jsonSchemaForm/schemaFormControl/utils/index.js +1 -0
  124. package/build/legacy/jsonSchemaForm/schemaFormControl/utils/mapping-utils.js +107 -0
  125. package/build/legacy/jsonSchemaForm/validationAsyncSchema/ValidationAsyncSchema.js +150 -0
  126. package/build/legacy/jsonSchemaForm/validationAsyncSchema/index.js +1 -0
  127. package/build/legacy/layout/DynamicLayout.js +68 -0
  128. package/build/legacy/layout/alert/DynamicAlert.js +29 -0
  129. package/build/legacy/layout/box/DynamicBox.js +41 -0
  130. package/build/legacy/layout/button/DynamicButton.js +27 -0
  131. package/build/legacy/layout/button/utils.js +45 -0
  132. package/build/legacy/layout/columns/DynamicColumns.js +38 -0
  133. package/build/legacy/layout/decision/DynamicDecision.js +21 -0
  134. package/build/legacy/layout/divider/DynamicDivider.js +9 -0
  135. package/build/legacy/layout/external/DynamicExternal.js +32 -0
  136. package/build/legacy/layout/external/DynamicExternal.messages.js +8 -0
  137. package/build/legacy/layout/form/DynamicForm.js +22 -0
  138. package/build/legacy/layout/heading/DynamicHeading.js +51 -0
  139. package/build/legacy/layout/icon/DynamicIcon.js +17 -0
  140. package/build/legacy/layout/icon/FlagIcon.js +198 -0
  141. package/build/legacy/layout/icon/NamedIcon.js +19 -0
  142. package/build/legacy/layout/image/DynamicImage.js +111 -0
  143. package/build/legacy/layout/index.js +20 -0
  144. package/build/legacy/layout/instructions/DynamicInstructions.js +30 -0
  145. package/build/legacy/layout/list/DynamicStatusList.js +37 -0
  146. package/build/legacy/layout/loadingIndicator/DynamicLoadingIndicator.js +11 -0
  147. package/build/legacy/layout/markdown/DynamicMarkdown.js +23 -0
  148. package/build/legacy/layout/modal/DynamicModal.js +26 -0
  149. package/build/legacy/layout/paragraph/DynamicParagraph.js +46 -0
  150. package/build/legacy/layout/paragraph/useSnackBarIfAvailable.js +9 -0
  151. package/build/legacy/layout/review/DynamicReview.js +58 -0
  152. package/build/legacy/layout/search/DynamicSearch.js +58 -0
  153. package/build/legacy/layout/search/SearchInput.js +17 -0
  154. package/build/legacy/layout/search/SearchResults.js +31 -0
  155. package/build/legacy/layout/search/useSearch.js +137 -0
  156. package/build/legacy/layout/utils/getNavigationOptionMedia.js +28 -0
  157. package/build/legacy/layout/utils/index.js +32 -0
  158. package/build/legacy/step/cameraStep/CameraStep.js +124 -0
  159. package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.js +161 -0
  160. package/build/legacy/step/cameraStep/cameraCapture/CameraCapture.messages.js +58 -0
  161. package/build/legacy/step/cameraStep/cameraCapture/components/bottomBar/BottomBar.js +28 -0
  162. package/build/legacy/step/cameraStep/cameraCapture/components/index.js +3 -0
  163. package/build/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.js +19 -0
  164. package/build/legacy/step/cameraStep/cameraCapture/components/orientationLockOverlay/OrientationLockOverlay.messages.js +8 -0
  165. package/build/legacy/step/cameraStep/cameraCapture/hooks/useFullScreenOrientationLock.js +60 -0
  166. package/build/legacy/step/cameraStep/cameraCapture/hooks/useVideoConstraints.js +80 -0
  167. package/build/legacy/step/cameraStep/cameraCapture/index.js +1 -0
  168. package/build/legacy/step/cameraStep/cameraCapture/overlay/Overlay.js +77 -0
  169. package/build/legacy/step/cameraStep/cameraCapture/screens/cameraErrorScreen/CameraErrorScreen.js +18 -0
  170. package/build/legacy/step/cameraStep/cameraCapture/screens/index.js +1 -0
  171. package/build/legacy/step/cameraStep/cameraCapture/tracking/index.js +109 -0
  172. package/build/legacy/step/cameraStep/cameraCapture/types/index.js +7 -0
  173. package/build/legacy/step/cameraStep/cameraCapture/utils/index.js +107 -0
  174. package/build/legacy/step/cameraStep/index.js +1 -0
  175. package/build/legacy/step/externalConfirmationStep/ExternalConfirmationStep.js +64 -0
  176. package/build/legacy/step/externalConfirmationStep/index.js +1 -0
  177. package/build/legacy/step/index.js +3 -0
  178. package/build/legacy/step/layoutStep/LayoutStep.js +33 -0
  179. package/build/legacy/step/layoutStep/index.js +1 -0
  180. package/build/legacy/step/layoutStep/utils/index.js +2 -0
  181. package/build/legacy/step/layoutStep/utils/inline-reference-utils.js +105 -0
  182. package/build/legacy/step/layoutStep/utils/layout-utils.js +212 -0
  183. package/build/main.js +4775 -225
  184. package/build/main.min.js +1 -1
  185. package/build/main.mjs +4776 -226
  186. package/build/revamp/domain/components/AlertComponent.js +50 -0
  187. package/build/revamp/domain/components/AllOfComponent.js +72 -0
  188. package/build/revamp/domain/components/BooleanInputComponent.js +108 -0
  189. package/build/revamp/domain/components/BoxComponent.js +65 -0
  190. package/build/revamp/domain/components/ButtonComponent.js +50 -0
  191. package/build/revamp/domain/components/ColumnsComponent.js +74 -0
  192. package/build/revamp/domain/components/ConstComponent.js +50 -0
  193. package/build/revamp/domain/components/ContainerComponent.js +65 -0
  194. package/build/revamp/domain/components/DateInputComponent.js +127 -0
  195. package/build/revamp/domain/components/DecisionComponent.js +50 -0
  196. package/build/revamp/domain/components/DividerComponent.js +50 -0
  197. package/build/revamp/domain/components/FormComponent.js +65 -0
  198. package/build/revamp/domain/components/HeadingComponent.js +50 -0
  199. package/build/revamp/domain/components/ImageComponent.js +50 -0
  200. package/build/revamp/domain/components/InstructionsComponent.js +50 -0
  201. package/build/revamp/domain/components/IntegerInputComponent.js +125 -0
  202. package/build/revamp/domain/components/LoadingIndicatorComponent.js +50 -0
  203. package/build/revamp/domain/components/MarkdownComponent.js +50 -0
  204. package/build/revamp/domain/components/ModalComponent.js +65 -0
  205. package/build/revamp/domain/components/MultiUploadInputComponent.js +190 -0
  206. package/build/revamp/domain/components/NumberInputComponent.js +125 -0
  207. package/build/revamp/domain/components/ObjectComponent.js +104 -0
  208. package/build/revamp/domain/components/ParagraphComponent.js +50 -0
  209. package/build/revamp/domain/components/ReviewComponent.js +50 -0
  210. package/build/revamp/domain/components/SelectInputComponent.js +138 -0
  211. package/build/revamp/domain/components/StatusListComponent.js +50 -0
  212. package/build/revamp/domain/components/StepDomainComponent.js +93 -0
  213. package/build/revamp/domain/components/TextInputComponent.js +125 -0
  214. package/build/revamp/domain/components/UploadInputComponent.js +151 -0
  215. package/build/revamp/domain/components/repeatableComponent/RepeatableComponent.js +148 -0
  216. package/build/revamp/domain/components/searchComponent/SearchComponent.js +108 -0
  217. package/build/revamp/domain/components/utils/component-utils.js +18 -0
  218. package/build/revamp/domain/components/utils/debounce.js +38 -0
  219. package/build/revamp/domain/components/utils/file-utils.js +46 -0
  220. package/build/revamp/domain/components/utils/getComponentForLocalValueKey.js +31 -0
  221. package/build/revamp/domain/components/utils/isPartialLocalValueMatch.js +40 -0
  222. package/build/revamp/domain/features/events.js +1 -0
  223. package/build/revamp/domain/features/persistAsync/getComponentPersistAsync.js +133 -0
  224. package/build/revamp/domain/features/persistAsync/getPerformPersistAsync.js +103 -0
  225. package/build/revamp/domain/features/refresh/getPerformRefresh.js +53 -0
  226. package/build/revamp/domain/features/summary/summary-utils.js +39 -0
  227. package/build/revamp/domain/features/utils/http-utils.js +34 -0
  228. package/build/revamp/domain/features/utils/response-utils.js +9 -0
  229. package/build/revamp/domain/features/validation/validation-functions.js +12 -0
  230. package/build/revamp/domain/features/validation/value-checks.js +111 -0
  231. package/build/revamp/domain/features/validationAsync/getComponentValidationAsync.js +94 -0
  232. package/build/revamp/domain/features/validationAsync/getPerformValidationAsync.js +107 -0
  233. package/build/revamp/domain/mappers/types.js +1 -0
  234. package/build/revamp/domain/types.js +1 -0
  235. package/build/revamp/flow/response-utils.js +88 -0
  236. package/build/revamp/renderers/CoreContainerRenderer.js +8 -0
  237. package/build/revamp/renderers/LoadingContext.js +7 -0
  238. package/build/revamp/renderers/types.js +1 -0
  239. package/build/revamp/types.js +1 -0
  240. package/build/revamp/utils/component-utils.js +86 -0
  241. package/build/revamp/utils/type-utils.js +56 -0
  242. package/build/revamp/utils/type-validators.js +16 -0
  243. package/build/revamp/wise/renderers/AlertRenderer.js +11 -0
  244. package/build/revamp/wise/renderers/BooleanInputRenderer.js +34 -0
  245. package/build/revamp/wise/renderers/BoxRenderer.js +30 -0
  246. package/build/revamp/wise/renderers/ButtonRenderer.js +64 -0
  247. package/build/revamp/wise/renderers/ColumnsRenderer.js +25 -0
  248. package/build/revamp/wise/renderers/components/FieldInput.js +20 -0
  249. package/build/revamp/wise/renderers/components/Help.js +21 -0
  250. package/build/revamp/wise/renderers/components/LabelContentWithHelp.js +6 -0
  251. package/build/revamp/wise/renderers/utils/layout-utils.js +31 -0
  252. package/build/types/legacy/step/externalConfirmationStep/ExternalConfirmationStep.d.ts +1 -1
  253. package/build/types/revamp/domain/components/StepDomainComponent.d.ts +4 -2
  254. package/build/types/revamp/renderers/step/ExternalConfirmationDialog.d.ts +6 -0
  255. package/build/types/revamp/renderers/{StepRenderer.d.ts → step/StepRenderer.d.ts} +1 -1
  256. package/build/types/revamp/renderers/step/useExternal.d.ts +4 -0
  257. package/build/types/revamp/renderers/stepComponentToProps.d.ts +1 -1
  258. package/build/types/revamp/renderers/types.d.ts +3 -0
  259. package/package.json +13 -13
  260. /package/build/types/{legacy/step/externalConfirmationStep/ExternalConfirmationStep.messages.d.ts → common/messages/external-confirmation.messages.d.ts} +0 -0
@@ -0,0 +1,103 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { isObject, isString } from '../../../utils/type-validators';
49
+ import { constructPayload } from '../utils/http-utils';
50
+ import { getAnalyticsFromErrorResponse } from '../utils/response-utils';
51
+ /**
52
+ * Takes an httpClient and schema persist async config and returns a function that can
53
+ * execute a persist async request.
54
+ */
55
+ export var getPerformPersistAsync = function (_a) {
56
+ var genericErrorMessage = _a.genericErrorMessage, httpClient = _a.httpClient, persistAsyncConfig = _a.persistAsyncConfig, schemaId = _a.schemaId, logEvent = _a.logEvent, trackEvent = _a.trackEvent;
57
+ var idProperty = persistAsyncConfig.idProperty, param = persistAsyncConfig.param, method = persistAsyncConfig.method, url = persistAsyncConfig.url;
58
+ var trackFailure = function (json) {
59
+ var analytics = getAnalyticsFromErrorResponse(json);
60
+ trackEvent('PersistAsync Failed', __assign({ schema: schemaId }, analytics));
61
+ };
62
+ return function performPersistAsync(_a) {
63
+ var value = _a.value, signal = _a.signal;
64
+ return __awaiter(this, void 0, void 0, function () {
65
+ var response, json, error_1, validationError;
66
+ return __generator(this, function (_b) {
67
+ switch (_b.label) {
68
+ case 0:
69
+ _b.trys.push([0, 3, , 4]);
70
+ trackEvent('PersistAsync Triggered', { schema: schemaId });
71
+ return [4 /*yield*/, httpClient(url, constructPayload({ value: value, signal: signal, requestConfig: { method: method, param: param } }))];
72
+ case 1:
73
+ response = _b.sent();
74
+ return [4 /*yield*/, response.json()];
75
+ case 2:
76
+ json = (_b.sent());
77
+ if (response.ok && isObject(json)) {
78
+ trackEvent('PersistAsync Succeeded', { schema: schemaId });
79
+ if (json[idProperty] === undefined) {
80
+ logEvent('error', "Response from persist async did not contain expected property ".concat(idProperty));
81
+ throw new Error(genericErrorMessage);
82
+ }
83
+ return [2 /*return*/, json[idProperty]];
84
+ }
85
+ return [3 /*break*/, 4];
86
+ case 3:
87
+ error_1 = _b.sent();
88
+ trackFailure();
89
+ throw new Error(genericErrorMessage);
90
+ case 4:
91
+ validationError = response.status === 422 && isObject(json) ? getValidationError(param, json) : null;
92
+ trackFailure(json);
93
+ throw new Error(validationError !== null && validationError !== void 0 ? validationError : genericErrorMessage);
94
+ }
95
+ });
96
+ });
97
+ };
98
+ };
99
+ var getValidationError = function (param, response) {
100
+ var _a;
101
+ var message = (_a = response.validation) === null || _a === void 0 ? void 0 : _a[param];
102
+ return isString(message) ? message : null;
103
+ };
@@ -0,0 +1,53 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { debounce } from '../../components/utils/debounce';
38
+ export var getPerformRefresh = function (schema, onRefresh) {
39
+ var _a, _b;
40
+ if (('refreshStepOnChange' in schema && ((_a = schema.refreshStepOnChange) !== null && _a !== void 0 ? _a : false)) ||
41
+ ('refreshFormOnChange' in schema && ((_b = schema.refreshFormOnChange) !== null && _b !== void 0 ? _b : false))) {
42
+ var $id = schema.$id, analyticsId = schema.analyticsId, refreshUrl_1 = schema.refreshUrl, refreshFormUrl_1 = schema.refreshFormUrl;
43
+ var schemaId_1 = analyticsId !== null && analyticsId !== void 0 ? analyticsId : $id;
44
+ return function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
45
+ return [2 /*return*/, onRefresh(schemaId_1, refreshUrl_1 !== null && refreshUrl_1 !== void 0 ? refreshUrl_1 : refreshFormUrl_1)];
46
+ }); }); };
47
+ }
48
+ return undefined;
49
+ };
50
+ export var getDebouncedPerformRefresh = function (schema, onRefresh) {
51
+ var debouncedOnRefresh = debounce(onRefresh, 1000);
52
+ return getPerformRefresh(schema, debouncedOnRefresh);
53
+ };
@@ -0,0 +1,39 @@
1
+ import { isString } from '../../../utils/type-validators';
2
+ /** A summariser that accepts a schema and returns a function that can form a summary based on a value. */
3
+ export var getSummariser = function (schema) {
4
+ return function (value) {
5
+ var summary = schema.summary, icon = schema.icon, image = schema.image;
6
+ var stringValueOrNull = isString(value) ? value : null;
7
+ return summaryIfProvides(summary, { value: stringValueOrNull, icon: icon, image: image });
8
+ };
9
+ };
10
+ export var getConstSummary = function (schema, model) {
11
+ var summary = schema.summary, icon = schema.icon, image = schema.image;
12
+ var value = isString(model) ? model : null;
13
+ return summaryIfProvides(summary, { value: value, icon: icon, image: image });
14
+ };
15
+ export var summariseFromChildren = function (components) {
16
+ return components.reduce(function (acc, component) { return mergeSummaries(acc, component.getSummary()); }, {});
17
+ };
18
+ // If there are duplicate props, the first takes precedence
19
+ export var mergeSummaries = function (summaryA, summaryB) {
20
+ var _a, _b, _c, _d;
21
+ return ({
22
+ title: (_a = summaryA.title) !== null && _a !== void 0 ? _a : summaryB.title,
23
+ description: (_b = summaryA.description) !== null && _b !== void 0 ? _b : summaryB.description,
24
+ icon: (_c = summaryA.icon) !== null && _c !== void 0 ? _c : summaryB.icon,
25
+ image: (_d = summaryA.image) !== null && _d !== void 0 ? _d : summaryB.image
26
+ });
27
+ };
28
+ var summaryIfProvides = function (summary, _a) {
29
+ var value = _a.value, icon = _a.icon, image = _a.image;
30
+ if (!summary) {
31
+ return {};
32
+ }
33
+ return {
34
+ title: (summary.providesTitle && value) || undefined,
35
+ description: (summary.providesDescription && value) || undefined,
36
+ icon: (summary.providesIcon && icon) || undefined,
37
+ image: (summary.providesImage && image) || undefined
38
+ };
39
+ };
@@ -0,0 +1,34 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ export function constructPayload(_a) {
13
+ var _b;
14
+ var value = _a.value, signal = _a.signal, requestConfig = _a.requestConfig;
15
+ var isFile = value instanceof File;
16
+ var method = requestConfig.method, param = requestConfig.param;
17
+ var body = isFile ? wrapInFormData(param, value) : JSON.stringify((_b = {}, _b[param] = value, _b));
18
+ var headers = __assign({}, (!isFile && { 'Content-Type': 'application/json' }));
19
+ return {
20
+ method: method,
21
+ headers: headers,
22
+ body: body,
23
+ signal: signal
24
+ };
25
+ }
26
+ var wrapInFormData = function (key, file) {
27
+ var formData = new FormData();
28
+ formData.append(key, file);
29
+ return formData;
30
+ };
31
+ export var abortAndResetController = function (abortController) {
32
+ abortController.abort();
33
+ return new AbortController();
34
+ };
@@ -0,0 +1,9 @@
1
+ import { isErrorResponseBody } from '../../../flow/response-utils';
2
+ import { isObject } from '../../../utils/type-validators';
3
+ export var getAnalyticsFromErrorResponse = function (json) {
4
+ if (!isErrorResponseBody(json)) {
5
+ return undefined;
6
+ }
7
+ var analytics = json.analytics;
8
+ return isObject(analytics) ? analytics : undefined;
9
+ };
@@ -0,0 +1,12 @@
1
+ import { isString } from '../../../utils/type-validators';
2
+ export var validateComponents = function (components) {
3
+ return components.reduce(function (acc, component) { return component.validate() && acc; }, true);
4
+ };
5
+ /**
6
+ * Returns a function that takes a local value and returns an array of validation errors
7
+ */
8
+ export var getLocalValueValidator = function (checks) {
9
+ return function (currentValue) {
10
+ return checks.map(function (check) { return check(currentValue); }).filter(isString);
11
+ };
12
+ };
@@ -0,0 +1,111 @@
1
+ import { isArray, isNullish, isNumber, isString } from '../../../utils/type-validators';
2
+ export var getAboveMaxItemsCheck = function (_a, messageFunctions) {
3
+ var maxItems = _a.maxItems;
4
+ return function (value) {
5
+ if (isNumber(maxItems) && isArray(value) && value.length > maxItems) {
6
+ return messageFunctions.maxItems(maxItems);
7
+ }
8
+ return null;
9
+ };
10
+ };
11
+ export var getBelowMinFilesCheck = function (_a, messageFunctions) {
12
+ var minItems = _a.minItems;
13
+ return function (value) {
14
+ if (isNumber(minItems) && isArray(value) && value.length > 0 && value.length < minItems) {
15
+ return messageFunctions.minFiles(minItems);
16
+ }
17
+ return null;
18
+ };
19
+ };
20
+ export var getAboveMaxFilesCheck = function (_a, messageFunctions) {
21
+ var maxItems = _a.maxItems;
22
+ return function (value) {
23
+ if (isNumber(maxItems) && isArray(value) && value.length > maxItems) {
24
+ return messageFunctions.maxFiles(maxItems);
25
+ }
26
+ return null;
27
+ };
28
+ };
29
+ export var getBelowMinItemsCheck = function (_a, messageFunctions) {
30
+ var minItems = _a.minItems;
31
+ return function (value) {
32
+ if (isNumber(minItems) && isArray(value) && value.length > 0 && value.length < minItems) {
33
+ return messageFunctions.minItems(minItems);
34
+ }
35
+ return null;
36
+ };
37
+ };
38
+ export var getAboveMaxLengthCheck = function (_a, messageFunctions) {
39
+ var maxLength = _a.maxLength;
40
+ return function (value) {
41
+ if (isNumber(maxLength) && isString(value) && value.length > maxLength) {
42
+ return messageFunctions.maxLength(maxLength);
43
+ }
44
+ return null;
45
+ };
46
+ };
47
+ export var getBelowMinLengthCheck = function (_a, messageFunctions) {
48
+ var minLength = _a.minLength;
49
+ return function (value) {
50
+ if (isNumber(minLength) && isString(value) && value.length < minLength) {
51
+ return messageFunctions.minLength(minLength);
52
+ }
53
+ return null;
54
+ };
55
+ };
56
+ export var getAboveMaximumCheck = function (_a, messageFunctions) {
57
+ var maximum = _a.maximum;
58
+ return function (value) {
59
+ if (isNumber(maximum) && isNumber(value) && value > maximum) {
60
+ return messageFunctions.maximum(maximum);
61
+ }
62
+ return null;
63
+ };
64
+ };
65
+ export var getBelowMinimumCheck = function (_a, messageFunctions) {
66
+ var minimum = _a.minimum;
67
+ return function (value) {
68
+ if (isNumber(minimum) && isNumber(value) && value < minimum) {
69
+ return messageFunctions.minimum(minimum);
70
+ }
71
+ return null;
72
+ };
73
+ };
74
+ export var getAboveMaximumDateCheck = function (_a, messageFunctions) {
75
+ var maximum = _a.maximum;
76
+ return function (value) {
77
+ if (isString(maximum) && isString(value) && value > maximum) {
78
+ return messageFunctions.maximumDate(maximum);
79
+ }
80
+ return null;
81
+ };
82
+ };
83
+ export var getBelowMinimumDateCheck = function (_a, messageFunctions) {
84
+ var minimum = _a.minimum;
85
+ return function (value) {
86
+ if (isString(minimum) && isString(value) && value < minimum) {
87
+ return messageFunctions.minimumDate(minimum);
88
+ }
89
+ return null;
90
+ };
91
+ };
92
+ export var getNotAdheringToPatternCheck = function (_a, messageFunctions) {
93
+ var pattern = _a.pattern;
94
+ return function (value) {
95
+ if (isString(pattern) && isString(value) && !new RegExp(pattern).test(value)) {
96
+ return messageFunctions.pattern();
97
+ }
98
+ return null;
99
+ };
100
+ };
101
+ export var getRequiredCheck = function (required, messageFunctions) {
102
+ return function (value) {
103
+ if (!required) {
104
+ return null;
105
+ }
106
+ if (isArray(value) && value.length === 0) {
107
+ return messageFunctions.required();
108
+ }
109
+ return isNullish(value) ? messageFunctions.required() : null;
110
+ };
111
+ };
@@ -0,0 +1,94 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { isNullish } from '../../../utils/type-validators';
38
+ import { abortAndResetController } from '../utils/http-utils';
39
+ /**
40
+ * Creates an onValidateAsync handler for a component.
41
+ */
42
+ export var getComponentValidationAsync = function (update, performValidationAsync) {
43
+ /**
44
+ * Will update the validationState when a new request is made, and will update
45
+ * the description or set errors when the request completes.
46
+ */
47
+ return function (validationState, currentValue) { return __awaiter(void 0, void 0, void 0, function () {
48
+ var abortController, lastSubmitted, newAbortController, signal, newSubmission;
49
+ return __generator(this, function (_a) {
50
+ abortController = validationState.abortController, lastSubmitted = validationState.lastSubmitted;
51
+ // Ignore subsequent requests for the same value
52
+ if (lastSubmitted === currentValue) {
53
+ return [2 /*return*/];
54
+ }
55
+ newAbortController = abortAndResetController(abortController);
56
+ if (isNullish(currentValue)) {
57
+ update(function (draft) {
58
+ draft.validationState = {
59
+ abortController: newAbortController,
60
+ lastSubmitted: currentValue,
61
+ messages: {}
62
+ };
63
+ });
64
+ return [2 /*return*/];
65
+ }
66
+ signal = newAbortController.signal;
67
+ newSubmission = performValidationAsync({ value: currentValue, signal: signal })
68
+ .then(function (message) {
69
+ update(function (draft) {
70
+ if (message) {
71
+ draft.validationState.messages.success = message;
72
+ }
73
+ });
74
+ return message;
75
+ })["catch"](function (error) {
76
+ if (error instanceof DOMException && error.name === 'AbortError') {
77
+ // No op, the request was aborted
78
+ return null;
79
+ }
80
+ update(function (draft) {
81
+ draft.validationState.messages.error = error.message;
82
+ });
83
+ });
84
+ update(function (draft) {
85
+ draft.validationState = {
86
+ abortController: newAbortController,
87
+ lastSubmitted: currentValue,
88
+ messages: {}
89
+ };
90
+ });
91
+ return [2 /*return*/, newSubmission];
92
+ });
93
+ }); };
94
+ };
@@ -0,0 +1,107 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { isObject, isString } from '../../../utils/type-validators';
49
+ import { constructPayload } from '../utils/http-utils';
50
+ import { getAnalyticsFromErrorResponse } from '../utils/response-utils';
51
+ /**
52
+ * Takes an httpClient and schema validation async config and returns a function that can
53
+ * execute a validation async request.
54
+ */
55
+ export var getPerformValidationAsync = function (_a) {
56
+ var httpClient = _a.httpClient, validationAsyncConfig = _a.validationAsyncConfig, schemaId = _a.schemaId, trackEvent = _a.trackEvent;
57
+ var method = validationAsyncConfig.method, param = validationAsyncConfig.param, url = validationAsyncConfig.url;
58
+ var trackFailureAndReturn = function (json) {
59
+ var analytics = getAnalyticsFromErrorResponse(json);
60
+ trackEvent('ValidationAsync Failed', __assign({ schema: schemaId }, analytics));
61
+ return null;
62
+ };
63
+ return function performValidationAsync(_a) {
64
+ var value = _a.value, signal = _a.signal;
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ var response, e_1, json, message;
67
+ return __generator(this, function (_b) {
68
+ switch (_b.label) {
69
+ case 0:
70
+ trackEvent('ValidationAsync Triggered', { schema: schemaId });
71
+ _b.label = 1;
72
+ case 1:
73
+ _b.trys.push([1, 3, , 4]);
74
+ return [4 /*yield*/, httpClient(url, constructPayload({ value: value, signal: signal, requestConfig: { method: method, param: param } }))];
75
+ case 2:
76
+ response = _b.sent();
77
+ return [3 /*break*/, 4];
78
+ case 3:
79
+ e_1 = _b.sent();
80
+ return [2 /*return*/, trackFailureAndReturn()];
81
+ case 4: return [4 /*yield*/, response.json()["catch"](function () { return null; })];
82
+ case 5:
83
+ json = (_b.sent());
84
+ message = getValidationMessage(json);
85
+ if (response.ok) {
86
+ trackEvent('ValidationAsync Succeeded', { schema: schemaId });
87
+ return [2 /*return*/, message];
88
+ }
89
+ if (response.status === 422) {
90
+ if (message) {
91
+ trackEvent('ValidationAsync Succeeded', { schema: schemaId });
92
+ throw new Error(message);
93
+ }
94
+ }
95
+ return [2 /*return*/, trackFailureAndReturn(json)];
96
+ }
97
+ });
98
+ });
99
+ };
100
+ };
101
+ var getValidationMessage = function (json) {
102
+ if (!isObject(json)) {
103
+ return null;
104
+ }
105
+ var message = json.message;
106
+ return isString(message) ? message : null;
107
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};