@smess/networking 1.2.0 → 2.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 (317) hide show
  1. package/CHANGELOG.md +221 -0
  2. package/README.md +178 -111
  3. package/dist/core/body.d.ts +10 -0
  4. package/dist/core/body.d.ts.map +1 -0
  5. package/dist/core/body.js +22 -0
  6. package/dist/core/body.js.map +1 -0
  7. package/dist/core/client.d.ts +74 -0
  8. package/dist/core/client.d.ts.map +1 -0
  9. package/dist/core/client.js +124 -0
  10. package/dist/core/client.js.map +1 -0
  11. package/dist/core/decoders.d.ts +8 -0
  12. package/dist/core/decoders.d.ts.map +1 -0
  13. package/dist/core/decoders.js +26 -0
  14. package/dist/core/decoders.js.map +1 -0
  15. package/dist/core/endpoint.d.ts +69 -0
  16. package/dist/core/endpoint.d.ts.map +1 -0
  17. package/dist/core/endpoint.js +6 -0
  18. package/dist/core/endpoint.js.map +1 -0
  19. package/dist/core/hosts.d.ts +27 -0
  20. package/dist/core/hosts.d.ts.map +1 -0
  21. package/dist/core/hosts.js +24 -0
  22. package/dist/core/hosts.js.map +1 -0
  23. package/dist/core/pagination.d.ts +33 -0
  24. package/dist/core/pagination.d.ts.map +1 -0
  25. package/dist/core/pagination.js +23 -0
  26. package/dist/core/pagination.js.map +1 -0
  27. package/dist/core/pipeline.d.ts +25 -0
  28. package/dist/core/pipeline.d.ts.map +1 -0
  29. package/dist/core/pipeline.js +12 -0
  30. package/dist/core/pipeline.js.map +1 -0
  31. package/dist/core/retry.d.ts +18 -0
  32. package/dist/core/retry.d.ts.map +1 -0
  33. package/dist/core/retry.js +47 -0
  34. package/dist/core/retry.js.map +1 -0
  35. package/dist/core/transport.d.ts +30 -0
  36. package/dist/core/transport.d.ts.map +1 -0
  37. package/dist/core/transport.js +73 -0
  38. package/dist/core/transport.js.map +1 -0
  39. package/dist/core/types.d.ts +24 -0
  40. package/dist/core/types.d.ts.map +1 -0
  41. package/dist/core/types.js +3 -0
  42. package/dist/core/types.js.map +1 -0
  43. package/dist/core/url.d.ts +15 -0
  44. package/dist/core/url.d.ts.map +1 -0
  45. package/dist/core/url.js +46 -0
  46. package/dist/core/url.js.map +1 -0
  47. package/dist/errors/parse-error-body.d.ts +20 -0
  48. package/dist/errors/parse-error-body.d.ts.map +1 -0
  49. package/dist/errors/parse-error-body.js +73 -0
  50. package/dist/errors/parse-error-body.js.map +1 -0
  51. package/dist/errors/smess-api-error.d.ts +70 -0
  52. package/dist/errors/smess-api-error.d.ts.map +1 -0
  53. package/dist/errors/smess-api-error.js +84 -0
  54. package/dist/errors/smess-api-error.js.map +1 -0
  55. package/dist/index.d.ts +27 -25
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +15 -29
  58. package/dist/index.js.map +1 -0
  59. package/dist/modules/authentication/index.d.ts +89 -0
  60. package/dist/modules/authentication/index.d.ts.map +1 -0
  61. package/dist/modules/authentication/index.js +128 -0
  62. package/dist/modules/authentication/index.js.map +1 -0
  63. package/dist/modules/campaign/index.d.ts +212 -0
  64. package/dist/modules/campaign/index.d.ts.map +1 -0
  65. package/dist/modules/campaign/index.js +193 -0
  66. package/dist/modules/campaign/index.js.map +1 -0
  67. package/dist/modules/campaign/types.d.ts +562 -0
  68. package/dist/modules/campaign/types.d.ts.map +1 -0
  69. package/dist/modules/campaign/types.js +2 -0
  70. package/dist/modules/campaign/types.js.map +1 -0
  71. package/dist/modules/danara/index.d.ts +153 -0
  72. package/dist/modules/danara/index.d.ts.map +1 -0
  73. package/dist/modules/danara/index.js +144 -0
  74. package/dist/modules/danara/index.js.map +1 -0
  75. package/dist/modules/danara/types.d.ts +479 -0
  76. package/dist/modules/danara/types.d.ts.map +1 -0
  77. package/dist/modules/danara/types.js +2 -0
  78. package/dist/modules/danara/types.js.map +1 -0
  79. package/dist/modules/messenger/index.d.ts +92 -0
  80. package/dist/modules/messenger/index.d.ts.map +1 -0
  81. package/dist/modules/messenger/index.js +44 -0
  82. package/dist/modules/messenger/index.js.map +1 -0
  83. package/dist/modules/smeup-file/index.d.ts +27 -0
  84. package/dist/modules/smeup-file/index.d.ts.map +1 -0
  85. package/dist/modules/smeup-file/index.js +17 -0
  86. package/dist/modules/smeup-file/index.js.map +1 -0
  87. package/dist/modules/sso/index.d.ts +40 -0
  88. package/dist/modules/sso/index.d.ts.map +1 -0
  89. package/dist/modules/sso/index.js +41 -0
  90. package/dist/modules/sso/index.js.map +1 -0
  91. package/dist/rx/index.d.ts +11 -0
  92. package/dist/rx/index.d.ts.map +1 -0
  93. package/dist/rx/index.js +20 -0
  94. package/dist/rx/index.js.map +1 -0
  95. package/dist/session/auth-middleware.d.ts +27 -0
  96. package/dist/session/auth-middleware.d.ts.map +1 -0
  97. package/dist/session/auth-middleware.js +122 -0
  98. package/dist/session/auth-middleware.js.map +1 -0
  99. package/dist/session/jwt.d.ts +20 -0
  100. package/dist/session/jwt.d.ts.map +1 -0
  101. package/dist/session/jwt.js +25 -0
  102. package/dist/session/jwt.js.map +1 -0
  103. package/dist/session/stores.d.ts +19 -0
  104. package/dist/session/stores.d.ts.map +1 -0
  105. package/dist/session/stores.js +103 -0
  106. package/dist/session/stores.js.map +1 -0
  107. package/dist/session/types.d.ts +28 -0
  108. package/dist/session/types.d.ts.map +1 -0
  109. package/dist/session/types.js +2 -0
  110. package/dist/session/types.js.map +1 -0
  111. package/package.json +84 -30
  112. package/dist/core/axios.d.ts +0 -51
  113. package/dist/core/axios.js +0 -65
  114. package/dist/core/axios.observable.d.ts +0 -11
  115. package/dist/core/axios.observable.js +0 -58
  116. package/dist/core/base.provider.advanced.test.d.ts +0 -1
  117. package/dist/core/base.provider.advanced.test.js +0 -29
  118. package/dist/core/base.provider.d.ts +0 -15
  119. package/dist/core/base.provider.js +0 -13
  120. package/dist/core/base.provider.test.d.ts +0 -1
  121. package/dist/core/base.provider.test.js +0 -36
  122. package/dist/core/base.service.wrapper.advanced.test.d.ts +0 -1
  123. package/dist/core/base.service.wrapper.advanced.test.js +0 -39
  124. package/dist/core/base.service.wrapper.d.ts +0 -7
  125. package/dist/core/base.service.wrapper.js +0 -11
  126. package/dist/core/base.service.wrapper.test.d.ts +0 -1
  127. package/dist/core/base.service.wrapper.test.js +0 -25
  128. package/dist/core/rx.http.service.d.ts +0 -51
  129. package/dist/core/rx.http.service.js +0 -65
  130. package/dist/services/auth.service.d.ts +0 -65
  131. package/dist/services/auth.service.js +0 -197
  132. package/dist/services/auth.service.test.d.ts +0 -1
  133. package/dist/services/auth.service.test.js +0 -334
  134. package/dist/services/cache.service.d.ts +0 -31
  135. package/dist/services/cache.service.js +0 -77
  136. package/dist/services/cache.service.test.d.ts +0 -1
  137. package/dist/services/cache.service.test.js +0 -88
  138. package/dist/services/customer.service.d.ts +0 -211
  139. package/dist/services/customer.service.js +0 -128
  140. package/dist/services/customer.service.test.d.ts +0 -1
  141. package/dist/services/customer.service.test.js +0 -430
  142. package/dist/services/employee.service.d.ts +0 -73
  143. package/dist/services/employee.service.js +0 -74
  144. package/dist/services/employee.service.test.d.ts +0 -1
  145. package/dist/services/employee.service.test.js +0 -127
  146. package/dist/services/logger.service.d.ts +0 -31
  147. package/dist/services/logger.service.js +0 -93
  148. package/dist/services/logger.service.test.d.ts +0 -1
  149. package/dist/services/logger.service.test.js +0 -31
  150. package/dist/services/order.service.d.ts +0 -73
  151. package/dist/services/order.service.js +0 -97
  152. package/dist/services/order.service.test.d.ts +0 -1
  153. package/dist/services/order.service.test.js +0 -163
  154. package/dist/services/product.service.d.ts +0 -21
  155. package/dist/services/product.service.js +0 -42
  156. package/dist/services/product.service.test.d.ts +0 -1
  157. package/dist/services/product.service.test.js +0 -61
  158. package/dist/services/smess.service.d.ts +0 -36
  159. package/dist/services/smess.service.js +0 -128
  160. package/dist/services/smess.service.test.d.ts +0 -1
  161. package/dist/services/smess.service.test.js +0 -103
  162. package/dist/services/store.cart.service.d.ts +0 -158
  163. package/dist/services/store.cart.service.js +0 -177
  164. package/dist/services/store.cart.service.test.d.ts +0 -1
  165. package/dist/services/store.cart.service.test.js +0 -394
  166. package/dist/services/store.product.service.d.ts +0 -124
  167. package/dist/services/store.product.service.js +0 -102
  168. package/dist/services/store.product.service.test.d.ts +0 -1
  169. package/dist/services/store.product.service.test.js +0 -319
  170. package/dist/services/store.service.d.ts +0 -79
  171. package/dist/services/store.service.js +0 -235
  172. package/dist/services/store.service.test.d.ts +0 -1
  173. package/dist/services/store.service.test.js +0 -274
  174. package/dist/services/storefront.cart.service.d.ts +0 -73
  175. package/dist/services/storefront.cart.service.js +0 -167
  176. package/dist/services/storefront.cart.service.test.d.ts +0 -1
  177. package/dist/services/storefront.cart.service.test.js +0 -211
  178. package/dist/services/storefront.checkout.service.d.ts +0 -62
  179. package/dist/services/storefront.checkout.service.js +0 -75
  180. package/dist/services/storefront.checkout.service.test.d.ts +0 -1
  181. package/dist/services/storefront.checkout.service.test.js +0 -158
  182. package/dist/services/storefront.customer.metadata.service.d.ts +0 -91
  183. package/dist/services/storefront.customer.metadata.service.js +0 -225
  184. package/dist/services/storefront.customer.metadata.service.test.d.ts +0 -1
  185. package/dist/services/storefront.customer.metadata.service.test.js +0 -271
  186. package/dist/services/storefront.order.service.d.ts +0 -45
  187. package/dist/services/storefront.order.service.js +0 -99
  188. package/dist/services/storefront.order.service.test.d.ts +0 -1
  189. package/dist/services/storefront.order.service.test.js +0 -158
  190. package/dist/services/storefront.product.service.d.ts +0 -52
  191. package/dist/services/storefront.product.service.js +0 -75
  192. package/dist/services/storefront.product.service.test.d.ts +0 -1
  193. package/dist/services/storefront.product.service.test.js +0 -120
  194. package/dist/services/storefront.store.service.d.ts +0 -54
  195. package/dist/services/storefront.store.service.js +0 -142
  196. package/dist/services/storefront.store.service.test.d.ts +0 -1
  197. package/dist/services/storefront.store.service.test.js +0 -90
  198. package/dist/services/user.service.d.ts +0 -16
  199. package/dist/services/user.service.js +0 -37
  200. package/dist/services/user.service.test.d.ts +0 -1
  201. package/dist/services/user.service.test.js +0 -52
  202. package/dist/services/utils/withAuthReset.d.ts +0 -3
  203. package/dist/services/utils/withAuthReset.js +0 -8
  204. package/dist/src/core/axios.d.ts +0 -51
  205. package/dist/src/core/axios.js +0 -65
  206. package/dist/src/core/axios.observable.d.ts +0 -11
  207. package/dist/src/core/axios.observable.js +0 -58
  208. package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
  209. package/dist/src/core/base.provider.advanced.test.js +0 -29
  210. package/dist/src/core/base.provider.d.ts +0 -15
  211. package/dist/src/core/base.provider.js +0 -13
  212. package/dist/src/core/base.provider.test.d.ts +0 -1
  213. package/dist/src/core/base.provider.test.js +0 -36
  214. package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
  215. package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
  216. package/dist/src/core/base.service.wrapper.d.ts +0 -7
  217. package/dist/src/core/base.service.wrapper.js +0 -11
  218. package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
  219. package/dist/src/core/base.service.wrapper.test.js +0 -25
  220. package/dist/src/core/rx.http.service.d.ts +0 -51
  221. package/dist/src/core/rx.http.service.js +0 -65
  222. package/dist/src/index.d.ts +0 -25
  223. package/dist/src/index.js +0 -29
  224. package/dist/src/services/auth.service.d.ts +0 -65
  225. package/dist/src/services/auth.service.js +0 -197
  226. package/dist/src/services/auth.service.test.d.ts +0 -1
  227. package/dist/src/services/auth.service.test.js +0 -334
  228. package/dist/src/services/cache.service.d.ts +0 -31
  229. package/dist/src/services/cache.service.js +0 -77
  230. package/dist/src/services/cache.service.test.d.ts +0 -1
  231. package/dist/src/services/cache.service.test.js +0 -88
  232. package/dist/src/services/customer.service.d.ts +0 -199
  233. package/dist/src/services/customer.service.js +0 -114
  234. package/dist/src/services/customer.service.test.d.ts +0 -1
  235. package/dist/src/services/customer.service.test.js +0 -430
  236. package/dist/src/services/employee.service.d.ts +0 -73
  237. package/dist/src/services/employee.service.js +0 -74
  238. package/dist/src/services/employee.service.test.d.ts +0 -1
  239. package/dist/src/services/employee.service.test.js +0 -127
  240. package/dist/src/services/logger.service.d.ts +0 -31
  241. package/dist/src/services/logger.service.js +0 -93
  242. package/dist/src/services/logger.service.test.d.ts +0 -1
  243. package/dist/src/services/logger.service.test.js +0 -31
  244. package/dist/src/services/order.service.d.ts +0 -73
  245. package/dist/src/services/order.service.js +0 -97
  246. package/dist/src/services/order.service.test.d.ts +0 -1
  247. package/dist/src/services/order.service.test.js +0 -163
  248. package/dist/src/services/product.service.d.ts +0 -21
  249. package/dist/src/services/product.service.js +0 -42
  250. package/dist/src/services/product.service.test.d.ts +0 -1
  251. package/dist/src/services/product.service.test.js +0 -61
  252. package/dist/src/services/smess.service.d.ts +0 -36
  253. package/dist/src/services/smess.service.js +0 -128
  254. package/dist/src/services/smess.service.test.d.ts +0 -1
  255. package/dist/src/services/smess.service.test.js +0 -103
  256. package/dist/src/services/store.cart.service.d.ts +0 -158
  257. package/dist/src/services/store.cart.service.js +0 -177
  258. package/dist/src/services/store.cart.service.test.d.ts +0 -1
  259. package/dist/src/services/store.cart.service.test.js +0 -394
  260. package/dist/src/services/store.product.service.d.ts +0 -124
  261. package/dist/src/services/store.product.service.js +0 -102
  262. package/dist/src/services/store.product.service.test.d.ts +0 -1
  263. package/dist/src/services/store.product.service.test.js +0 -319
  264. package/dist/src/services/store.service.d.ts +0 -79
  265. package/dist/src/services/store.service.js +0 -235
  266. package/dist/src/services/store.service.test.d.ts +0 -1
  267. package/dist/src/services/store.service.test.js +0 -274
  268. package/dist/src/services/storefront.cart.service.d.ts +0 -73
  269. package/dist/src/services/storefront.cart.service.js +0 -167
  270. package/dist/src/services/storefront.cart.service.test.d.ts +0 -1
  271. package/dist/src/services/storefront.cart.service.test.js +0 -211
  272. package/dist/src/services/storefront.checkout.service.d.ts +0 -62
  273. package/dist/src/services/storefront.checkout.service.js +0 -75
  274. package/dist/src/services/storefront.checkout.service.test.d.ts +0 -1
  275. package/dist/src/services/storefront.checkout.service.test.js +0 -158
  276. package/dist/src/services/storefront.customer.metadata.service.d.ts +0 -91
  277. package/dist/src/services/storefront.customer.metadata.service.js +0 -225
  278. package/dist/src/services/storefront.customer.metadata.service.test.d.ts +0 -1
  279. package/dist/src/services/storefront.customer.metadata.service.test.js +0 -271
  280. package/dist/src/services/storefront.order.service.d.ts +0 -45
  281. package/dist/src/services/storefront.order.service.js +0 -99
  282. package/dist/src/services/storefront.order.service.test.d.ts +0 -1
  283. package/dist/src/services/storefront.order.service.test.js +0 -158
  284. package/dist/src/services/storefront.product.service.d.ts +0 -52
  285. package/dist/src/services/storefront.product.service.js +0 -75
  286. package/dist/src/services/storefront.product.service.test.d.ts +0 -1
  287. package/dist/src/services/storefront.product.service.test.js +0 -120
  288. package/dist/src/services/storefront.store.service.d.ts +0 -52
  289. package/dist/src/services/storefront.store.service.js +0 -140
  290. package/dist/src/services/storefront.store.service.test.d.ts +0 -1
  291. package/dist/src/services/storefront.store.service.test.js +0 -90
  292. package/dist/src/services/user.service.d.ts +0 -16
  293. package/dist/src/services/user.service.js +0 -37
  294. package/dist/src/services/user.service.test.d.ts +0 -1
  295. package/dist/src/services/user.service.test.js +0 -52
  296. package/dist/src/services/utils/withAuthReset.d.ts +0 -3
  297. package/dist/src/services/utils/withAuthReset.js +0 -8
  298. package/dist/src/types/types.d.ts +0 -93
  299. package/dist/src/types/types.js +0 -82
  300. package/dist/src/types/types.test.d.ts +0 -1
  301. package/dist/src/types/types.test.js +0 -25
  302. package/dist/src/utils/cache-import.d.ts +0 -3
  303. package/dist/src/utils/cache-import.js +0 -2
  304. package/dist/src/utils/networking-import.d.ts +0 -4
  305. package/dist/src/utils/networking-import.js +0 -3
  306. package/dist/src/utils/rxjs-import.d.ts +0 -5
  307. package/dist/src/utils/rxjs-import.js +0 -5
  308. package/dist/types/types.d.ts +0 -96
  309. package/dist/types/types.js +0 -82
  310. package/dist/types/types.test.d.ts +0 -1
  311. package/dist/types/types.test.js +0 -25
  312. package/dist/utils/cache-import.d.ts +0 -3
  313. package/dist/utils/cache-import.js +0 -2
  314. package/dist/utils/networking-import.d.ts +0 -4
  315. package/dist/utils/networking-import.js +0 -3
  316. package/dist/utils/rxjs-import.d.ts +0 -5
  317. package/dist/utils/rxjs-import.js +0 -5
