@frankieone/one-sdk 0.1.0-poc.18 → 0.2.2-alpha

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 (437) hide show
  1. package/dist/commit.txt +1 -1
  2. package/dist/esm/modules/biometrics/constants.d.ts +2 -0
  3. package/dist/esm/modules/biometrics/constants.js +2 -0
  4. package/dist/esm/modules/biometrics/constants.js.map +1 -0
  5. package/dist/esm/modules/biometrics/index.d.ts +4 -0
  6. package/dist/esm/modules/biometrics/index.js +71 -0
  7. package/dist/esm/modules/biometrics/index.js.map +1 -0
  8. package/dist/esm/modules/biometrics/parseConfiguration.d.ts +4 -0
  9. package/dist/esm/modules/biometrics/parseConfiguration.js +9 -0
  10. package/dist/esm/modules/biometrics/parseConfiguration.js.map +1 -0
  11. package/dist/esm/modules/biometrics/types/events.d.ts +23 -0
  12. package/dist/esm/modules/biometrics/types/events.js +2 -0
  13. package/dist/esm/modules/biometrics/types/events.js.map +1 -0
  14. package/dist/esm/modules/biometrics/types/index.d.ts +3 -0
  15. package/dist/esm/modules/biometrics/types/index.js +4 -0
  16. package/dist/esm/modules/biometrics/types/index.js.map +1 -0
  17. package/dist/esm/modules/biometrics/types/module.d.ts +8 -0
  18. package/dist/esm/modules/biometrics/types/module.js +2 -0
  19. package/dist/esm/modules/biometrics/types/module.js.map +1 -0
  20. package/dist/esm/modules/biometrics/types/wrapper.d.ts +19 -0
  21. package/dist/esm/modules/biometrics/types/wrapper.js +2 -0
  22. package/dist/esm/modules/biometrics/types/wrapper.js.map +1 -0
  23. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.d.ts +2 -0
  24. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js +221 -0
  25. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js.map +1 -0
  26. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.d.ts +1 -0
  27. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.js +2 -0
  28. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.js.map +1 -0
  29. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.d.ts +2 -0
  30. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.js +98 -0
  31. package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.js.map +1 -0
  32. package/dist/esm/modules/common/constants.d.ts +5 -2
  33. package/dist/esm/modules/common/constants.js +5 -1
  34. package/dist/esm/modules/common/constants.js.map +1 -1
  35. package/dist/esm/modules/common/index.d.ts +6 -3
  36. package/dist/esm/modules/common/index.js +6 -3
  37. package/dist/esm/modules/common/index.js.map +1 -1
  38. package/dist/esm/modules/common/modules/ReactiveStore.d.ts +29 -0
  39. package/dist/esm/modules/common/modules/ReactiveStore.js +98 -0
  40. package/dist/esm/modules/common/modules/ReactiveStore.js.map +1 -0
  41. package/dist/esm/modules/common/modules/UnpersistedModel.d.ts +17 -0
  42. package/dist/esm/modules/common/modules/UnpersistedModel.js +33 -0
  43. package/dist/esm/modules/common/modules/UnpersistedModel.js.map +1 -0
  44. package/dist/esm/modules/common/modules/base64.d.ts +4 -4
  45. package/dist/esm/modules/common/modules/base64.js +7 -7
  46. package/dist/esm/modules/common/modules/base64.js.map +1 -1
  47. package/dist/esm/modules/common/modules/env2url.d.ts +2 -1
  48. package/dist/esm/modules/common/modules/env2url.js +3 -0
  49. package/dist/esm/modules/common/modules/env2url.js.map +1 -1
  50. package/dist/esm/modules/common/modules/error.d.ts +3 -0
  51. package/dist/esm/modules/common/modules/error.js +8 -0
  52. package/dist/esm/modules/common/modules/error.js.map +1 -0
  53. package/dist/esm/modules/common/modules/eventHub.d.ts +30 -4
  54. package/dist/esm/modules/common/modules/eventHub.js +9 -3
  55. package/dist/esm/modules/common/modules/eventHub.js.map +1 -1
  56. package/dist/esm/modules/common/modules/objectUtils.d.ts +14 -0
  57. package/dist/esm/modules/common/modules/objectUtils.js +64 -0
  58. package/dist/esm/modules/common/modules/objectUtils.js.map +1 -0
  59. package/dist/esm/modules/common/modules/rxjsOperators.d.ts +1 -0
  60. package/dist/esm/modules/common/modules/rxjsOperators.js +5 -0
  61. package/dist/esm/modules/common/modules/rxjsOperators.js.map +1 -0
  62. package/dist/esm/modules/common/shared/KvpList.d.ts +29 -0
  63. package/dist/esm/modules/common/shared/KvpList.js +134 -0
  64. package/dist/esm/modules/common/shared/KvpList.js.map +1 -0
  65. package/dist/esm/modules/common/shared/data/aus_states.json +10 -0
  66. package/dist/esm/modules/common/shared/data/country.json +19592 -0
  67. package/dist/esm/modules/common/shared/models/Address.d.ts +67 -0
  68. package/dist/esm/modules/common/shared/models/Address.js +155 -0
  69. package/dist/esm/modules/common/shared/models/Address.js.map +1 -0
  70. package/dist/esm/modules/common/shared/models/Admin.d.ts +1295 -0
  71. package/dist/esm/modules/common/shared/models/Admin.js +6 -0
  72. package/dist/esm/modules/common/shared/models/Admin.js.map +1 -0
  73. package/dist/esm/modules/common/shared/models/AmlCheckResult.d.ts +77 -0
  74. package/dist/esm/modules/common/shared/models/AmlCheckResult.js +45 -0
  75. package/dist/esm/modules/common/shared/models/AmlCheckResult.js.map +1 -0
  76. package/dist/esm/modules/common/shared/models/AmlMatchDetails.d.ts +37 -0
  77. package/dist/esm/modules/common/shared/models/AmlMatchDetails.js +19 -0
  78. package/dist/esm/modules/common/shared/models/AmlMatchDetails.js.map +1 -0
  79. package/dist/esm/modules/common/shared/models/Applicant.d.ts +119 -0
  80. package/dist/esm/modules/common/shared/models/Applicant.js +167 -0
  81. package/dist/esm/modules/common/shared/models/Applicant.js.map +1 -0
  82. package/dist/esm/modules/common/shared/models/ApplicantSummary.d.ts +90 -0
  83. package/dist/esm/modules/common/shared/models/ApplicantSummary.js +52 -0
  84. package/dist/esm/modules/common/shared/models/ApplicantSummary.js.map +1 -0
  85. package/dist/esm/modules/common/shared/models/AssociatedParty.d.ts +42 -0
  86. package/dist/esm/modules/common/shared/models/AssociatedParty.js +39 -0
  87. package/dist/esm/modules/common/shared/models/AssociatedParty.js.map +1 -0
  88. package/dist/esm/modules/common/shared/models/AuditEntry.d.ts +81 -0
  89. package/dist/esm/modules/common/shared/models/AuditEntry.js +106 -0
  90. package/dist/esm/modules/common/shared/models/AuditEntry.js.map +1 -0
  91. package/dist/esm/modules/common/shared/models/AuditLogV2.d.ts +57 -0
  92. package/dist/esm/modules/common/shared/models/AuditLogV2.js +75 -0
  93. package/dist/esm/modules/common/shared/models/AuditLogV2.js.map +1 -0
  94. package/dist/esm/modules/common/shared/models/BiometryReport.d.ts +35 -0
  95. package/dist/esm/modules/common/shared/models/BiometryReport.js +22 -0
  96. package/dist/esm/modules/common/shared/models/BiometryReport.js.map +1 -0
  97. package/dist/esm/modules/common/shared/models/BlockListSummary.d.ts +46 -0
  98. package/dist/esm/modules/common/shared/models/BlockListSummary.js +56 -0
  99. package/dist/esm/modules/common/shared/models/BlockListSummary.js.map +1 -0
  100. package/dist/esm/modules/common/shared/models/Blueprint.d.ts +26 -0
  101. package/dist/esm/modules/common/shared/models/Blueprint.js +2 -0
  102. package/dist/esm/modules/common/shared/models/Blueprint.js.map +1 -0
  103. package/dist/esm/modules/common/shared/models/BusinessInfo.d.ts +32 -0
  104. package/dist/esm/modules/common/shared/models/BusinessInfo.js +66 -0
  105. package/dist/esm/modules/common/shared/models/BusinessInfo.js.map +1 -0
  106. package/dist/esm/modules/common/shared/models/CheckSummary.d.ts +190 -0
  107. package/dist/esm/modules/common/shared/models/CheckSummary.js +233 -0
  108. package/dist/esm/modules/common/shared/models/CheckSummary.js.map +1 -0
  109. package/dist/esm/modules/common/shared/models/Comment.d.ts +19 -0
  110. package/dist/esm/modules/common/shared/models/Comment.js +19 -0
  111. package/dist/esm/modules/common/shared/models/Comment.js.map +1 -0
  112. package/dist/esm/modules/common/shared/models/ConfigurationWrapper.d.ts +15 -0
  113. package/dist/esm/modules/common/shared/models/ConfigurationWrapper.js +44 -0
  114. package/dist/esm/modules/common/shared/models/ConfigurationWrapper.js.map +1 -0
  115. package/dist/esm/modules/common/shared/models/Core.d.ts +2898 -0
  116. package/dist/esm/modules/common/shared/models/Core.js +6 -0
  117. package/dist/esm/modules/common/shared/models/Core.js.map +1 -0
  118. package/dist/esm/modules/common/shared/models/Document.d.ts +124 -0
  119. package/dist/esm/modules/common/shared/models/Document.js +139 -0
  120. package/dist/esm/modules/common/shared/models/Document.js.map +1 -0
  121. package/dist/esm/modules/common/shared/models/Duplicate.d.ts +38 -0
  122. package/dist/esm/modules/common/shared/models/Duplicate.js +26 -0
  123. package/dist/esm/modules/common/shared/models/Duplicate.js.map +1 -0
  124. package/dist/esm/modules/common/shared/models/DynamicUIComponent.d.ts +52 -0
  125. package/dist/esm/modules/common/shared/models/DynamicUIComponent.js +118 -0
  126. package/dist/esm/modules/common/shared/models/DynamicUIComponent.js.map +1 -0
  127. package/dist/esm/modules/common/shared/models/Event.d.ts +16 -0
  128. package/dist/esm/modules/common/shared/models/Event.js +15 -0
  129. package/dist/esm/modules/common/shared/models/Event.js.map +1 -0
  130. package/dist/esm/modules/common/shared/models/EventFactory.d.ts +16 -0
  131. package/dist/esm/modules/common/shared/models/EventFactory.js +11 -0
  132. package/dist/esm/modules/common/shared/models/EventFactory.js.map +1 -0
  133. package/dist/esm/modules/common/shared/models/File.d.ts +24 -0
  134. package/dist/esm/modules/common/shared/models/File.js +25 -0
  135. package/dist/esm/modules/common/shared/models/File.js.map +1 -0
  136. package/dist/esm/modules/common/shared/models/FraudCheckResult.d.ts +10 -0
  137. package/dist/esm/modules/common/shared/models/FraudCheckResult.js +15 -0
  138. package/dist/esm/modules/common/shared/models/FraudCheckResult.js.map +1 -0
  139. package/dist/esm/modules/common/shared/models/FraudMatchDetail.d.ts +48 -0
  140. package/dist/esm/modules/common/shared/models/FraudMatchDetail.js +41 -0
  141. package/dist/esm/modules/common/shared/models/FraudMatchDetail.js.map +1 -0
  142. package/dist/esm/modules/common/shared/models/IChangeStamp.d.ts +11 -0
  143. package/dist/esm/modules/common/shared/models/IChangeStamp.js +7 -0
  144. package/dist/esm/modules/common/shared/models/IChangeStamp.js.map +1 -0
  145. package/dist/esm/modules/common/shared/models/KYCHostedFlow.d.ts +17 -0
  146. package/dist/esm/modules/common/shared/models/KYCHostedFlow.js +20 -0
  147. package/dist/esm/modules/common/shared/models/KYCHostedFlow.js.map +1 -0
  148. package/dist/esm/modules/common/shared/models/KvpList.d.ts +29 -0
  149. package/dist/esm/modules/common/shared/models/KvpList.js +134 -0
  150. package/dist/esm/modules/common/shared/models/KvpList.js.map +1 -0
  151. package/dist/esm/modules/common/shared/models/OCRDocumentDetail.d.ts +49 -0
  152. package/dist/esm/modules/common/shared/models/OCRDocumentDetail.js +33 -0
  153. package/dist/esm/modules/common/shared/models/OCRDocumentDetail.js.map +1 -0
  154. package/dist/esm/modules/common/shared/models/OCRReport.d.ts +20 -0
  155. package/dist/esm/modules/common/shared/models/OCRReport.js +17 -0
  156. package/dist/esm/modules/common/shared/models/OCRReport.js.map +1 -0
  157. package/dist/esm/modules/common/shared/models/Organisation.d.ts +36 -0
  158. package/dist/esm/modules/common/shared/models/Organisation.js +51 -0
  159. package/dist/esm/modules/common/shared/models/Organisation.js.map +1 -0
  160. package/dist/esm/modules/common/shared/models/OrganizationAnalytics.d.ts +14 -0
  161. package/dist/esm/modules/common/shared/models/OrganizationAnalytics.js +149 -0
  162. package/dist/esm/modules/common/shared/models/OrganizationAnalytics.js.map +1 -0
  163. package/dist/esm/modules/common/shared/models/PortalFeatureConfig.d.ts +79 -0
  164. package/dist/esm/modules/common/shared/models/PortalFeatureConfig.js +83 -0
  165. package/dist/esm/modules/common/shared/models/PortalFeatureConfig.js.map +1 -0
  166. package/dist/esm/modules/common/shared/models/Profile.d.ts +27 -0
  167. package/dist/esm/modules/common/shared/models/Profile.js +96 -0
  168. package/dist/esm/modules/common/shared/models/Profile.js.map +1 -0
  169. package/dist/esm/modules/common/shared/models/ReportAttributes.d.ts +21 -0
  170. package/dist/esm/modules/common/shared/models/ReportAttributes.js +18 -0
  171. package/dist/esm/modules/common/shared/models/ReportAttributes.js.map +1 -0
  172. package/dist/esm/modules/common/shared/models/RiskIndicator.d.ts +48 -0
  173. package/dist/esm/modules/common/shared/models/RiskIndicator.js +30 -0
  174. package/dist/esm/modules/common/shared/models/RiskIndicator.js.map +1 -0
  175. package/dist/esm/modules/common/shared/models/Session.d.ts +5 -0
  176. package/dist/esm/modules/common/shared/models/Session.js +2 -0
  177. package/dist/esm/modules/common/shared/models/Session.js.map +1 -0
  178. package/dist/esm/modules/common/shared/models/SupportingDocument.d.ts +96 -0
  179. package/dist/esm/modules/common/shared/models/SupportingDocument.js +91 -0
  180. package/dist/esm/modules/common/shared/models/SupportingDocument.js.map +1 -0
  181. package/dist/esm/modules/common/shared/models/TApplicantIssue.d.ts +12 -0
  182. package/dist/esm/modules/common/shared/models/TApplicantIssue.js +2 -0
  183. package/dist/esm/modules/common/shared/models/TApplicantIssue.js.map +1 -0
  184. package/dist/esm/modules/common/shared/models/TApplicantStatus.d.ts +7 -0
  185. package/dist/esm/modules/common/shared/models/TApplicantStatus.js +2 -0
  186. package/dist/esm/modules/common/shared/models/TApplicantStatus.js.map +1 -0
  187. package/dist/esm/modules/common/shared/models/TKycMethod.d.ts +1 -0
  188. package/dist/esm/modules/common/shared/models/TKycMethod.js +2 -0
  189. package/dist/esm/modules/common/shared/models/TKycMethod.js.map +1 -0
  190. package/dist/esm/modules/common/shared/models/TValidation.d.ts +6 -0
  191. package/dist/esm/modules/common/shared/models/TValidation.js +2 -0
  192. package/dist/esm/modules/common/shared/models/TValidation.js.map +1 -0
  193. package/dist/esm/modules/common/shared/models/TransactionDetails.d.ts +70 -0
  194. package/dist/esm/modules/common/shared/models/TransactionDetails.js +53 -0
  195. package/dist/esm/modules/common/shared/models/TransactionDetails.js.map +1 -0
  196. package/dist/esm/modules/common/shared/models/UBOData.d.ts +485 -0
  197. package/dist/esm/modules/common/shared/models/UBOData.js +618 -0
  198. package/dist/esm/modules/common/shared/models/UBOData.js.map +1 -0
  199. package/dist/esm/modules/common/shared/models/UIBlueprint.d.ts +33 -0
  200. package/dist/esm/modules/common/shared/models/UIBlueprint.js +164 -0
  201. package/dist/esm/modules/common/shared/models/UIBlueprint.js.map +1 -0
  202. package/dist/esm/modules/common/shared/models/User.d.ts +27 -0
  203. package/dist/esm/modules/common/shared/models/User.js +2 -0
  204. package/dist/esm/modules/common/shared/models/User.js.map +1 -0
  205. package/dist/esm/modules/common/shared/models/api.d.ts +124 -0
  206. package/dist/esm/modules/common/shared/models/api.js +2 -0
  207. package/dist/esm/modules/common/shared/models/api.js.map +1 -0
  208. package/dist/esm/modules/common/shared/models/general.d.ts +31 -0
  209. package/dist/esm/modules/common/shared/models/general.js +2 -0
  210. package/dist/esm/modules/common/shared/models/general.js.map +1 -0
  211. package/dist/esm/modules/common/shared/transformers/apiAlert.d.ts +4 -0
  212. package/dist/esm/modules/common/shared/transformers/apiAlert.js +104 -0
  213. package/dist/esm/modules/common/shared/transformers/apiAlert.js.map +1 -0
  214. package/dist/esm/modules/common/shared/transformers/apiGetRiskLevel.d.ts +2 -0
  215. package/dist/esm/modules/common/shared/transformers/apiGetRiskLevel.js +40 -0
  216. package/dist/esm/modules/common/shared/transformers/apiGetRiskLevel.js.map +1 -0
  217. package/dist/esm/modules/common/shared/transformers/apiState.d.ts +23 -0
  218. package/dist/esm/modules/common/shared/transformers/apiState.js +100 -0
  219. package/dist/esm/modules/common/shared/transformers/apiState.js.map +1 -0
  220. package/dist/esm/modules/common/shared/transformers/index.d.ts +3 -0
  221. package/dist/esm/modules/common/shared/transformers/index.js +4 -0
  222. package/dist/esm/modules/common/shared/transformers/index.js.map +1 -0
  223. package/dist/esm/modules/common/shared/utils/address.d.ts +2 -0
  224. package/dist/esm/modules/common/shared/utils/address.js +21 -0
  225. package/dist/esm/modules/common/shared/utils/address.js.map +1 -0
  226. package/dist/esm/modules/common/shared/utils/base64.d.ts +11 -0
  227. package/dist/esm/modules/common/shared/utils/base64.js +37 -0
  228. package/dist/esm/modules/common/shared/utils/base64.js.map +1 -0
  229. package/dist/esm/modules/common/shared/utils/buildCycleUtils.d.ts +1 -0
  230. package/dist/esm/modules/common/shared/utils/buildCycleUtils.js +28 -0
  231. package/dist/esm/modules/common/shared/utils/buildCycleUtils.js.map +1 -0
  232. package/dist/esm/modules/common/shared/utils/constants.d.ts +75 -0
  233. package/dist/esm/modules/common/shared/utils/constants.js +220 -0
  234. package/dist/esm/modules/common/shared/utils/constants.js.map +1 -0
  235. package/dist/esm/modules/common/shared/utils/date.d.ts +5 -0
  236. package/dist/esm/modules/common/shared/utils/date.js +66 -0
  237. package/dist/esm/modules/common/shared/utils/date.js.map +1 -0
  238. package/dist/esm/modules/common/shared/utils/dotNotation.d.ts +4 -0
  239. package/dist/esm/modules/common/shared/utils/dotNotation.js +12 -0
  240. package/dist/esm/modules/common/shared/utils/dotNotation.js.map +1 -0
  241. package/dist/esm/modules/common/shared/utils/getCountryDetails.d.ts +9 -0
  242. package/dist/esm/modules/common/shared/utils/getCountryDetails.js +15 -0
  243. package/dist/esm/modules/common/shared/utils/getCountryDetails.js.map +1 -0
  244. package/dist/esm/modules/common/shared/utils/getDocumentDetails.d.ts +8 -0
  245. package/dist/esm/modules/common/shared/utils/getDocumentDetails.js +6 -0
  246. package/dist/esm/modules/common/shared/utils/getDocumentDetails.js.map +1 -0
  247. package/dist/esm/modules/common/shared/utils/helper.d.ts +4 -0
  248. package/dist/esm/modules/common/shared/utils/helper.js +31 -0
  249. package/dist/esm/modules/common/shared/utils/helper.js.map +1 -0
  250. package/dist/esm/modules/common/shared/utils/index.d.ts +11 -0
  251. package/dist/esm/modules/common/shared/utils/index.js +12 -0
  252. package/dist/esm/modules/common/shared/utils/index.js.map +1 -0
  253. package/dist/esm/modules/common/shared/utils/isEmpty.d.ts +5 -0
  254. package/dist/esm/modules/common/shared/utils/isEmpty.js +23 -0
  255. package/dist/esm/modules/common/shared/utils/isEmpty.js.map +1 -0
  256. package/dist/esm/modules/common/shared/utils/sanitiser.d.ts +7 -0
  257. package/dist/esm/modules/common/shared/utils/sanitiser.js +23 -0
  258. package/dist/esm/modules/common/shared/utils/sanitiser.js.map +1 -0
  259. package/dist/esm/modules/common/shared/utils/string.d.ts +1 -0
  260. package/dist/esm/modules/common/shared/utils/string.js +3 -0
  261. package/dist/esm/modules/common/shared/utils/string.js.map +1 -0
  262. package/dist/esm/modules/common/types/Accessors.d.ts +19 -0
  263. package/dist/esm/modules/common/types/Accessors.js +2 -0
  264. package/dist/esm/modules/common/types/Accessors.js.map +1 -0
  265. package/dist/esm/modules/common/types/Configuration.d.ts +9 -8
  266. package/dist/esm/modules/common/types/Object.d.ts +3 -0
  267. package/dist/esm/modules/common/types/Object.js +2 -0
  268. package/dist/esm/modules/common/types/Object.js.map +1 -0
  269. package/dist/esm/modules/common/types/Session.d.ts +16 -0
  270. package/dist/esm/modules/common/types/Session.js +2 -0
  271. package/dist/esm/modules/common/types/Session.js.map +1 -0
  272. package/dist/esm/modules/device/index.d.ts +1 -1
  273. package/dist/esm/modules/device/index.js +23 -17
  274. package/dist/esm/modules/device/index.js.map +1 -1
  275. package/dist/esm/modules/device/parseConfiguration.d.ts +2 -2
  276. package/dist/esm/modules/device/parseConfiguration.js +2 -8
  277. package/dist/esm/modules/device/parseConfiguration.js.map +1 -1
  278. package/dist/esm/modules/device/types/events.d.ts +3 -2
  279. package/dist/esm/modules/device/types/index.d.ts +1 -1
  280. package/dist/esm/modules/device/types/index.js +1 -1
  281. package/dist/esm/modules/device/types/index.js.map +1 -1
  282. package/dist/esm/modules/device/types/module.d.ts +5 -6
  283. package/dist/esm/modules/device/types/{vendor.d.ts → wrapper.d.ts} +1 -2
  284. package/dist/esm/modules/device/types/wrapper.js +2 -0
  285. package/dist/esm/modules/device/types/wrapper.js.map +1 -0
  286. package/dist/esm/modules/device/vendors/Sardine.d.ts +3 -3
  287. package/dist/esm/modules/device/vendors/Sardine.js +63 -48
  288. package/dist/esm/modules/device/vendors/Sardine.js.map +1 -1
  289. package/dist/esm/modules/device/vendors/Threatmetrix/index.d.ts +2 -3
  290. package/dist/esm/modules/device/vendors/Threatmetrix/index.js +49 -34
  291. package/dist/esm/modules/device/vendors/Threatmetrix/index.js.map +1 -1
  292. package/dist/esm/modules/device/vendors/Threatmetrix/{fp-clientlib-v4.d.ts → nolint_fp-clientlib-v4.d.ts} +0 -0
  293. package/dist/esm/modules/device/vendors/Threatmetrix/{fp-clientlib-v4.js → nolint_fp-clientlib-v4.js} +1 -1
  294. package/dist/esm/modules/device/vendors/Threatmetrix/nolint_fp-clientlib-v4.js.map +1 -0
  295. package/dist/esm/modules/frankie-client/ClientsDictionary.d.ts +13 -0
  296. package/dist/esm/modules/frankie-client/ClientsDictionary.js +2 -0
  297. package/dist/esm/modules/frankie-client/ClientsDictionary.js.map +1 -0
  298. package/dist/esm/modules/frankie-client/DummyFrankieApiClient.d.ts +40 -5
  299. package/dist/esm/modules/frankie-client/DummyFrankieApiClient.js +185 -23
  300. package/dist/esm/modules/frankie-client/DummyFrankieApiClient.js.map +1 -1
  301. package/dist/esm/modules/frankie-client/FrankieApiClient.d.ts +15 -7
  302. package/dist/esm/modules/frankie-client/FrankieApiClient.js +77 -42
  303. package/dist/esm/modules/frankie-client/FrankieApiClient.js.map +1 -1
  304. package/dist/esm/modules/frankie-client/clients/ApplicantClient.d.ts +24 -0
  305. package/dist/esm/modules/frankie-client/clients/ApplicantClient.js +102 -0
  306. package/dist/esm/modules/frankie-client/clients/ApplicantClient.js.map +1 -0
  307. package/dist/esm/modules/frankie-client/clients/BaseClient.d.ts +10 -0
  308. package/dist/esm/modules/frankie-client/clients/BaseClient.js +16 -0
  309. package/dist/esm/modules/frankie-client/clients/BaseClient.js.map +1 -0
  310. package/dist/esm/modules/frankie-client/clients/ConfigurationClient.d.ts +10 -0
  311. package/dist/esm/modules/frankie-client/clients/ConfigurationClient.js +30 -0
  312. package/dist/esm/modules/frankie-client/clients/ConfigurationClient.js.map +1 -0
  313. package/dist/esm/modules/frankie-client/clients/IDVClient.d.ts +15 -0
  314. package/dist/esm/modules/frankie-client/clients/IDVClient.js +21 -0
  315. package/dist/esm/modules/frankie-client/clients/IDVClient.js.map +1 -0
  316. package/dist/esm/modules/frankie-client/clients/OCRClient.d.ts +30 -0
  317. package/dist/esm/modules/frankie-client/clients/OCRClient.js +116 -0
  318. package/dist/esm/modules/frankie-client/clients/OCRClient.js.map +1 -0
  319. package/dist/esm/modules/frankie-client/index.d.ts +8 -13
  320. package/dist/esm/modules/frankie-client/index.js +42 -10
  321. package/dist/esm/modules/frankie-client/index.js.map +1 -1
  322. package/dist/esm/modules/frankie-client/mocks/biometrics/idvSubmissoin.d.ts +3 -0
  323. package/dist/esm/modules/frankie-client/mocks/biometrics/idvSubmissoin.js +25 -0
  324. package/dist/esm/modules/frankie-client/mocks/biometrics/idvSubmissoin.js.map +1 -0
  325. package/dist/esm/modules/frankie-client/mocks/index.d.ts +12 -0
  326. package/dist/esm/modules/frankie-client/mocks/index.js +24 -0
  327. package/dist/esm/modules/frankie-client/mocks/index.js.map +1 -0
  328. package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.d.ts +8 -0
  329. package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.js +58 -0
  330. package/dist/esm/modules/frankie-client/mocks/individual/loadIndividual.js.map +1 -0
  331. package/dist/esm/modules/frankie-client/mocks/individual/submitData.d.ts +3 -0
  332. package/dist/esm/modules/frankie-client/mocks/individual/submitData.js +28 -0
  333. package/dist/esm/modules/frankie-client/mocks/individual/submitData.js.map +1 -0
  334. package/dist/esm/modules/frankie-client/mocks/initialisation/loadConfiguration.d.ts +2 -0
  335. package/dist/esm/modules/frankie-client/mocks/initialisation/loadConfiguration.js +22 -0
  336. package/dist/esm/modules/frankie-client/mocks/initialisation/loadConfiguration.js.map +1 -0
  337. package/dist/esm/modules/frankie-client/mocks/initialisation/validateToken.d.ts +2 -0
  338. package/dist/esm/modules/frankie-client/mocks/initialisation/validateToken.js +8 -0
  339. package/dist/esm/modules/frankie-client/mocks/initialisation/validateToken.js.map +1 -0
  340. package/dist/esm/modules/frankie-client/mocks/ocr/driversLicence.d.ts +15 -0
  341. package/dist/esm/modules/frankie-client/mocks/ocr/driversLicence.js +115 -0
  342. package/dist/esm/modules/frankie-client/mocks/ocr/driversLicence.js.map +1 -0
  343. package/dist/esm/modules/index.d.ts +9 -5
  344. package/dist/esm/modules/index.js +4 -2
  345. package/dist/esm/modules/index.js.map +1 -1
  346. package/dist/esm/modules/individual/actions/consents.d.ts +4 -0
  347. package/dist/esm/modules/individual/actions/consents.js +7 -0
  348. package/dist/esm/modules/individual/actions/consents.js.map +1 -0
  349. package/dist/esm/modules/individual/actions/documents.d.ts +9 -0
  350. package/dist/esm/modules/individual/actions/documents.js +21 -0
  351. package/dist/esm/modules/individual/actions/documents.js.map +1 -0
  352. package/dist/esm/modules/individual/actions/emitEvents.d.ts +6 -0
  353. package/dist/esm/modules/individual/actions/emitEvents.js +7 -0
  354. package/dist/esm/modules/individual/actions/emitEvents.js.map +1 -0
  355. package/dist/esm/modules/individual/actions/search.d.ts +17 -0
  356. package/dist/esm/modules/individual/actions/search.js +51 -0
  357. package/dist/esm/modules/individual/actions/search.js.map +1 -0
  358. package/dist/esm/modules/individual/actions/submit.d.ts +15 -0
  359. package/dist/esm/modules/individual/actions/submit.js +37 -0
  360. package/dist/esm/modules/individual/actions/submit.js.map +1 -0
  361. package/dist/esm/modules/individual/index.d.ts +2 -0
  362. package/dist/esm/modules/individual/index.js +74 -0
  363. package/dist/esm/modules/individual/index.js.map +1 -0
  364. package/dist/esm/modules/individual/types/events.d.ts +7 -0
  365. package/dist/esm/modules/individual/types/events.js +2 -0
  366. package/dist/esm/modules/individual/types/events.js.map +1 -0
  367. package/dist/esm/modules/individual/types/index.d.ts +2 -0
  368. package/dist/esm/modules/individual/types/index.js +3 -0
  369. package/dist/esm/modules/individual/types/index.js.map +1 -0
  370. package/dist/esm/modules/individual/types/module.d.ts +31 -0
  371. package/dist/esm/modules/individual/types/module.js +2 -0
  372. package/dist/esm/modules/individual/types/module.js.map +1 -0
  373. package/dist/esm/modules/ocr/actions/start.d.ts +51 -0
  374. package/dist/esm/modules/ocr/actions/start.js +268 -0
  375. package/dist/esm/modules/ocr/actions/start.js.map +1 -0
  376. package/dist/esm/modules/ocr/index.d.ts +12 -0
  377. package/dist/esm/modules/ocr/index.js +61 -0
  378. package/dist/esm/modules/ocr/index.js.map +1 -0
  379. package/dist/esm/modules/ocr/types/events.d.ts +21 -0
  380. package/dist/esm/modules/ocr/types/events.js +2 -0
  381. package/dist/esm/modules/ocr/types/events.js.map +1 -0
  382. package/dist/esm/modules/ocr/types/index.d.ts +2 -0
  383. package/dist/esm/modules/ocr/types/index.js +3 -0
  384. package/dist/esm/modules/ocr/types/index.js.map +1 -0
  385. package/dist/esm/modules/ocr/types/module.d.ts +26 -0
  386. package/dist/esm/modules/ocr/types/module.js +2 -0
  387. package/dist/esm/modules/ocr/types/module.js.map +1 -0
  388. package/dist/esm/modules/sdk/ComponentLoader.d.ts +12 -6
  389. package/dist/esm/modules/sdk/ComponentLoader.js +27 -16
  390. package/dist/esm/modules/sdk/ComponentLoader.js.map +1 -1
  391. package/dist/esm/modules/sdk/index.d.ts +3 -4
  392. package/dist/esm/modules/sdk/index.js +24 -16
  393. package/dist/esm/modules/sdk/index.js.map +1 -1
  394. package/dist/esm/modules/sdk/parseConfiguration.d.ts +3 -0
  395. package/dist/esm/modules/sdk/parseConfiguration.js +91 -0
  396. package/dist/esm/modules/sdk/parseConfiguration.js.map +1 -0
  397. package/dist/esm/modules/sdk/types/components.d.ts +25 -0
  398. package/dist/esm/modules/sdk/types/components.js +2 -0
  399. package/dist/esm/modules/sdk/types/components.js.map +1 -0
  400. package/dist/esm/modules/sdk/types/configuration.d.ts +76 -0
  401. package/dist/esm/modules/sdk/types/configuration.js +38 -0
  402. package/dist/esm/modules/sdk/types/configuration.js.map +1 -0
  403. package/dist/esm/modules/sdk/types/events.d.ts +5 -0
  404. package/dist/esm/modules/sdk/types/events.js +2 -0
  405. package/dist/esm/modules/sdk/types/events.js.map +1 -0
  406. package/dist/esm/modules/sdk/types/index.d.ts +4 -0
  407. package/dist/esm/modules/sdk/types/index.js +5 -0
  408. package/dist/esm/modules/sdk/types/index.js.map +1 -0
  409. package/dist/esm/modules/sdk/types/module.d.ts +16 -0
  410. package/dist/esm/modules/sdk/types/module.js +2 -0
  411. package/dist/esm/modules/sdk/types/module.js.map +1 -0
  412. package/dist/esm/types/Utilities.d.ts +6 -1
  413. package/dist/release.txt +1 -1
  414. package/dist/umd/727.js +3 -0
  415. package/dist/umd/727.js.LICENSE.txt +377 -0
  416. package/dist/umd/727.js.map +1 -0
  417. package/dist/umd/biometrics-dummy.js +2 -0
  418. package/dist/umd/biometrics-dummy.js.map +1 -0
  419. package/dist/umd/biometrics-ocrlabs.js +2 -0
  420. package/dist/umd/biometrics-ocrlabs.js.map +1 -0
  421. package/dist/umd/device-sardine.js +1 -1
  422. package/dist/umd/device-sardine.js.map +1 -1
  423. package/dist/umd/device-threatmetrix.js +1 -1
  424. package/dist/umd/device-threatmetrix.js.map +1 -1
  425. package/dist/umd/oneSdk.umd.js +1 -1
  426. package/dist/umd/oneSdk.umd.js.LICENSE.txt +13 -0
  427. package/dist/umd/oneSdk.umd.js.map +1 -1
  428. package/package.json +31 -11
  429. package/dist/esm/modules/device/types/vendor.js +0 -2
  430. package/dist/esm/modules/device/types/vendor.js.map +0 -1
  431. package/dist/esm/modules/device/vendors/Threatmetrix/fp-clientlib-v4.js.map +0 -1
  432. package/dist/esm/modules/sdk/onInitialisation.d.ts +0 -2
  433. package/dist/esm/modules/sdk/onInitialisation.js +0 -68
  434. package/dist/esm/modules/sdk/onInitialisation.js.map +0 -1
  435. package/dist/esm/modules/sdk/types.d.ts +0 -101
  436. package/dist/esm/modules/sdk/types.js +0 -2
  437. package/dist/esm/modules/sdk/types.js.map +0 -1
