equipped 5.0.4 → 5.0.6

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 (189) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/index.cjs +7 -0
  3. package/package.json +132 -29
  4. package/lib/cache/base.d.ts +0 -6
  5. package/lib/cache/base.js +0 -3
  6. package/lib/cache/base.js.map +0 -1
  7. package/lib/cache/index.d.ts +0 -3
  8. package/lib/cache/index.js +0 -4
  9. package/lib/cache/index.js.map +0 -1
  10. package/lib/cache/pipes.d.ts +0 -17
  11. package/lib/cache/pipes.js +0 -10
  12. package/lib/cache/pipes.js.map +0 -1
  13. package/lib/cache/types/redis.d.ts +0 -11
  14. package/lib/cache/types/redis.js +0 -54
  15. package/lib/cache/types/redis.js.map +0 -1
  16. package/lib/dbs/base/_instance.d.ts +0 -20
  17. package/lib/dbs/base/_instance.js +0 -52
  18. package/lib/dbs/base/_instance.js.map +0 -1
  19. package/lib/dbs/base/core.d.ts +0 -113
  20. package/lib/dbs/base/core.js +0 -2
  21. package/lib/dbs/base/core.js.map +0 -1
  22. package/lib/dbs/base/types.d.ts +0 -8
  23. package/lib/dbs/base/types.js +0 -2
  24. package/lib/dbs/base/types.js.map +0 -1
  25. package/lib/dbs/index.d.ts +0 -6
  26. package/lib/dbs/index.js +0 -7
  27. package/lib/dbs/index.js.map +0 -1
  28. package/lib/dbs/mongo/api.d.ts +0 -9
  29. package/lib/dbs/mongo/api.js +0 -149
  30. package/lib/dbs/mongo/api.js.map +0 -1
  31. package/lib/dbs/mongo/changes.d.ts +0 -11
  32. package/lib/dbs/mongo/changes.js +0 -80
  33. package/lib/dbs/mongo/changes.js.map +0 -1
  34. package/lib/dbs/mongo/index.d.ts +0 -21
  35. package/lib/dbs/mongo/index.js +0 -59
  36. package/lib/dbs/mongo/index.js.map +0 -1
  37. package/lib/dbs/mongo/query.d.ts +0 -6
  38. package/lib/dbs/mongo/query.js +0 -72
  39. package/lib/dbs/mongo/query.js.map +0 -1
  40. package/lib/dbs/pipes.d.ts +0 -126
  41. package/lib/dbs/pipes.js +0 -74
  42. package/lib/dbs/pipes.js.map +0 -1
  43. package/lib/errors/equippedError.d.ts +0 -6
  44. package/lib/errors/equippedError.js +0 -12
  45. package/lib/errors/equippedError.js.map +0 -1
  46. package/lib/errors/index.d.ts +0 -9
  47. package/lib/errors/index.js +0 -10
  48. package/lib/errors/index.js.map +0 -1
  49. package/lib/errors/requestError.d.ts +0 -14
  50. package/lib/errors/requestError.js +0 -11
  51. package/lib/errors/requestError.js.map +0 -1
  52. package/lib/errors/types/authorizationExpired.d.ts +0 -5
  53. package/lib/errors/types/authorizationExpired.js +0 -9
  54. package/lib/errors/types/authorizationExpired.js.map +0 -1
  55. package/lib/errors/types/badRequestError.d.ts +0 -5
  56. package/lib/errors/types/badRequestError.js +0 -9
  57. package/lib/errors/types/badRequestError.js.map +0 -1
  58. package/lib/errors/types/notAuthenticatedError.d.ts +0 -5
  59. package/lib/errors/types/notAuthenticatedError.js +0 -9
  60. package/lib/errors/types/notAuthenticatedError.js.map +0 -1
  61. package/lib/errors/types/notAuthorizedError.d.ts +0 -5
  62. package/lib/errors/types/notAuthorizedError.js +0 -9
  63. package/lib/errors/types/notAuthorizedError.js.map +0 -1
  64. package/lib/errors/types/notFoundError.d.ts +0 -5
  65. package/lib/errors/types/notFoundError.js +0 -9
  66. package/lib/errors/types/notFoundError.js.map +0 -1
  67. package/lib/errors/types/refreshTokenMisusedError.d.ts +0 -5
  68. package/lib/errors/types/refreshTokenMisusedError.js +0 -9
  69. package/lib/errors/types/refreshTokenMisusedError.js.map +0 -1
  70. package/lib/errors/types/validationError.d.ts +0 -10
  71. package/lib/errors/types/validationError.js +0 -9
  72. package/lib/errors/types/validationError.js.map +0 -1
  73. package/lib/events/base.d.ts +0 -14
  74. package/lib/events/base.js +0 -6
  75. package/lib/events/base.js.map +0 -1
  76. package/lib/events/index.d.ts +0 -4
  77. package/lib/events/index.js +0 -5
  78. package/lib/events/index.js.map +0 -1
  79. package/lib/events/pipes.d.ts +0 -31
  80. package/lib/events/pipes.js +0 -17
  81. package/lib/events/pipes.js.map +0 -1
  82. package/lib/events/types/kafka.d.ts +0 -9
  83. package/lib/events/types/kafka.js +0 -81
  84. package/lib/events/types/kafka.js.map +0 -1
  85. package/lib/events/types/rabbitmq.d.ts +0 -9
  86. package/lib/events/types/rabbitmq.js +0 -51
  87. package/lib/events/types/rabbitmq.js.map +0 -1
  88. package/lib/index.d.ts +0 -1
  89. package/lib/index.js +0 -2
  90. package/lib/index.js.map +0 -1
  91. package/lib/instance/hooks.d.ts +0 -7
  92. package/lib/instance/hooks.js +0 -26
  93. package/lib/instance/hooks.js.map +0 -1
  94. package/lib/instance/index.d.ts +0 -131
  95. package/lib/instance/index.js +0 -78
  96. package/lib/instance/index.js.map +0 -1
  97. package/lib/instance/settings.d.ts +0 -239
  98. package/lib/instance/settings.js +0 -121
  99. package/lib/instance/settings.js.map +0 -1
  100. package/lib/jobs/index.d.ts +0 -2
  101. package/lib/jobs/index.js +0 -3
  102. package/lib/jobs/index.js.map +0 -1
  103. package/lib/jobs/pipes.d.ts +0 -23
  104. package/lib/jobs/pipes.js +0 -7
  105. package/lib/jobs/pipes.js.map +0 -1
  106. package/lib/jobs/types/redis.d.ts +0 -28
  107. package/lib/jobs/types/redis.js +0 -88
  108. package/lib/jobs/types/redis.js.map +0 -1
  109. package/lib/server/impls/base.d.ts +0 -37
  110. package/lib/server/impls/base.js +0 -205
  111. package/lib/server/impls/base.js.map +0 -1
  112. package/lib/server/impls/express.d.ts +0 -7
  113. package/lib/server/impls/express.js +0 -111
  114. package/lib/server/impls/express.js.map +0 -1
  115. package/lib/server/impls/fastify.d.ts +0 -6
  116. package/lib/server/impls/fastify.js +0 -125
  117. package/lib/server/impls/fastify.js.map +0 -1
  118. package/lib/server/index.d.ts +0 -10
  119. package/lib/server/index.js +0 -10
  120. package/lib/server/index.js.map +0 -1
  121. package/lib/server/middlewares/index.d.ts +0 -1
  122. package/lib/server/middlewares/index.js +0 -2
  123. package/lib/server/middlewares/index.js.map +0 -1
  124. package/lib/server/middlewares/parseAuthUser.d.ts +0 -4
  125. package/lib/server/middlewares/parseAuthUser.js +0 -21
  126. package/lib/server/middlewares/parseAuthUser.js.map +0 -1
  127. package/lib/server/middlewares/requireAuthUser.d.ts +0 -16
  128. package/lib/server/middlewares/requireAuthUser.js +0 -57
  129. package/lib/server/middlewares/requireAuthUser.js.map +0 -1
  130. package/lib/server/openapi.d.ts +0 -33
  131. package/lib/server/openapi.js +0 -202
  132. package/lib/server/openapi.js.map +0 -1
  133. package/lib/server/pipes.d.ts +0 -74
  134. package/lib/server/pipes.js +0 -34
  135. package/lib/server/pipes.js.map +0 -1
  136. package/lib/server/requests-auth/apiKeys.d.ts +0 -4
  137. package/lib/server/requests-auth/apiKeys.js +0 -3
  138. package/lib/server/requests-auth/apiKeys.js.map +0 -1
  139. package/lib/server/requests-auth/index.d.ts +0 -2
  140. package/lib/server/requests-auth/index.js +0 -3
  141. package/lib/server/requests-auth/index.js.map +0 -1
  142. package/lib/server/requests-auth/tokens.d.ts +0 -44
  143. package/lib/server/requests-auth/tokens.js +0 -101
  144. package/lib/server/requests-auth/tokens.js.map +0 -1
  145. package/lib/server/requests.d.ts +0 -80
  146. package/lib/server/requests.js +0 -56
  147. package/lib/server/requests.js.map +0 -1
  148. package/lib/server/routes.d.ts +0 -14
  149. package/lib/server/routes.js +0 -70
  150. package/lib/server/routes.js.map +0 -1
  151. package/lib/server/sockets.d.ts +0 -25
  152. package/lib/server/sockets.js +0 -127
  153. package/lib/server/sockets.js.map +0 -1
  154. package/lib/server/types.d.ts +0 -109
  155. package/lib/server/types.js +0 -26
  156. package/lib/server/types.js.map +0 -1
  157. package/lib/types/index.d.ts +0 -3
  158. package/lib/types/index.js +0 -3
  159. package/lib/types/index.js.map +0 -1
  160. package/lib/types/overrides.d.ts +0 -23
  161. package/lib/types/overrides.js +0 -2
  162. package/lib/types/overrides.js.map +0 -1
  163. package/lib/utilities/authProviders.d.ts +0 -28
  164. package/lib/utilities/authProviders.js +0 -60
  165. package/lib/utilities/authProviders.js.map +0 -1
  166. package/lib/utilities/hash.d.ts +0 -2
  167. package/lib/utilities/hash.js +0 -15
  168. package/lib/utilities/hash.js.map +0 -1
  169. package/lib/utilities/index.d.ts +0 -6
  170. package/lib/utilities/index.js +0 -7
  171. package/lib/utilities/index.js.map +0 -1
  172. package/lib/utilities/json.d.ts +0 -2
  173. package/lib/utilities/json.js +0 -14
  174. package/lib/utilities/json.js.map +0 -1
  175. package/lib/utilities/media.d.ts +0 -1
  176. package/lib/utilities/media.js +0 -11
  177. package/lib/utilities/media.js.map +0 -1
  178. package/lib/utilities/random.d.ts +0 -2
  179. package/lib/utilities/random.js +0 -8
  180. package/lib/utilities/random.js.map +0 -1
  181. package/lib/utilities/retry.d.ts +0 -7
  182. package/lib/utilities/retry.js +0 -12
  183. package/lib/utilities/retry.js.map +0 -1
  184. package/lib/validations/index.d.ts +0 -6
  185. package/lib/validations/index.js +0 -21
  186. package/lib/validations/index.js.map +0 -1
  187. package/lib/validations/valleyed.d.ts +0 -54
  188. package/lib/validations/valleyed.js +0 -32
  189. package/lib/validations/valleyed.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.0.6](https://github.com/kevinand11/equipped/compare/v5.0.5...v5.0.6) (2025-06-27)
6
+
7
+
8
+ ### Features
9
+
10
+ * support esm and cjs on build ([7f6d1cf](https://github.com/kevinand11/equipped/commit/7f6d1cf3d6adca5da5a0837d325191c5d1a112c5))
11
+
12
+ ### [5.0.5](https://github.com/kevinand11/equipped/compare/v5.0.4...v5.0.5) (2025-06-26)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * fix db typing ([ed307ad](https://github.com/kevinand11/equipped/commit/ed307ad244e4493e0817ea4233d8de8394c6cff1))
18
+
5
19
  ### [5.0.4](https://github.com/kevinand11/equipped/compare/v5.0.3...v5.0.4) (2025-06-25)
6
20
 
7
21
 
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkUBQPLHM4cjs = require('./chunk-UBQPLHM4.cjs');
4
+
5
+
6
+ exports.Instance = _chunkUBQPLHM4cjs.Instance;
7
+ //# sourceMappingURL=index.cjs.map
package/package.json CHANGED
@@ -1,50 +1,153 @@
1
1
  {
2
2
  "name": "equipped",
3
- "version": "5.0.4",
3
+ "version": "5.0.6",
4
4
  "private": false,
5
5
  "description": "",
6
- "main": "lib/index.js",
7
6
  "type": "module",
8
7
  "sideEffects": false,
8
+ "main": "./dist/cjs/index.cjs",
9
+ "module": "./dist/esm/index.mjs",
10
+ "types": "./dist/types/index.d.ts",
9
11
  "engines": {
10
12
  "node": ">= 20.0.0"
11
13
  },
12
14
  "exports": {
13
- ".": "./lib/index.js",
14
- "./cache": "./lib/cache/index.js",
15
- "./dbs": "./lib/dbs/index.js",
16
- "./errors": "./lib/errors/index.js",
17
- "./events": "./lib/events/index.js",
18
- "./jobs": "./lib/jobs/index.js",
19
- "./server": "./lib/server/index.js",
20
- "./types": "./lib/types/index.js",
21
- "./utilities": "./lib/utilities/index.js",
22
- "./validations": "./lib/validations/index.js"
15
+ ".": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "require": {
18
+ "min": "./dist/cjs/index.min.cjs",
19
+ "default": "./dist/cjs/index.cjs"
20
+ },
21
+ "import": {
22
+ "min": "./dist/esm/index.min.mjs",
23
+ "default": "./dist/esm/index.mjs"
24
+ }
25
+ },
26
+ "./cache": {
27
+ "types": "./dist/types/cache.d.ts",
28
+ "require": {
29
+ "min": "./dist/cjs/cache.min.cjs",
30
+ "default": "./dist/cjs/cache.cjs"
31
+ },
32
+ "import": {
33
+ "min": "./dist/esm/cache.min.mjs",
34
+ "default": "./dist/esm/cache.mjs"
35
+ }
36
+ },
37
+ "./dbs": {
38
+ "types": "./dist/types/dbs.d.ts",
39
+ "require": {
40
+ "min": "./dist/cjs/dbs.min.cjs",
41
+ "default": "./dist/cjs/dbs.cjs"
42
+ },
43
+ "import": {
44
+ "min": "./dist/esm/dbs.min.mjs",
45
+ "default": "./dist/esm/dbs.mjs"
46
+ }
47
+ },
48
+ "./errors": {
49
+ "types": "./dist/types/errors.d.ts",
50
+ "require": {
51
+ "min": "./dist/cjs/errors.min.cjs",
52
+ "default": "./dist/cjs/errors.cjs"
53
+ },
54
+ "import": {
55
+ "min": "./dist/esm/errors.min.mjs",
56
+ "default": "./dist/esm/errors.mjs"
57
+ }
58
+ },
59
+ "./events": {
60
+ "types": "./dist/types/events.d.ts",
61
+ "require": {
62
+ "min": "./dist/cjs/events.min.cjs",
63
+ "default": "./dist/cjs/events.cjs"
64
+ },
65
+ "import": {
66
+ "min": "./dist/esm/events.min.mjs",
67
+ "default": "./dist/esm/events.mjs"
68
+ }
69
+ },
70
+ "./jobs": {
71
+ "types": "./dist/types/jobs.d.ts",
72
+ "require": {
73
+ "min": "./dist/cjs/jobs.min.cjs",
74
+ "default": "./dist/cjs/jobs.cjs"
75
+ },
76
+ "import": {
77
+ "min": "./dist/esm/jobs.min.mjs",
78
+ "default": "./dist/esm/jobs.mjs"
79
+ }
80
+ },
81
+ "./server": {
82
+ "types": "./dist/types/server.d.ts",
83
+ "require": {
84
+ "min": "./dist/cjs/server.min.cjs",
85
+ "default": "./dist/cjs/server.cjs"
86
+ },
87
+ "import": {
88
+ "min": "./dist/esm/server.min.mjs",
89
+ "default": "./dist/esm/server.mjs"
90
+ }
91
+ },
92
+ "./types": {
93
+ "types": "./dist/types/types.d.ts",
94
+ "require": {
95
+ "min": "./dist/cjs/types.min.cjs",
96
+ "default": "./dist/cjs/types.cjs"
97
+ },
98
+ "import": {
99
+ "min": "./dist/esm/types.min.mjs",
100
+ "default": "./dist/esm/types.mjs"
101
+ }
102
+ },
103
+ "./utilities": {
104
+ "types": "./dist/types/utilities.d.ts",
105
+ "require": {
106
+ "min": "./dist/cjs/utilities.min.cjs",
107
+ "default": "./dist/cjs/utilities.cjs"
108
+ },
109
+ "import": {
110
+ "min": "./dist/esm/utilities.min.mjs",
111
+ "default": "./dist/esm/utilities.mjs"
112
+ }
113
+ },
114
+ "./validations": {
115
+ "types": "./dist/types/validations.d.ts",
116
+ "require": {
117
+ "min": "./dist/cjs/validations.min.cjs",
118
+ "default": "./dist/cjs/validations.cjs"
119
+ },
120
+ "import": {
121
+ "min": "./dist/esm/validations.min.mjs",
122
+ "default": "./dist/esm/validations.mjs"
123
+ }
124
+ }
23
125
  },
24
126
  "author": "",
25
127
  "license": "ISC",
26
128
  "devDependencies": {
27
129
  "@commitlint/cli": "^19.8.1",
28
130
  "@commitlint/config-conventional": "^19.8.1",
29
- "@k11/configs": "^0.1.0",
131
+ "@k11/configs": "^0.1.1",
30
132
  "@types/amqplib": "^0.10.7",
31
133
  "@types/bcryptjs": "^3.0.0",
32
134
  "@types/bull": "^4.10.4",
33
- "@types/cors": "^2.8.18",
34
- "@types/express": "^5.0.2",
135
+ "@types/cors": "^2.8.19",
136
+ "@types/express": "^5.0.3",
35
137
  "@types/express-fileupload": "^1.5.1",
36
- "@types/jsonwebtoken": "^9.0.9",
37
- "@types/lodash": "^4.17.17",
38
- "@types/node": "^24.0.0",
138
+ "@types/jsonwebtoken": "^9.0.10",
139
+ "@types/lodash": "^4.17.19",
140
+ "@types/node": "^24.0.4",
39
141
  "@types/pug": "^2.0.10",
40
142
  "@types/supertest": "^6.0.3",
41
- "eslint": "^9.28.0",
143
+ "eslint": "^9.29.0",
42
144
  "husky": "^9.1.7",
43
145
  "standard-version": "^9.5.0",
146
+ "tsup": "^8.5.0",
44
147
  "typescript": "^5.8.3"
45
148
  },
46
149
  "dependencies": {
47
- "@confluentinc/kafka-javascript": "^1.3.1",
150
+ "@confluentinc/kafka-javascript": "^1.3.2",
48
151
  "@fastify/cookie": "11.0.2",
49
152
  "@fastify/cors": "11.0.1",
50
153
  "@fastify/formbody": "8.0.2",
@@ -55,33 +158,33 @@
55
158
  "@openapi-contrib/json-schema-to-openapi-schema": "^4.0.2",
56
159
  "amqp-connection-manager": "4.1.14",
57
160
  "amqplib": "0.10.8",
58
- "axios": "1.9.0",
161
+ "axios": "1.10.0",
59
162
  "bcryptjs": "3.0.2",
60
163
  "bull": "4.16.5",
61
164
  "cookie-parser": "1.4.7",
62
165
  "cors": "2.8.5",
63
166
  "express": "5.1.0",
64
167
  "express-fileupload": "1.5.1",
65
- "express-rate-limit": "7.5.0",
168
+ "express-rate-limit": "7.5.1",
66
169
  "express-slow-down": "2.1.0",
67
- "fastify": "5.3.3",
170
+ "fastify": "5.4.0",
68
171
  "fastify-slow-down": "2.0.1",
69
172
  "helmet": "8.1.0",
70
173
  "ioredis": "5.6.1",
71
174
  "jsonwebtoken": "9.0.2",
72
175
  "jwks-rsa": "3.2.0",
73
176
  "kafkajs": "2.2.4",
74
- "mongodb": "^6.16.0",
177
+ "mongodb": "^6.17.0",
75
178
  "music-metadata": "7.14.0",
76
179
  "openapi-types": "12.1.3",
77
180
  "path-to-regexp": "8.2.0",
78
181
  "pino": "9.7.0",
79
- "pino-http": "10.4.0",
182
+ "pino-http": "10.5.0",
80
183
  "qs": "6.14.0",
81
- "redis": "5.1.1",
184
+ "redis": "5.5.6",
82
185
  "socket.io": "4.8.1",
83
186
  "supertest": "7.1.1",
84
- "valleyed": "^4.5.6"
187
+ "valleyed": "^4.5.8"
85
188
  },
86
189
  "repository": {
87
190
  "url": "git://github.com/kevinand11/equipped.git"
@@ -102,8 +205,8 @@
102
205
  ],
103
206
  "standard-version": {},
104
207
  "scripts": {
105
- "dev": "tsc -watch",
106
- "build": "tsc",
208
+ "dev": "tsup --watch",
209
+ "build": "tsup || echo 'Done'",
107
210
  "lint": "eslint --fix src",
108
211
  "test": "echo",
109
212
  "release": "standard-version"
@@ -1,6 +0,0 @@
1
- export declare abstract class Cache {
2
- abstract set(key: string, data: string, ttlInSecs: number): Promise<void>;
3
- abstract get(key: string): Promise<string | null>;
4
- abstract delete(key: string): Promise<void>;
5
- abstract getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs: number): Promise<T>;
6
- }
package/lib/cache/base.js DELETED
@@ -1,3 +0,0 @@
1
- export class Cache {
2
- }
3
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/cache/base.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,KAAK;CAQ1B"}
@@ -1,3 +0,0 @@
1
- export * from './base';
2
- export * from './pipes';
3
- export * from './types/redis';
@@ -1,4 +0,0 @@
1
- export * from './base';
2
- export * from './pipes';
3
- export * from './types/redis';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA"}
@@ -1,17 +0,0 @@
1
- import { v, PipeOutput } from 'valleyed';
2
- export declare const redisConfigPipe: v.Pipe<{
3
- host: string;
4
- port: number | undefined;
5
- password: string | undefined;
6
- username: string | undefined;
7
- tls: boolean | undefined;
8
- cluster: boolean | undefined;
9
- }, {
10
- host: string;
11
- port: number | undefined;
12
- password: string | undefined;
13
- username: string | undefined;
14
- tls: boolean | undefined;
15
- cluster: boolean | undefined;
16
- }, any>;
17
- export type RedisConfig = PipeOutput<typeof redisConfigPipe>;
@@ -1,10 +0,0 @@
1
- import { v } from 'valleyed';
2
- export const redisConfigPipe = v.meta(v.object({
3
- host: v.string(),
4
- port: v.optional(v.number()),
5
- password: v.optional(v.string()),
6
- username: v.optional(v.string()),
7
- tls: v.optional(v.boolean()),
8
- cluster: v.optional(v.boolean()),
9
- }), { title: 'Redis Config', $refId: 'RedisConfig' });
10
- //# sourceMappingURL=pipes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipes.js","sourceRoot":"","sources":["../../src/cache/pipes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAc,MAAM,UAAU,CAAA;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,MAAM,CAAC;IACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAChC,CAAC,EACF,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,CAChD,CAAA"}
@@ -1,11 +0,0 @@
1
- import { Cluster, Redis, RedisOptions } from 'ioredis';
2
- import { Cache } from '../base';
3
- import { RedisConfig } from '../pipes';
4
- export declare class RedisCache extends Cache {
5
- client: Redis | Cluster;
6
- constructor(settings: RedisConfig, extraConfig?: Partial<RedisOptions>);
7
- delete(key: string): Promise<void>;
8
- get(key: string): Promise<string | null>;
9
- set(key: string, data: string, ttlInSecs: number): Promise<void>;
10
- getOrSet<T>(key: string, fn: () => Promise<T>, ttlInSecs: number): Promise<any>;
11
- }
@@ -1,54 +0,0 @@
1
- import { Cluster, Redis } from 'ioredis';
2
- import { EquippedError } from '../../errors';
3
- import { Instance } from '../../instance';
4
- import { Cache } from '../base';
5
- export class RedisCache extends Cache {
6
- client;
7
- constructor(settings, extraConfig) {
8
- super();
9
- const node = {
10
- ...(settings.host ? { host: settings.host } : {}),
11
- ...(settings.port ? { port: settings.port } : {}),
12
- };
13
- const common = {
14
- ...extraConfig,
15
- ...(settings.password ? { password: settings.password } : {}),
16
- ...(settings.username ? { username: settings.username } : {}),
17
- ...(settings.tls ? { tls: {} } : {}),
18
- lazyConnect: true,
19
- };
20
- this.client = settings.cluster
21
- ? new Cluster([node], {
22
- ...extraConfig,
23
- redisOptions: common,
24
- lazyConnect: true,
25
- })
26
- : new Redis({ ...common, ...node });
27
- this.client.on('error', async (error) => {
28
- Instance.crash(new EquippedError(`Redis failed with error`, {}, error));
29
- });
30
- if (!extraConfig)
31
- Instance.on('start', async () => this.client.connect(), 1);
32
- Instance.on('close', async () => this.client.quit(), 1);
33
- }
34
- async delete(key) {
35
- await this.client.del(Instance.get().getScopedName(key, ':'));
36
- }
37
- async get(key) {
38
- return await this.client.get(Instance.get().getScopedName(key, ':'));
39
- }
40
- async set(key, data, ttlInSecs) {
41
- if (ttlInSecs > 0)
42
- await this.client.setex(Instance.get().getScopedName(key, ':'), ttlInSecs, data);
43
- else
44
- this.client.set(Instance.get().getScopedName(key), data);
45
- }
46
- async getOrSet(key, fn, ttlInSecs) {
47
- const cached = await this.get(Instance.get().getScopedName(key, ':'));
48
- if (cached)
49
- return JSON.parse(cached);
50
- const result = await fn();
51
- await this.set(Instance.get().getScopedName(key, ':'), JSON.stringify(result), ttlInSecs);
52
- }
53
- }
54
- //# sourceMappingURL=redis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/types/redis.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import * as core from './core';
2
- import { DbChangeConfig, DbConfig } from './types';
3
- export declare const TopicPrefix = "db-changes";
4
- export type TableOptions = {
5
- skipAudit?: boolean;
6
- };
7
- export declare abstract class Db<IdKey extends core.IdType> {
8
- protected config: DbConfig;
9
- constructor(config: DbConfig);
10
- protected getScopedDb(db: string): string;
11
- abstract use<Model extends core.Model<IdKey>, Entity extends core.Entity>(config: core.Config<Model, Entity>): core.Table<IdKey, Model, Entity>;
12
- }
13
- export declare abstract class DbChange<Model extends core.Model<core.IdType>, Entity extends core.Entity> {
14
- #private;
15
- private config;
16
- constructor(config: DbChangeConfig, callbacks: core.DbChangeCallbacks<Model, Entity>, mapper: (model: Model) => Entity);
17
- get callbacks(): Readonly<core.DbChangeCallbacks<Model, Entity>>;
18
- get mapper(): (model: Model) => Entity;
19
- protected configureConnector(key: string, data: Record<string, string>): Promise<any>;
20
- }
@@ -1,52 +0,0 @@
1
- import axios from 'axios';
2
- import { EquippedError } from '../../errors';
3
- import { Instance } from '../../instance';
4
- export const TopicPrefix = 'db-changes';
5
- export class Db {
6
- config;
7
- constructor(config) {
8
- this.config = config;
9
- }
10
- getScopedDb(db) {
11
- return Instance.get().getScopedName(db).replaceAll('.', '-');
12
- }
13
- }
14
- export class DbChange {
15
- config;
16
- #callbacks = {};
17
- #mapper;
18
- constructor(config, callbacks, mapper) {
19
- this.config = config;
20
- this.#callbacks = callbacks;
21
- this.#mapper = mapper;
22
- }
23
- get callbacks() {
24
- return Object.freeze(this.#callbacks);
25
- }
26
- get mapper() {
27
- return this.#mapper;
28
- }
29
- async configureConnector(key, data) {
30
- const instance = axios.create({ baseURL: this.config.debeziumUrl });
31
- return await instance
32
- .put(`/connectors/${key}/config`, {
33
- 'topic.prefix': TopicPrefix,
34
- 'topic.creation.enable': 'false',
35
- 'topic.creation.default.replication.factor': `-1`,
36
- 'topic.creation.default.partitions': '-1',
37
- 'key.converter': 'org.apache.kafka.connect.json.JsonConverter',
38
- 'key.converter.schemas.enable': 'false',
39
- 'value.converter': 'org.apache.kafka.connect.json.JsonConverter',
40
- 'value.converter.schemas.enable': 'false',
41
- ...data,
42
- })
43
- .then(async () => {
44
- const topics = await instance.get(`/connectors/${key}/topics`);
45
- return topics.data[key]?.topics?.includes?.(key) ?? false;
46
- })
47
- .catch((err) => {
48
- throw new EquippedError(`Failed to configure watcher`, { key }, err);
49
- });
50
- }
51
- }
52
- //# sourceMappingURL=_instance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_instance.js","sourceRoot":"","sources":["../../../src/dbs/base/_instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAA;AAIvC,MAAM,OAAgB,EAAE;IACD;IAAtB,YAAsB,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEhC,WAAW,CAAC,EAAU;QAC/B,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7D,CAAC;CAKD;AAED,MAAM,OAAgB,QAAQ;IAKpB;IAJT,UAAU,GAA0C,EAAE,CAAA;IACtD,OAAO,CAA0B;IAEjC,YACS,MAAsB,EAC9B,SAAgD,EAChD,MAAgC;QAFxB,WAAM,GAAN,MAAM,CAAgB;QAI9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAA;IACpB,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,GAAW,EAAE,IAA4B;QAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;QACnE,OAAO,MAAM,QAAQ;aACnB,GAAG,CAAC,eAAe,GAAG,SAAS,EAAE;YACjC,cAAc,EAAE,WAAW;YAC3B,uBAAuB,EAAE,OAAO;YAChC,2CAA2C,EAAE,IAAI;YACjD,mCAAmC,EAAE,IAAI;YACzC,eAAe,EAAE,6CAA6C;YAC9D,8BAA8B,EAAE,OAAO;YACvC,iBAAiB,EAAE,6CAA6C;YAChE,gCAAgC,EAAE,OAAO;YACzC,GAAG,IAAI;SACP,CAAC;aACD,IAAI,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,CAAA;YAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAA;QAC1D,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,MAAM,IAAI,aAAa,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC;CACD"}
@@ -1,113 +0,0 @@
1
- import { ClientSession, Filter, UpdateFilter } from 'mongodb';
2
- import { ConditionalObjectKeys, DeepPartial, DistributiveOmit } from '../../types';
3
- import { QueryParams, QueryResults } from '../pipes';
4
- export type IdType = {
5
- _id: string;
6
- } | {
7
- id: string;
8
- };
9
- export type Entity = {
10
- toJSON: () => Record<string, unknown>;
11
- };
12
- type ModelId<T> = T extends Model<infer Id> ? Id[keyof Id] : never;
13
- export type Model<IdKey extends IdType> = IdKey & {
14
- createdAt?: number;
15
- updatedAt?: number;
16
- };
17
- type Sort = NonNullable<QueryParams['sort']>[number];
18
- export type Table<Id extends IdType, T extends Model<Id>, E extends Entity, Extras extends Record<string, unknown> = {}> = {
19
- query: (query: QueryParams) => Promise<QueryResults<E>>;
20
- findMany: (filter: Filter<T>, options?: Options & {
21
- limit?: number;
22
- sort?: Sort | Sort[];
23
- }) => Promise<E[]>;
24
- findOne: (filter: Filter<T>, options?: Options) => Promise<E | null>;
25
- findById: (id: ModelId<T>, options?: Options) => Promise<E | null>;
26
- insertOne: (values: CreateInput<T>, options?: Options & {
27
- makeId?: () => string;
28
- getTime?: () => Date;
29
- }) => Promise<E>;
30
- insertMany: (values: CreateInput<T>[], options?: Options & {
31
- makeId?: (i: number) => string;
32
- getTime?: () => Date;
33
- }) => Promise<E[]>;
34
- updateMany: (filter: Filter<T>, values: UpdateInput<T>, options?: Options & {
35
- getTime?: () => Date;
36
- }) => Promise<E[]>;
37
- updateOne: (filter: Filter<T>, values: UpdateInput<T>, options?: Options & {
38
- getTime?: () => Date;
39
- }) => Promise<E | null>;
40
- updateById: (id: ModelId<T>, values: UpdateInput<T>, options?: Options & {
41
- getTime?: () => Date;
42
- }) => Promise<E | null>;
43
- upsertOne: (filter: Filter<T>, values: {
44
- insert: CreateInput<T>;
45
- } | {
46
- insert: Partial<CreateInput<T>>;
47
- update: UpdateInput<T>;
48
- }, options?: Options & {
49
- makeId?: () => string;
50
- getTime?: () => Date;
51
- }) => Promise<E>;
52
- deleteOne: (filter: Filter<T>, options?: Options) => Promise<E | null>;
53
- deleteById: (id: ModelId<T>, options?: Options) => Promise<E | null>;
54
- deleteMany: (filter: Filter<T>, options?: Options) => Promise<E[]>;
55
- bulkWrite: (operations: BulkWriteOperation<T>[], options?: Options & {
56
- getTime?: () => Date;
57
- }) => Promise<void>;
58
- readonly config: Config<T, E>;
59
- readonly extras: Extras;
60
- };
61
- export type Options = {
62
- session?: ClientSession;
63
- };
64
- export type { Filter };
65
- type AllKeys<T> = T extends any ? keyof T : never;
66
- export type EntityInput<T extends Model<any>> = ConditionalObjectKeys<DistributiveOmit<T, AllKeys<IdType> | keyof Model<IdType>>>;
67
- export type CreateInput<T extends Model<any>> = EntityInput<T>;
68
- export type UpdateInput<T extends Model<any>> = DistributiveOmit<UpdateFilter<CreateInput<T>>, '$setOnInsert'>;
69
- export type BulkWriteOperation<T extends Model<any>> = {
70
- op: 'insert';
71
- value: CreateInput<T>;
72
- makeId?: (i: number) => string;
73
- } | {
74
- op: 'update';
75
- filter: Filter<T>;
76
- value: UpdateInput<T>;
77
- } | ({
78
- op: 'upsert';
79
- filter: Filter<T>;
80
- makeId?: (i: number) => string;
81
- } & ({
82
- insert: CreateInput<T>;
83
- } | {
84
- insert: Partial<CreateInput<T>>;
85
- update: UpdateInput<T>;
86
- })) | {
87
- op: 'delete';
88
- filter: Filter<T>;
89
- };
90
- export type DbChangeCallbacks<M extends Model<IdType>, E extends Entity> = {
91
- created?: (data: {
92
- before: null;
93
- after: E;
94
- }) => Promise<void>;
95
- updated?: (data: {
96
- before: E;
97
- after: Entity;
98
- changes: DeepPartial<M>;
99
- }) => Promise<void>;
100
- deleted?: (data: {
101
- before: E;
102
- after: null;
103
- }) => Promise<void>;
104
- };
105
- export type Config<M extends Model<IdType>, E extends Entity> = {
106
- db: string;
107
- col: string;
108
- mapper: (model: M) => E;
109
- change?: DbChangeCallbacks<M, E>;
110
- options?: {
111
- skipAudit?: boolean;
112
- };
113
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/dbs/base/core.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { KafkaEventBus } from '../../events';
2
- export type DbChangeConfig = {
3
- eventBus: KafkaEventBus;
4
- debeziumUrl: string;
5
- };
6
- export type DbConfig = {
7
- changes?: DbChangeConfig;
8
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dbs/base/types.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export * from './base/_instance';
2
- export * from './base/core';
3
- export * from './base/types';
4
- export * from './mongo/changes';
5
- export * from './mongo/index';
6
- export * from './pipes';
package/lib/dbs/index.js DELETED
@@ -1,7 +0,0 @@
1
- export * from './base/_instance';
2
- export * from './base/core';
3
- export * from './base/types';
4
- export * from './mongo/changes';
5
- export * from './mongo/index';
6
- export * from './pipes';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dbs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA"}
@@ -1,9 +0,0 @@
1
- import { Collection } from 'mongodb';
2
- import * as core from '../base/core';
3
- type IdType = {
4
- _id: string;
5
- };
6
- export declare function getTable<Model extends core.Model<IdType>, Entity extends core.Entity>(config: core.Config<Model, Entity>, collection: Collection<Model>): core.Table<IdType, Model, Entity, {
7
- collection: Collection<Model>;
8
- }>;
9
- export {};