package/package.json CHANGED
@@ -1,42 +1,96 @@
1
1
  {
2
2
  "name": "@smess/networking",
3
- "version": "1.2.0",
4
- "description": "Networking utilities and services for SMESS platform.",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "2.1.0",
4
+ "description": "Typed client for the SMESS core-services API (auth, campaigns, Danara, SSO, files), built on fetch.",
5
+ "keywords": [
6
+ "smess",
7
+ "core-services",
8
+ "api-client",
9
+ "fetch"
10
+ ],
11
+ "license": "MIT",
12
+ "author": "SME Services Cloud <dev@smeservices.cloud>",
13
+ "type": "module",
14
+ "sideEffects": false,
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
7
18
  "exports": {
8
19
  ".": {
9
- "import": "./dist/index.js",
10
- "types": "./dist/index.d.ts"
11
- }
20
+ "types": "./dist/index.d.ts",
21
+ "default": "./dist/index.js"
22
+ },
23
+ "./authentication": {
24
+ "types": "./dist/modules/authentication/index.d.ts",
25
+ "default": "./dist/modules/authentication/index.js"
26
+ },
27
+ "./sso": {
28
+ "types": "./dist/modules/sso/index.d.ts",
29
+ "default": "./dist/modules/sso/index.js"
30
+ },
31
+ "./campaign": {
32
+ "types": "./dist/modules/campaign/index.d.ts",
33
+ "default": "./dist/modules/campaign/index.js"
34
+ },
35
+ "./smeup-file": {
36
+ "types": "./dist/modules/smeup-file/index.d.ts",
37
+ "default": "./dist/modules/smeup-file/index.js"
38
+ },
39
+ "./danara": {
40
+ "types": "./dist/modules/danara/index.d.ts",
41
+ "default": "./dist/modules/danara/index.js"
42
+ },
43
+ "./messenger": {
44
+ "types": "./dist/modules/messenger/index.d.ts",
45
+ "default": "./dist/modules/messenger/index.js"
46
+ },
47
+ "./rx": {
48
+ "types": "./dist/rx/index.d.ts",
49
+ "default": "./dist/rx/index.js"
50
+ },
51
+ "./package.json": "./package.json"
12
52
  },
