@temboplus/afloat 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +21 -0
  3. package/esm/_dnt.test_shims.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  5. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  6. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  38. package/esm/mod.d.ts +7 -0
  39. package/esm/mod.d.ts.map +1 -0
  40. package/esm/mod.js +6 -0
  41. package/esm/package.json +3 -0
  42. package/esm/src/errors/api_error.d.ts +63 -0
  43. package/esm/src/errors/api_error.d.ts.map +1 -0
  44. package/esm/src/errors/api_error.js +90 -0
  45. package/esm/src/errors/index.d.ts +3 -0
  46. package/esm/src/errors/index.d.ts.map +1 -0
  47. package/esm/src/errors/index.js +2 -0
  48. package/esm/src/errors/permission_error.d.ts +48 -0
  49. package/esm/src/errors/permission_error.d.ts.map +1 -0
  50. package/esm/src/errors/permission_error.js +70 -0
  51. package/esm/src/features/auth/contract.d.ts +123 -0
  52. package/esm/src/features/auth/contract.d.ts.map +1 -0
  53. package/esm/src/features/auth/contract.js +50 -0
  54. package/esm/src/features/auth/index.d.ts +2 -0
  55. package/esm/src/features/auth/index.d.ts.map +1 -0
  56. package/esm/src/features/auth/index.js +1 -0
  57. package/esm/src/features/auth/manager.d.ts +71 -0
  58. package/esm/src/features/auth/manager.d.ts.map +1 -0
  59. package/esm/src/features/auth/manager.js +118 -0
  60. package/esm/src/features/auth/repository.d.ts +30 -0
  61. package/esm/src/features/auth/repository.d.ts.map +1 -0
  62. package/esm/src/features/auth/repository.js +94 -0
  63. package/esm/src/features/contact/contract.d.ts +170 -0
  64. package/esm/src/features/contact/contract.d.ts.map +1 -0
  65. package/esm/src/features/contact/contract.js +49 -0
  66. package/esm/src/features/contact/index.d.ts +2 -0
  67. package/esm/src/features/contact/index.d.ts.map +1 -0
  68. package/esm/src/features/contact/index.js +1 -0
  69. package/esm/src/features/contact/repository.d.ts +47 -0
  70. package/esm/src/features/contact/repository.d.ts.map +1 -0
  71. package/esm/src/features/contact/repository.js +94 -0
  72. package/esm/src/features/files-gen/contract.d.ts +67 -0
  73. package/esm/src/features/files-gen/contract.d.ts.map +1 -0
  74. package/esm/src/features/files-gen/contract.js +40 -0
  75. package/esm/src/features/files-gen/repository.d.ts +47 -0
  76. package/esm/src/features/files-gen/repository.d.ts.map +1 -0
  77. package/esm/src/features/files-gen/repository.js +48 -0
  78. package/esm/src/features/payout/contract.d.ts +623 -0
  79. package/esm/src/features/payout/contract.d.ts.map +1 -0
  80. package/esm/src/features/payout/contract.js +75 -0
  81. package/esm/src/features/payout/index.d.ts +2 -0
  82. package/esm/src/features/payout/index.d.ts.map +1 -0
  83. package/esm/src/features/payout/index.js +1 -0
  84. package/esm/src/features/payout/repository.d.ts +62 -0
  85. package/esm/src/features/payout/repository.d.ts.map +1 -0
  86. package/esm/src/features/payout/repository.js +158 -0
  87. package/esm/src/features/wallet/contract.d.ts +103 -0
  88. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  89. package/esm/src/features/wallet/contract.js +35 -0
  90. package/esm/src/features/wallet/index.d.ts +2 -0
  91. package/esm/src/features/wallet/index.d.ts.map +1 -0
  92. package/esm/src/features/wallet/index.js +1 -0
  93. package/esm/src/features/wallet/repository.d.ts +74 -0
  94. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  95. package/esm/src/features/wallet/repository.js +132 -0
  96. package/esm/src/models/contact/derivatives/contact.d.ts +168 -0
  97. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  98. package/esm/src/models/contact/derivatives/contact.js +260 -0
  99. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  100. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  101. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  102. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  103. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  104. package/esm/src/models/contact/index.d.ts +5 -0
  105. package/esm/src/models/contact/index.d.ts.map +1 -0
  106. package/esm/src/models/contact/index.js +4 -0
  107. package/esm/src/models/contact/schemas.d.ts +66 -0
  108. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  109. package/esm/src/models/contact/schemas.js +64 -0
  110. package/esm/src/models/contact/validation.d.ts +37 -0
  111. package/esm/src/models/contact/validation.d.ts.map +1 -0
  112. package/esm/src/models/contact/validation.js +139 -0
  113. package/esm/src/models/contact/validation.test.d.ts.map +1 -0
  114. package/esm/src/models/index.d.ts +6 -0
  115. package/esm/src/models/index.d.ts.map +1 -0
  116. package/esm/src/models/index.js +5 -0
  117. package/esm/src/models/payout/api.d.ts +29 -0
  118. package/esm/src/models/payout/api.d.ts.map +1 -0
  119. package/esm/src/models/payout/api.js +1 -0
  120. package/esm/src/models/payout/channel.d.ts +58 -0
  121. package/esm/src/models/payout/channel.d.ts.map +1 -0
  122. package/esm/src/models/payout/channel.js +46 -0
  123. package/esm/src/models/payout/derivatives/payout.d.ts +156 -0
  124. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  125. package/esm/src/models/payout/derivatives/payout.js +261 -0
  126. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  127. package/esm/src/models/payout/index.d.ts +6 -0
  128. package/esm/src/models/payout/index.d.ts.map +1 -0
  129. package/esm/src/models/payout/index.js +5 -0
  130. package/esm/src/models/payout/schemas.d.ts +154 -0
  131. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  132. package/esm/src/models/payout/schemas.js +103 -0
  133. package/esm/src/models/payout/status.d.ts +31 -0
  134. package/esm/src/models/payout/status.d.ts.map +1 -0
  135. package/esm/src/models/payout/status.js +32 -0
  136. package/esm/src/models/permission.d.ts +42 -0
  137. package/esm/src/models/permission.d.ts.map +1 -0
  138. package/esm/src/models/permission.js +37 -0
  139. package/esm/src/models/user/index.d.ts +3 -0
  140. package/esm/src/models/user/index.d.ts.map +1 -0
  141. package/esm/src/models/user/index.js +2 -0
  142. package/esm/src/models/user/profile.d.ts +38 -0
  143. package/esm/src/models/user/profile.d.ts.map +1 -0
  144. package/esm/src/models/user/profile.js +25 -0
  145. package/esm/src/models/user/user.d.ts +80 -0
  146. package/esm/src/models/user/user.d.ts.map +1 -0
  147. package/esm/src/models/user/user.js +149 -0
  148. package/esm/src/models/wallet/guards.d.ts +11 -0
  149. package/esm/src/models/wallet/guards.d.ts.map +1 -0
  150. package/esm/src/models/wallet/guards.js +14 -0
  151. package/esm/src/models/wallet/index.d.ts +4 -0
  152. package/esm/src/models/wallet/index.d.ts.map +1 -0
  153. package/esm/src/models/wallet/index.js +3 -0
  154. package/esm/src/models/wallet/schemas.d.ts +50 -0
  155. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  156. package/esm/src/models/wallet/schemas.js +64 -0
  157. package/esm/src/models/wallet/statement.d.ts +27 -0
  158. package/esm/src/models/wallet/statement.d.ts.map +1 -0
  159. package/esm/src/models/wallet/statement.js +13 -0
  160. package/esm/src/shared/base_repository.d.ts +56 -0
  161. package/esm/src/shared/base_repository.d.ts.map +1 -0
  162. package/esm/src/shared/base_repository.js +95 -0
  163. package/esm/src/shared/common_responses.d.ts +13 -0
  164. package/esm/src/shared/common_responses.d.ts.map +1 -0
  165. package/esm/src/shared/common_responses.js +10 -0
  166. package/esm/src/shared/index.d.ts +3 -0
  167. package/esm/src/shared/index.d.ts.map +1 -0
  168. package/esm/src/shared/index.js +2 -0
  169. package/package.json +40 -0
  170. package/script/_dnt.test_shims.d.ts.map +1 -0
  171. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  172. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  173. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  174. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  175. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  176. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  177. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  178. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  179. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  180. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  181. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  182. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  183. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  184. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  185. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  186. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  187. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  188. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  189. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  190. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  191. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  192. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  193. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  195. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  196. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  197. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  198. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  199. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  200. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  201. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  202. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  203. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  204. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  205. package/script/mod.d.ts +7 -0
  206. package/script/mod.d.ts.map +1 -0
  207. package/script/mod.js +22 -0
  208. package/script/package.json +3 -0
  209. package/script/src/errors/api_error.d.ts +63 -0
  210. package/script/src/errors/api_error.d.ts.map +1 -0
  211. package/script/src/errors/api_error.js +94 -0
  212. package/script/src/errors/index.d.ts +3 -0
  213. package/script/src/errors/index.d.ts.map +1 -0
  214. package/script/src/errors/index.js +18 -0
  215. package/script/src/errors/permission_error.d.ts +48 -0
  216. package/script/src/errors/permission_error.d.ts.map +1 -0
  217. package/script/src/errors/permission_error.js +74 -0
  218. package/script/src/features/auth/contract.d.ts +123 -0
  219. package/script/src/features/auth/contract.d.ts.map +1 -0
  220. package/script/src/features/auth/contract.js +53 -0
  221. package/script/src/features/auth/index.d.ts +2 -0
  222. package/script/src/features/auth/index.d.ts.map +1 -0
  223. package/script/src/features/auth/index.js +17 -0
  224. package/script/src/features/auth/manager.d.ts +71 -0
  225. package/script/src/features/auth/manager.d.ts.map +1 -0
  226. package/script/src/features/auth/manager.js +122 -0
  227. package/script/src/features/auth/repository.d.ts +30 -0
  228. package/script/src/features/auth/repository.d.ts.map +1 -0
  229. package/script/src/features/auth/repository.js +98 -0
  230. package/script/src/features/contact/contract.d.ts +170 -0
  231. package/script/src/features/contact/contract.d.ts.map +1 -0
  232. package/script/src/features/contact/contract.js +52 -0
  233. package/script/src/features/contact/index.d.ts +2 -0
  234. package/script/src/features/contact/index.d.ts.map +1 -0
  235. package/script/src/features/contact/index.js +17 -0
  236. package/script/src/features/contact/repository.d.ts +47 -0
  237. package/script/src/features/contact/repository.d.ts.map +1 -0
  238. package/script/src/features/contact/repository.js +98 -0
  239. package/script/src/features/files-gen/contract.d.ts +67 -0
  240. package/script/src/features/files-gen/contract.d.ts.map +1 -0
  241. package/script/src/features/files-gen/contract.js +43 -0
  242. package/script/src/features/files-gen/repository.d.ts +47 -0
  243. package/script/src/features/files-gen/repository.d.ts.map +1 -0
  244. package/script/src/features/files-gen/repository.js +52 -0
  245. package/script/src/features/payout/contract.d.ts +623 -0
  246. package/script/src/features/payout/contract.d.ts.map +1 -0
  247. package/script/src/features/payout/contract.js +78 -0
  248. package/script/src/features/payout/index.d.ts +2 -0
  249. package/script/src/features/payout/index.d.ts.map +1 -0
  250. package/script/src/features/payout/index.js +17 -0
  251. package/script/src/features/payout/repository.d.ts +62 -0
  252. package/script/src/features/payout/repository.d.ts.map +1 -0
  253. package/script/src/features/payout/repository.js +162 -0
  254. package/script/src/features/wallet/contract.d.ts +103 -0
  255. package/script/src/features/wallet/contract.d.ts.map +1 -0
  256. package/script/src/features/wallet/contract.js +38 -0
  257. package/script/src/features/wallet/index.d.ts +2 -0
  258. package/script/src/features/wallet/index.d.ts.map +1 -0
  259. package/script/src/features/wallet/index.js +17 -0
  260. package/script/src/features/wallet/repository.d.ts +74 -0
  261. package/script/src/features/wallet/repository.d.ts.map +1 -0
  262. package/script/src/features/wallet/repository.js +136 -0
  263. package/script/src/models/contact/derivatives/contact.d.ts +168 -0
  264. package/script/src/models/contact/derivatives/contact.d.ts.map +1 -0
  265. package/script/src/models/contact/derivatives/contact.js +264 -0
  266. package/script/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  267. package/script/src/models/contact/derivatives/contact_info.d.ts +188 -0
  268. package/script/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  269. package/script/src/models/contact/derivatives/contact_info.js +260 -0
  270. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  271. package/script/src/models/contact/index.d.ts +5 -0
  272. package/script/src/models/contact/index.d.ts.map +1 -0
  273. package/script/src/models/contact/index.js +20 -0
  274. package/script/src/models/contact/schemas.d.ts +66 -0
  275. package/script/src/models/contact/schemas.d.ts.map +1 -0
  276. package/script/src/models/contact/schemas.js +67 -0
  277. package/script/src/models/contact/validation.d.ts +37 -0
  278. package/script/src/models/contact/validation.d.ts.map +1 -0
  279. package/script/src/models/contact/validation.js +146 -0
  280. package/script/src/models/contact/validation.test.d.ts.map +1 -0
  281. package/script/src/models/index.d.ts +6 -0
  282. package/script/src/models/index.d.ts.map +1 -0
  283. package/script/src/models/index.js +21 -0
  284. package/script/src/models/payout/api.d.ts +29 -0
  285. package/script/src/models/payout/api.d.ts.map +1 -0
  286. package/script/src/models/payout/api.js +2 -0
  287. package/script/src/models/payout/channel.d.ts +58 -0
  288. package/script/src/models/payout/channel.d.ts.map +1 -0
  289. package/script/src/models/payout/channel.js +49 -0
  290. package/script/src/models/payout/derivatives/payout.d.ts +156 -0
  291. package/script/src/models/payout/derivatives/payout.d.ts.map +1 -0
  292. package/script/src/models/payout/derivatives/payout.js +265 -0
  293. package/script/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  294. package/script/src/models/payout/index.d.ts +6 -0
  295. package/script/src/models/payout/index.d.ts.map +1 -0
  296. package/script/src/models/payout/index.js +21 -0
  297. package/script/src/models/payout/schemas.d.ts +154 -0
  298. package/script/src/models/payout/schemas.d.ts.map +1 -0
  299. package/script/src/models/payout/schemas.js +106 -0
  300. package/script/src/models/payout/status.d.ts +31 -0
  301. package/script/src/models/payout/status.d.ts.map +1 -0
  302. package/script/src/models/payout/status.js +35 -0
  303. package/script/src/models/permission.d.ts +42 -0
  304. package/script/src/models/permission.d.ts.map +1 -0
  305. package/script/src/models/permission.js +40 -0
  306. package/script/src/models/user/index.d.ts +3 -0
  307. package/script/src/models/user/index.d.ts.map +1 -0
  308. package/script/src/models/user/index.js +18 -0
  309. package/script/src/models/user/profile.d.ts +38 -0
  310. package/script/src/models/user/profile.d.ts.map +1 -0
  311. package/script/src/models/user/profile.js +28 -0
  312. package/script/src/models/user/user.d.ts +80 -0
  313. package/script/src/models/user/user.d.ts.map +1 -0
  314. package/script/src/models/user/user.js +153 -0
  315. package/script/src/models/wallet/guards.d.ts +11 -0
  316. package/script/src/models/wallet/guards.d.ts.map +1 -0
  317. package/script/src/models/wallet/guards.js +17 -0
  318. package/script/src/models/wallet/index.d.ts +4 -0
  319. package/script/src/models/wallet/index.d.ts.map +1 -0
  320. package/script/src/models/wallet/index.js +19 -0
  321. package/script/src/models/wallet/schemas.d.ts +50 -0
  322. package/script/src/models/wallet/schemas.d.ts.map +1 -0
  323. package/script/src/models/wallet/schemas.js +67 -0
  324. package/script/src/models/wallet/statement.d.ts +27 -0
  325. package/script/src/models/wallet/statement.d.ts.map +1 -0
  326. package/script/src/models/wallet/statement.js +16 -0
  327. package/script/src/shared/base_repository.d.ts +56 -0
  328. package/script/src/shared/base_repository.d.ts.map +1 -0
  329. package/script/src/shared/base_repository.js +99 -0
  330. package/script/src/shared/common_responses.d.ts +13 -0
  331. package/script/src/shared/common_responses.d.ts.map +1 -0
  332. package/script/src/shared/common_responses.js +13 -0
  333. package/script/src/shared/index.d.ts +3 -0
  334. package/script/src/shared/index.d.ts.map +1 -0
  335. package/script/src/shared/index.js +18 -0
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateBankAccNo = exports.validateAccName = exports.ACC_NAME_VALIDATOR = exports.ACC_NUMBER_VALIDATOR = exports.ACCOUNT_NUMBER_REGEX = void 0;
4
+ /**
5
+ * Regular expression to validate account names.
6
+ *
7
+ * Key Criteria:
8
+ * 1. The name must consist of at least two words separated by one or more spaces.
9
+ * 2. Each word can include alphabetic characters (a-z, A-Z) and special characters like
10
+ * hyphens (-), apostrophes ('), periods (.), and other Unicode letters.
11
+ * 3. Both words must have at least two characters.
12
+ * 4. Allow additional whitespace between words but disallow trailing or leading spaces.
13
+ * 5. Supports names with special characters (e.g., "O'Connor", "St. John", "María-José")
14
+ *
15
+ * Examples of valid names:
16
+ * - "John Doe"
17
+ * - "Anna-Marie Johnson"
18
+ * - "Jean-Luc Picard"
19
+ * - "Mary O'Connor"
20
+ * - "St. John Smith"
21
+ * - "María José"
22
+ * - "François d'Arc"
23
+ *
24
+ * Examples of invalid names:
25
+ * - "John" (only one name)
26
+ * - "John D" (family name less than 2 characters)
27
+ * - "John123 Doe" (contains numeric characters)
28
+ * - " John Doe " (leading or trailing spaces)
29
+ */
30
+ const ACCOUNT_NAME_REGEX = /^[\p{L}]['\p{L}.-]{1,}(?: [\p{L}]['\p{L}.-]{1,})+$/u;
31
+ /**
32
+ * Regex pattern to validate account numbers.
33
+ * The account number must only contain letters and digits, between 6 and 20 characters long.
34
+ * @constant {RegExp}
35
+ */
36
+ exports.ACCOUNT_NUMBER_REGEX = /^[a-zA-Z0-9]{6,20}$/; // Only letters and digits, 6-20 characters
37
+ /**
38
+ * Validator for account number field.
39
+ * Ensures the account number is between 8-12 digits and numeric.
40
+ * @param {RuleObject} _ The rule object for validation (used by validation framework).
41
+ * @param {string} value The value to validate.
42
+ * @throws Will throw an error if validation fails.
43
+ */
44
+ const ACC_NUMBER_VALIDATOR = (rule, value) => {
45
+ const accNoString = value?.toString().trim();
46
+ // If field is empty/undefined/null
47
+ if (!accNoString) {
48
+ // Only throw if the field is required
49
+ if (rule.required) {
50
+ return Promise.reject(new Error("Account number is required."));
51
+ }
52
+ // If field is not required and empty, validation passes
53
+ return Promise.resolve(undefined);
54
+ }
55
+ const accNo = removeSpaces(accNoString);
56
+ const valid = (0, exports.validateBankAccNo)(accNo);
57
+ if (valid)
58
+ return Promise.resolve(accNo);
59
+ return Promise.reject(new Error("Invalid Account Number Format"));
60
+ };
61
+ exports.ACC_NUMBER_VALIDATOR = ACC_NUMBER_VALIDATOR;
62
+ /**
63
+ * Validator for account name field.
64
+ * Ensures the account name is at least 3 characters long and contains only letters and spaces.
65
+ * @param {RuleObject} _ The rule object for validation (used by validation framework).
66
+ * @param {string} value The value to validate.
67
+ * @throws Will throw an error if validation fails.
68
+ */
69
+ const ACC_NAME_VALIDATOR = (rule, value) => {
70
+ const accNameString = value?.toString().trim();
71
+ // If field is empty/undefined/null
72
+ if (!accNameString) {
73
+ // Only throw if the field is required
74
+ if (rule.required) {
75
+ return Promise.reject(new Error("Account name is required."));
76
+ }
77
+ // If field is not required and empty, validation passes
78
+ return Promise.resolve(undefined);
79
+ }
80
+ const accName = normalizeSpaces(accNameString);
81
+ const valid = (0, exports.validateAccName)(accName);
82
+ if (valid)
83
+ return Promise.resolve(accName);
84
+ return Promise.reject(new Error("Invalid account name. Examples: 'John Doe', 'Anna-Marie Smith'"));
85
+ };
86
+ exports.ACC_NAME_VALIDATOR = ACC_NAME_VALIDATOR;
87
+ /**
88
+ * Validates if the provided account name is valid.
89
+ * @param {string} [name] The account name to validate.
90
+ * @returns {boolean} `true` if valid, otherwise `false`.
91
+ */
92
+ const validateAccName = (name) => {
93
+ if (!name)
94
+ return false;
95
+ const accName = normalizeSpaces(name);
96
+ return Boolean(accName.length && ACCOUNT_NAME_REGEX.test(accName));
97
+ };
98
+ exports.validateAccName = validateAccName;
99
+ /**
100
+ * Validates if the provided account number is valid.
101
+ * The account number must be numeric and between 8-12 digits.
102
+ * @param {string} [accountNumber] The account number to validate.
103
+ * @returns {boolean} `true` if valid, otherwise `false`.
104
+ */
105
+ const validateBankAccNo = (accountNumber) => {
106
+ if (!accountNumber)
107
+ return false;
108
+ const normalizedNumber = removeSpaces(accountNumber);
109
+ return (normalizedNumber.length >= 6 && // Ensures minimum length of 6
110
+ normalizedNumber.length <= 20 && // Ensures maximum length of 20
111
+ exports.ACCOUNT_NUMBER_REGEX.test(normalizedNumber));
112
+ };
113
+ exports.validateBankAccNo = validateBankAccNo;
114
+ /**
115
+ * Normalizes spaces in a string by replacing multiple consecutive spaces
116
+ * with a single space, ensuring names are properly formatted.
117
+ *
118
+ * @param {string} input - The input string (e.g., a name) to process.
119
+ * @returns {string} A new string with multiple spaces replaced by a single space.
120
+ *
121
+ * @example
122
+ * normalizeSpaces("John Doe"); // Returns: "John Doe"
123
+ * normalizeSpaces("John M Doe"); // Returns: "John M Doe"
124
+ * normalizeSpaces(" John Doe "); // Returns: "John Doe" (trims leading and trailing spaces as well)
125
+ */
126
+ function normalizeSpaces(input) {
127
+ return input.trim().replace(/\s+/g, " ");
128
+ }
129
+ /**
130
+ * Removes all whitespace characters from the given string.
131
+ *
132
+ * This function replaces all occurrences of spaces, tabs, and other
133
+ * whitespace characters (including multiple spaces) in the input string
134
+ * with an empty string, effectively removing them.
135
+ *
136
+ * @param {string} input - The input string from which spaces should be removed.
137
+ * @returns {string} A new string with all whitespace characters removed.
138
+ *
139
+ * @example
140
+ * removeSpaces(" Hello World "); // Returns: "HelloWorld"
141
+ * removeSpaces("NoSpacesHere"); // Returns: "NoSpacesHere"
142
+ * removeSpaces(" "); // Returns: ""
143
+ */
144
+ function removeSpaces(input) {
145
+ return input.replace(/\s+/g, "");
146
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../../../src/src/models/contact/validation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * from "./permission.js";
2
+ export * from "./user/index.js";
3
+ export * from "./contact/index.js";
4
+ export * from "./payout/index.js";
5
+ export * from "./wallet/index.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./permission.js"), exports);
18
+ __exportStar(require("./user/index.js"), exports);
19
+ __exportStar(require("./contact/index.js"), exports);
20
+ __exportStar(require("./payout/index.js"), exports);
21
+ __exportStar(require("./wallet/index.js"), exports);
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Arguments for retrieving payouts from the API.
3
+ *
4
+ * @interface GetPayoutsAPIArgs
5
+ *
6
+ * @property {number} [rangeStart] - The starting index for pagination. If not provided, defaults to beginning.
7
+ * @property {number} [rangeEnd] - The ending index for pagination. If not provided, defaults to 10.
8
+ * @property {boolean} [pending] - Filter for pending payouts only. If true, returns only pending payouts.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * // Get first 10 payouts
13
+ * const args: GetPayoutsAPIArgs = {
14
+ * rangeStart: 0,
15
+ * rangeEnd: 10
16
+ * };
17
+ *
18
+ * // Get only pending payouts
19
+ * const pendingArgs: GetPayoutsAPIArgs = {
20
+ * pending: true
21
+ * };
22
+ * ```
23
+ */
24
+ export interface GetPayoutsAPIArgs {
25
+ rangeStart?: number;
26
+ rangeEnd?: number;
27
+ pending?: boolean;
28
+ }
29
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,58 @@
1
+ import type { PhoneNumber } from "@temboplus/frontend-core";
2
+ /**
3
+ * Represents the available channels through which payouts can be processed.
4
+ * @enum {string}
5
+ * @readonly
6
+ */
7
+ export declare enum PAYOUT_CHANNEL {
8
+ /** Payment processed through mobile money services */
9
+ MOBILE = "Mobile",
10
+ /** Payment processed through traditional banking channels */
11
+ BANK = "Bank",
12
+ /** Payment processed through CRDB named account */
13
+ CRDB_NAMED_ACC = "CRDB_NAMED_ACC"
14
+ }
15
+ /**
16
+ * Valid payout channel codes that can be used in the system
17
+ *
18
+ * @remarks
19
+ * - `TZ-BANK-B2C`: Code for bank transfers
20
+ * - `TZ-VERTO-B2C`: Code for Verto transfers
21
+ * - `TZ-${telecom}-B2C`: Pattern for mobile money transfers where the telecom company is the provider code
22
+ *
23
+ * @see {@link createPayoutChannelCode} for functions to generate valid codes
24
+ */
25
+ export type PayoutChannelCode = "TZ-BANK-B2C" | "TZ-VERTO-B2C" | `TZ-${string}-B2C`;
26
+ /**
27
+ * Utility functions to create standardized payout channel codes
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * // Create bank channel code
32
+ * const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
33
+ *
34
+ * // Create mobile channel code
35
+ * const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
36
+ * ```
37
+ */
38
+ export declare const createPayoutChannelCode: {
39
+ /**
40
+ * Creates a bank transfer channel code
41
+ * @returns {"TZ-BANK-B2C"} Standard bank transfer code
42
+ */
43
+ bank: () => "TZ-BANK-B2C";
44
+ /**
45
+ * Creates a Verto transfer channel code
46
+ * @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
47
+ */
48
+ verto: () => "TZ-VERTO-B2C";
49
+ /**
50
+ * Creates a mobile money channel code based on the telecom provider
51
+ * @param {PhoneNumber} phoneNumber - Phone number object containing telecom information
52
+ * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
53
+ *
54
+ * @see {@link PhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
55
+ */
56
+ mobile: (phoneNumber: PhoneNumber) => PayoutChannelCode;
57
+ };
58
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D;;;;GAIG;AACH,oBAAY,cAAc;IACxB,sDAAsD;IACtD,MAAM,WAAW;IACjB,6DAA6D;IAC7D,IAAI,SAAS;IACb,mDAAmD;IACnD,cAAc,mBAAmB;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,cAAc,GACd,MAAM,MAAM,MAAM,CAAC;AAEvB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;gBACO,aAAa;IAEvB;;;OAGG;iBACQ,cAAc;IAEzB;;;;;;OAMG;0BACmB,WAAW,KAAG,iBAAiB;CAEtD,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPayoutChannelCode = exports.PAYOUT_CHANNEL = void 0;
4
+ /**
5
+ * Represents the available channels through which payouts can be processed.
6
+ * @enum {string}
7
+ * @readonly
8
+ */
9
+ var PAYOUT_CHANNEL;
10
+ (function (PAYOUT_CHANNEL) {
11
+ /** Payment processed through mobile money services */
12
+ PAYOUT_CHANNEL["MOBILE"] = "Mobile";
13
+ /** Payment processed through traditional banking channels */
14
+ PAYOUT_CHANNEL["BANK"] = "Bank";
15
+ /** Payment processed through CRDB named account */
16
+ PAYOUT_CHANNEL["CRDB_NAMED_ACC"] = "CRDB_NAMED_ACC";
17
+ })(PAYOUT_CHANNEL || (exports.PAYOUT_CHANNEL = PAYOUT_CHANNEL = {}));
18
+ /**
19
+ * Utility functions to create standardized payout channel codes
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * // Create bank channel code
24
+ * const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
25
+ *
26
+ * // Create mobile channel code
27
+ * const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
28
+ * ```
29
+ */
30
+ exports.createPayoutChannelCode = {
31
+ /**
32
+ * Creates a bank transfer channel code
33
+ * @returns {"TZ-BANK-B2C"} Standard bank transfer code
34
+ */
35
+ bank: () => "TZ-BANK-B2C",
36
+ /**
37
+ * Creates a Verto transfer channel code
38
+ * @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
39
+ */
40
+ verto: () => "TZ-VERTO-B2C",
41
+ /**
42
+ * Creates a mobile money channel code based on the telecom provider
43
+ * @param {PhoneNumber} phoneNumber - Phone number object containing telecom information
44
+ * @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
45
+ *
46
+ * @see {@link PhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
47
+ */
48
+ mobile: (phoneNumber) => `TZ-${phoneNumber.telecom.label.toUpperCase()}-B2C`,
49
+ };
@@ -0,0 +1,156 @@
1
+ import { Amount } from "@temboplus/frontend-core";
2
+ import type { PayoutApprover, PayoutData } from "../index.js";
3
+ import { type ContactInfo } from "../../contact/index.js";
4
+ import { type PAYOUT_APPROVAL_STATUS, PAYOUT_STATUS } from "../status.js";
5
+ /**
6
+ * Payout class that wraps the Zod schema and provides additional functionality
7
+ */
8
+ export declare class Payout {
9
+ private readonly data;
10
+ /**
11
+ * Private constructor - use static methods to create instances
12
+ */
13
+ private constructor();
14
+ /** Unique identifier for the payout */
15
+ get id(): string;
16
+ /** Profile identifier associated with this payout */
17
+ get profileId(): string;
18
+ /** Name of the payee/recipient */
19
+ get payeeName(): string;
20
+ /** Payment channel used for this payout */
21
+ get channel(): string;
22
+ /** Mobile number or bank account identifier */
23
+ get msisdn(): string;
24
+ /**
25
+ * Amount to be paid out
26
+ * @returns {Amount} Amount object representing the payout value
27
+ */
28
+ get amount(): Amount;
29
+ /** Description of the payout purpose */
30
+ get description(): string;
31
+ /** Optional additional notes about the payout */
32
+ get notes(): string | undefined;
33
+ /**
34
+ * Current status of the payout
35
+ * Derived from both approval status and transaction status:
36
+ * - Returns REJECTED if approval status is "Rejected"
37
+ * - Returns FAILED if approved but transaction failed
38
+ * - Returns PAID if approved and transaction succeeded
39
+ * - Returns PENDING if awaiting approval
40
+ * - Falls back to transaction status in other cases
41
+ *
42
+ * @returns {PAYOUT_STATUS} Current status of the payout
43
+ * @see {@link PAYOUT_STATUS} for all possible status values
44
+ */
45
+ get status(): PAYOUT_STATUS;
46
+ /** Status message providing details about current state */
47
+ get statusMessage(): string;
48
+ /** Optional reference ID from payment partner */
49
+ get partnerReference(): string | undefined;
50
+ /** Timestamp when payout was created */
51
+ get createdAt(): Date;
52
+ /** Timestamp when payout was last updated */
53
+ get updatedAt(): Date;
54
+ /** Current approval status of the payout */
55
+ get approvalStatus(): PAYOUT_APPROVAL_STATUS;
56
+ /** Information about who created the payout */
57
+ get createdBy(): PayoutApprover | undefined;
58
+ /** Information about who last actioned the payout */
59
+ get actionedBy(): PayoutApprover | undefined;
60
+ /**
61
+ * Constructs contact information based on payout channel
62
+ *
63
+ * @returns {ContactInfo | undefined} Contact information object:
64
+ * - MobileContactInfo for mobile money payouts
65
+ * - BankContactInfo for bank transfers
66
+ * - undefined if contact info cannot be constructed
67
+ *
68
+ * @remarks
69
+ * For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * // Mobile payout
74
+ * payout.contactInfo // Returns MobileContactInfo with phone details
75
+ *
76
+ * // Bank payout
77
+ * payout.contactInfo // Returns BankContactInfo with bank and account details
78
+ * ```
79
+ */
80
+ get contactInfo(): ContactInfo | undefined;
81
+ /**
82
+ * Creates a Payout instance from raw data
83
+ * @throws {ZodError} if validation fails
84
+ */
85
+ static create(data: PayoutData): Payout;
86
+ /**
87
+ * Creates multiple Payout instances from an array of raw data
88
+ * @throws {ZodError} if validation fails for any item
89
+ */
90
+ static createMany(dataArray: PayoutData[]): Payout[];
91
+ /**
92
+ * Creates a Payout instance from raw data without throwing
93
+ * @returns {Payout | null} Payout instance or null if validation fails
94
+ */
95
+ static createSafe(data: PayoutData): Payout | null;
96
+ /**
97
+ * Checks if an unknown value contains valid data to construct a Payout instance.
98
+ * This is useful when validating raw data structures before instantiation.
99
+ *
100
+ * @param {unknown} obj - The value containing potential payout data
101
+ * @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const rawData = await fetchPayoutData();
106
+ * if (Payout.canConstruct(rawData)) {
107
+ * const payout = Payout.create(rawData);
108
+ * // TypeScript knows payout is valid here
109
+ * console.log(payout.amount.toString());
110
+ * }
111
+ * ```
112
+ *
113
+ * @throws {never} This method never throws errors
114
+ *
115
+ * @remarks
116
+ * This method performs strict validation against the {@link PayoutData} schema
117
+ */
118
+ static canConstruct(obj: unknown): obj is Payout;
119
+ /**
120
+ * Validates if an unknown value is a Payout instance.
121
+ * This is a runtime type guard that ensures proper object structure and data validity.
122
+ *
123
+ * @param {unknown} obj - The value to validate
124
+ * @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * const maybePayout = getPayoutFromCache();
129
+ * if (Payout.is(maybePayout)) {
130
+ * // TypeScript knows maybePayout is a Payout here
131
+ * console.log(maybePayout.status);
132
+ * }
133
+ * ```
134
+ *
135
+ * @throws {never} This method never throws errors
136
+ *
137
+ * @remarks
138
+ * This method performs a complete structural validation:
139
+ * 1. Checks if the value is an object
140
+ * 2. Verifies presence of internal data property
141
+ * 3. Validates the data against PayoutData schema
142
+ * 4. Ensures the object is a proper Payout instance
143
+ *
144
+ * Use this method when:
145
+ * - Validating cached Payout instances
146
+ * - Checking serialized Payout objects
147
+ * - Verifying API responses
148
+ * - Type narrowing in conditional blocks
149
+ */
150
+ static is(obj: unknown): obj is Payout;
151
+ /**
152
+ * Converts Payout instance to a plain object
153
+ */
154
+ toJSON(): PayoutData;
155
+ }
156
+ //# sourceMappingURL=payout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payout.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/payout/derivatives/payout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1E;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;OAEG;IACH,OAAO;IAKP,uCAAuC;IACvC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,kCAAkC;IAClC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,2CAA2C;IAC3C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,+CAA+C;IAC/C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,iDAAiD;IACjD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM,IAAI,aAAa,CAe1B;IAED,2DAA2D;IAC3D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,iDAAiD;IACjD,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,wCAAwC;IACxC,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,4CAA4C;IAC5C,IAAI,cAAc,IAAI,sBAAsB,CAE3C;IAED,+CAA+C;IAC/C,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CA8BzC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIvC;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAIpD;;;OAGG;WACW,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAUvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAO7C;;OAEG;IACI,MAAM,IAAI,UAAU;CAG5B"}