@n1k1t/mock-server 0.1.61 → 0.1.62

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 (559) hide show
  1. package/lib/package.json +1 -1
  2. package/package.json +1 -1
  3. package/bin/index.ts +0 -33
  4. package/coverage/clover.xml +0 -1372
  5. package/coverage/cobertura-coverage.xml +0 -3466
  6. package/coverage/coverage-final.json +0 -76
  7. package/coverage/lcov-report/base.css +0 -224
  8. package/coverage/lcov-report/block-navigation.js +0 -87
  9. package/coverage/lcov-report/client/errors/connection.error.ts.html +0 -106
  10. package/coverage/lcov-report/client/errors/index.html +0 -161
  11. package/coverage/lcov-report/client/errors/index.ts.html +0 -97
  12. package/coverage/lcov-report/client/errors/internal-server.error.ts.html +0 -115
  13. package/coverage/lcov-report/client/errors/validation.error.ts.html +0 -115
  14. package/coverage/lcov-report/client/helpers/expectations.ts.html +0 -766
  15. package/coverage/lcov-report/client/helpers/index.html +0 -131
  16. package/coverage/lcov-report/client/helpers/index.ts.html +0 -88
  17. package/coverage/lcov-report/client/index.html +0 -161
  18. package/coverage/lcov-report/client/index.ts.html +0 -100
  19. package/coverage/lcov-report/client/methods/expectations-group.update.method.ts.html +0 -193
  20. package/coverage/lcov-report/client/methods/expectations.create.method.ts.html +0 -202
  21. package/coverage/lcov-report/client/methods/expectations.delete.method.ts.html +0 -184
  22. package/coverage/lcov-report/client/methods/expectations.update.method.ts.html +0 -241
  23. package/coverage/lcov-report/client/methods/index.html +0 -191
  24. package/coverage/lcov-report/client/methods/index.ts.html +0 -103
  25. package/coverage/lcov-report/client/methods/ping.method.ts.html +0 -160
  26. package/coverage/lcov-report/client/models/client.ts.html +0 -340
  27. package/coverage/lcov-report/client/models/index.html +0 -146
  28. package/coverage/lcov-report/client/models/index.ts.html +0 -91
  29. package/coverage/lcov-report/client/models/method.ts.html +0 -235
  30. package/coverage/lcov-report/client/onsite.ts.html +0 -172
  31. package/coverage/lcov-report/client/remote.ts.html +0 -187
  32. package/coverage/lcov-report/client/utils.ts.html +0 -211
  33. package/coverage/lcov-report/config/index.html +0 -131
  34. package/coverage/lcov-report/config/index.ts.html +0 -97
  35. package/coverage/lcov-report/config/model.ts.html +0 -226
  36. package/coverage/lcov-report/expectations/__utils__/index.html +0 -116
  37. package/coverage/lcov-report/expectations/__utils__/index.ts.html +0 -268
  38. package/coverage/lcov-report/expectations/index.html +0 -146
  39. package/coverage/lcov-report/expectations/index.ts.html +0 -94
  40. package/coverage/lcov-report/expectations/models/expectation.ts.html +0 -373
  41. package/coverage/lcov-report/expectations/models/index.html +0 -161
  42. package/coverage/lcov-report/expectations/models/index.ts.html +0 -94
  43. package/coverage/lcov-report/expectations/models/operator.ts.html +0 -352
  44. package/coverage/lcov-report/expectations/models/storage.ts.html +0 -211
  45. package/coverage/lcov-report/expectations/operators/and.operator.ts.html +0 -196
  46. package/coverage/lcov-report/expectations/operators/exec.operator.ts.html +0 -160
  47. package/coverage/lcov-report/expectations/operators/has.operator.ts.html +0 -778
  48. package/coverage/lcov-report/expectations/operators/if.operator.ts.html +0 -316
  49. package/coverage/lcov-report/expectations/operators/index.html +0 -281
  50. package/coverage/lcov-report/expectations/operators/index.ts.html +0 -118
  51. package/coverage/lcov-report/expectations/operators/merge.operator.ts.html +0 -379
  52. package/coverage/lcov-report/expectations/operators/not.operator.ts.html +0 -199
  53. package/coverage/lcov-report/expectations/operators/or.operator.ts.html +0 -196
  54. package/coverage/lcov-report/expectations/operators/remove.operator.ts.html +0 -238
  55. package/coverage/lcov-report/expectations/operators/root.operator.ts.html +0 -238
  56. package/coverage/lcov-report/expectations/operators/set.operator.ts.html +0 -436
  57. package/coverage/lcov-report/expectations/operators/switch.operator.ts.html +0 -463
  58. package/coverage/lcov-report/expectations/types.ts.html +0 -766
  59. package/coverage/lcov-report/expectations/utils.ts.html +0 -802
  60. package/coverage/lcov-report/favicon.png +0 -0
  61. package/coverage/lcov-report/index.html +0 -431
  62. package/coverage/lcov-report/logger/index.html +0 -131
  63. package/coverage/lcov-report/logger/index.ts.html +0 -325
  64. package/coverage/lcov-report/logger/utils.ts.html +0 -160
  65. package/coverage/lcov-report/meta/index.html +0 -146
  66. package/coverage/lcov-report/meta/index.ts.html +0 -103
  67. package/coverage/lcov-report/meta/model.ts.html +0 -172
  68. package/coverage/lcov-report/meta/storage.ts.html +0 -145
  69. package/coverage/lcov-report/prettify.css +0 -1
  70. package/coverage/lcov-report/prettify.js +0 -2
  71. package/coverage/lcov-report/server/expectations/__utils__/index.html +0 -116
  72. package/coverage/lcov-report/server/expectations/__utils__/index.ts.html +0 -199
  73. package/coverage/lcov-report/server/expectations/index.html +0 -131
  74. package/coverage/lcov-report/server/expectations/operators/and.operator.ts.html +0 -103
  75. package/coverage/lcov-report/server/expectations/operators/exec.operator.ts.html +0 -139
  76. package/coverage/lcov-report/server/expectations/operators/has.operator.ts.html +0 -358
  77. package/coverage/lcov-report/server/expectations/operators/if.operator.ts.html +0 -130
  78. package/coverage/lcov-report/server/expectations/operators/index.html +0 -266
  79. package/coverage/lcov-report/server/expectations/operators/index.ts.html +0 -112
  80. package/coverage/lcov-report/server/expectations/operators/merge.operator.ts.html +0 -193
  81. package/coverage/lcov-report/server/expectations/operators/not.operator.ts.html +0 -100
  82. package/coverage/lcov-report/server/expectations/operators/or.operator.ts.html +0 -115
  83. package/coverage/lcov-report/server/expectations/operators/remove.operator.ts.html +0 -169
  84. package/coverage/lcov-report/server/expectations/operators/set.operator.ts.html +0 -208
  85. package/coverage/lcov-report/server/expectations/operators/utils.ts.html +0 -346
  86. package/coverage/lcov-report/server/expectations/types.ts.html +0 -517
  87. package/coverage/lcov-report/server/expectations/utils.ts.html +0 -358
  88. package/coverage/lcov-report/server/models/containers/index.html +0 -161
  89. package/coverage/lcov-report/server/models/containers/index.ts.html +0 -91
  90. package/coverage/lcov-report/server/models/containers/model.ts.html +0 -328
  91. package/coverage/lcov-report/server/models/containers/storage.ts.html +0 -256
  92. package/coverage/lcov-report/server/models/containers/utils.ts.html +0 -97
  93. package/coverage/lcov-report/server/models/context/index.html +0 -146
  94. package/coverage/lcov-report/server/models/context/index.ts.html +0 -514
  95. package/coverage/lcov-report/server/models/context/snapshot.ts.html +0 -529
  96. package/coverage/lcov-report/server/models/context/utils.ts.html +0 -382
  97. package/coverage/lcov-report/server/models/endpoint.ts.html +0 -304
  98. package/coverage/lcov-report/server/models/exchanges/index.html +0 -131
  99. package/coverage/lcov-report/server/models/exchanges/index.ts.html +0 -88
  100. package/coverage/lcov-report/server/models/exchanges/socket-io.ts.html +0 -154
  101. package/coverage/lcov-report/server/models/executor/errors/index.html +0 -116
  102. package/coverage/lcov-report/server/models/executor/errors/index.ts.html +0 -130
  103. package/coverage/lcov-report/server/models/executor/index.html +0 -116
  104. package/coverage/lcov-report/server/models/executor/index.ts.html +0 -1018
  105. package/coverage/lcov-report/server/models/history/index.html +0 -146
  106. package/coverage/lcov-report/server/models/history/index.ts.html +0 -91
  107. package/coverage/lcov-report/server/models/history/model.ts.html +0 -331
  108. package/coverage/lcov-report/server/models/history/storage.ts.html +0 -184
  109. package/coverage/lcov-report/server/models/index.html +0 -161
  110. package/coverage/lcov-report/server/models/index.ts.html +0 -115
  111. package/coverage/lcov-report/server/models/providers/index.html +0 -146
  112. package/coverage/lcov-report/server/models/providers/index.ts.html +0 -91
  113. package/coverage/lcov-report/server/models/providers/model.ts.html +0 -211
  114. package/coverage/lcov-report/server/models/providers/storage.ts.html +0 -172
  115. package/coverage/lcov-report/server/models/reply.ts.html +0 -115
  116. package/coverage/lcov-report/server/models/router.ts.html +0 -313
  117. package/coverage/lcov-report/server/models/transports/index.html +0 -146
  118. package/coverage/lcov-report/server/models/transports/index.ts.html +0 -91
  119. package/coverage/lcov-report/server/models/transports/model.ts.html +0 -112
  120. package/coverage/lcov-report/server/models/transports/storage.ts.html +0 -124
  121. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  122. package/coverage/lcov-report/sorter.js +0 -196
  123. package/coverage/lcov-report/utils/common.ts.html +0 -187
  124. package/coverage/lcov-report/utils/index.html +0 -176
  125. package/coverage/lcov-report/utils/index.ts.html +0 -97
  126. package/coverage/lcov-report/utils/json.ts.html +0 -193
  127. package/coverage/lcov-report/utils/regexp.ts.html +0 -97
  128. package/coverage/lcov-report/utils/validation.ts.html +0 -190
  129. package/coverage/lcov.info +0 -3012
  130. package/discardedTests.txt +0 -35606
  131. package/images/preview.png +0 -0
  132. package/images/strategy.png +0 -0
  133. package/keploy.yml +0 -64
  134. package/lib/src/client/errors/connection.error.spec.d.ts +0 -2
  135. package/lib/src/client/errors/connection.error.spec.d.ts.map +0 -1
  136. package/lib/src/client/errors/connection.error.spec.js +0 -12
  137. package/lib/src/client/errors/connection.error.spec.js.map +0 -1
  138. package/lib/src/client/errors/internal-server.error.spec.d.ts +0 -2
  139. package/lib/src/client/errors/internal-server.error.spec.d.ts.map +0 -1
  140. package/lib/src/client/errors/internal-server.error.spec.js +0 -12
  141. package/lib/src/client/errors/internal-server.error.spec.js.map +0 -1
  142. package/lib/src/client/errors/validation.error.spec.d.ts +0 -2
  143. package/lib/src/client/errors/validation.error.spec.d.ts.map +0 -1
  144. package/lib/src/client/errors/validation.error.spec.js +0 -10
  145. package/lib/src/client/errors/validation.error.spec.js.map +0 -1
  146. package/lib/src/client/models/client.spec.d.ts +0 -2
  147. package/lib/src/client/models/client.spec.d.ts.map +0 -1
  148. package/lib/src/client/models/client.spec.js +0 -244
  149. package/lib/src/client/models/client.spec.js.map +0 -1
  150. package/lib/src/client/onsite.spec.d.ts +0 -2
  151. package/lib/src/client/onsite.spec.d.ts.map +0 -1
  152. package/lib/src/client/onsite.spec.js +0 -23
  153. package/lib/src/client/onsite.spec.js.map +0 -1
  154. package/lib/src/client/remote.spec.d.ts +0 -2
  155. package/lib/src/client/remote.spec.d.ts.map +0 -1
  156. package/lib/src/client/remote.spec.js +0 -16
  157. package/lib/src/client/remote.spec.js.map +0 -1
  158. package/lib/src/client/utils.spec.d.ts +0 -2
  159. package/lib/src/client/utils.spec.d.ts.map +0 -1
  160. package/lib/src/client/utils.spec.js +0 -57
  161. package/lib/src/client/utils.spec.js.map +0 -1
  162. package/lib/src/expectations/models/storage.spec.d.ts +0 -2
  163. package/lib/src/expectations/models/storage.spec.d.ts.map +0 -1
  164. package/lib/src/expectations/models/storage.spec.js +0 -57
  165. package/lib/src/expectations/models/storage.spec.js.map +0 -1
  166. package/lib/src/expectations/operators/and.operator.spec.d.ts +0 -2
  167. package/lib/src/expectations/operators/and.operator.spec.d.ts.map +0 -1
  168. package/lib/src/expectations/operators/and.operator.spec.js +0 -83
  169. package/lib/src/expectations/operators/and.operator.spec.js.map +0 -1
  170. package/lib/src/expectations/operators/exec.operator.spec.d.ts +0 -2
  171. package/lib/src/expectations/operators/exec.operator.spec.d.ts.map +0 -1
  172. package/lib/src/expectations/operators/exec.operator.spec.js +0 -68
  173. package/lib/src/expectations/operators/exec.operator.spec.js.map +0 -1
  174. package/lib/src/expectations/operators/has.operator.spec.d.ts +0 -2
  175. package/lib/src/expectations/operators/has.operator.spec.d.ts.map +0 -1
  176. package/lib/src/expectations/operators/has.operator.spec.js +0 -444
  177. package/lib/src/expectations/operators/has.operator.spec.js.map +0 -1
  178. package/lib/src/expectations/operators/if.operator.spec.d.ts +0 -2
  179. package/lib/src/expectations/operators/if.operator.spec.d.ts.map +0 -1
  180. package/lib/src/expectations/operators/if.operator.spec.js +0 -132
  181. package/lib/src/expectations/operators/if.operator.spec.js.map +0 -1
  182. package/lib/src/expectations/operators/merge.operator.spec.d.ts +0 -2
  183. package/lib/src/expectations/operators/merge.operator.spec.d.ts.map +0 -1
  184. package/lib/src/expectations/operators/merge.operator.spec.js +0 -75
  185. package/lib/src/expectations/operators/merge.operator.spec.js.map +0 -1
  186. package/lib/src/expectations/operators/not.operator.spec.d.ts +0 -2
  187. package/lib/src/expectations/operators/not.operator.spec.d.ts.map +0 -1
  188. package/lib/src/expectations/operators/not.operator.spec.js +0 -46
  189. package/lib/src/expectations/operators/not.operator.spec.js.map +0 -1
  190. package/lib/src/expectations/operators/or.operator.spec.d.ts +0 -2
  191. package/lib/src/expectations/operators/or.operator.spec.d.ts.map +0 -1
  192. package/lib/src/expectations/operators/or.operator.spec.js +0 -84
  193. package/lib/src/expectations/operators/or.operator.spec.js.map +0 -1
  194. package/lib/src/expectations/operators/remove.operator.spec.d.ts +0 -2
  195. package/lib/src/expectations/operators/remove.operator.spec.d.ts.map +0 -1
  196. package/lib/src/expectations/operators/remove.operator.spec.js +0 -67
  197. package/lib/src/expectations/operators/remove.operator.spec.js.map +0 -1
  198. package/lib/src/expectations/operators/root.operator.spec.d.ts +0 -2
  199. package/lib/src/expectations/operators/root.operator.spec.d.ts.map +0 -1
  200. package/lib/src/expectations/operators/root.operator.spec.js +0 -29
  201. package/lib/src/expectations/operators/root.operator.spec.js.map +0 -1
  202. package/lib/src/expectations/operators/set.operator.spec.d.ts +0 -2
  203. package/lib/src/expectations/operators/set.operator.spec.d.ts.map +0 -1
  204. package/lib/src/expectations/operators/set.operator.spec.js +0 -111
  205. package/lib/src/expectations/operators/set.operator.spec.js.map +0 -1
  206. package/lib/src/expectations/operators/switch.operator.spec.d.ts +0 -2
  207. package/lib/src/expectations/operators/switch.operator.spec.d.ts.map +0 -1
  208. package/lib/src/expectations/operators/switch.operator.spec.js +0 -139
  209. package/lib/src/expectations/operators/switch.operator.spec.js.map +0 -1
  210. package/lib/src/expectations/utils/location.spec.d.ts +0 -2
  211. package/lib/src/expectations/utils/location.spec.d.ts.map +0 -1
  212. package/lib/src/expectations/utils/location.spec.js +0 -62
  213. package/lib/src/expectations/utils/location.spec.js.map +0 -1
  214. package/lib/src/expectations/utils/schema.spec.d.ts +0 -2
  215. package/lib/src/expectations/utils/schema.spec.d.ts.map +0 -1
  216. package/lib/src/expectations/utils/schema.spec.js +0 -19
  217. package/lib/src/expectations/utils/schema.spec.js.map +0 -1
  218. package/lib/src/meta/model.spec.d.ts +0 -2
  219. package/lib/src/meta/model.spec.d.ts.map +0 -1
  220. package/lib/src/meta/model.spec.js +0 -28
  221. package/lib/src/meta/model.spec.js.map +0 -1
  222. package/lib/src/meta/storage.spec.d.ts +0 -2
  223. package/lib/src/meta/storage.spec.d.ts.map +0 -1
  224. package/lib/src/meta/storage.spec.js +0 -19
  225. package/lib/src/meta/storage.spec.js.map +0 -1
  226. package/lib/src/server/models/containers/model.spec.d.ts +0 -2
  227. package/lib/src/server/models/containers/model.spec.d.ts.map +0 -1
  228. package/lib/src/server/models/containers/model.spec.js +0 -79
  229. package/lib/src/server/models/containers/model.spec.js.map +0 -1
  230. package/lib/src/server/models/containers/storage.spec.d.ts +0 -2
  231. package/lib/src/server/models/containers/storage.spec.d.ts.map +0 -1
  232. package/lib/src/server/models/containers/storage.spec.js +0 -39
  233. package/lib/src/server/models/containers/storage.spec.js.map +0 -1
  234. package/lib/src/server/models/context/index.spec.d.ts +0 -2
  235. package/lib/src/server/models/context/index.spec.d.ts.map +0 -1
  236. package/lib/src/server/models/context/index.spec.js +0 -143
  237. package/lib/src/server/models/context/index.spec.js.map +0 -1
  238. package/lib/src/server/models/context/snapshot.spec.d.ts +0 -2
  239. package/lib/src/server/models/context/snapshot.spec.d.ts.map +0 -1
  240. package/lib/src/server/models/context/snapshot.spec.js +0 -75
  241. package/lib/src/server/models/context/snapshot.spec.js.map +0 -1
  242. package/lib/src/server/models/context/utils.spec.d.ts +0 -2
  243. package/lib/src/server/models/context/utils.spec.d.ts.map +0 -1
  244. package/lib/src/server/models/context/utils.spec.js +0 -69
  245. package/lib/src/server/models/context/utils.spec.js.map +0 -1
  246. package/lib/src/server/models/endpoint.spec.d.ts +0 -2
  247. package/lib/src/server/models/endpoint.spec.d.ts.map +0 -1
  248. package/lib/src/server/models/endpoint.spec.js +0 -28
  249. package/lib/src/server/models/endpoint.spec.js.map +0 -1
  250. package/lib/src/server/models/exchanges/socket-io.spec.d.ts +0 -2
  251. package/lib/src/server/models/exchanges/socket-io.spec.d.ts.map +0 -1
  252. package/lib/src/server/models/exchanges/socket-io.spec.js +0 -12
  253. package/lib/src/server/models/exchanges/socket-io.spec.js.map +0 -1
  254. package/lib/src/server/models/executor/errors/index.spec.d.ts +0 -2
  255. package/lib/src/server/models/executor/errors/index.spec.d.ts.map +0 -1
  256. package/lib/src/server/models/executor/errors/index.spec.js +0 -23
  257. package/lib/src/server/models/executor/errors/index.spec.js.map +0 -1
  258. package/lib/src/server/models/executor/index.spec.d.ts +0 -2
  259. package/lib/src/server/models/executor/index.spec.d.ts.map +0 -1
  260. package/lib/src/server/models/executor/index.spec.js +0 -137
  261. package/lib/src/server/models/executor/index.spec.js.map +0 -1
  262. package/lib/src/server/models/history/model.spec.d.ts +0 -2
  263. package/lib/src/server/models/history/model.spec.d.ts.map +0 -1
  264. package/lib/src/server/models/history/model.spec.js +0 -30
  265. package/lib/src/server/models/history/model.spec.js.map +0 -1
  266. package/lib/src/server/models/history/storage.spec.d.ts +0 -2
  267. package/lib/src/server/models/history/storage.spec.d.ts.map +0 -1
  268. package/lib/src/server/models/history/storage.spec.js +0 -42
  269. package/lib/src/server/models/history/storage.spec.js.map +0 -1
  270. package/lib/src/server/models/providers/model.spec.d.ts +0 -2
  271. package/lib/src/server/models/providers/model.spec.d.ts.map +0 -1
  272. package/lib/src/server/models/providers/model.spec.js +0 -13
  273. package/lib/src/server/models/providers/model.spec.js.map +0 -1
  274. package/lib/src/server/models/providers/storage.spec.d.ts +0 -2
  275. package/lib/src/server/models/providers/storage.spec.d.ts.map +0 -1
  276. package/lib/src/server/models/providers/storage.spec.js +0 -19
  277. package/lib/src/server/models/providers/storage.spec.js.map +0 -1
  278. package/lib/src/server/models/reply.spec.d.ts +0 -2
  279. package/lib/src/server/models/reply.spec.d.ts.map +0 -1
  280. package/lib/src/server/models/reply.spec.js +0 -20
  281. package/lib/src/server/models/reply.spec.js.map +0 -1
  282. package/lib/src/server/models/router.spec.d.ts +0 -2
  283. package/lib/src/server/models/router.spec.d.ts.map +0 -1
  284. package/lib/src/server/models/router.spec.js +0 -46
  285. package/lib/src/server/models/router.spec.js.map +0 -1
  286. package/lib/src/server/models/transports/storage.spec.d.ts +0 -2
  287. package/lib/src/server/models/transports/storage.spec.d.ts.map +0 -1
  288. package/lib/src/server/models/transports/storage.spec.js +0 -13
  289. package/lib/src/server/models/transports/storage.spec.js.map +0 -1
  290. package/lib/src/server/services/analytics.service.spec.d.ts +0 -2
  291. package/lib/src/server/services/analytics.service.spec.d.ts.map +0 -1
  292. package/lib/src/server/services/analytics.service.spec.js +0 -35
  293. package/lib/src/server/services/analytics.service.spec.js.map +0 -1
  294. package/lib/src/server/services/metrics.service.spec.d.ts +0 -2
  295. package/lib/src/server/services/metrics.service.spec.d.ts.map +0 -1
  296. package/lib/src/server/services/metrics.service.spec.js +0 -35
  297. package/lib/src/server/services/metrics.service.spec.js.map +0 -1
  298. package/lib/src/utils/index.spec.d.ts +0 -2
  299. package/lib/src/utils/index.spec.d.ts.map +0 -1
  300. package/lib/src/utils/index.spec.js +0 -30
  301. package/lib/src/utils/index.spec.js.map +0 -1
  302. package/lib/tsconfig.tsbuildinfo +0 -1
  303. package/lib/vite.config.d.ts +0 -3
  304. package/lib/vite.config.d.ts.map +0 -1
  305. package/lib/vite.config.js +0 -57
  306. package/lib/vite.config.js.map +0 -1
  307. package/src/client/errors/connection.error.spec.ts +0 -10
  308. package/src/client/errors/connection.error.ts +0 -7
  309. package/src/client/errors/index.ts +0 -4
  310. package/src/client/errors/internal-server.error.spec.ts +0 -12
  311. package/src/client/errors/internal-server.error.ts +0 -10
  312. package/src/client/errors/types.ts +0 -3
  313. package/src/client/errors/validation.error.spec.ts +0 -9
  314. package/src/client/errors/validation.error.ts +0 -10
  315. package/src/client/helpers/expectations.ts +0 -227
  316. package/src/client/helpers/index.ts +0 -1
  317. package/src/client/index.ts +0 -5
  318. package/src/client/methods/expectations-group.update.method.ts +0 -36
  319. package/src/client/methods/expectations.create.method.ts +0 -39
  320. package/src/client/methods/expectations.delete.method.ts +0 -33
  321. package/src/client/methods/expectations.update.method.ts +0 -58
  322. package/src/client/methods/index.ts +0 -6
  323. package/src/client/methods/ping.method.ts +0 -25
  324. package/src/client/models/__snapshots__/client.spec.ts.snap +0 -1294
  325. package/src/client/models/client.spec.ts +0 -316
  326. package/src/client/models/client.ts +0 -85
  327. package/src/client/models/index.ts +0 -2
  328. package/src/client/models/method.ts +0 -50
  329. package/src/client/onsite.spec.ts +0 -23
  330. package/src/client/onsite.ts +0 -29
  331. package/src/client/remote.spec.ts +0 -15
  332. package/src/client/remote.ts +0 -34
  333. package/src/client/types.ts +0 -31
  334. package/src/client/utils.spec.ts +0 -60
  335. package/src/client/utils.ts +0 -41
  336. package/src/config/index.ts +0 -34
  337. package/src/config/model.ts +0 -24
  338. package/src/expectations/__utils__/index.ts +0 -61
  339. package/src/expectations/errors/index.ts +0 -7
  340. package/src/expectations/index.ts +0 -3
  341. package/src/expectations/models/expectation.ts +0 -96
  342. package/src/expectations/models/index.ts +0 -3
  343. package/src/expectations/models/operator.ts +0 -89
  344. package/src/expectations/models/storage.spec.ts +0 -70
  345. package/src/expectations/models/storage.ts +0 -42
  346. package/src/expectations/operators/and.operator.spec.ts +0 -59
  347. package/src/expectations/operators/and.operator.ts +0 -37
  348. package/src/expectations/operators/exec.operator.spec.ts +0 -47
  349. package/src/expectations/operators/exec.operator.ts +0 -25
  350. package/src/expectations/operators/has.operator.spec.ts +0 -514
  351. package/src/expectations/operators/has.operator.ts +0 -230
  352. package/src/expectations/operators/if.operator.spec.ts +0 -116
  353. package/src/expectations/operators/if.operator.ts +0 -77
  354. package/src/expectations/operators/index.ts +0 -11
  355. package/src/expectations/operators/merge.operator.spec.ts +0 -48
  356. package/src/expectations/operators/merge.operator.ts +0 -97
  357. package/src/expectations/operators/not.operator.spec.ts +0 -12
  358. package/src/expectations/operators/not.operator.ts +0 -38
  359. package/src/expectations/operators/or.operator.spec.ts +0 -60
  360. package/src/expectations/operators/or.operator.ts +0 -37
  361. package/src/expectations/operators/remove.operator.spec.ts +0 -40
  362. package/src/expectations/operators/remove.operator.ts +0 -50
  363. package/src/expectations/operators/root.operator.spec.ts +0 -26
  364. package/src/expectations/operators/root.operator.ts +0 -51
  365. package/src/expectations/operators/set.operator.spec.ts +0 -96
  366. package/src/expectations/operators/set.operator.ts +0 -116
  367. package/src/expectations/operators/switch.operator.spec.ts +0 -157
  368. package/src/expectations/operators/switch.operator.ts +0 -126
  369. package/src/expectations/types.ts +0 -225
  370. package/src/expectations/utils/index.ts +0 -3
  371. package/src/expectations/utils/json.ts +0 -22
  372. package/src/expectations/utils/location.spec.ts +0 -64
  373. package/src/expectations/utils/location.ts +0 -180
  374. package/src/expectations/utils/schema.spec.ts +0 -17
  375. package/src/expectations/utils/schema.ts +0 -60
  376. package/src/gui/app/components/chart.component/index.ts +0 -173
  377. package/src/gui/app/components/chart.component/style.scss +0 -4
  378. package/src/gui/app/components/checkbox-area.component/index.ts +0 -101
  379. package/src/gui/app/components/checkbox-area.component/item.component.ts +0 -72
  380. package/src/gui/app/components/checkbox-area.component/style.scss +0 -19
  381. package/src/gui/app/components/checkbox-area.component/template.hbs +0 -3
  382. package/src/gui/app/components/curtain.component/index.ts +0 -19
  383. package/src/gui/app/components/curtain.component/style.scss +0 -14
  384. package/src/gui/app/components/empty.component/index.ts +0 -10
  385. package/src/gui/app/components/empty.component/style.scss +0 -34
  386. package/src/gui/app/components/empty.component/template.hbs +0 -6
  387. package/src/gui/app/components/expectation.component/index.ts +0 -60
  388. package/src/gui/app/components/expectation.component/style.scss +0 -5
  389. package/src/gui/app/components/expectation.component/template.hbs +0 -5
  390. package/src/gui/app/components/header.component/index.ts +0 -81
  391. package/src/gui/app/components/header.component/style.scss +0 -46
  392. package/src/gui/app/components/header.component/template.hbs +0 -15
  393. package/src/gui/app/components/history.component/index.ts +0 -86
  394. package/src/gui/app/components/history.component/style.scss +0 -5
  395. package/src/gui/app/components/history.component/template.hbs +0 -62
  396. package/src/gui/app/components/index.ts +0 -11
  397. package/src/gui/app/components/loader.component/index.ts +0 -12
  398. package/src/gui/app/components/loader.component/style.scss +0 -39
  399. package/src/gui/app/components/panel.component/index.ts +0 -52
  400. package/src/gui/app/components/panel.component/style.scss +0 -60
  401. package/src/gui/app/components/panel.component/template.hbs +0 -13
  402. package/src/gui/app/components/popups.component/index.ts +0 -26
  403. package/src/gui/app/components/popups.component/style.scss +0 -51
  404. package/src/gui/app/components/popups.component/template.hbs +0 -9
  405. package/src/gui/app/components/search.component/index.ts +0 -67
  406. package/src/gui/app/components/search.component/style.scss +0 -43
  407. package/src/gui/app/components/search.component/template.hbs +0 -7
  408. package/src/gui/app/components/viewer.component/index.ts +0 -28
  409. package/src/gui/app/components/viewer.component/style.scss +0 -38
  410. package/src/gui/app/components/viewer.component/template.hbs +0 -3
  411. package/src/gui/app/context.ts +0 -76
  412. package/src/gui/app/handlebars/helpers.ts +0 -32
  413. package/src/gui/app/handlebars/index.ts +0 -11
  414. package/src/gui/app/handlebars/partials/expectation-meta.hbs +0 -53
  415. package/src/gui/app/handlebars/partials/index.ts +0 -2
  416. package/src/gui/app/handlebars/partials/truncated.hbs +0 -10
  417. package/src/gui/app/handlebars/utils.ts +0 -9
  418. package/src/gui/app/main.ts +0 -38
  419. package/src/gui/app/models/button.ts +0 -41
  420. package/src/gui/app/models/client-storage.ts +0 -21
  421. package/src/gui/app/models/component.ts +0 -79
  422. package/src/gui/app/models/context.ts +0 -14
  423. package/src/gui/app/models/dynamic-storage.ts +0 -36
  424. package/src/gui/app/models/form.ts +0 -75
  425. package/src/gui/app/models/index.ts +0 -7
  426. package/src/gui/app/models/section.ts +0 -82
  427. package/src/gui/app/sections/analytics.section/index.ts +0 -97
  428. package/src/gui/app/sections/analytics.section/style.scss +0 -1
  429. package/src/gui/app/sections/analytics.section/template.hbs +0 -6
  430. package/src/gui/app/sections/expectations.section/index.ts +0 -179
  431. package/src/gui/app/sections/expectations.section/style.scss +0 -1
  432. package/src/gui/app/sections/expectations.section/template.hbs +0 -15
  433. package/src/gui/app/sections/history.section/index.ts +0 -175
  434. package/src/gui/app/sections/history.section/style.scss +0 -10
  435. package/src/gui/app/sections/history.section/templates/actions.hbs +0 -5
  436. package/src/gui/app/sections/history.section/templates/section.hbs +0 -15
  437. package/src/gui/app/sections/index.ts +0 -4
  438. package/src/gui/app/sections/settings.section/index.ts +0 -63
  439. package/src/gui/app/sections/settings.section/style.scss +0 -24
  440. package/src/gui/app/sections/settings.section/templates/cache.hbs +0 -6
  441. package/src/gui/app/sections/settings.section/templates/section.hbs +0 -6
  442. package/src/gui/app/sections/settings.section/templates/stats.hbs +0 -6
  443. package/src/gui/app/setup.ts +0 -7
  444. package/src/gui/app/tsconfig.json +0 -20
  445. package/src/gui/app/types/dev.ts +0 -6
  446. package/src/gui/app/types/index.ts +0 -1
  447. package/src/gui/app/types/window.global.ts +0 -9
  448. package/src/gui/app/utils.ts +0 -15
  449. package/src/gui/assets/fa-all.css +0 -5
  450. package/src/gui/assets/fa-regular-400.woff2 +0 -0
  451. package/src/gui/assets/fa-solid-900.woff2 +0 -0
  452. package/src/gui/assets/favicon.png +0 -0
  453. package/src/gui/index.html +0 -18
  454. package/src/gui/styles/_constants.scss +0 -11
  455. package/src/gui/styles/_elements.scss +0 -216
  456. package/src/gui/styles/_soon.scss +0 -35
  457. package/src/gui/styles/main.scss +0 -245
  458. package/src/index.ts +0 -9
  459. package/src/logger/index.ts +0 -80
  460. package/src/logger/types.ts +0 -4
  461. package/src/logger/utils.ts +0 -25
  462. package/src/meta/index.ts +0 -6
  463. package/src/meta/model.spec.ts +0 -28
  464. package/src/meta/model.ts +0 -29
  465. package/src/meta/storage.spec.ts +0 -18
  466. package/src/meta/storage.ts +0 -20
  467. package/src/server/endpoints/cache.delete.endpoint.ts +0 -54
  468. package/src/server/endpoints/cache.usage.get.endpoint.ts +0 -12
  469. package/src/server/endpoints/config.get.endpoint.ts +0 -10
  470. package/src/server/endpoints/expectations-group.update.endpoint.ts +0 -32
  471. package/src/server/endpoints/expectations.create.endpoint.ts +0 -23
  472. package/src/server/endpoints/expectations.delete.endpoint.ts +0 -12
  473. package/src/server/endpoints/expectations.get-list.endpoint.ts +0 -15
  474. package/src/server/endpoints/expectations.update.endpoint.ts +0 -29
  475. package/src/server/endpoints/gui.endpoint.ts +0 -76
  476. package/src/server/endpoints/history.delete.endpoint.ts +0 -10
  477. package/src/server/endpoints/history.get-list.endpoint.ts +0 -15
  478. package/src/server/endpoints/index.ts +0 -18
  479. package/src/server/endpoints/metrics.endpoint.ts +0 -12
  480. package/src/server/endpoints/ping.endpoint.ts +0 -7
  481. package/src/server/endpoints/stats.endpoint.ts +0 -20
  482. package/src/server/index.ts +0 -182
  483. package/src/server/models/containers/index.ts +0 -2
  484. package/src/server/models/containers/model.spec.ts +0 -81
  485. package/src/server/models/containers/model.ts +0 -79
  486. package/src/server/models/containers/storage.spec.ts +0 -41
  487. package/src/server/models/containers/storage.ts +0 -59
  488. package/src/server/models/containers/utils.ts +0 -4
  489. package/src/server/models/context/index.spec.ts +0 -171
  490. package/src/server/models/context/index.ts +0 -136
  491. package/src/server/models/context/snapshot.spec.ts +0 -84
  492. package/src/server/models/context/snapshot.ts +0 -148
  493. package/src/server/models/context/types.ts +0 -65
  494. package/src/server/models/context/utils.spec.ts +0 -77
  495. package/src/server/models/context/utils.ts +0 -99
  496. package/src/server/models/endpoint.spec.ts +0 -28
  497. package/src/server/models/endpoint.ts +0 -69
  498. package/src/server/models/exchanges/index.ts +0 -1
  499. package/src/server/models/exchanges/socket-io.spec.ts +0 -13
  500. package/src/server/models/exchanges/socket-io.ts +0 -14
  501. package/src/server/models/executor/errors/index.spec.ts +0 -23
  502. package/src/server/models/executor/errors/index.ts +0 -15
  503. package/src/server/models/executor/index.spec.ts +0 -148
  504. package/src/server/models/executor/index.ts +0 -297
  505. package/src/server/models/history/index.ts +0 -2
  506. package/src/server/models/history/model.spec.ts +0 -35
  507. package/src/server/models/history/model.ts +0 -82
  508. package/src/server/models/history/storage.spec.ts +0 -41
  509. package/src/server/models/history/storage.ts +0 -38
  510. package/src/server/models/index.ts +0 -11
  511. package/src/server/models/providers/index.ts +0 -2
  512. package/src/server/models/providers/model.spec.ts +0 -11
  513. package/src/server/models/providers/model.ts +0 -33
  514. package/src/server/models/providers/storage.spec.ts +0 -21
  515. package/src/server/models/providers/storage.ts +0 -34
  516. package/src/server/models/reply.spec.ts +0 -17
  517. package/src/server/models/reply.ts +0 -10
  518. package/src/server/models/router.spec.ts +0 -50
  519. package/src/server/models/router.ts +0 -79
  520. package/src/server/models/service.ts +0 -5
  521. package/src/server/models/transports/index.ts +0 -2
  522. package/src/server/models/transports/model.ts +0 -9
  523. package/src/server/models/transports/storage.spec.ts +0 -14
  524. package/src/server/models/transports/storage.ts +0 -13
  525. package/src/server/services/analytics.service.spec.ts +0 -38
  526. package/src/server/services/analytics.service.ts +0 -58
  527. package/src/server/services/index.ts +0 -2
  528. package/src/server/services/metrics.service.spec.ts +0 -42
  529. package/src/server/services/metrics.service.ts +0 -46
  530. package/src/server/transports/http.transport/context.ts +0 -72
  531. package/src/server/transports/http.transport/executor.ts +0 -156
  532. package/src/server/transports/http.transport/index.ts +0 -53
  533. package/src/server/transports/index.ts +0 -3
  534. package/src/server/transports/internal/http.transport/context.ts +0 -50
  535. package/src/server/transports/internal/http.transport/executor.ts +0 -56
  536. package/src/server/transports/internal/http.transport/index.ts +0 -23
  537. package/src/server/transports/internal/http.transport/reply.ts +0 -82
  538. package/src/server/transports/internal/index.ts +0 -2
  539. package/src/server/transports/internal/io.transport/context.ts +0 -40
  540. package/src/server/transports/internal/io.transport/executor.ts +0 -27
  541. package/src/server/transports/internal/io.transport/index.ts +0 -36
  542. package/src/server/transports/internal/io.transport/reply.ts +0 -26
  543. package/src/server/transports/internal/utils.ts +0 -6
  544. package/src/server/transports/ws.transport/context.ts +0 -90
  545. package/src/server/transports/ws.transport/executor.ts +0 -64
  546. package/src/server/transports/ws.transport/index.ts +0 -105
  547. package/src/server/types/index.ts +0 -32
  548. package/src/server/utils/index.ts +0 -35
  549. package/src/utils/index.spec.ts +0 -31
  550. package/src/utils/index.ts +0 -51
  551. package/test/index.ts +0 -299
  552. package/test/providers/index.ts +0 -2
  553. package/test/providers/root.ts +0 -241
  554. package/test/providers/statics.ts +0 -37
  555. package/tsconfig.json +0 -108
  556. package/tsconfig.tsbuildinfo +0 -1
  557. package/types/common.ts +0 -127
  558. package/types/index.ts +0 -1
  559. package/vite.config.ts +0 -64
