@kosdev-code/kos-dispense-sdk 2.0.2

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 (319) hide show
  1. package/dispense-registration-manager-DxIbOft8.js +1759 -0
  2. package/dispense-registration-manager-DxIbOft8.js.map +1 -0
  3. package/dispense-registration-manager-aM9RAFHn.cjs +2 -0
  4. package/dispense-registration-manager-aM9RAFHn.cjs.map +1 -0
  5. package/extension-utils-hWIrDMX4.cjs +2 -0
  6. package/extension-utils-hWIrDMX4.cjs.map +1 -0
  7. package/extension-utils-qcU_4sXo.js +370 -0
  8. package/extension-utils-qcU_4sXo.js.map +1 -0
  9. package/index.cjs +2 -0
  10. package/index.cjs.map +1 -0
  11. package/index.d.ts +4 -0
  12. package/index.d.ts.map +1 -0
  13. package/index.js +103 -0
  14. package/index.js.map +1 -0
  15. package/models/constants/constants.d.ts +229 -0
  16. package/models/constants/constants.d.ts.map +1 -0
  17. package/models/constants/index.d.ts +2 -0
  18. package/models/constants/index.d.ts.map +1 -0
  19. package/models/index.d.ts +6 -0
  20. package/models/index.d.ts.map +1 -0
  21. package/models/models/assembly/assembly-model.d.ts +40 -0
  22. package/models/models/assembly/assembly-model.d.ts.map +1 -0
  23. package/models/models/assembly/assembly-registration.d.ts +81 -0
  24. package/models/models/assembly/assembly-registration.d.ts.map +1 -0
  25. package/models/models/assembly/board-utils.d.ts +6 -0
  26. package/models/models/assembly/board-utils.d.ts.map +1 -0
  27. package/models/models/assembly/holder-utils.d.ts +5 -0
  28. package/models/models/assembly/holder-utils.d.ts.map +1 -0
  29. package/models/models/assembly/index.d.ts +4 -0
  30. package/models/models/assembly/index.d.ts.map +1 -0
  31. package/models/models/assembly/nozzle-utils.d.ts +6 -0
  32. package/models/models/assembly/nozzle-utils.d.ts.map +1 -0
  33. package/models/models/assembly/pump-utils.d.ts +7 -0
  34. package/models/models/assembly/pump-utils.d.ts.map +1 -0
  35. package/models/models/assembly/services/assembly-services.d.ts +8 -0
  36. package/models/models/assembly/services/assembly-services.d.ts.map +1 -0
  37. package/models/models/assembly/services/index.d.ts +2 -0
  38. package/models/models/assembly/services/index.d.ts.map +1 -0
  39. package/models/models/assembly/types/index.d.ts +64 -0
  40. package/models/models/availability/availability-model.d.ts +89 -0
  41. package/models/models/availability/availability-model.d.ts.map +1 -0
  42. package/models/models/availability/index.d.ts +3 -0
  43. package/models/models/availability/index.d.ts.map +1 -0
  44. package/models/models/availability/types/index.d.ts +71 -0
  45. package/models/models/board/board-container-model.d.ts +23 -0
  46. package/models/models/board/board-container-model.d.ts.map +1 -0
  47. package/models/models/board/board-container-registration.d.ts +87 -0
  48. package/models/models/board/board-container-registration.d.ts.map +1 -0
  49. package/models/models/board/board-model.d.ts +18 -0
  50. package/models/models/board/board-model.d.ts.map +1 -0
  51. package/models/models/board/board-registration.d.ts +84 -0
  52. package/models/models/board/board-registration.d.ts.map +1 -0
  53. package/models/models/board/index.d.ts +5 -0
  54. package/models/models/board/index.d.ts.map +1 -0
  55. package/models/models/board/types/index.d.ts +36 -0
  56. package/models/models/board/types/services.d.ts +12 -0
  57. package/models/models/board/types/services.d.ts.map +1 -0
  58. package/models/models/board/utils/board-trouble-data-mapper.d.ts +7 -0
  59. package/models/models/board/utils/board-trouble-data-mapper.d.ts.map +1 -0
  60. package/models/models/board/utils/board-trouble-resolver.d.ts +7 -0
  61. package/models/models/board/utils/board-trouble-resolver.d.ts.map +1 -0
  62. package/models/models/device-assembly/device-assembly-model.d.ts +17 -0
  63. package/models/models/device-assembly/device-assembly-model.d.ts.map +1 -0
  64. package/models/models/device-assembly/device-assembly-registration.d.ts +89 -0
  65. package/models/models/device-assembly/device-assembly-registration.d.ts.map +1 -0
  66. package/models/models/device-assembly/index.d.ts +4 -0
  67. package/models/models/device-assembly/index.d.ts.map +1 -0
  68. package/models/models/device-assembly/types/index.d.ts +1 -0
  69. package/models/models/holder/holder-model.d.ts +93 -0
  70. package/models/models/holder/holder-model.d.ts.map +1 -0
  71. package/models/models/holder/index.d.ts +5 -0
  72. package/models/models/holder/index.d.ts.map +1 -0
  73. package/models/models/holder/services/assignment-services.d.ts +25 -0
  74. package/models/models/holder/services/assignment-services.d.ts.map +1 -0
  75. package/models/models/holder/services/holder-services.d.ts +28 -0
  76. package/models/models/holder/services/holder-services.d.ts.map +1 -0
  77. package/models/models/holder/services/index.d.ts +3 -0
  78. package/models/models/holder/services/index.d.ts.map +1 -0
  79. package/models/models/holder/types/index.d.ts +163 -0
  80. package/models/models/holder/utils/holder-utils.d.ts +9 -0
  81. package/models/models/holder/utils/holder-utils.d.ts.map +1 -0
  82. package/models/models/holder-container/holder-container-model.d.ts +80 -0
  83. package/models/models/holder-container/holder-container-model.d.ts.map +1 -0
  84. package/models/models/holder-container/index.d.ts +3 -0
  85. package/models/models/holder-container/index.d.ts.map +1 -0
  86. package/models/models/holder-container/types/index.d.ts +69 -0
  87. package/models/models/index.d.ts +13 -0
  88. package/models/models/index.d.ts.map +1 -0
  89. package/models/models/ingredient/index.d.ts +4 -0
  90. package/models/models/ingredient/index.d.ts.map +1 -0
  91. package/models/models/ingredient/ingredient-model.d.ts +86 -0
  92. package/models/models/ingredient/ingredient-model.d.ts.map +1 -0
  93. package/models/models/ingredient/services/index.d.ts +2 -0
  94. package/models/models/ingredient/services/index.d.ts.map +1 -0
  95. package/models/models/ingredient/services/ingredient-services.d.ts +30 -0
  96. package/models/models/ingredient/services/ingredient-services.d.ts.map +1 -0
  97. package/models/models/ingredient/types/index.d.ts +67 -0
  98. package/models/models/ingredient-container/index.d.ts +3 -0
  99. package/models/models/ingredient-container/index.d.ts.map +1 -0
  100. package/models/models/ingredient-container/ingredient-container-model.d.ts +80 -0
  101. package/models/models/ingredient-container/ingredient-container-model.d.ts.map +1 -0
  102. package/models/models/ingredient-container/types/index.d.ts +67 -0
  103. package/models/models/nozzle/index.d.ts +5 -0
  104. package/models/models/nozzle/index.d.ts.map +1 -0
  105. package/models/models/nozzle/nozzle-model.d.ts +257 -0
  106. package/models/models/nozzle/nozzle-model.d.ts.map +1 -0
  107. package/models/models/nozzle/services/index.d.ts +2 -0
  108. package/models/models/nozzle/services/index.d.ts.map +1 -0
  109. package/models/models/nozzle/services/nozzle-services.d.ts +181 -0
  110. package/models/models/nozzle/services/nozzle-services.d.ts.map +1 -0
  111. package/models/models/nozzle/types/index.d.ts +85 -0
  112. package/models/models/pump/index.d.ts +4 -0
  113. package/models/models/pump/index.d.ts.map +1 -0
  114. package/models/models/pump/pump-model.d.ts +91 -0
  115. package/models/models/pump/pump-model.d.ts.map +1 -0
  116. package/models/models/pump/services/index.d.ts +2 -0
  117. package/models/models/pump/services/index.d.ts.map +1 -0
  118. package/models/models/pump/services/pump-services.d.ts +27 -0
  119. package/models/models/pump/services/pump-services.d.ts.map +1 -0
  120. package/models/models/pump/types/index.d.ts +55 -0
  121. package/models/models/pump/utils/pump-trouble-resolver.d.ts +8 -0
  122. package/models/models/pump/utils/pump-trouble-resolver.d.ts.map +1 -0
  123. package/models/models/pump-container/index.d.ts +3 -0
  124. package/models/models/pump-container/index.d.ts.map +1 -0
  125. package/models/models/pump-container/pump-container-model.d.ts +85 -0
  126. package/models/models/pump-container/pump-container-model.d.ts.map +1 -0
  127. package/models/models/pump-container/types/index.d.ts +31 -0
  128. package/models/models/types/assembly.d.ts +83 -0
  129. package/models/models/types/assembly.d.ts.map +1 -0
  130. package/models/models/types/index.d.ts +4 -0
  131. package/models/models/types/index.d.ts.map +1 -0
  132. package/models/models/types/intent.d.ts +19 -0
  133. package/models/models/types/intent.d.ts.map +1 -0
  134. package/models/models/types/pouring.d.ts +9 -0
  135. package/models/models/types/pouring.d.ts.map +1 -0
  136. package/models/utils/dispense-registration-manager.d.ts +28 -0
  137. package/models/utils/dispense-registration-manager.d.ts.map +1 -0
  138. package/models/utils/extension-utils.d.ts +265 -0
  139. package/models/utils/extension-utils.d.ts.map +1 -0
  140. package/models/utils/openapi.d.ts +9276 -0
  141. package/models/utils/registration.d.ts +4 -0
  142. package/models/utils/registration.d.ts.map +1 -0
  143. package/models/utils/service.d.ts +64 -0
  144. package/models/utils/service.d.ts.map +1 -0
  145. package/models.cjs +2 -0
  146. package/models.cjs.map +1 -0
  147. package/models.d.ts +1 -0
  148. package/models.js +38 -0
  149. package/models.js.map +1 -0
  150. package/package.json +36 -0
  151. package/pump-provider-COTqsOH-.js +1013 -0
  152. package/pump-provider-COTqsOH-.js.map +1 -0
  153. package/pump-provider-D2HzZ2Bj.cjs +2 -0
  154. package/pump-provider-D2HzZ2Bj.cjs.map +1 -0
  155. package/ui/contexts/assembly/assembly-provider.d.ts +12 -0
  156. package/ui/contexts/assembly/assembly-provider.d.ts.map +1 -0
  157. package/ui/contexts/assembly/index.d.ts +2 -0
  158. package/ui/contexts/assembly/index.d.ts.map +1 -0
  159. package/ui/contexts/availability/availability-provider.d.ts +13 -0
  160. package/ui/contexts/availability/availability-provider.d.ts.map +1 -0
  161. package/ui/contexts/availability/index.d.ts +2 -0
  162. package/ui/contexts/availability/index.d.ts.map +1 -0
  163. package/ui/contexts/board/board-provider.d.ts +13 -0
  164. package/ui/contexts/board/board-provider.d.ts.map +1 -0
  165. package/ui/contexts/board/index.d.ts +2 -0
  166. package/ui/contexts/board/index.d.ts.map +1 -0
  167. package/ui/contexts/board-container/board-container-provider.d.ts +12 -0
  168. package/ui/contexts/board-container/board-container-provider.d.ts.map +1 -0
  169. package/ui/contexts/board-container/index.d.ts +2 -0
  170. package/ui/contexts/board-container/index.d.ts.map +1 -0
  171. package/ui/contexts/cui-kit/cui-kit.d.ts +22 -0
  172. package/ui/contexts/cui-kit/cui-kit.d.ts.map +1 -0
  173. package/ui/contexts/cui-kit/index.d.ts +2 -0
  174. package/ui/contexts/cui-kit/index.d.ts.map +1 -0
  175. package/ui/contexts/device-assembly/device-assembly-provider.d.ts +12 -0
  176. package/ui/contexts/device-assembly/device-assembly-provider.d.ts.map +1 -0
  177. package/ui/contexts/device-assembly/index.d.ts +2 -0
  178. package/ui/contexts/device-assembly/index.d.ts.map +1 -0
  179. package/ui/contexts/holder/holder-provider.d.ts +13 -0
  180. package/ui/contexts/holder/holder-provider.d.ts.map +1 -0
  181. package/ui/contexts/holder/index.d.ts +2 -0
  182. package/ui/contexts/holder/index.d.ts.map +1 -0
  183. package/ui/contexts/holder-container/holder-container-provider.d.ts +13 -0
  184. package/ui/contexts/holder-container/holder-container-provider.d.ts.map +1 -0
  185. package/ui/contexts/holder-container/index.d.ts +2 -0
  186. package/ui/contexts/holder-container/index.d.ts.map +1 -0
  187. package/ui/contexts/index.d.ts +13 -0
  188. package/ui/contexts/index.d.ts.map +1 -0
  189. package/ui/contexts/ingredient/index.d.ts +2 -0
  190. package/ui/contexts/ingredient/index.d.ts.map +1 -0
  191. package/ui/contexts/ingredient/ingredient-provider.d.ts +13 -0
  192. package/ui/contexts/ingredient/ingredient-provider.d.ts.map +1 -0
  193. package/ui/contexts/ingredient-container/index.d.ts +2 -0
  194. package/ui/contexts/ingredient-container/index.d.ts.map +1 -0
  195. package/ui/contexts/ingredient-container/ingredient-container-provider.d.ts +13 -0
  196. package/ui/contexts/ingredient-container/ingredient-container-provider.d.ts.map +1 -0
  197. package/ui/contexts/nozzle/index.d.ts +2 -0
  198. package/ui/contexts/nozzle/index.d.ts.map +1 -0
  199. package/ui/contexts/nozzle/nozzle-provider.d.ts +13 -0
  200. package/ui/contexts/nozzle/nozzle-provider.d.ts.map +1 -0
  201. package/ui/contexts/pump/index.d.ts +2 -0
  202. package/ui/contexts/pump/index.d.ts.map +1 -0
  203. package/ui/contexts/pump/pump-provider.d.ts +13 -0
  204. package/ui/contexts/pump/pump-provider.d.ts.map +1 -0
  205. package/ui/hooks/assembly/index.d.ts +3 -0
  206. package/ui/hooks/assembly/index.d.ts.map +1 -0
  207. package/ui/hooks/assembly/use-assembly.d.ts +14 -0
  208. package/ui/hooks/assembly/use-assembly.d.ts.map +1 -0
  209. package/ui/hooks/assembly/with-assembly.d.ts +8 -0
  210. package/ui/hooks/assembly/with-assembly.d.ts.map +1 -0
  211. package/ui/hooks/availability/index.d.ts +3 -0
  212. package/ui/hooks/availability/index.d.ts.map +1 -0
  213. package/ui/hooks/availability/use-availability.d.ts +14 -0
  214. package/ui/hooks/availability/use-availability.d.ts.map +1 -0
  215. package/ui/hooks/availability/with-availability.d.ts +8 -0
  216. package/ui/hooks/availability/with-availability.d.ts.map +1 -0
  217. package/ui/hooks/board/index.d.ts +3 -0
  218. package/ui/hooks/board/index.d.ts.map +1 -0
  219. package/ui/hooks/board/use-board.d.ts +14 -0
  220. package/ui/hooks/board/use-board.d.ts.map +1 -0
  221. package/ui/hooks/board/with-board.d.ts +8 -0
  222. package/ui/hooks/board/with-board.d.ts.map +1 -0
  223. package/ui/hooks/board-container/index.d.ts +3 -0
  224. package/ui/hooks/board-container/index.d.ts.map +1 -0
  225. package/ui/hooks/board-container/use-board-container.d.ts +14 -0
  226. package/ui/hooks/board-container/use-board-container.d.ts.map +1 -0
  227. package/ui/hooks/board-container/with-board-container.d.ts +8 -0
  228. package/ui/hooks/board-container/with-board-container.d.ts.map +1 -0
  229. package/ui/hooks/cui-kit/index.d.ts +8 -0
  230. package/ui/hooks/cui-kit/index.d.ts.map +1 -0
  231. package/ui/hooks/cui-kit/use-ambient-attract-timers.d.ts +18 -0
  232. package/ui/hooks/cui-kit/use-ambient-attract-timers.d.ts.map +1 -0
  233. package/ui/hooks/cui-kit/use-beverages.d.ts +17 -0
  234. package/ui/hooks/cui-kit/use-beverages.d.ts.map +1 -0
  235. package/ui/hooks/cui-kit/use-brands.d.ts +17 -0
  236. package/ui/hooks/cui-kit/use-brands.d.ts.map +1 -0
  237. package/ui/hooks/cui-kit/use-cui-kit.d.ts +127 -0
  238. package/ui/hooks/cui-kit/use-cui-kit.d.ts.map +1 -0
  239. package/ui/hooks/cui-kit/use-default-cui-kit-lifecycle.d.ts +88 -0
  240. package/ui/hooks/cui-kit/use-default-cui-kit-lifecycle.d.ts.map +1 -0
  241. package/ui/hooks/cui-kit/use-dispense-lifecycle.d.ts +19 -0
  242. package/ui/hooks/cui-kit/use-dispense-lifecycle.d.ts.map +1 -0
  243. package/ui/hooks/cui-kit/use-dispense-timers.d.ts +17 -0
  244. package/ui/hooks/cui-kit/use-dispense-timers.d.ts.map +1 -0
  245. package/ui/hooks/cui-kit/use-flavors.d.ts +17 -0
  246. package/ui/hooks/cui-kit/use-flavors.d.ts.map +1 -0
  247. package/ui/hooks/device-assembly/index.d.ts +3 -0
  248. package/ui/hooks/device-assembly/index.d.ts.map +1 -0
  249. package/ui/hooks/device-assembly/use-device-assembly.d.ts +14 -0
  250. package/ui/hooks/device-assembly/use-device-assembly.d.ts.map +1 -0
  251. package/ui/hooks/device-assembly/with-device-assembly.d.ts +9 -0
  252. package/ui/hooks/device-assembly/with-device-assembly.d.ts.map +1 -0
  253. package/ui/hooks/holder/index.d.ts +3 -0
  254. package/ui/hooks/holder/index.d.ts.map +1 -0
  255. package/ui/hooks/holder/use-holder.d.ts +14 -0
  256. package/ui/hooks/holder/use-holder.d.ts.map +1 -0
  257. package/ui/hooks/holder/with-holder.d.ts +8 -0
  258. package/ui/hooks/holder/with-holder.d.ts.map +1 -0
  259. package/ui/hooks/holder-container/index.d.ts +3 -0
  260. package/ui/hooks/holder-container/index.d.ts.map +1 -0
  261. package/ui/hooks/holder-container/use-holder-container.d.ts +14 -0
  262. package/ui/hooks/holder-container/use-holder-container.d.ts.map +1 -0
  263. package/ui/hooks/holder-container/with-holder-container.d.ts +8 -0
  264. package/ui/hooks/holder-container/with-holder-container.d.ts.map +1 -0
  265. package/ui/hooks/index.d.ts +14 -0
  266. package/ui/hooks/index.d.ts.map +1 -0
  267. package/ui/hooks/ingredient/index.d.ts +4 -0
  268. package/ui/hooks/ingredient/index.d.ts.map +1 -0
  269. package/ui/hooks/ingredient/use-ingredient-pour.d.ts +49 -0
  270. package/ui/hooks/ingredient/use-ingredient-pour.d.ts.map +1 -0
  271. package/ui/hooks/ingredient/use-ingredient.d.ts +14 -0
  272. package/ui/hooks/ingredient/use-ingredient.d.ts.map +1 -0
  273. package/ui/hooks/ingredient/with-ingredient.d.ts +8 -0
  274. package/ui/hooks/ingredient/with-ingredient.d.ts.map +1 -0
  275. package/ui/hooks/ingredient-container/index.d.ts +3 -0
  276. package/ui/hooks/ingredient-container/index.d.ts.map +1 -0
  277. package/ui/hooks/ingredient-container/use-ingredient-container.d.ts +14 -0
  278. package/ui/hooks/ingredient-container/use-ingredient-container.d.ts.map +1 -0
  279. package/ui/hooks/ingredient-container/with-ingredient-container.d.ts +8 -0
  280. package/ui/hooks/ingredient-container/with-ingredient-container.d.ts.map +1 -0
  281. package/ui/hooks/nozzle/index.d.ts +3 -0
  282. package/ui/hooks/nozzle/index.d.ts.map +1 -0
  283. package/ui/hooks/nozzle/use-dispense-kit.d.ts +22 -0
  284. package/ui/hooks/nozzle/use-dispense-kit.d.ts.map +1 -0
  285. package/ui/hooks/nozzle/use-nozzle.d.ts +14 -0
  286. package/ui/hooks/nozzle/use-nozzle.d.ts.map +1 -0
  287. package/ui/hooks/nozzle/with-nozzle.d.ts +8 -0
  288. package/ui/hooks/nozzle/with-nozzle.d.ts.map +1 -0
  289. package/ui/hooks/nozzle-pour/index.d.ts +2 -0
  290. package/ui/hooks/nozzle-pour/index.d.ts.map +1 -0
  291. package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts +48 -0
  292. package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts.map +1 -0
  293. package/ui/hooks/pump/index.d.ts +3 -0
  294. package/ui/hooks/pump/index.d.ts.map +1 -0
  295. package/ui/hooks/pump/use-pump.d.ts +14 -0
  296. package/ui/hooks/pump/use-pump.d.ts.map +1 -0
  297. package/ui/hooks/pump/with-pump.d.ts +8 -0
  298. package/ui/hooks/pump/with-pump.d.ts.map +1 -0
  299. package/ui/hooks/utils/pour-strategy/hold-to-pour-intent-strategy.d.ts +5 -0
  300. package/ui/hooks/utils/pour-strategy/hold-to-pour-intent-strategy.d.ts.map +1 -0
  301. package/ui/hooks/utils/pour-strategy/hold-to-pour-strategy.d.ts +4 -0
  302. package/ui/hooks/utils/pour-strategy/hold-to-pour-strategy.d.ts.map +1 -0
  303. package/ui/hooks/utils/pour-strategy/index.d.ts +7 -0
  304. package/ui/hooks/utils/pour-strategy/index.d.ts.map +1 -0
  305. package/ui/hooks/utils/pour-strategy/pour-strategy.d.ts +8 -0
  306. package/ui/hooks/utils/pour-strategy/pour-strategy.d.ts.map +1 -0
  307. package/ui/hooks/utils/pour-strategy/tap-or-hold-to-pour-intent-strategy.d.ts +13 -0
  308. package/ui/hooks/utils/pour-strategy/tap-or-hold-to-pour-intent-strategy.d.ts.map +1 -0
  309. package/ui/hooks/utils/pour-strategy/tap-to-pour-intent-strategy.d.ts +5 -0
  310. package/ui/hooks/utils/pour-strategy/tap-to-pour-intent-strategy.d.ts.map +1 -0
  311. package/ui/hooks/utils/pour-strategy/tap-to-pour-strategy.d.ts +4 -0
  312. package/ui/hooks/utils/pour-strategy/tap-to-pour-strategy.d.ts.map +1 -0
  313. package/ui/index.d.ts +3 -0
  314. package/ui/index.d.ts.map +1 -0
  315. package/ui.cjs +2 -0
  316. package/ui.cjs.map +1 -0
  317. package/ui.d.ts +1 -0
  318. package/ui.js +70 -0
  319. package/ui.js.map +1 -0