13
- "type": "module",
53
+ "main": "./dist/index.js",
54
+ "types": "./dist/index.d.ts",
55
+ "files": [
56
+ "dist",
57
+ "README.md",
58
+ "CHANGELOG.md"
59
+ ],
14
60
  "scripts": {
15
- "build": "tsc",
16
61
  "clean": "rm -rf dist",
17
- "test": "jest"
62
+ "build": "npm run clean && tsc -p tsconfig.build.json",
63
+ "typecheck": "tsc -p tsconfig.json --noEmit",
64
+ "lint": "eslint .",
65
+ "test": "vitest run",
66
+ "test:watch": "vitest",
67
+ "check": "npm run lint && npm run typecheck && npm run test && npm run build && publint",
68
+ "smoke": "npm run build && node scripts/smoke-danara.mjs",
69
+ "prepublishOnly": "npm run check"
70
+ },
71
+ "peerDependencies": {
72
+ "rxjs": "^7.8.0"
73
+ },
74
+ "peerDependenciesMeta": {
75
+ "rxjs": {
76
+ "optional": true
77
+ }
18
78
  },
19
- "author": "",
20
- "license": "MIT",
21
- "files": [
22
- "dist"
23
- ],
24
79
  "devDependencies": {
25
- "@eslint/js": "^9.31.0",
26
- "@types/jest": "^30.0.0",
27
- "@types/node": "^24.0.14",
28
- "eslint": "^9.31.0",
29
- "globals": "^16.3.0",
30
- "jest": "^30.0.4",
31
- "jest-environment-jsdom": "^30.1.2",
32
- "ts-jest": "^29.4.0",
33
- "typescript": "^5.0.0",
34
- "typescript-eslint": "^8.37.0"
80
+ "@eslint/js": "^10.0.1",
81
+ "@types/node": "^22.20.5",
82
+ "eslint": "^10.14.0",
83
+ "publint": "^0.3.25",
84
+ "rxjs": "^7.8.2",
85
+ "typescript": "~5.9.3",
86
+ "typescript-eslint": "^8.72.1",
87
+ "vitest": "^5.1.0"
88
+ },
89
+ "repository": {
90
+ "type": "git",
91
+ "url": "git+https://github.com/smeservicescloud/smess-networking.git"
35
92
  },