@@ -1,76 +0,0 @@
1
- import EventEmitter from 'events';
2
- import io from 'socket.io-client';
3
-
4
- import type { IIoExchangeSchema } from '../../server';
5
- import type { PopupsComponent } from './components';
6
- import type { TEndpoints } from '../../client';
7
- import type { TFunction } from '../../../types';
8
-
9
- import type config from '../../config';
10
-
11
- import { Context } from './models';
12
- import { cast } from '../../utils';
13
-
14
- type ExtractWsEndpointPath<K extends keyof TEndpoints> = TEndpoints[K]['io'] extends { path: infer R }
15
- ? R extends string ? R : never
16
- : never;
17
-
18
- type TWsEndpoints = { [K in keyof TEndpoints as ExtractWsEndpointPath<K>]-?: TEndpoints[K] };
19
-
20
- interface IEvents {
21
- 'group:register': [string];
22
- }
23
-
24
- class MainContext extends Context<{
25
- popups: PopupsComponent;
26
- groups: Set<string>;
27
- }> {
28
- public config = cast<Pick<typeof config['storage'], 'history'>>({
29
- history: {
30
- limit: 100,
31
- },
32
- });
33
-
34
- public instances = {
35
- io: io(window.DEV?.io.origin ?? location.origin, {
36
- path: window.DEV?.io.path ?? `${location.pathname.split('/').slice(0, -3).join('/')}/socket.io/`
37
- }),
38
- };
39
-
40
- public services = {
41
- io: {
42
- exec: <K extends keyof TWsEndpoints & string>(
43
- path: K,
44
- body?: TWsEndpoints[K]['incoming']['data']
45
- ): Promise<TWsEndpoints[K]['outgoing']> => new Promise((resolve) => this.instances.io.emit(path, body, resolve)),
46
-
47
- subscribe: <
48
- K extends keyof IIoExchangeSchema,
49
- T extends IIoExchangeSchema[K]
50
- >(channel: K, handler: (payload: T) => unknown) => this.instances.io.on(<string>channel, handler)
51
- },
52
- };
53
-
54
- private events = new EventEmitter();
55
-
56
- public on<K extends keyof IEvents>(event: K, handler: TFunction<unknown, IEvents[K]>) {
57
- this.events.on(event, handler);
58
- return this;
59
- }
60
-
61
- public once<K extends keyof IEvents>(event: K, handler: TFunction<unknown, IEvents[K]>) {
62
- this.events.once(event, handler);
63
- return this;
64
- }
65
-
66
- public emit<K extends keyof IEvents>(event: K, ...args: IEvents[K]) {
67
- this.events.emit(event, ...args);
68
- return this;
69
- }
70
-
71
- public assignConfig(config: MainContext['config']) {
72
- return Object.assign(this, { config });
73
- }
74
- }
75
-
76
- export default new MainContext();
@@ -1,32 +0,0 @@
1
- import _ from 'lodash';
2
-
3
- import { buildHandlebarsHelper } from './utils';
4
- import { calculateColor } from '../utils';
5
-
6
- type TCompareMethod = 'eq' | 'neq' | 'lt' | 'lte' | 'gt' | 'gte';
7
-
8
- export const compare = buildHandlebarsHelper<[string, TCompareMethod, string]>(
9
- (context) =>
10
- (arg1, operator, arg2, { fn, inverse }) => {
11
- const check = () => {
12
- switch(operator) {
13
- case 'eq': return arg1 === arg2;
14
- case 'neq': return arg1 !== arg2;
15
- case 'lt': return arg1 < arg2;
16
- case 'lte': return arg1 <= arg2;
17
- case 'gt': return arg1 > arg2;
18
- case 'gte': return arg1 >= arg2;
19
- default: return false;
20
- }
21
- }
22
-
23
- const result = check();
24
- return result ? fn ? fn(context) : inverse ? inverse(context) : result : null;
25
- }
26
- );
27
-
28
- export const truncate = buildHandlebarsHelper<[string, number]>(() => (text, length) => _.truncate(text, { length }));
29
-
30
- export const toLocaleTime = buildHandlebarsHelper<[number]>(() => (timestamp) => new Date(timestamp).toLocaleTimeString());
31
- export const toSeconds = buildHandlebarsHelper<[number]>(() => (ms) => (ms / 1000).toFixed(3));
32
- export const toColor = buildHandlebarsHelper<[string]>(() => (text) => calculateColor(text));
@@ -1,11 +0,0 @@
1
- import hbs from 'handlebars';
2
-
3
- import * as helpers from './helpers';
4
- import * as partials from './partials';
5
-
6
- export default {
7
- init: () => {
8
- Object.entries(helpers).forEach(([name, helper]) => hbs.registerHelper(name, helper));
9
- Object.entries(partials).forEach(([name, partial]) => hbs.registerPartial(name, partial));
10
- },
11
- }
@@ -1,53 +0,0 @@
1
- export default `
2
- <div class="segment">
3
- {{#compare format 'neq' 'short'}}
4
- <button class="activity">
5
- {{#if isEnabled}}
6
- <i class="fas fa-plug"></i>
7
- {{else}}
8
- <i class="fas fa-power-off"></i>
9
- {{/if}}
10
- </button>
11
-
12
- <span class="calls-count {{#compare meta.executionsCount 'gt' 0}}active{{/compare}}">
13
- <i class="fas fa-undo-alt"></i>{{meta.executionsCount}}
14
- </span>
15
- {{/compare}}
16
-
17
- <span class="name"><b style="color: {{toColor group}};">{{group}}</b> {{name}}</span>
18
- </div>
19
-
20
- {{#compare format 'neq' 'short'}}
21
- {{#compare meta.tags.length 'gt' 0}}<span class="arrow"><i class="fas fa-chevron-right"></i></span>{{/compare}}
22
-
23
- <div class="segment">
24
- {{#each transports}}<span class="transport">{{this}}</span>{{/each}}
25
-
26
- {{#each meta.tags}}
27
- {{#compare @index 'lte' 5}}
28
- {{#if (compare location 'eq' 'outgoing.status')}}
29
- <span class="status
30
- {{#compare value 'lt' 400}}green{{/compare}}
31
- {{#compare value 'gte' 400}}red{{/compare}}
32
- "><b>{{value}}</b></span>
33
- {{else if (compare location 'eq' 'method')}}
34
- <span class="method" style="color: {{toColor value}};">{{value}}</span>
35
- {{else}}
36
- <span class="{{location}}">{{> truncated this length=45}}</span>
37
- {{/if}}
38
- {{/compare}}
39
- {{/each}}
40
- </div>
41
- {{/compare}}
42
-
43
- {{#with schema.forward}}
44
- <span class="arrow"><i class="fas fa-chevron-right"></i></span>
45
-
46
- <div class="segment">
47
- {{#if baseUrl}}<span class="forward">{{> truncated value=baseUrl length=45}}</span>{{/if}}
48
- {{#if url}}<span class="forward">{{> truncated value=url length=45}}</span>{{/if}}
49
-
50
- {{#if ../isCached}}<span class="cache"><i class="fas fa-database"></i></span>{{/if}}
51
- </div>
52
- {{/with}}
53
- `
@@ -1,2 +0,0 @@
1
- export const expectationMeta = require('./expectation-meta.hbs');
2
- export const truncated = require('./truncated.hbs');
@@ -1,10 +0,0 @@
1
- export default `
2
- {{#if (compare value.length 'gt' length)}}
3
- <span class="truncated">
4
- <span class="full">{{value}}</span>
5
- <span class="short">{{truncate value length}}</span>
6
- </span>
7
- {{else}}
8
- {{value}}
9
- {{/if}}
10
- `
@@ -1,9 +0,0 @@
1
- import { HelperOptions } from 'handlebars';
2
-
3
- export const buildHandlebarsHelper = <T extends unknown[]>(
4
- handler: (context: object) => (...args: [...T, HelperOptions]) => unknown
5
- ) => {
6
- return function(this: object, ...args: [...T, HelperOptions]) {
7
- return handler(this)(...args);
8
- }
9
- }
@@ -1,38 +0,0 @@
1
- import * as components from './components';
2
- import * as sections from './sections';
3
-
4
- import context from './context';
5
-
6
- const loader = components.LoaderComponent.build().show();
7
- const header = components.HeaderComponent.build([
8
- { type: 'section', entity: sections.settings.hide() },
9
- { type: 'section', entity: sections.analytics.hide() },
10
- { type: 'separator' },
11
- { type: 'section', entity: sections.expectations },
12
- { type: 'section', entity: sections.history.hide() },
13
- ]);
14
-
15
- context.switchStorage(sections.expectations.storage).share({
16
- popups: components.PopupsComponent.build(),
17
- groups: new Set(),
18
- });
19
-
20
- document.body.prepend(header.element);
21
- document.body.append(loader.element);
22
- document.body.append(context.shared.popups.element);
23
-
24
- Object.values(sections).forEach((section) => document.body.append(section.element));
25
-
26
- context.instances.io.on('connect', async () => {
27
- console.log('WebSocket has connected');
28
-
29
- await context.services.io.exec('ping');
30
-
31
- const { data } = await context.services.io.exec('config:get');
32
-
33
- context.assignConfig(data);
34
- context.shared.popups.push('Connected!');
35
-
36
- Object.values(sections).forEach((container) => container.initialize());
37
- loader.hide();
38
- });
@@ -1,41 +0,0 @@
1
- import { TFunction } from '../../../../types';
2
-
3
- export class Button {
4
- private handlers: TFunction<Promise<unknown>, [Event]>[] = [];
5
-
6
- constructor(public element?: Element | null) {
7
- if (!element) {
8
- throw new Error('Provided element is not valid');
9
- }
10
-
11
- element.addEventListener('click', (event) => this.trigger(event));
12
- }
13
-
14
- public handle(handler: TFunction<Promise<unknown> | unknown, [Event]>) {
15
- if (!this.element) {
16
- return this;
17
- }
18
-
19
- this.handlers.push(async (event) => {
20
- this.element!.classList.add('processed');
21
-
22
- try {
23
- await handler(event);
24
- } finally {
25
- this.element!.classList.remove('processed');
26
- }
27
- });
28
-
29
- return this;
30
- }
31
-
32
- async trigger(event = new Event('manual')) {
33
- for (const handler of this.handlers) {
34
- await handler(event)
35
- }
36
- }
37
-
38
- static build(element?: Button['element']) {
39
- return new Button(element);
40
- }
41
- }
@@ -1,21 +0,0 @@
1
- export class ClientStorage<T extends object = object> {
2
- constructor(public key: string) {}
3
-
4
- public extract(): T | null {
5
- return JSON.parse(localStorage.getItem(this.key) ?? 'null');
6
- }
7
-
8
- public store(value: T): this {
9
- localStorage.setItem(this.key, JSON.stringify(value));
10
- return this;
11
- }
12
-
13
- public clear(): this {
14
- localStorage.removeItem(this.key);
15
- return this;
16
- }
17
-
18
- static build<T extends object>(key: string) {
19
- return new ClientStorage<T>(key);
20
- }
21
- }
@@ -1,79 +0,0 @@
1
- export type TElementPredicate = Component | Element | string | null;
2
-
3
- export class Component {
4
- public element: Element = document.createElement('div');
5
-
6
- constructor(predicate?: TElementPredicate) {
7
- if (predicate) {
8
- this.element = this.compilePredicateToElement(predicate);
9
- }
10
- }
11
-
12
- public get isHidden(): boolean {
13
- return this.element.classList.contains('hidden');
14
- }
15
-
16
- public get id(): string {
17
- return this.element.id;
18
- }
19
-
20
- public assignId(id: string): this {
21
- this.element.id = id;
22
- return this;
23
- }
24
-
25
- public show(): this {
26
- this.element.classList.remove('hidden');
27
- return this;
28
- }
29
-
30
- public hide(): this {
31
- this.element.classList.add('hidden');
32
- return this;
33
- }
34
-
35
- public append(predicate: TElementPredicate): this {
36
- this.element.append(this.compilePredicateToElement(predicate));
37
- return this;
38
- }
39
-
40
- public prepend(predicate: TElementPredicate): this {
41
- this.element.prepend(this.compilePredicateToElement(predicate));
42
- return this;
43
- }
44
-
45
- public replace(predicate: TElementPredicate): this {
46
- const element = this.compilePredicateToElement(predicate);
47
- this.element.after(element);
48
-
49
- if (this.isHidden) {
50
- element.classList.add('hidden');
51
- }
52
-
53
- return Object.assign(this.delete(), { element });
54
- }
55
-
56
- public clear(): this {
57
- this.element.innerHTML = '';
58
- return this;
59
- }
60
-
61
- public delete(): this {
62
- this.element.remove();
63
- return this;
64
- }
65
-
66
- protected compilePredicateToElement(predicate: TElementPredicate): Element {
67
- return predicate instanceof Component
68
- ? predicate.element
69
- : typeof predicate === 'string'
70
- ? this.compileHtmlStringToElement(predicate)
71
- : predicate === null
72
- ? document.createElement('div')
73
- : predicate;
74
- }
75
-
76
- protected compileHtmlStringToElement(content: string): Element {
77
- return new DOMParser().parseFromString(content, 'text/html').body.firstElementChild!;
78
- }
79
- }
@@ -1,14 +0,0 @@
1
- import { DynamicStorage } from './dynamic-storage';
2
-
3
- export class Context<TShared extends object = {}> {
4
- public storage = DynamicStorage.build('void', document.body);
5
- public shared = <TShared>{};
6
-
7
- public share(shared: TShared) {
8
- return Object.assign(this, { shared });
9
- }
10
-
11
- public switchStorage(storage: DynamicStorage<any>) {
12
- return Object.assign(this, { storage });
13
- }
14
- }
@@ -1,36 +0,0 @@
1
- import _ from 'lodash';
2
-
3
- import { convertObjectToKeyValueCouples } from '../utils';
4
- import { Component, TElementPredicate } from './component';
5
- import { ClientStorage } from './client-storage';
6
- import { Form } from './form';
7
-
8
- export class DynamicStorage<T extends object = object> extends Component {
9
- public client = ClientStorage.build<[string, unknown][]>(this.key);
10
- public form = Form.build<T>(this.element);
11
-
12
- constructor(public key: string, predicate: TElementPredicate) {
13
- super(predicate);
14
- }
15
-
16
- public sync(): this {
17
- const stored: [string, unknown][] = this.client.extract() ?? [];
18
- this.form.assign(stored.reduce((acc, [path, value]) => _.set(acc, path, value), {}));
19
-
20
- return this;
21
- }
22
-
23
- public save(): this {
24
- this.client.store(convertObjectToKeyValueCouples(this.form.extract(), this.form.paths));
25
- return this;
26
- }
27
-
28
- public clear(): this {
29
- this.client.clear();
30
- return this;
31
- }
32
-
33
- static build<T extends object>(key: string, predicate: TElementPredicate) {
34
- return new DynamicStorage<T>(key, predicate);
35
- }
36
- }
@@ -1,75 +0,0 @@
1
- import _ from 'lodash';
2
-
3
- import { convertObjectToKeyValueCouples } from '../utils';
4
- import { Component, TElementPredicate } from './component';
5
- import { PartialDeep } from '../../../../types';
6
-
7
- type TInputType = 'text' | 'number' | 'password' | 'checkbox';
8
-
9
- const castInputValue = (() => {
10
- const map = {
11
- password: String,
12
- number: Number,
13
- text: String,
14
- };
15
-
16
- return (type: TInputType, value: string): null | string | number => {
17
- if (type === 'checkbox') {
18
- return value || null;
19
- }
20
-
21
- const trimed = value.trim();
22
- return trimed.length ? (map[type] ?? String)(trimed) : null;
23
- };
24
- })();
25
-
26
- export class Form<T extends object = object> extends Component {
27
- public get paths(): string[] {
28
- return <string[]>[...this.element.querySelectorAll('*[data-key]')]
29
- .map((input) => input.getAttribute('data-key'))
30
- .filter(Boolean);
31
- }
32
-
33
- public extract(): PartialDeep<T> {
34
- return [...this.element.querySelectorAll('*[data-key]')].reduce((acc, input) => {
35
- const key = input.getAttribute('data-key');
36
- const type = <TInputType>(input.getAttribute('cast') ?? input.getAttribute('type') ?? 'text');
37
-
38
- if (!key || 'value' in input === false || typeof input.value !== 'string') {
39
- return acc;
40
- }
41
-
42
- if (input.hasAttribute('list')) {
43
- const delimiter = input.getAttribute('list') ?? ',';
44
- const value = input.value
45
- .split(delimiter)
46
- .map((nested) => castInputValue(type, nested))
47
- .filter((nested) => nested !== null);
48
-
49
- return value.length ? _.set(acc, key, value) : acc;
50
- }
51
-
52
- const value = castInputValue(type, input.value);
53
-
54
- if (type === 'checkbox' && 'checked' in input) {
55
- return input.checked ? _.set(acc, key, value ?? true) : acc;
56
- }
57
-
58
- return value !== null ? _.set(acc, key, value) : acc;
59
- }, <T>{});
60
- }
61
-
62
- public assign(payload: PartialDeep<T>) {
63
- convertObjectToKeyValueCouples(payload, this.paths)
64
- .map(([path, value]) => <const>[path, value, this.element.querySelector(`*[data-key="${path}"]`)!])
65
- .forEach(([path, value, input]) =>
66
- _.set(input, 'value', Array.isArray(value) ? value.join(input.getAttribute('list') ?? ',') : (value ?? ''))
67
- );
68
-
69
- return this;
70
- }
71
-
72
- static build<T extends object>(predicate: TElementPredicate) {
73
- return new Form<T>(predicate);
74
- }
75
- }
@@ -1,7 +0,0 @@
1
- export * from './dynamic-storage';
2
- export * from './client-storage';
3
- export * from './component';
4
- export * from './section';
5
- export * from './context';
6
- export * from './button';
7
- export * from './form';
@@ -1,82 +0,0 @@
1
- import EventEmitter from 'events';
2
-
3
- import { Component, TElementPredicate } from './component';
4
- import { DynamicStorage } from './dynamic-storage';
5
- import { TFunction } from '../../../../types';
6
- import { Button } from './button';
7
-
8
- interface IEvents {
9
- initialize: [Section];
10
- refresh: [Section];
11
- select: [Section];
12
- }
13
-
14
- export class Section extends Component {
15
- public content = new Component(this.element.querySelector('div.content'));
16
- public isInitialized = false;
17
-
18
- public controls = {
19
- main: new Component(this.element.querySelector('div.controls div.main')),
20
- additional: new Component(this.element.querySelector('div.controls div.additional')),
21
- };
22
-
23
- public storage = DynamicStorage.build(`config:${this.element.id}`, this.element.querySelector('div.storage'));
24
- public meta: { name?: string, icon?: string } = {};
25
-
26
- private events = new EventEmitter();
27
- private expander = this.element.querySelector('div.controls button#expand');
28
-
29
- constructor(predicate: TElementPredicate) {
30
- super(predicate);
31
-
32
- if (this.expander) {
33
- Button.build(this.expander).handle(() => {
34
- if (this.controls.additional.isHidden) {
35
- this.controls.additional.show();
36
- return this.expander!.classList.add('toggled');
37
- }
38
-
39
- this.controls.additional.hide();
40
- return this.expander!.classList.remove('toggled');
41
- });
42
- }
43
- }
44
-
45
- public assignMeta(meta: Section['meta']) {
46
- return Object.assign(this, { meta });
47
- }
48
-
49
- public initialize() {
50
- this.isInitialized = true;
51
- this.storage.sync();
52
-
53
- return this.emit('initialize', this);
54
- }
55
-
56
- public refresh() {
57
- return this.emit('refresh', this);
58
- }
59
-
60
- public select() {
61
- return this.emit('select', this);
62
- }
63
-
64
- public on<K extends keyof IEvents>(event: K, handler: TFunction<unknown, IEvents[K]>) {
65
- this.events.on(event, handler);
66
- return this;
67
- }
68
-
69
- public once<K extends keyof IEvents>(event: K, handler: TFunction<unknown, IEvents[K]>) {
70
- this.events.once(event, handler);
71
- return this;
72
- }
73
-
74
- private emit<K extends keyof IEvents>(event: K, ...args: IEvents[K]) {
75
- this.events.emit(event, ...args);
76
- return this;
77
- }
78
-
79
- static build(predicate: TElementPredicate) {
80
- return new Section(predicate);
81
- }
82
- }