@@ -0,0 +1,61 @@
1
+ import { mkEventHub, mkEventListener, ReactiveStore } from "../common";
2
+ import { isInputRequiredStatus, OCRClient, Status } from "../frankie-client/clients/OCRClient";
3
+ import { mkStartMethod } from "./actions/start";
4
+ export const ocrModule = {
5
+ initialise(options) {
6
+ const { frankieClient, oneSdkInstance } = options;
7
+ const client = new OCRClient(frankieClient);
8
+ const eventHub = mkEventHub();
9
+ const { _expectedSide$, document$, failedStatus$, files$, isPreloaded$, status$ } = initialiseLocalState(new ReactiveStore({
10
+ document: null,
11
+ status: null,
12
+ failedStatus: null,
13
+ files: [],
14
+ isPreloaded: null,
15
+ }));
16
+ const publicAccessors = {
17
+ status: status$.toReadonly(),
18
+ failedStatus: failedStatus$.toReadonly(),
19
+ isPreloaded: isPreloaded$.toReadonly(),
20
+ };
21
+ const start = mkStartMethod({
22
+ _expectedSide$,
23
+ client,
24
+ document$,
25
+ eventHub,
26
+ files$,
27
+ individual: oneSdkInstance.individual(),
28
+ status$,
29
+ isPreloaded$,
30
+ failedStatus$,
31
+ });
32
+ return Object.assign(Object.assign({}, mkEventListener(eventHub)), { start, isPreloaded: () => isPreloaded$.getValue(), access: (fieldName) => publicAccessors[fieldName], statuses: Object.freeze(Status) });
33
+ },
34
+ };
35
+ export function initialiseLocalState(state$) {
36
+ const status$ = state$.getRootAccessors("status");
37
+ const failedStatus$ = state$.getRootAccessors("failedStatus");
38
+ const document$ = state$.getRootAccessors("document");
39
+ const files$ = state$.getRootAccessors("files");
40
+ const isPreloaded$ = state$.getRootAccessors("isPreloaded");
41
+ const _expectedSide$ = ReactiveStore.mkComputedAccessors(status$, {
42
+ transformer: (status) => {
43
+ if (isInputRequiredStatus(status)) {
44
+ return status === Status.WAITING_FRONT ? "front" : "back";
45
+ }
46
+ else {
47
+ return null;
48
+ }
49
+ },
50
+ propertyName: "expectedSide",
51
+ });
52
+ return {
53
+ status$,
54
+ failedStatus$,
55
+ document$,
56
+ files$,
57
+ isPreloaded$,
58
+ _expectedSide$,
59
+ };
60
+ }
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/ocr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,UAAU,CAAC,OAAO;QAChB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,UAAU,EAAU,CAAC;QAEtC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,oBAAoB,CACtG,IAAI,aAAa,CAAQ;YACvB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,IAAI;SAClB,CAAC,CACH,CAAC;QAEF,MAAM,eAAe,GAAG;YACtB,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE;YAC5B,YAAY,EAAE,aAAa,CAAC,UAAU,EAAE;YACxC,WAAW,EAAE,YAAY,CAAC,UAAU,EAAE;SACvC,CAAC;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC;YAC1B,cAAc;YACd,MAAM;YACN,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU,EAAE,cAAc,CAAC,UAAU,EAAE;YACvC,OAAO;YACP,YAAY;YACZ,aAAa;SACd,CAAC,CAAC;QACH,uCACK,eAAe,CAAC,QAAQ,CAAC,KAC5B,KAAK,EACL,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAC1C,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAC/B;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE;QAChE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YACtB,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBACjC,OAAO,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;aAC3D;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;QACH,CAAC;QACD,YAAY,EAAE,cAAc;KAC7B,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,aAAa;QACb,SAAS;QACT,MAAM;QACN,YAAY;QACZ,cAAc;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Document } from "../../common/shared/models/Document";
2
+ import { Status } from "../../frankie-client/clients/OCRClient";
3
+ export declare type Events = {
4
+ input_required: [Info, Status, ProvideFile];
5
+ results: [{
6
+ document: Document;
7
+ }];
8
+ file_uploaded: [FileUploadedMeta];
9
+ };
10
+ export declare type FileUploadedMeta = {
11
+ fileName: string;
12
+ mimeType: string;
13
+ scanId: string;
14
+ statusAfterUpload: Status;
15
+ statusBeforeUpload: Status;
16
+ };
17
+ export declare type Info = {
18
+ documentType: Document["idType"];
19
+ side: "front" | "back";
20
+ };
21
+ export declare type ProvideFile = (blob: File) => void;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../modules/ocr/types/events.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./events";
2
+ export * from "./module";
@@ -0,0 +1,3 @@
1
+ export * from "./events";
2
+ export * from "./module";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/ocr/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { FailedStatus, InputRequiredStatus, Status } from "../../frankie-client/clients/OCRClient";
2
+ import { BaseModuleOptions, ModuleContext } from "../../sdk/types";
3
+ import { Document } from "../../common/shared/models/Document";
4
+ import { AccessFunction, AccessorsDictionary } from "../../common/types/Accessors";
5
+ import { Events } from "./events";
6
+ export interface OcrModule {
7
+ initialise: (o: BaseModuleOptions) => OcrModuleContext;
8
+ }
9
+ export declare type OcrModuleContext = ModuleContext<{
10
+ start(): void;
11
+ access: AccessFunction<PublicAccessors>;
12
+ isPreloaded: () => boolean;
13
+ statuses: Readonly<typeof Status>;
14
+ }, Events>;
15
+ export declare type PublicFields = {
16
+ readonly status: Status;
17
+ readonly isPreloaded: boolean;
18
+ };
19
+ export declare type PublicAccessors = AccessorsDictionary<PublicFields>;
20
+ export declare type State = {
21
+ document: Document;
22
+ status: InputRequiredStatus | Status.COMPLETE;
23
+ failedStatus: FailedStatus;
24
+ files: File[];
25
+ isPreloaded: boolean;
26
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../modules/ocr/types/module.ts"],"names":[],"mappings":""}
@@ -1,12 +1,18 @@
1
- import { OneSdk, SharedState } from "./types";
1
+ import { OneSdkContext, SharedState } from "./types";
2
2
  /**
3
- * This factory will generate another function which will load OneSdk modules. That function will take a module name and an options object with extra module configuration.
4
- * The options object will be once again merged with the existing loaded options. This allows the the configuration to be defined incrementally.
3
+ * This factory will generate another function which will
4
+ * 1) load a public module by module name, defined in the dictionary PublicModules;
5
+ * 2) initialise it, which generates a context object, aka an "instance" of the module
6
+ * 3) tag that instance with an "instance name", which essentially is what we call a "component".
7
+ *
8
+ * This returned function will take as parameters a) a module name and b) an options object with extra module configuration options.
9
+ * That options object will be once again merged with the existing loaded options from the OneSdk initialisation. This allows the configuration to be overriden if necessary.
10
+ * For example, we might want to use real services for some modules, but mocked services for other modules.
5
11
  * In summary, the final configuration going into a module is a merge from
6
12
  * 1) Config API (already merged in rootOptions)
7
13
  * 2) Passed Root Config (already merged in rootOptions)
8
- * 3) Passed Module Config
9
- * @param rootOptions All options provided to OneSdk merged with resulting sharedState object
14
+ * 3) Passed Module Config (from this function parameters)
15
+ * @param sharedState All options provided to OneSdk merged with resulting sharedState object
10
16
  * @returns A function to load OneSdk modules
11
17
  */
12
- export declare const mkComponentLoader: (sharedState: SharedState) => OneSdk["component"];
18
+ export declare const mkComponentLoader: (sharedState: SharedState) => OneSdkContext["component"];
@@ -1,32 +1,41 @@
1
- import { merge } from "../common";
2
- import { Components } from "../common";
1
+ import { merge, PublicModules } from "../common";
3
2
  /**
4
- * This factory will generate another function which will load OneSdk modules. That function will take a module name and an options object with extra module configuration.
5
- * The options object will be once again merged with the existing loaded options. This allows the the configuration to be defined incrementally.
3
+ * This factory will generate another function which will
4
+ * 1) load a public module by module name, defined in the dictionary PublicModules;
5
+ * 2) initialise it, which generates a context object, aka an "instance" of the module
6
+ * 3) tag that instance with an "instance name", which essentially is what we call a "component".
7
+ *
8
+ * This returned function will take as parameters a) a module name and b) an options object with extra module configuration options.
9
+ * That options object will be once again merged with the existing loaded options from the OneSdk initialisation. This allows the configuration to be overriden if necessary.
10
+ * For example, we might want to use real services for some modules, but mocked services for other modules.
6
11
  * In summary, the final configuration going into a module is a merge from
7
12
  * 1) Config API (already merged in rootOptions)
8
13
  * 2) Passed Root Config (already merged in rootOptions)
9
- * 3) Passed Module Config
10
- * @param rootOptions All options provided to OneSdk merged with resulting sharedState object
14
+ * 3) Passed Module Config (from this function parameters)
15
+ * @param sharedState All options provided to OneSdk merged with resulting sharedState object
11
16
  * @returns A function to load OneSdk modules
12
17
  */
13
18
  export const mkComponentLoader = (sharedState) => {
14
19
  const { retrieveInstance, storeInstance, instancesDictionary } = mkInstanceDictionary();
15
- const componentMethod = (which, options) => {
20
+ const componentMethod = (...parameters) => {
21
+ const [which, options] = parameters;
16
22
  // Use instance name to simply load an existing instance or to generate a new one and store it under that name
17
23
  // instance name defaults to the module name itself
18
- options = options ?? {};
19
- const { instanceName = which } = options;
24
+ const { instanceName = which } = options !== null && options !== void 0 ? options : {};
20
25
  // if instance already exists, return it
21
- let instance = retrieveInstance(which, instanceName);
22
- if (!instance) {
26
+ const instance = retrieveInstance(which, instanceName);
27
+ if (instance)
28
+ return instance;
29
+ else {
23
30
  // otherwise, resolve new configuration and initialise and return new instance
24
31
  const mergedOptions = merge({}, sharedState, options, { instanceName });
25
32
  sharedState.globalEventHub.emit("resolved_module_config", mergedOptions);
26
- instance = Components[which].initialise(mergedOptions);
33
+ const module = PublicModules[which];
34
+ const moduleContext = module.initialise(mergedOptions);
35
+ const instance = injectInstanceName(moduleContext, instanceName);
27
36
  storeInstance(which, instanceName, instance);
37
+ return instance;
28
38
  }
29
- return injectInstanceName(instance, instanceName);
30
39
  };
31
40
  // the "defineProperty" below exposes the instances object and allows for easier testing
32
41
  return Object.defineProperty(componentMethod, "instances", {
@@ -45,11 +54,13 @@ const injectInstanceName = (m, instanceName) => {
45
54
  function mkInstanceDictionary() {
46
55
  const instancesDictionary = {};
47
56
  const storeInstance = (moduleName, instanceName, instance) => {
48
- instancesDictionary[moduleName] = instancesDictionary[moduleName] ?? {};
49
- instancesDictionary[moduleName][instanceName] = instance;
57
+ var _a;
58
+ instancesDictionary[moduleName] = (_a = instancesDictionary[moduleName]) !== null && _a !== void 0 ? _a : {};
59
+ instancesDictionary[moduleName][instanceName] = instance; // TODO: fix this silliness
50
60
  };
51
61
  const retrieveInstance = (moduleName, instanceName) => {
52
- return instancesDictionary?.[moduleName]?.[instanceName] ?? null;
62
+ var _a, _b;
63
+ return (_b = (_a = instancesDictionary === null || instancesDictionary === void 0 ? void 0 : instancesDictionary[moduleName]) === null || _a === void 0 ? void 0 : _a[instanceName]) !== null && _b !== void 0 ? _b : null;
53
64
  };
54
65
  return { storeInstance, retrieveInstance, instancesDictionary };
55
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentLoader.js","sourceRoot":"","sources":["../../../../modules/sdk/ComponentLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU5C;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAAuB,EAAE;IACjF,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAExF,MAAM,eAAe,GAAG,CACtB,KAAU,EACV,OAAsD,EACH,EAAE;QACrD,8GAA8G;QAC9G,mDAAmD;QACnD,OAAO,GAAG,OAAO,IAAK,EAAmD,CAAC;QAC1E,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAEzC,wCAAwC;QACxC,IAAI,QAAQ,GAAwD,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAE1G,IAAI,CAAC,QAAQ,EAAE;YACb,8EAA8E;YAC9E,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YACxE,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;YAEzE,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACvD,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;SAC9C;QAED,OAAO,kBAAkB,CAAC,QAAkD,EAAE,YAAY,CAIzF,CAAC;IACJ,CAAC,CAAC;IACF,wFAAwF;IACxF,OAAO,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,WAAW,EAAE;QACzD,KAAK,EAAE,mBAAyD;QAChE,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;KAChB,CAAwB,CAAC;AAC5B,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG,CACzB,CAAyC,EACzC,YAA0B,EAC1B,EAAE;IACF,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,EAAE;QAC9C,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;KAChB,CAAsD,CAAC;AAC1D,CAAC,CAAC;AAEF,SAAS,oBAAoB;IAC3B,MAAM,mBAAmB,GAAG,EAA8B,CAAC;IAC3D,MAAM,aAAa,GAAG,CACpB,UAA4B,EAC5B,YAAoB,EACpB,QAA6D,EAC7D,EAAE;QACF,mBAAmB,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxE,mBAAmB,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,UAA4B,EAAE,YAAoB,EAAE,EAAE;QAC9E,OAAO,mBAAmB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;IACnE,CAAC,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"ComponentLoader.js","sourceRoot":"","sources":["../../../../modules/sdk/ComponentLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAanE;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAA8B,EAAE;IACxF,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAExF,MAAM,eAAe,GAAsB,CACzC,GAAG,UAAmD,EACrB,EAAE;QACnC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;QACpC,8GAA8G;QAC9G,mDAAmD;QACnD,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAE/C,wCAAwC;QACxC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAA2C,CAAC;QACjG,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;aACzB;YACH,8EAA8E;YAC9E,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YACxE,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAW,CAAC;YAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAoB,CAAC;YAE1E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACjE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC7C,OAAO,QAA2C,CAAC;SACpD;IACH,CAAC,CAAC;IACF,wFAAwF;IACxF,OAAO,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,WAAW,EAAE;QACzD,KAAK,EAAE,mBAAqD;QAC5D,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;KAChB,CAA+B,CAAC;AACnC,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG,CACzB,CAAU,EACV,YAA0B,EAC1B,EAAE;IACF,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,EAAE;QAC9C,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;KAChB,CAA6C,CAAC;AACjD,CAAC,CAAC;AAEF,SAAS,oBAAoB;IAC3B,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,CACpB,UAAgB,EAChB,YAA0B,EAC1B,QAAyC,EACzC,EAAE;;QACF,mBAAmB,CAAC,UAAU,CAAC,GAAG,MAAA,mBAAmB,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC;QACxE,mBAAmB,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,QAAoD,CAAC,CAAC,2BAA2B;IACnI,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CACvB,UAAgB,EAChB,YAA0B,EAC1B,EAAE;;QACF,OAAO,MAAC,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,UAAU,CAAC,0CAAG,YAAY,CAAqC,mCAAI,IAAI,CAAC;IACxG,CAAC,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;AAClE,CAAC"}
@@ -1,4 +1,3 @@
1
- import { OneSdk, OneSdkRootParameters } from "./types";
2
- export declare const oneSdk: {
3
- initialise: (oneSdkOptions: OneSdkRootParameters) => Promise<OneSdk>;
4
- };
1
+ import type { OneSdkModule } from "./types";
2
+ export type { OneSdkContext, OneSdkRootParameters } from "./types";
3
+ export declare const oneSdk: OneSdkModule;
@@ -1,22 +1,30 @@
1
- import { mkCommonDependencies } from "./onInitialisation";
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
+ import { individualModule } from "../individual";
11
+ import { mkEventListener } from "../common";
2
12
  import { mkComponentLoader } from "./ComponentLoader";
13
+ import { parseConfiguration } from "./parseConfiguration";
3
14
  export const oneSdk = {
4
- initialise: async function (oneSdkOptions) {
5
- const sharedState = await mkCommonDependencies(oneSdkOptions);
6
- const { globalEventHub } = sharedState;
7
- // Delay event emission to after top scope has access to methods from event hub (on and off)
8
- setTimeout(() => {
9
- const { globalEventHub, ...resolved } = sharedState;
10
- globalEventHub.emit("resolved_root_config", resolved);
15
+ initialise: function (oneSdkOptions) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const sharedState = yield parseConfiguration(oneSdkOptions);
18
+ const { globalEventHub } = sharedState;
19
+ const sdk = Object.assign(Object.assign({}, mkEventListener(globalEventHub)), { individual: () => individual, component: null });
20
+ const baseModuleOptions = Object.assign(Object.assign({}, sharedState), { oneSdkInstance: sdk });
21
+ // Make individual module
22
+ const individual = individualModule.initialise(Object.assign(Object.assign({}, baseModuleOptions), { instanceName: "individual" }));
23
+ // Make component factory
24
+ sdk.component = mkComponentLoader(baseModuleOptions);
25
+ // resolve onesdk once
26
+ return new Promise((resolve) => individual.on("data_loaded", () => resolve(sdk)));
11
27
  });
12
- const sdk = {
13
- // expose on and off methods from global event hub
14
- on: (...args) => void globalEventHub.on(...args),
15
- off: (...args) => void globalEventHub.off(...args),
16
- component: null,
17
- };
18
- sdk.component = mkComponentLoader({ ...sharedState, oneSdkInstance: sdk });
19
- return sdk;
20
28
  },
21
29
  };
22
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,KAAK,WAAW,aAAmC;QAC7D,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QAEvC,4FAA4F;QAC5F,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC;YACpD,cAAc,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAW;YAClB,kDAAkD;YAClD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAChD,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAClD,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAC,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3E,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,UAAU,EAAE,UAAgB,aAAa;;YACvC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAC5D,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;YAEvC,MAAM,GAAG,mCAEJ,eAAe,CAAC,cAAc,CAAC,KAClC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,EAC5B,SAAS,EAAE,IAAI,GAChB,CAAC;YACF,MAAM,iBAAiB,mCAAqB,WAAW,KAAE,cAAc,EAAE,GAAG,GAAE,CAAC;YAC/E,yBAAyB;YACzB,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,iCACzC,iBAAiB,KACpB,YAAY,EAAE,YAAY,IAC1B,CAAC;YACH,yBAAyB;YACzB,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAErD,sBAAsB;YACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;KAAA;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { OneSdkRootParameters, RecipeParsed, SharedState } from "./types";
2
+ export declare function parseConfiguration(oneSdkOptions: OneSdkRootParameters): Promise<Omit<SharedState, "oneSdkInstance">>;
3
+ export declare function resolveRecipeValue(recipe: OneSdkRootParameters["recipe"]): RecipeParsed;
@@ -0,0 +1,91 @@
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 __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import { merge, mkEventHub } from "../common";
22
+ import { mkFrankieClient } from "../frankie-client";
23
+ import { ConfigurationClient } from "../frankie-client/clients/ConfigurationClient";
24
+ import { SdkModes } from "./types";
25
+ export function parseConfiguration(oneSdkOptions) {
26
+ var _a;
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const recipe = resolveRecipeValue(oneSdkOptions.recipe);
29
+ const mode = (_a = oneSdkOptions.mode) !== null && _a !== void 0 ? _a : SdkModes.PROD;
30
+ const globalEventHub = mkEventHub();
31
+ const frankieClient = yield mkFrankieClient({ mode, session: oneSdkOptions.session, globalEventHub });
32
+ // use frankie client to fetch existing recipe configuration from API
33
+ const fetchedRecipeConfiguration = yield fetchRecipeConfig({ frankieClient, globalEventHub, recipe });
34
+ // And merge it with provided config
35
+ const mergedRecipeConfiguration = mergeRecipeConfigurations(recipe, fetchedRecipeConfiguration, globalEventHub);
36
+ const sharedState = {
37
+ mode,
38
+ session: resolveSessionObject({ mode, frankieClient }),
39
+ globalEventHub,
40
+ frankieClient,
41
+ recipe: mergedRecipeConfiguration,
42
+ };
43
+ return sharedState;
44
+ });
45
+ }
46
+ function resolveSessionObject(options) {
47
+ return options.frankieClient.session;
48
+ }
49
+ function mergeRecipeConfigurations(provided, fetched, eventHub) {
50
+ // Merge configs by:
51
+ // first) ensuring fetched configuration has recipe name (defaulting it to 'auto')
52
+ // second) keeping fetched name if provided recipe name is 'auto'
53
+ const { name: providedRecipeName } = provided, providedRecipeObject = __rest(provided, ["name"]);
54
+ const _a = resolveRecipeValue(fetched), { name: fetchedRecipeName } = _a, fetchedRecipeObject = __rest(_a, ["name"]);
55
+ /*eslint-disable */
56
+ const mergedRecipeConfiguration = merge({}, fetchedRecipeObject, providedRecipeObject, {
57
+ name: providedRecipeName === "auto" ? fetchedRecipeName : providedRecipeName,
58
+ });
59
+ if (providedRecipeName !== "auto" && fetchedRecipeName && providedRecipeName !== fetchedRecipeName) {
60
+ setTimeout(() => eventHub.emit("error", {
61
+ message: `Recipe name mismatch. Requested '${providedRecipeName}', found '${fetchedRecipeName}'. Configuration might be incorrect, so check this event's 'payload' for the resulting configuration object.`,
62
+ payload: mergedRecipeConfiguration,
63
+ }));
64
+ }
65
+ return mergedRecipeConfiguration;
66
+ }
67
+ export function resolveRecipeValue(recipe) {
68
+ var _a;
69
+ if (!recipe)
70
+ return { name: "auto" };
71
+ if (typeof recipe === "string")
72
+ return { name: recipe };
73
+ return Object.assign(Object.assign({}, recipe), { name: (_a = recipe.name) !== null && _a !== void 0 ? _a : "auto" });
74
+ }
75
+ function fetchRecipeConfig(options) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ options.globalEventHub.emit("info", {
78
+ message: "Fetching recipe configuration",
79
+ payload: { recipeName: options.recipe },
80
+ });
81
+ const config = new ConfigurationClient(options.frankieClient, { recipe: options.recipe.name });
82
+ return config.load().catch((e) => {
83
+ options.globalEventHub.emit("error", {
84
+ message: "Failed fetching recipe configuration. Using provided configuration only.",
85
+ payload: e,
86
+ });
87
+ return {};
88
+ });
89
+ });
90
+ }
91
+ //# sourceMappingURL=parseConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseConfiguration.js","sourceRoot":"","sources":["../../../../modules/sdk/parseConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAY,KAAK,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAoB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAoD,QAAQ,EAA4B,MAAM,SAAS,CAAC;AAE/G,MAAM,UAAgB,kBAAkB,CACtC,aAAmC;;;QAEnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAA,aAAa,CAAC,IAAI,mCAAI,QAAQ,CAAC,IAAI,CAAC;QAEjD,MAAM,cAAc,GAAG,UAAU,EAAgB,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QACtG,qEAAqE;QACrE,MAAM,0BAA0B,GAAG,MAAM,iBAAiB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtG,oCAAoC;QACpC,MAAM,yBAAyB,GAAG,yBAAyB,CAAC,MAAM,EAAE,0BAA0B,EAAE,cAAc,CAAC,CAAC;QAEhH,MAAM,WAAW,GAAwC;YACvD,IAAI;YACJ,OAAO,EAAE,oBAAoB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACtD,cAAc;YACd,aAAa;YACb,MAAM,EAAE,yBAAyB;SAClC,CAAC;QAEF,OAAO,WAAW,CAAC;;CACpB;AACD,SAAS,oBAAoB,CAAC,OAA4D;IACxF,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;AACvC,CAAC;AACD,SAAS,yBAAyB,CAChC,QAAsB,EACtB,OAA4B,EAC5B,QAAgC;IAEhC,oBAAoB;IACpB,kFAAkF;IAClF,iEAAiE;IACjE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAA8B,QAAQ,EAAjC,oBAAoB,UAAK,QAAQ,EAAhE,QAAqD,CAAW,CAAC;IACvE,MAAM,KAAsD,kBAAkB,CAAC,OAAO,CAAC,EAAjF,EAAE,IAAI,EAAE,iBAAiB,OAAwD,EAAnD,mBAAmB,cAAjD,QAAmD,CAA8B,CAAC;IACxF,mBAAmB;IACnB,MAAM,yBAAyB,GAAG,KAAK,CAAC,EAAE,EAAE,mBAAmB,EAAE,oBAAoB,EAAE;QACrF,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB;KAC7E,CAAC,CAAC;IACH,IAAI,kBAAkB,KAAK,MAAM,IAAI,iBAAiB,IAAI,kBAAkB,KAAK,iBAAiB,EAAE;QAClG,UAAU,CAAC,GAAG,EAAE,CACd,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,OAAO,EAAE,oCAAoC,kBAAkB,aAAa,iBAAiB,8GAA8G;YAC3M,OAAO,EAAE,yBAAyB;SACnC,CAAC,CACH,CAAC;KACH;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,MAAsC;;IACvE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxD,uCACK,MAAM,KACT,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,MAAM,IAC3B;AACJ,CAAC;AACD,SAAe,iBAAiB,CAC9B,OAAyE;;QAEzE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;YAClC,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;SACxC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnC,OAAO,EAAE,0EAA0E;gBACnF,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CAAA"}
@@ -0,0 +1,25 @@
1
+ import { EventHub, EventsDictionary, ModuleNames, ModulesDictionary } from "../../common";
2
+ import { ParameterSubtraction } from "../../../types/index.js";
3
+ import { PartialDeep } from "type-fest";
4
+ import { SharedState } from "./configuration";
5
+ export declare type ComponentsDictionary = {
6
+ [Module in ModuleNames]?: {
7
+ [InstanceName in string]: ComponentOf<Module, InstanceName>;
8
+ };
9
+ };
10
+ export interface Module<Params extends BaseModuleOptions = BaseModuleOptions, Context extends ModuleContext = Omit<EventHub, "emit">> {
11
+ initialise(p: Params): Context;
12
+ }
13
+ export declare type BaseModuleOptions<InstanceName extends string = string> = SharedState & {
14
+ instanceName: InstanceName;
15
+ };
16
+ export declare type ModuleContext<Context extends object = Record<string, unknown>, Events extends EventsDictionary = Record<string, unknown[]>> = Context & Omit<EventHub<Events>, "emit">;
17
+ export declare type ComponentOf<Module extends ModuleNames, InstanceName extends string = Module> = ContextOf<Module> & {
18
+ instanceName: InstanceName;
19
+ };
20
+ export declare type ContextOf<Module extends ModuleNames> = ExtractContextFrom<ModulesDictionary[Module]>;
21
+ export declare type ExtractContextFrom<TheModule extends Module> = ReturnType<TheModule["initialise"]>;
22
+ export declare type ExtractExclusiveOptionsFrom<TheModule extends Module> = ParameterSubtraction<TheModule["initialise"], BaseModuleOptions>;
23
+ declare type OptionalBaseOptions<InstanceName extends string> = Omit<PartialDeep<BaseModuleOptions<InstanceName>>, "globalEventHub">;
24
+ export declare type ExtractPublicOptionsFrom<TheModule extends Module, InstanceName extends string> = ExtractExclusiveOptionsFrom<TheModule> & OptionalBaseOptions<InstanceName>;
25
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/components.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import { EventHub, RecipeConfiguration } from "../../common";
2
+ import { FrankieApiClient } from "../../frankie-client";
3
+ import { SetRequired } from "type-fest";
4
+ import { GlobalEvents } from "./events";
5
+ import { OneSdkContext } from "./module";
6
+ /**
7
+ * Different levels of configuration may be done in OneSdk. This isn't a requirement,
8
+ * but allows us to ensure options are consistent and compatible throughout all levels of OneSdk
9
+ *
10
+ * Throughout this codebase "options" refer to the options passed to the OneSdk and "configuration/config" are the recipe configuration.
11
+ * Recipe/recipe name is the string name representing a recipe.
12
+ *
13
+ * 1) initialisation as OneSdk({
14
+ * // all options are optional on initialisation
15
+ * recipe?,
16
+ * environment?
17
+ * mode?
18
+ * session (required unless mode is "dummy")
19
+ * })
20
+ * 2) Resulting parsed configuration = {
21
+ * // once parsed, all missing options will be filled with defaults
22
+ * // recipe object will be fetched from API and merged with recipe object from initialisation, if any
23
+ * recipe,
24
+ * environment,
25
+ * mode,
26
+ * session (unless mode is "dummy")
27
+ * }
28
+ * 3) When instanciating a component = {
29
+ * // - customer have an opportunity to redefine options from initialisation, all optional. All options will be merged together
30
+ * // See ComponentLoader.ts
31
+ * // - instanceName allows multiple instances to be stored in a central instance map, otherwise by default only one instance is
32
+ * // created for each module this allows modules to call existing instances or create new instances on demand and
33
+ * // share them with other modules
34
+ * instanceName?
35
+ * }
36
+ */
37
+ export declare enum SdkModes {
38
+ DEV = "development",
39
+ PROD = "production",
40
+ DUMMY = "dummy"
41
+ }
42
+ export declare type RecipeOption = string | RecipeConfiguration;
43
+ export declare type RecipeParsed = SetRequired<RecipeConfiguration, "name">;
44
+ export declare type OneSdkRootParameters = {
45
+ recipe?: RecipeOption;
46
+ } & ({
47
+ mode: SdkModes.DUMMY;
48
+ session?: {
49
+ token: string;
50
+ } | null;
51
+ } | {
52
+ mode?: Exclude<SdkModes, SdkModes.DUMMY>;
53
+ session: {
54
+ token: string;
55
+ };
56
+ });
57
+ export declare type SharedState = {
58
+ globalEventHub: EventHub<GlobalEvents>;
59
+ frankieClient: FrankieApiClient;
60
+ oneSdkInstance: OneSdkContext;
61
+ recipe: RecipeParsed;
62
+ session: SessionMeta;
63
+ } & Required<Omit<OneSdkRootParameters, "session">>;
64
+ export declare type SessionMeta = {
65
+ sessionId: string;
66
+ customerID: string;
67
+ customerChildID?: string;
68
+ token: string;
69
+ environment: string;
70
+ } & ({
71
+ entityId: string;
72
+ reference?: string;
73
+ } | {
74
+ reference: string;
75
+ entityId?: string;
76
+ });
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Different levels of configuration may be done in OneSdk. This isn't a requirement,
3
+ * but allows us to ensure options are consistent and compatible throughout all levels of OneSdk
4
+ *
5
+ * Throughout this codebase "options" refer to the options passed to the OneSdk and "configuration/config" are the recipe configuration.
6
+ * Recipe/recipe name is the string name representing a recipe.
7
+ *
8
+ * 1) initialisation as OneSdk({
9
+ * // all options are optional on initialisation
10
+ * recipe?,
11
+ * environment?
12
+ * mode?
13
+ * session (required unless mode is "dummy")
14
+ * })
15
+ * 2) Resulting parsed configuration = {
16
+ * // once parsed, all missing options will be filled with defaults
17
+ * // recipe object will be fetched from API and merged with recipe object from initialisation, if any
18
+ * recipe,
19
+ * environment,
20
+ * mode,
21
+ * session (unless mode is "dummy")
22
+ * }
23
+ * 3) When instanciating a component = {
24
+ * // - customer have an opportunity to redefine options from initialisation, all optional. All options will be merged together
25
+ * // See ComponentLoader.ts
26
+ * // - instanceName allows multiple instances to be stored in a central instance map, otherwise by default only one instance is
27
+ * // created for each module this allows modules to call existing instances or create new instances on demand and
28
+ * // share them with other modules
29
+ * instanceName?
30
+ * }
31
+ */
32
+ export var SdkModes;
33
+ (function (SdkModes) {
34
+ SdkModes["DEV"] = "development";
35
+ SdkModes["PROD"] = "production";
36
+ SdkModes["DUMMY"] = "dummy";
37
+ })(SdkModes || (SdkModes = {}));
38
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/configuration.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,2BAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB"}
@@ -0,0 +1,5 @@
1
+ import { SharedState } from "./configuration";
2
+ export declare type GlobalEvents = {
3
+ resolved_root_config: [Omit<SharedState, "globalEventHub" | "oneSdkInstance">];
4
+ resolved_module_config: [SharedState];
5
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/events.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from "./components";
2
+ export * from "./configuration";
3
+ export * from "./events";
4
+ export * from "./module";
@@ -0,0 +1,5 @@
1
+ export * from "./components";
2
+ export * from "./configuration";
3
+ export * from "./events";
4
+ export * from "./module";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}