36
- "dependencies": {
37
- "axios": "^1.10.0",
38
- "dexie": "^4.0.11",
39
- "fake-indexeddb": "^6.0.1",
40
- "rxjs": "^7.8.2"
93
+ "publishConfig": {
94
+ "access": "public"
41
95
  }
42
96
  }
@@ -1,51 +0,0 @@
1
- import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "../utils/networking-import";
2
- import type { AxiosInterceptorManager } from "axios";
3
- import { AxiosObservable } from "./axios.observable";
4
- export interface Axiosable {
5
- request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
6
- get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
7
- head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
8
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
9
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
10
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
11
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
12
- }
13
- declare class Axios implements Axiosable {
14
- private axiosInstance;
15
- static defaults: Omit<import("axios").AxiosDefaults<any>, "headers"> & {
16
- headers: import("axios").HeadersDefaults & {
17
- [key: string]: import("axios").AxiosHeaderValue;
18
- };
19
- };
20
- static interceptors: {
21
- request: AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
22
- response: AxiosInterceptorManager<AxiosResponse>;
23
- };
24
- constructor(axiosInstance: AxiosInstance);
25
- get defaults(): Omit<import("axios").AxiosDefaults<any>, "headers"> & {
26
- headers: import("axios").HeadersDefaults & {
27
- [key: string]: import("axios").AxiosHeaderValue;
28
- };
29
- };
30
- get interceptors(): {
31
- request: AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
32
- response: AxiosInterceptorManager<AxiosResponse>;
33
- };
34
- static request<T = any>(config: AxiosRequestConfig): AxiosObservable<T>;
35
- static get<T = any>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
36
- static post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosObservable<T>;
37
- static put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosObservable<T>;
38
- static patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosObservable<T>;
39
- static delete<T = any>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
40
- static head<T = any>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
41
- static create(config: AxiosRequestConfig): Axios;
42
- request<T = any>(config: AxiosRequestConfig): AxiosObservable<T>;
43
- get<T = any>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
44
- head<T = any>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
45
- post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosObservable<T>;
46
- put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosObservable<T>;
47
- patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosObservable<T>;
48
- delete<T = any>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
49
- }
50
- export default Axios;
51
- export { Axios };
@@ -1,65 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- Required for axios compatibility */
2
- import { axios, } from "../utils/networking-import";
3
- import { createObservable } from "./axios.observable";
4
- class Axios {
5
- constructor(axiosInstance) {
6
- this.axiosInstance = axiosInstance;
7
- }
8
- get defaults() {
9
- return this.axiosInstance.defaults;
10
- }
11
- get interceptors() {
12
- return this.axiosInstance.interceptors;
13
- }
14
- // ----- Static Methods -----
15
- static request(config) {
16
- return createObservable(axios.request, [config]);
17
- }
18
- static get(url, config) {
19
- return createObservable(axios.get, [url, config]);
20
- }
21
- static post(url, data, config) {
22
- return createObservable(axios.post, [url, data, config]);
23
- }
24
- static put(url, data, config) {
25
- return createObservable(axios.put, [url, data, config]);
26
- }
27
- static patch(url, data, config) {
28
- return createObservable(axios.patch, [url, data, config]);
29
- }
30
- static delete(url, config) {
31
- return createObservable(axios.delete, [url, config]);
32
- }
33
- static head(url, config) {
34
- return createObservable(axios.head, [url, config]);
35
- }
36
- static create(config) {
37
- return new Axios(axios.create(config));
38
- }
39
- // ----- Instance Methods -----
40
- request(config) {
41
- return createObservable(this.axiosInstance.request, [config]);
42
- }
43
- get(url, config) {
44
- return createObservable(this.axiosInstance.get, [url, config]);
45
- }
46
- head(url, config) {
47
- return createObservable(this.axiosInstance.head, [url, config]);
48
- }
49
- post(url, data, config) {
50
- return createObservable(this.axiosInstance.post, [url, data, config]);
51
- }
52
- put(url, data, config) {
53
- return createObservable(this.axiosInstance.put, [url, data, config]);
54
- }
55
- patch(url, data, config) {
56
- return createObservable(this.axiosInstance.patch, [url, data, config]);
57
- }
58
- delete(url, config) {
59
- return createObservable(this.axiosInstance.delete, [url, config]);
60
- }
61
- }
62
- Axios.defaults = axios.defaults;
63
- Axios.interceptors = axios.interceptors;
64
- export default Axios;
65
- export { Axios };
@@ -1,11 +0,0 @@
1
- import { AxiosResponse } from "../utils/networking-import";
2
- import type { AxiosPromise } from "axios";
3
- import { Observable } from "../utils/rxjs-import";
4
- export type AxiosObservable<T> = Observable<AxiosResponse<T>>;
5
- interface ObservableOptions {
6
- retry?: number;
7
- timeoutMs?: number;
8
- cache?: boolean;
9
- }
10
- export declare function createObservable<T>(promiseFactory: (...args: any[]) => AxiosPromise<T>, args: any[], options?: ObservableOptions): AxiosObservable<T>;
11
- export {};
@@ -1,58 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- Required for axios compatibility */
2
- import { axios, } from "../utils/networking-import";
3
- import { Observable, timeout as rxTimeout, retry as rxRetry, shareReplay, catchError, throwError, } from "../utils/rxjs-import";
4
- import { $logger } from "../services/logger.service";
5
- export function createObservable(promiseFactory, args, options = {}) {
6
- let config = args[args.length - 1];
7
- if (config && typeof config === "object" && !Array.isArray(config)) {
8
- config = { ...config };
9
- }
10
- else {
11
- config = {};
12
- args.push(config);
13
- }
14
- let cancelSource = null;
15
- const hasCancelToken = !!config.cancelToken;
16
- if (!hasCancelToken) {
17
- $logger.warn("[Networking] You can omit cancelToken — unsubscribing cancels the request automatically.", undefined, "axios.observable");
18
- }
19
- let source$ = new Observable((subscriber) => {
20
- if (!hasCancelToken) {
21
- cancelSource = axios.CancelToken.source();
22
- config.cancelToken = cancelSource.token;
23
- }
24
- promiseFactory(...args)
25
- .then((response) => {
26
- subscriber.next(response);
27
- subscriber.complete();
28
- })
29
- .catch((error) => {
30
- if (!subscriber.closed) {
31
- subscriber.error(error);
32
- }
33
- });
34
- return () => {
35
- if (cancelSource) {
36
- cancelSource.cancel("Request canceled via unsubscribe.");
37
- }
38
- };
39
- });
40
- // Add timeout if specified
41
- if (options.timeoutMs) {
42
- source$ = source$.pipe(rxTimeout(options.timeoutMs));
43
- }
44
- // Add retry logic
45
- if (options.retry) {
46
- source$ = source$.pipe(rxRetry(options.retry));
47
- }
48
- // Cache the response if needed
49
- if (options.cache) {
50
- source$ = source$.pipe(shareReplay({ bufferSize: 1, refCount: false }));
51
- }
52
- // Optional: Log or catch errors globally
53
- source$ = source$.pipe(catchError((err) => {
54
- $logger.error("[createObservable error]:", err, "axios.observable");
55
- return throwError(() => err);
56
- }));
57
- return source$;
58
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import { BaseProvider } from "./base.provider";
2
- describe("BaseProvider Advanced", () => {
3
- const config = {
4
- baseUrl: "https://api.example.com",
5
- isProd: false,
6
- clientId: "test-client",
7
- apiKey: "test-key",
8
- };
9
- it("should support dynamic getPath for multiple params", () => {
10
- const provider = new BaseProvider({
11
- config,
12
- path: "/resource/:id/:action",
13
- method: "GET",
14
- headers: {},
15
- getPath: (id, action) => `/resource/${id}/${action}`,
16
- });
17
- expect(provider.getPath("42", "edit")).toBe("/resource/42/edit");
18
- });
19
- it("should allow dynamic headers and method", () => {
20
- const provider = new BaseProvider({
21
- config,
22
- path: "/resource",
23
- method: "PATCH",
24
- headers: { Authorization: "Bearer token" },
25
- });
26
- expect(provider.method).toBe("PATCH");
27
- expect(provider.headers.Authorization).toBe("Bearer token");
28
- });
29
- });
@@ -1,15 +0,0 @@
1
- import { ProviderType, NetworkingConfig } from "../types/types";
2
- export declare class BaseProvider implements ProviderType {
3
- baseURL: string;
4
- path: string;
5
- method: string;
6
- headers: Record<string, string | undefined>;
7
- getPath: (...queryParams: unknown[]) => string;
8
- constructor({ config, path, method, headers, getPath, }: {
9
- config: NetworkingConfig;
10
- path: string;
11
- method: string;
12
- headers?: any;
13
- getPath?: (...queryParams: any[]) => string;
14
- });
15
- }
@@ -1,13 +0,0 @@
1
- export class BaseProvider {
2
- constructor({ config, path, method, headers = {}, getPath = () => path, }) {
3
- this.baseURL = config.baseUrl;
4
- this.path = path;
5
- this.method = method;
6
- this.headers = {
7
- ...headers,
8
- "X-Client-Id": config.clientId,
9
- "X-Api-Key": config.apiKey,
10
- };
11
- this.getPath = getPath || (() => path);
12
- }
13
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,36 +0,0 @@
1
- import { BaseProvider } from "./base.provider";
2
- describe("BaseProvider", () => {
3
- const config = {
4
- baseUrl: "https://api.example.com",
5
- isProd: false,
6
- clientId: "test-client",
7
- apiKey: "test-key",
8
- };
9
- it("should construct with required fields", () => {
10
- const provider = new BaseProvider({
11
- config,
12
- path: "/resource",
13
- method: "GET",
14
- headers: { foo: "bar" },
15
- });
16
- expect(provider.baseURL).toBe("https://api.example.com");
17
- expect(provider.path).toBe("/resource");
18
- expect(provider.method).toBe("GET");
19
- expect(provider.headers).toEqual({
20
- foo: "bar",
21
- "X-Client-Id": "test-client",
22
- "X-Api-Key": "test-key",
23
- });
24
- expect(provider.getPath()).toBe("/resource");
25
- });
26
- it("should use custom getPath if provided", () => {
27
- const provider = new BaseProvider({
28
- config,
29
- path: "/resource/:id",
30
- method: "GET",
31
- headers: {},
32
- getPath: (id) => `/resource/${id}`,
33
- });
34
- expect(provider.getPath("123")).toBe("/resource/123");
35
- });
36
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,39 +0,0 @@
1
- import { BaseServiceWrapper } from "./base.service.wrapper";
2
- import { NetworkingUIEventWrapped } from "../types/types";
3
- import { of } from "rxjs";
4
- import { map } from "rxjs/operators";
5
- describe("BaseServiceWrapper Advanced", () => {
6
- const mockProvider = {
7
- baseURL: "https://api.example.com",
8
- path: "/resource",
9
- method: "GET",
10
- headers: {},
11
- getPath: () => "/resource",
12
- };
13
- it("should allow use of RxJS operators", (done) => {
14
- const wrapper = new BaseServiceWrapper(mockProvider);
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for test compatibility
16
- wrapper.request = (() => of(NetworkingUIEventWrapped.succeeded({ foo: 1 })));
17
- wrapper
18
- .request()
19
- .pipe(map((r) => r.response))
20
- .subscribe((val) => {
21
- expect(val).toEqual({ foo: 1 });
22
- done();
23
- });
24
- });
25
- it("should handle multiple concurrent requests", (done) => {
26
- const wrapper = new BaseServiceWrapper(mockProvider);
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for test compatibility
28
- wrapper.request = ((payload) => of(NetworkingUIEventWrapped.succeeded({ foo: payload })));
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for test compatibility
30
- const results = [];
31
- wrapper.request(1).subscribe((r) => {
32
- results.push(r.response);
33
- if (results.length === 1) {
34
- expect(results[0]).toEqual({ foo: 1 });
35
- done();
36
- }
37
- });
38
- });
39
- });
@@ -1,7 +0,0 @@
1
- import { ProviderType, NetworkingUIEventWrapped } from "../types/types";
2
- import { Observable } from "rxjs";
3
- export declare class BaseServiceWrapper<T extends ProviderType> {
4
- protected provider: T;
5
- constructor(provider: T);
6
- request<R = any>(payload?: any): Observable<NetworkingUIEventWrapped<R>>;
7
- }
@@ -1,11 +0,0 @@
1
- import { SmessService } from "../services/smess.service";
2
- export class BaseServiceWrapper {
3
- constructor(provider) {
4
- this.provider = provider;
5
- }
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Required for base service wrapper compatibility
7
- request(payload) {
8
- const service = new SmessService(this.provider);
9
- return service.request(payload);
10
- }
11
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { BaseServiceWrapper } from "./base.service.wrapper";
2
- import { NetworkingUIEventWrapped } from "../types/types";
3
- import { of } from "rxjs";
4
- // Mock SmessService for testing
5
- jest.mock("../services/smess.service", () => ({
6
- SmessService: jest.fn().mockImplementation(() => ({
7
- request: jest.fn(() => of(NetworkingUIEventWrapped.succeeded({ foo: "bar" }))),
8
- })),
9
- }));
10
- describe("BaseServiceWrapper", () => {
11
- const mockProvider = {
12
- baseURL: "https://api.example.com",
13
- path: "/resource",
14
- method: "GET",
15
- headers: {},
16
- getPath: () => "/resource",
17
- };
18
- it("should delegate request to SmessService", (done) => {
19
- const wrapper = new BaseServiceWrapper(mockProvider);
20
- wrapper.request().subscribe((result) => {
21
- expect(result.response).toEqual({ foo: "bar" });
22
- done();
23
- });
24
- });
25
- });
@@ -1,51 +0,0 @@
1
- import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "../utils/networking-import";
2
- import type { AxiosInterceptorManager } from "axios";
3
- import { AxiosObservable } from "./axios.observable";
4
- export interface Axiosable {
5
- request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
6
- get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
7
- head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
8
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
9
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
10
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
11
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
12
- }
13
- declare class HttpService implements Axiosable {
14
- private axiosInstance;
15
- static defaults: Omit<import("axios").AxiosDefaults<any>, "headers"> & {
16
- headers: import("axios").HeadersDefaults & {
17
- [key: string]: import("axios").AxiosHeaderValue;
18
- };
19
- };
20
- static interceptors: {
21
- request: AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
22
- response: AxiosInterceptorManager<AxiosResponse>;
23
- };
24
- constructor(axiosInstance: AxiosInstance);
25
- get defaults(): Omit<import("axios").AxiosDefaults<any>, "headers"> & {
26
- headers: import("axios").HeadersDefaults & {
27
- [key: string]: import("axios").AxiosHeaderValue;
28
- };
29
- };
30
- get interceptors(): {
31
- request: AxiosInterceptorManager<import("axios").InternalAxiosRequestConfig>;
32
- response: AxiosInterceptorManager<AxiosResponse>;
33
- };
34
- static request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
35
- static get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
36
- static post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
37
- static put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
38
- static patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
39
- static delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
40
- static head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
41
- static create(config: AxiosRequestConfig): HttpService;
42
- request<T = unknown>(config: AxiosRequestConfig): AxiosObservable<T>;
43
- get<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
44
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
45
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
46
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): AxiosObservable<T>;
47
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
48
- head<T = unknown>(url: string, config?: AxiosRequestConfig): AxiosObservable<T>;
49
- }
50
- export default HttpService;
51
- export { HttpService };
@@ -1,65 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- Required for axios compatibility */
2
- import { axios, } from "../utils/networking-import";
3
- import { createObservable } from "./axios.observable";
4
- class HttpService {
5
- constructor(axiosInstance) {
6
- this.axiosInstance = axiosInstance;
7
- }
8
- get defaults() {
9
- return this.axiosInstance.defaults;
10
- }
11
- get interceptors() {
12
- return this.axiosInstance.interceptors;
13
- }
14
- // Static methods
15
- static request(config) {
16
- return createObservable(axios.request, [config]);
17
- }
18
- static get(url, config) {
19
- return createObservable(axios.get, [url, config]);
20
- }
21
- static post(url, data, config) {
22
- return createObservable(axios.post, [url, data, config]);
23
- }
24
- static put(url, data, config) {
25
- return createObservable(axios.put, [url, data, config]);
26
- }
27
- static patch(url, data, config) {
28
- return createObservable(axios.patch, [url, data, config]);
29
- }
30
- static delete(url, config) {
31
- return createObservable(axios.delete, [url, config]);
32
- }
33
- static head(url, config) {
34
- return createObservable(axios.head, [url, config]);
35
- }
36
- static create(config) {
37
- return new HttpService(axios.create(config));
38
- }
39
- // Instance methods
40
- request(config) {
41
- return createObservable(this.axiosInstance.request, [config]);
42
- }
43
- get(url, config) {
44
- return createObservable(this.axiosInstance.get, [url, config]);
45
- }
46
- post(url, data, config) {
47
- return createObservable(this.axiosInstance.post, [url, data, config]);
48
- }
49
- put(url, data, config) {
50
- return createObservable(this.axiosInstance.put, [url, data, config]);
51
- }
52
- patch(url, data, config) {
53
- return createObservable(this.axiosInstance.patch, [url, data, config]);
54
- }
55
- delete(url, config) {
56
- return createObservable(this.axiosInstance.delete, [url, config]);
57
- }
58
- head(url, config) {
59
- return createObservable(this.axiosInstance.head, [url, config]);
60
- }
61
- }
62
- HttpService.defaults = axios.defaults;
63
- HttpService.interceptors = axios.interceptors;
64
- export default HttpService;
65
- export { HttpService };