@@ -0,0 +1,265 @@
1
+ import { SelectedPourable } from '../models/nozzle/types';
2
+ import { BeverageResponse } from '../models/nozzle/services';
3
+ import { IngredientResponse } from '../models/ingredient/services';
4
+ import { HolderModel } from '../models/holder/types';
5
+ import { HolderResponse } from '../models/holder/services';
6
+ import { AssemblyTypes } from '../models';
7
+ import { CoreExtensionManager, DataLoader, DataMapper, IndexExtension, PropertyMapper } from '@kosdev-code/kos-ui-sdk';
8
+
9
+ export type IngredientDataMapper<AdditionalData extends object = Record<string, any>> = DataMapper<IngredientResponse, AdditionalData, any>;
10
+ /**
11
+ * Mapping function that maps an ingredient response into the type property of
12
+ * the {@link IngredientModel}.
13
+ */
14
+ export type IngredientTypeMapper<T extends IngredientResponse = IngredientResponse> = PropertyMapper<T, string>;
15
+ /**
16
+ * Mapping function that maps additional data from holder service response
17
+ * into the {@link HolderModel} data.
18
+ */
19
+ export type HolderTypeMapper<T extends HolderResponse = HolderResponse> = PropertyMapper<T, string>;
20
+ /**
21
+ * Mapping function that maps additional data from holder service response
22
+ * into the {@link HolderModel} data.
23
+ */
24
+ export type HolderDataMapper<AdditionalData extends object = Record<string, any>, HolderData extends HolderResponse = HolderResponse> = DataMapper<HolderData, AdditionalData, any>;
25
+ export type GroupBeverageResponse = BeverageResponse & {
26
+ groupId: string;
27
+ };
28
+ export type AvailabilityDataMapper<AdditionalData extends object = Record<string, any>, AvailabilityData extends GroupBeverageResponse = GroupBeverageResponse> = DataMapper<AvailabilityData, AdditionalData, any>;
29
+ export type SelectedPourableMapper = DataMapper<SelectedPourable, any>;
30
+ export type BoardDataMapper<AdditionalData extends object = Record<string, any>, BoardData extends AssemblyTypes.AssemblyBoard<any> = AssemblyTypes.AssemblyBoard<any>> = DataMapper<BoardData, AdditionalData, any>;
31
+ export type AssemblyMapper<AdditionalData extends object = Record<string, any>, AssemblyResponseData extends AssemblyTypes.AssemblyResponse<any> = AssemblyTypes.AssemblyResponse<any>> = DataMapper<AssemblyResponseData, AdditionalData, any>;
32
+ /**
33
+ * The DispenseExtensionManager is responsible for managing the extension points that are specific to the Dispense application.
34
+ */
35
+ export declare class DispenseExtensionManager {
36
+ core: CoreExtensionManager;
37
+ /**
38
+ * Maps data into the {@link IngredientModel}
39
+ *
40
+ * It is common for the ingredient data provided by the ingredient service to be augmented with additional properties that are
41
+ * not provided by the base kOS Ingredient model. The {@link IngredientMapper} extension point allows for the data to be mapped
42
+ * into the {@link IngredientModel} and the {@link IngredientModel.data} property to be augmented with additional properties.
43
+ *
44
+ * @example
45
+ * The following example shows how to map the data from the service response into the {@link IngredientModel}.
46
+ * The context is provided by the {@link IngredientLoader} extension point with its data being used to optionally augment the
47
+ * ingredient data.
48
+ *
49
+ * The result of the mapping will be available in the `data` property of the {@link IngredientModel}.
50
+ *
51
+ * In this case the `IngedientReponseData` interface represents the data being returned by the ingredient service and the
52
+ * `IngredientData` interface represents the data that will be available in the {@link IngredientModel.data} property. The `ingredientDataMapper`
53
+ * is responsible for mapping from one format to the other.
54
+ *
55
+ * ```typescript
56
+ *
57
+ * interface IngredientResponseData extends NozzleServices.IngredientResponse {
58
+ * chilled: boolean;
59
+ * carbonated: boolean;
60
+ * highYield: boolean;
61
+ * }
62
+ *
63
+ * interface IngredientData {
64
+ * chilled: boolean;
65
+ * carbonated: boolean;
66
+ * highYield: boolean;
67
+ * }
68
+ *
69
+ * export const ingredientDataMapper = async (
70
+ * data: IngredientResponseData,
71
+ * context: IngredientContext
72
+ * ): Promise<IngredientData> => {
73
+ * return {
74
+ * chilled: data.chilled,
75
+ * carbonated: data.carbonated,
76
+ * highYield: data.highYield,
77
+ * }
78
+ * }
79
+ * ```
80
+ * */
81
+ registerIngredientDataMapper(ingredientDataMapper: IngredientDataMapper): this;
82
+ /**
83
+ * Loads data that will be provided as context into the {@link IngredientMapper}
84
+ *
85
+ * @example
86
+ * The following example shows how to load the brandset data, normalize it into a map and then provide it back to the framework
87
+ * where it can be used by the other extension points.
88
+ *
89
+ * In the ingredient container model, the data is provided to the {@link IngredientMapper} extension point in order to augment ingredient data
90
+ * and also loaded into the ingredient container model context in order to make the data available throughout the code.
91
+ *
92
+ * ```typescript
93
+ * export const ingredientContextLoader = async (): Promise<BeverageContext> => {
94
+ * const response = await kosFetch('kos:/system/some/ingredient/endpoint.json');
95
+ *
96
+ * if (response.status !== 200) {
97
+ * KosLog.error('Failed to load ingredient data');
98
+ * return {};
99
+ * }
100
+ * const json = await response.json();
101
+ * return json;
102
+ * };
103
+ * ```
104
+ * */
105
+ registerIngredientLoader(ingredientLoader: DataLoader): this;
106
+ registerIngredientIndex(ingredientIndex: IndexExtension): this;
107
+ /**
108
+ * Registers a data mapper for the {@link IngredientModel}
109
+ * */
110
+ registerIngredientTypeMapper(ingredientTypeMapper: IngredientTypeMapper): this;
111
+ /**
112
+ * Registers a data mapper for the {@link HolderModel} model.
113
+ * @param holderDataMapper - Mapping function that maps additional data from holder service response
114
+ * @returns
115
+ */
116
+ registerHolderDataMapper(holderDataMapper: HolderDataMapper): this;
117
+ registerHolderTypeMapper(holderTypeMapper: HolderTypeMapper): this;
118
+ /**
119
+ * Maps the ingredientId property of the holder into the {@link HolderModel}.
120
+ * If not provided, the ingredientId will assume that the value is mapped from the
121
+ * ingredientId property of the service response.
122
+ * */
123
+ registerHolderIngredientMapper(holderTypeMapper: HolderTypeMapper): this;
124
+ registerHolderIndex<T extends HolderModel = HolderModel>(holderIndex: IndexExtension<T>): this;
125
+ /**
126
+ * Maps data into the {@link AvailabilityModel}
127
+ *
128
+ * @example
129
+ * The following example shows how to map the data from the service response into the {@link AvailabilityModel}.
130
+ * The context is provided by the {@link AvailabilityLoader} extension point with its data being used to augment the
131
+ * availability data.
132
+ *
133
+ * The result of the mapping will be available in the `data` property of the {@link AvailabilityModel}.
134
+ *
135
+ * ```typescript
136
+ * export const beverageDataMapper = async (
137
+ * data: NozzleServices.BeverageResponse,
138
+ * context: BeverageContext
139
+ * ): Promise<BeverageData> => {
140
+ * const id = data.altId;
141
+ * const iconUrl = encodeURI(
142
+ * `http://localhost:8081/system/brandset/${context?.[id]?.icon}`
143
+ * );
144
+ * const cuiColorCode = context?.[id]?.cuiColorCode
145
+ * ? context?.[id]?.cuiColorCode
146
+ * : '';
147
+ * return { iconUrl, cuiColorCode };
148
+ * };
149
+ * ```
150
+ * */
151
+ registerAvailabilityDataMapper(availabilityMapper: AvailabilityDataMapper): this;
152
+ /**
153
+ * Loads data that will be provided as context into the {@link AvailabilityMapper}
154
+ *
155
+ * @example
156
+ * A common use case is to load brandset data that is UI specific and not provided directly by the Java service.
157
+ *
158
+ * The following example shows how to load the brandset data, normalize it into a map and then provide it back to the framework
159
+ * where it can be used by the other extension points.
160
+ *
161
+ * In the nozzle model, the data is provided to the {@link AvailabilityMapper} extension point in order to augment availability data
162
+ * and also loaded into the nozzle model context in order to make the data available throughout the code.
163
+ *
164
+ * ```typescript
165
+ * export const beverageContextLoader = async (): Promise<BeverageContext> => {
166
+ * const response = await kosFetch('kos:/system/brandset/brandset.json');
167
+ *
168
+ * if (response.status !== 200) {
169
+ * KosLog.error('Failed to load beverage data');
170
+ * return {};
171
+ * }
172
+ * const json: BrandsetResponse | null = await response.json();
173
+ * const initialBeverages: Record<string, BrandsetIngredient> = {};
174
+ * const beverages = json?.ingredients?.reduce((acc, beverage) => {
175
+ * acc[beverage.ingredientId] = beverage;
176
+ * return acc;
177
+ * }, initialBeverages);
178
+ * return beverages;
179
+ * };
180
+ * ```
181
+ * */
182
+ registerAvailabilityLoader(availabilityLoader: DataLoader): this;
183
+ /**
184
+ * Maps the abstract {@link SelectedPourable} data into a format that is specific to the nozzle.
185
+ * */
186
+ registerSelectedPourableDataMapper(selectedPourableMapper: SelectedPourableMapper): this;
187
+ /**
188
+ * Maps data into the {@link AssemblyModel} data.
189
+ * Used in cases where the base assembly has been extended with additional properties in the backend. This extension
190
+ * point allows for the data to be mapped into the {@link AssemblyModel} and augmented with additional properties.
191
+ *
192
+ * @example
193
+ *
194
+ * In this example of an implementation of a {@link AssemblyMapper}, the {@link AssemblyResponse} data is mapped into
195
+ * a {@link FreestyleAssembly} object.
196
+ *
197
+ * The {@link FreestyleAssemblyResponse} interface represents the additional data being returned by the assembly service and is
198
+ * merged into the {@link AssemblyResponse} interface.
199
+ *
200
+ * The {@link FreestyleAssembly} interface represents the additional data, beyond the base data set, that will be merged into the {@link AssemblyModel}.
201
+ *
202
+ * The mapper is responsible for mapping from the {@link FreestyleAssemblyResponse} format to the {@link FreestyleAssembly} format.
203
+ * ```typescript
204
+ * import { AssemblyTypes } from "@kosdev-code/kos-dispense-sdk";
205
+ * import { DataMapper } from "@kosdev-code/kos-ui-sdk";
206
+ *
207
+ * // define the additional data being returned by the assembly service
208
+ * export interface FreestyleAssemblyResponse {
209
+ * iceAgitator?: {
210
+ * name: "iceAgitator";
211
+ * path: string;
212
+ * };
213
+ * }
214
+ *
215
+ * // define the additional data structure that will be merged into the assembly model
216
+ * export interface FreestyleAssembly {
217
+ * iceAgitator: {
218
+ * path: string;
219
+ * };
220
+ * carbAgitator: {
221
+ * path: string;
222
+ * };
223
+ * }
224
+ *
225
+ *
226
+ * // define the mapper that will map the data from the service response into the additional data structure
227
+ * // that will be merged into the assembly model.
228
+ * // In this case the mapper is responsible for mapping from the {@link FreestyleAssemblyResponse} format to the {@link FreestyleAssembly} format.
229
+ * export const assemblyDataMapper: DataMapper<
230
+ * AssemblyTypes.AssemblyResponse<FreestyleAssemblyResponse>,
231
+ * FreestyleAssembly
232
+ * > = async (data) => {
233
+ * const response = data.assemblies.reduce((acc, assembly) => {
234
+ * const agitatorKeys = ["iceAgitator", "carbAgitator"];
235
+ * agitatorKeys.forEach((key) => {
236
+ * const agitator = assembly[key];
237
+ * if (agitator) {
238
+ * acc[key] = agitator;
239
+ * }
240
+ * });
241
+ *
242
+ * return acc;
243
+ * }, {} as FreestyleAssembly);
244
+ * return response;
245
+ * };
246
+ *```
247
+ */
248
+ registerAssemblyDataMapper(assemblyDataMapper: AssemblyMapper): this;
249
+ registerBoardIndex(boardIndex: IndexExtension): this;
250
+ registerBoardDataMapper(boardDataMapper: BoardDataMapper<any, any>): this;
251
+ }
252
+ /**
253
+ * The KosExtensionManager provides access to the extension points that are provided in the SDK for Dispense applications.
254
+ *
255
+ * The extension points are divided into two categories:
256
+ *
257
+ * @param core - The core extension {@link CoreExtensionManager} points are used to extend the base models that are provided by the SDK.
258
+ * @param dispense - The dispense extension {@link DispenseExtensionManager} points are used to extend the models that are specific to the Dispense SDK.
259
+ */
260
+ export declare class KosExtensionManager {
261
+ dispense: DispenseExtensionManager;
262
+ core: CoreExtensionManager;
263
+ constructor();
264
+ }
265
+ //# sourceMappingURL=extension-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-dispense-sdk/src/models/utils/extension-utils.ts"],"names":[],"mappings":"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"}