lakutata 2.0.34 → 2.0.35

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 (210) hide show
  1. package/com/cacher.cjs +211 -0
  2. package/com/cacher.d.ts +514 -0
  3. package/com/cacher.mjs +185 -0
  4. package/com/database.cjs +6 -2
  5. package/com/database.mjs +6 -2
  6. package/com/docker.cjs +23 -17
  7. package/com/docker.mjs +19 -13
  8. package/com/entrypoint.cjs +1 -1
  9. package/com/entrypoint.mjs +1 -1
  10. package/com/logger.cjs +6 -2
  11. package/com/logger.mjs +6 -2
  12. package/decorator/ctrl.cjs +1 -1
  13. package/decorator/ctrl.mjs +1 -1
  14. package/decorator/orm.cjs +22 -18
  15. package/decorator/orm.mjs +6 -2
  16. package/helper.cjs +1 -1
  17. package/helper.mjs +1 -1
  18. package/lakutata.cjs +7 -3
  19. package/lakutata.mjs +7 -3
  20. package/orm.cjs +19 -15
  21. package/orm.mjs +15 -11
  22. package/package.json +6 -1
  23. package/provider/database.cjs +6 -2
  24. package/provider/database.mjs +6 -2
  25. package/src/components/Database.cjs +6 -2
  26. package/src/components/Database.mjs +6 -2
  27. package/src/components/Logger.cjs +6 -2
  28. package/src/components/Logger.mjs +6 -2
  29. package/src/components/cacher/Cacher.cjs +193 -0
  30. package/src/components/cacher/Cacher.mjs +183 -0
  31. package/src/components/cacher/options/CacherOptions.cjs +93 -0
  32. package/src/components/cacher/options/CacherOptions.mjs +87 -0
  33. package/src/components/cacher/options/FileCacheOptions.cjs +77 -0
  34. package/src/components/cacher/options/FileCacheOptions.mjs +71 -0
  35. package/src/components/cacher/options/MemcacheCacheOptions.cjs +79 -0
  36. package/src/components/cacher/options/MemcacheCacheOptions.mjs +73 -0
  37. package/src/components/cacher/options/MongoCacheOptions.cjs +83 -0
  38. package/src/components/cacher/options/MongoCacheOptions.mjs +77 -0
  39. package/src/components/cacher/options/MysqlCacheOptions.cjs +83 -0
  40. package/src/components/cacher/options/MysqlCacheOptions.mjs +77 -0
  41. package/src/components/cacher/options/PostgresCacheOptions.cjs +87 -0
  42. package/src/components/cacher/options/PostgresCacheOptions.mjs +81 -0
  43. package/src/components/cacher/options/RedisCacheOptions.cjs +99 -0
  44. package/src/components/cacher/options/RedisCacheOptions.mjs +93 -0
  45. package/src/components/cacher/options/SqliteCacheOptions.cjs +77 -0
  46. package/src/components/cacher/options/SqliteCacheOptions.mjs +71 -0
  47. package/src/components/cacher/types/CacheStoreOptions.cjs +1 -0
  48. package/src/components/cacher/types/CacheStoreOptions.mjs +1 -0
  49. package/src/components/docker/ConnectionOptionsBuilder.cjs +19 -13
  50. package/src/components/docker/ConnectionOptionsBuilder.mjs +19 -13
  51. package/src/components/docker/Docker.cjs +19 -13
  52. package/src/components/docker/Docker.mjs +19 -13
  53. package/src/components/docker/lib/DockerContainer.cjs +26 -20
  54. package/src/components/docker/lib/DockerContainer.mjs +20 -14
  55. package/src/components/docker/lib/DockerContainerTTY.cjs +15 -9
  56. package/src/components/docker/lib/DockerContainerTTY.mjs +15 -9
  57. package/src/components/entrypoint/Entrypoint.cjs +1 -1
  58. package/src/components/entrypoint/Entrypoint.mjs +1 -1
  59. package/src/decorators/ctrl/CLIAction.cjs +1 -1
  60. package/src/decorators/ctrl/CLIAction.mjs +1 -1
  61. package/src/decorators/ctrl/HTTPAction.cjs +1 -1
  62. package/src/decorators/ctrl/HTTPAction.mjs +1 -1
  63. package/src/decorators/ctrl/ServiceAction.cjs +1 -1
  64. package/src/decorators/ctrl/ServiceAction.mjs +1 -1
  65. package/src/decorators/ctrl/http/DELETE.cjs +1 -1
  66. package/src/decorators/ctrl/http/DELETE.mjs +1 -1
  67. package/src/decorators/ctrl/http/GET.cjs +1 -1
  68. package/src/decorators/ctrl/http/GET.mjs +1 -1
  69. package/src/decorators/ctrl/http/HEAD.cjs +1 -1
  70. package/src/decorators/ctrl/http/HEAD.mjs +1 -1
  71. package/src/decorators/ctrl/http/OPTIONS.cjs +1 -1
  72. package/src/decorators/ctrl/http/OPTIONS.mjs +1 -1
  73. package/src/decorators/ctrl/http/PATCH.cjs +1 -1
  74. package/src/decorators/ctrl/http/PATCH.mjs +1 -1
  75. package/src/decorators/ctrl/http/POST.cjs +1 -1
  76. package/src/decorators/ctrl/http/POST.mjs +1 -1
  77. package/src/decorators/ctrl/http/PUT.cjs +1 -1
  78. package/src/decorators/ctrl/http/PUT.mjs +1 -1
  79. package/src/decorators/orm/AfterInsert.cjs +6 -2
  80. package/src/decorators/orm/AfterInsert.mjs +13 -9
  81. package/src/decorators/orm/AfterLoad.cjs +6 -2
  82. package/src/decorators/orm/AfterLoad.mjs +16 -12
  83. package/src/decorators/orm/AfterRecover.cjs +6 -2
  84. package/src/decorators/orm/AfterRecover.mjs +10 -6
  85. package/src/decorators/orm/AfterRemove.cjs +6 -2
  86. package/src/decorators/orm/AfterRemove.mjs +10 -6
  87. package/src/decorators/orm/AfterSoftRemove.cjs +6 -2
  88. package/src/decorators/orm/AfterSoftRemove.mjs +10 -6
  89. package/src/decorators/orm/AfterUpdate.cjs +6 -2
  90. package/src/decorators/orm/AfterUpdate.mjs +14 -10
  91. package/src/decorators/orm/BeforeInsert.cjs +6 -2
  92. package/src/decorators/orm/BeforeInsert.mjs +10 -6
  93. package/src/decorators/orm/BeforeRecover.cjs +13 -9
  94. package/src/decorators/orm/BeforeRecover.mjs +6 -2
  95. package/src/decorators/orm/BeforeRemove.cjs +13 -9
  96. package/src/decorators/orm/BeforeRemove.mjs +6 -2
  97. package/src/decorators/orm/BeforeSoftRemove.cjs +10 -6
  98. package/src/decorators/orm/BeforeSoftRemove.mjs +6 -2
  99. package/src/decorators/orm/BeforeUpdate.cjs +6 -2
  100. package/src/decorators/orm/BeforeUpdate.mjs +11 -7
  101. package/src/decorators/orm/Check.cjs +6 -2
  102. package/src/decorators/orm/Check.mjs +6 -2
  103. package/src/decorators/orm/ChildEntity.cjs +11 -7
  104. package/src/decorators/orm/ChildEntity.mjs +6 -2
  105. package/src/decorators/orm/Column.cjs +23 -19
  106. package/src/decorators/orm/Column.mjs +6 -2
  107. package/src/decorators/orm/CreateDateColumn.cjs +8 -4
  108. package/src/decorators/orm/CreateDateColumn.mjs +6 -2
  109. package/src/decorators/orm/DeleteDateColumn.cjs +6 -2
  110. package/src/decorators/orm/DeleteDateColumn.mjs +6 -2
  111. package/src/decorators/orm/Entity.cjs +6 -2
  112. package/src/decorators/orm/Entity.mjs +12 -8
  113. package/src/decorators/orm/EventSubscriber.cjs +6 -2
  114. package/src/decorators/orm/EventSubscriber.mjs +6 -2
  115. package/src/decorators/orm/Exclusion.cjs +6 -2
  116. package/src/decorators/orm/Exclusion.mjs +12 -8
  117. package/src/decorators/orm/Generated.cjs +10 -6
  118. package/src/decorators/orm/Generated.mjs +12 -8
  119. package/src/decorators/orm/Index.cjs +14 -10
  120. package/src/decorators/orm/Index.mjs +24 -20
  121. package/src/decorators/orm/JoinColumn.cjs +6 -2
  122. package/src/decorators/orm/JoinColumn.mjs +6 -2
  123. package/src/decorators/orm/JoinTable.cjs +6 -2
  124. package/src/decorators/orm/JoinTable.mjs +8 -4
  125. package/src/decorators/orm/ManyToMany.cjs +13 -9
  126. package/src/decorators/orm/ManyToMany.mjs +17 -13
  127. package/src/decorators/orm/ManyToOne.cjs +6 -2
  128. package/src/decorators/orm/ManyToOne.mjs +6 -2
  129. package/src/decorators/orm/ObjectIdColumn.cjs +6 -2
  130. package/src/decorators/orm/ObjectIdColumn.mjs +12 -8
  131. package/src/decorators/orm/OneToMany.cjs +14 -10
  132. package/src/decorators/orm/OneToMany.mjs +6 -2
  133. package/src/decorators/orm/OneToOne.cjs +15 -11
  134. package/src/decorators/orm/OneToOne.mjs +13 -9
  135. package/src/decorators/orm/PrimaryColumn.cjs +6 -2
  136. package/src/decorators/orm/PrimaryColumn.mjs +26 -22
  137. package/src/decorators/orm/PrimaryGeneratedColumn.cjs +6 -2
  138. package/src/decorators/orm/PrimaryGeneratedColumn.mjs +8 -4
  139. package/src/decorators/orm/RelationId.cjs +11 -7
  140. package/src/decorators/orm/RelationId.mjs +12 -8
  141. package/src/decorators/orm/TableInheritance.cjs +6 -2
  142. package/src/decorators/orm/TableInheritance.mjs +10 -6
  143. package/src/decorators/orm/Tree.cjs +6 -2
  144. package/src/decorators/orm/Tree.mjs +6 -2
  145. package/src/decorators/orm/TreeChildren.cjs +6 -2
  146. package/src/decorators/orm/TreeChildren.mjs +17 -13
  147. package/src/decorators/orm/TreeLevelColumn.cjs +6 -2
  148. package/src/decorators/orm/TreeLevelColumn.mjs +6 -2
  149. package/src/decorators/orm/TreeParent.cjs +12 -8
  150. package/src/decorators/orm/TreeParent.mjs +6 -2
  151. package/src/decorators/orm/Unique.cjs +6 -2
  152. package/src/decorators/orm/Unique.mjs +6 -2
  153. package/src/decorators/orm/UpdateDateColumn.cjs +8 -4
  154. package/src/decorators/orm/UpdateDateColumn.mjs +6 -2
  155. package/src/decorators/orm/VersionColumn.cjs +6 -2
  156. package/src/decorators/orm/VersionColumn.mjs +6 -2
  157. package/src/decorators/orm/ViewColumn.cjs +6 -2
  158. package/src/decorators/orm/ViewColumn.mjs +6 -2
  159. package/src/decorators/orm/ViewEntity.cjs +8 -4
  160. package/src/decorators/orm/ViewEntity.mjs +6 -2
  161. package/src/decorators/orm/VirtualColumn.cjs +6 -2
  162. package/src/decorators/orm/VirtualColumn.mjs +10 -6
  163. package/src/lib/base/internal/ControllerEntrypoint.cjs +1 -1
  164. package/src/lib/base/internal/ControllerEntrypoint.mjs +1 -1
  165. package/src/lib/core/Application.cjs +11 -7
  166. package/src/lib/core/Application.mjs +7 -3
  167. package/src/lib/core/Module.cjs +1 -1
  168. package/src/lib/core/Module.mjs +1 -1
  169. package/src/lib/helpers/NonceStr.cjs +1 -1
  170. package/src/lib/helpers/NonceStr.mjs +1 -1
  171. package/src/lib/helpers/ObjectHash.cjs +1 -1
  172. package/src/lib/helpers/ObjectHash.mjs +1 -1
  173. package/src/lib/helpers/RandomString.cjs +1 -1
  174. package/src/lib/helpers/RandomString.mjs +1 -1
  175. package/src/providers/Database.cjs +6 -2
  176. package/src/providers/Database.mjs +6 -2
  177. package/vendor/Package.112.cjs +5498 -5500
  178. package/vendor/Package.112.mjs +5504 -5506
  179. package/vendor/Package.12.cjs +4 -80
  180. package/vendor/Package.12.mjs +4 -74
  181. package/vendor/Package.122.cjs +87 -0
  182. package/vendor/Package.122.mjs +79 -0
  183. package/vendor/Package.13.cjs +1 -1
  184. package/vendor/Package.13.mjs +1 -1
  185. package/vendor/Package.14.cjs +1 -14055
  186. package/vendor/Package.14.mjs +1 -14029
  187. package/vendor/Package.15.cjs +12449 -46635
  188. package/vendor/Package.15.mjs +12435 -46611
  189. package/vendor/Package.16.cjs +3 -0
  190. package/vendor/Package.16.mjs +1 -0
  191. package/vendor/Package.17.cjs +48245 -0
  192. package/vendor/Package.17.mjs +48202 -0
  193. package/vendor/Package.18.cjs +3 -0
  194. package/vendor/Package.18.mjs +1 -0
  195. package/vendor/Package.19.cjs +4466 -0
  196. package/vendor/Package.19.mjs +4442 -0
  197. package/vendor/Package.610.cjs +196 -0
  198. package/vendor/Package.610.mjs +180 -0
  199. package/vendor/Package.62.cjs +1 -1
  200. package/vendor/Package.62.mjs +1 -1
  201. package/vendor/Package.65.cjs +860 -0
  202. package/vendor/Package.65.mjs +832 -0
  203. package/vendor/Package.66.cjs +321 -0
  204. package/vendor/Package.66.mjs +305 -0
  205. package/vendor/Package.67.cjs +341 -0
  206. package/vendor/Package.67.mjs +327 -0
  207. package/vendor/Package.68.cjs +333 -0
  208. package/vendor/Package.68.mjs +315 -0
  209. package/vendor/Package.69.cjs +353 -0
  210. package/vendor/Package.69.mjs +335 -0
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, {
4
+ value: "Module"
5
+ });
6
+
7
+ const t = require("events");
8
+
9
+ const e = require("mysql2");
10
+
11
+ const s = t => t && t.__esModule ? t : {
12
+ default: t
13
+ };
14
+
15
+ const a = s(t);
16
+
17
+ const o = s(e);
18
+
19
+ var n;
20
+
21
+ var i;
22
+
23
+ var r = t => {
24
+ t = t.replace(/#/g, "%23");
25
+ const e = new URL(t);
26
+ const s = {
27
+ user: decodeURIComponent(e.username),
28
+ password: decodeURIComponent(e.password) || void 0,
29
+ host: e.hostname,
30
+ port: e.port ? Number.parseInt(e.port, 10) : void 0,
31
+ database: decodeURIComponent(e.pathname.slice(1))
32
+ };
33
+ for (const t of Object.keys(s)) {
34
+ if (s[t] === void 0) {
35
+ delete s[t];
36
+ }
37
+ }
38
+ return s;
39
+ };
40
+
41
+ var c = (t, e = {}) => {
42
+ if (i !== t) {
43
+ n = void 0;
44
+ i = t;
45
+ }
46
+ const s = r(t);
47
+ const a = {
48
+ ...s,
49
+ ...e
50
+ };
51
+ n ??= o.default.createPool(a);
52
+ return n.promise();
53
+ };
54
+
55
+ var E = () => {
56
+ if (n) {
57
+ n.end();
58
+ }
59
+ i = void 0;
60
+ };
61
+
62
+ var l = new Set([ "adapter", "compression", "connect", "dialect", "keySize", "table", "ttl", "uri" ]);
63
+
64
+ var u = class extends a.default {
65
+ ttlSupport=false;
66
+ opts;
67
+ namespace;
68
+ query;
69
+ constructor(t) {
70
+ super();
71
+ let e = {
72
+ dialect: "mysql",
73
+ uri: "mysql://localhost"
74
+ };
75
+ if (typeof t === "string") {
76
+ e.uri = t;
77
+ } else {
78
+ e = {
79
+ ...e,
80
+ ...t
81
+ };
82
+ }
83
+ if (e.intervalExpiration !== void 0 && e.intervalExpiration > 0) {
84
+ this.ttlSupport = true;
85
+ }
86
+ const s = Object.fromEntries(Object.entries(e).filter((([t]) => !l.has(t))));
87
+ delete s.namespace;
88
+ delete s.serialize;
89
+ delete s.deserialize;
90
+ const a = async () => {
91
+ const t = c(e.uri, s);
92
+ return async e => {
93
+ const s = await t.query(e);
94
+ return s[0];
95
+ };
96
+ };
97
+ this.opts = {
98
+ table: "keyv",
99
+ keySize: 255,
100
+ ...e
101
+ };
102
+ const o = `CREATE TABLE IF NOT EXISTS ${this.opts.table}(id VARCHAR(${Number(this.opts.keySize)}) PRIMARY KEY, value TEXT)`;
103
+ const n = a().then((async t => {
104
+ await t(o);
105
+ if (this.opts.intervalExpiration !== void 0 && this.opts.intervalExpiration > 0) {
106
+ await t("SET GLOBAL event_scheduler = ON;");
107
+ await t("DROP EVENT IF EXISTS keyv_delete_expired_keys;");
108
+ await t(`CREATE EVENT IF NOT EXISTS keyv_delete_expired_keys ON SCHEDULE EVERY ${this.opts.intervalExpiration} SECOND\n\t\t\t\t\tDO DELETE FROM ${this.opts.table}\n\t\t\t\t\tWHERE CAST(value->'$.expires' AS UNSIGNED) BETWEEN 1 AND UNIX_TIMESTAMP(NOW(3)) * 1000;`);
109
+ }
110
+ return t;
111
+ })).catch((t => this.emit("error", t)));
112
+ this.query = async t => {
113
+ const e = await n;
114
+ return e(t);
115
+ };
116
+ }
117
+ async get(t) {
118
+ const e = `SELECT * FROM ${this.opts.table} WHERE id = ?`;
119
+ const s = o.default.format(e, [ t ]);
120
+ const a = await this.query(s);
121
+ const n = a[0];
122
+ return n?.value;
123
+ }
124
+ async getMany(t) {
125
+ const e = `SELECT * FROM ${this.opts.table} WHERE id IN (?)`;
126
+ const s = o.default.format(e, [ t ]);
127
+ const a = await this.query(s);
128
+ const n = [];
129
+ for (const e of t) {
130
+ const t = a.findIndex((t => t.id === e));
131
+ n.push(t === -1 ? void 0 : a[t].value);
132
+ }
133
+ return n;
134
+ }
135
+ async set(t, e) {
136
+ const s = `INSERT INTO ${this.opts.table} (id, value)\n\t\t\tVALUES(?, ?) \n\t\t\tON DUPLICATE KEY UPDATE value=?;`;
137
+ const a = [ t, e, e ];
138
+ const n = o.default.format(s, a);
139
+ return this.query(n);
140
+ }
141
+ async delete(t) {
142
+ const e = `SELECT * FROM ${this.opts.table} WHERE id = ?`;
143
+ const s = o.default.format(e, [ t ]);
144
+ const a = `DELETE FROM ${this.opts.table} WHERE id = ?`;
145
+ const n = o.default.format(a, [ t ]);
146
+ const i = await this.query(s);
147
+ const r = i[0];
148
+ if (r === void 0) {
149
+ return false;
150
+ }
151
+ await this.query(n);
152
+ return true;
153
+ }
154
+ async deleteMany(t) {
155
+ const e = `DELETE FROM ${this.opts.table} WHERE id IN (?)`;
156
+ const s = o.default.format(e, [ t ]);
157
+ const a = await this.query(s);
158
+ return a.affectedRows !== 0;
159
+ }
160
+ async clear() {
161
+ const t = `DELETE FROM ${this.opts.table} WHERE id LIKE ?`;
162
+ const e = o.default.format(t, [ this.namespace ? `${this.namespace}:%` : "%" ]);
163
+ await this.query(e);
164
+ }
165
+ async* iterator(t) {
166
+ const e = Number.parseInt(this.opts.iterationLimit, 10) || 10;
167
+ async function* s(a, n, i) {
168
+ const r = `SELECT * FROM ${n.table} WHERE id LIKE ? LIMIT ? OFFSET ?`;
169
+ const c = o.default.format(r, [ `${t ? t + ":" : ""}%`, e, a ]);
170
+ const E = await i(c);
171
+ if (E.length === 0) {
172
+ return;
173
+ }
174
+ for (const t of E) {
175
+ a += 1;
176
+ yield [ t.id, t.value ];
177
+ }
178
+ yield* s(a, n, i);
179
+ }
180
+ yield* s(0, this.opts, this.query);
181
+ }
182
+ async has(t) {
183
+ const e = `SELECT EXISTS ( SELECT * FROM ${this.opts.table} WHERE id = '${t}' )`;
184
+ const s = await this.query(e);
185
+ return Object.values(s[0])[0] === 1;
186
+ }
187
+ async disconnect() {
188
+ E();
189
+ }
190
+ };
191
+
192
+ var d = u;
193
+
194
+ exports.KeyvMysql = u;
195
+
196
+ exports.default = d;
@@ -0,0 +1,180 @@
1
+ import t from "events";
2
+
3
+ import e from "mysql2";
4
+
5
+ var s;
6
+
7
+ var a;
8
+
9
+ var o = t => {
10
+ t = t.replace(/#/g, "%23");
11
+ const e = new URL(t);
12
+ const s = {
13
+ user: decodeURIComponent(e.username),
14
+ password: decodeURIComponent(e.password) || void 0,
15
+ host: e.hostname,
16
+ port: e.port ? Number.parseInt(e.port, 10) : void 0,
17
+ database: decodeURIComponent(e.pathname.slice(1))
18
+ };
19
+ for (const t of Object.keys(s)) {
20
+ if (s[t] === void 0) {
21
+ delete s[t];
22
+ }
23
+ }
24
+ return s;
25
+ };
26
+
27
+ var i = (t, i = {}) => {
28
+ if (a !== t) {
29
+ s = void 0;
30
+ a = t;
31
+ }
32
+ const n = o(t);
33
+ const r = {
34
+ ...n,
35
+ ...i
36
+ };
37
+ s ??= e.createPool(r);
38
+ return s.promise();
39
+ };
40
+
41
+ var n = () => {
42
+ if (s) {
43
+ s.end();
44
+ }
45
+ a = void 0;
46
+ };
47
+
48
+ var r = new Set([ "adapter", "compression", "connect", "dialect", "keySize", "table", "ttl", "uri" ]);
49
+
50
+ var c = class extends t {
51
+ ttlSupport=false;
52
+ opts;
53
+ namespace;
54
+ query;
55
+ constructor(t) {
56
+ super();
57
+ let e = {
58
+ dialect: "mysql",
59
+ uri: "mysql://localhost"
60
+ };
61
+ if (typeof t === "string") {
62
+ e.uri = t;
63
+ } else {
64
+ e = {
65
+ ...e,
66
+ ...t
67
+ };
68
+ }
69
+ if (e.intervalExpiration !== void 0 && e.intervalExpiration > 0) {
70
+ this.ttlSupport = true;
71
+ }
72
+ const s = Object.fromEntries(Object.entries(e).filter((([t]) => !r.has(t))));
73
+ delete s.namespace;
74
+ delete s.serialize;
75
+ delete s.deserialize;
76
+ const a = async () => {
77
+ const t = i(e.uri, s);
78
+ return async e => {
79
+ const s = await t.query(e);
80
+ return s[0];
81
+ };
82
+ };
83
+ this.opts = {
84
+ table: "keyv",
85
+ keySize: 255,
86
+ ...e
87
+ };
88
+ const o = `CREATE TABLE IF NOT EXISTS ${this.opts.table}(id VARCHAR(${Number(this.opts.keySize)}) PRIMARY KEY, value TEXT)`;
89
+ const n = a().then((async t => {
90
+ await t(o);
91
+ if (this.opts.intervalExpiration !== void 0 && this.opts.intervalExpiration > 0) {
92
+ await t("SET GLOBAL event_scheduler = ON;");
93
+ await t("DROP EVENT IF EXISTS keyv_delete_expired_keys;");
94
+ await t(`CREATE EVENT IF NOT EXISTS keyv_delete_expired_keys ON SCHEDULE EVERY ${this.opts.intervalExpiration} SECOND\n\t\t\t\t\tDO DELETE FROM ${this.opts.table}\n\t\t\t\t\tWHERE CAST(value->'$.expires' AS UNSIGNED) BETWEEN 1 AND UNIX_TIMESTAMP(NOW(3)) * 1000;`);
95
+ }
96
+ return t;
97
+ })).catch((t => this.emit("error", t)));
98
+ this.query = async t => {
99
+ const e = await n;
100
+ return e(t);
101
+ };
102
+ }
103
+ async get(t) {
104
+ const s = `SELECT * FROM ${this.opts.table} WHERE id = ?`;
105
+ const a = e.format(s, [ t ]);
106
+ const o = await this.query(a);
107
+ const i = o[0];
108
+ return i?.value;
109
+ }
110
+ async getMany(t) {
111
+ const s = `SELECT * FROM ${this.opts.table} WHERE id IN (?)`;
112
+ const a = e.format(s, [ t ]);
113
+ const o = await this.query(a);
114
+ const i = [];
115
+ for (const e of t) {
116
+ const t = o.findIndex((t => t.id === e));
117
+ i.push(t === -1 ? void 0 : o[t].value);
118
+ }
119
+ return i;
120
+ }
121
+ async set(t, s) {
122
+ const a = `INSERT INTO ${this.opts.table} (id, value)\n\t\t\tVALUES(?, ?) \n\t\t\tON DUPLICATE KEY UPDATE value=?;`;
123
+ const o = [ t, s, s ];
124
+ const i = e.format(a, o);
125
+ return this.query(i);
126
+ }
127
+ async delete(t) {
128
+ const s = `SELECT * FROM ${this.opts.table} WHERE id = ?`;
129
+ const a = e.format(s, [ t ]);
130
+ const o = `DELETE FROM ${this.opts.table} WHERE id = ?`;
131
+ const i = e.format(o, [ t ]);
132
+ const n = await this.query(a);
133
+ const r = n[0];
134
+ if (r === void 0) {
135
+ return false;
136
+ }
137
+ await this.query(i);
138
+ return true;
139
+ }
140
+ async deleteMany(t) {
141
+ const s = `DELETE FROM ${this.opts.table} WHERE id IN (?)`;
142
+ const a = e.format(s, [ t ]);
143
+ const o = await this.query(a);
144
+ return o.affectedRows !== 0;
145
+ }
146
+ async clear() {
147
+ const t = `DELETE FROM ${this.opts.table} WHERE id LIKE ?`;
148
+ const s = e.format(t, [ this.namespace ? `${this.namespace}:%` : "%" ]);
149
+ await this.query(s);
150
+ }
151
+ async* iterator(t) {
152
+ const s = Number.parseInt(this.opts.iterationLimit, 10) || 10;
153
+ async function* a(o, i, n) {
154
+ const r = `SELECT * FROM ${i.table} WHERE id LIKE ? LIMIT ? OFFSET ?`;
155
+ const c = e.format(r, [ `${t ? t + ":" : ""}%`, s, o ]);
156
+ const E = await n(c);
157
+ if (E.length === 0) {
158
+ return;
159
+ }
160
+ for (const t of E) {
161
+ o += 1;
162
+ yield [ t.id, t.value ];
163
+ }
164
+ yield* a(o, i, n);
165
+ }
166
+ yield* a(0, this.opts, this.query);
167
+ }
168
+ async has(t) {
169
+ const e = `SELECT EXISTS ( SELECT * FROM ${this.opts.table} WHERE id = '${t}' )`;
170
+ const s = await this.query(e);
171
+ return Object.values(s[0])[0] === 1;
172
+ }
173
+ async disconnect() {
174
+ n();
175
+ }
176
+ };
177
+
178
+ var E = c;
179
+
180
+ export { c as KeyvMysql, E as default };
@@ -2,7 +2,7 @@
2
2
 
3
3
  const e = require("./Package.5.cjs");
4
4
 
5
- require("./Package.12.cjs");
5
+ require("./Package.122.cjs");
6
6
 
7
7
  require("./Package.10.cjs");
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { g as e } from "./Package.5.mjs";
2
2
 
3
- import "./Package.12.mjs";
3
+ import "./Package.122.mjs";
4
4
 
5
5
  import "./Package.10.mjs";
6
6