tspace-mysql 1.7.0 → 1.7.2

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 (50) hide show
  1. package/README.md +2 -1
  2. package/build/lib/connection/index.d.ts +0 -1
  3. package/build/lib/connection/index.js +0 -3
  4. package/build/lib/connection/index.js.map +1 -1
  5. package/build/lib/constants/index.d.ts +0 -1
  6. package/build/lib/constants/index.js.map +1 -1
  7. package/build/lib/core/Abstracts/AbstractBuilder.d.ts +2 -3
  8. package/build/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  9. package/build/lib/core/Abstracts/AbstractDB.js.map +1 -1
  10. package/build/lib/core/Abstracts/AbstractModel.d.ts +2 -3
  11. package/build/lib/core/Abstracts/AbstractModel.js.map +1 -1
  12. package/build/lib/core/Builder.d.ts +21 -5
  13. package/build/lib/core/Builder.js +33 -15
  14. package/build/lib/core/Builder.js.map +1 -1
  15. package/build/lib/core/Cache/DBCache.d.ts +8 -3
  16. package/build/lib/core/Cache/DBCache.js +115 -68
  17. package/build/lib/core/Cache/DBCache.js.map +1 -1
  18. package/build/lib/core/Cache/MemoryCache.d.ts +3 -1
  19. package/build/lib/core/Cache/MemoryCache.js +15 -4
  20. package/build/lib/core/Cache/MemoryCache.js.map +1 -1
  21. package/build/lib/core/Cache/RedisCache.d.ts +5 -1
  22. package/build/lib/core/Cache/RedisCache.js +37 -8
  23. package/build/lib/core/Cache/RedisCache.js.map +1 -1
  24. package/build/lib/core/Cache/index.d.ts +48 -4
  25. package/build/lib/core/Cache/index.js +84 -18
  26. package/build/lib/core/Cache/index.js.map +1 -1
  27. package/build/lib/core/DB.d.ts +3 -4
  28. package/build/lib/core/DB.js.map +1 -1
  29. package/build/lib/core/Model.d.ts +32 -13
  30. package/build/lib/core/Model.js +107 -56
  31. package/build/lib/core/Model.js.map +1 -1
  32. package/build/lib/core/Repository.js.map +1 -1
  33. package/build/lib/core/Tools/index.d.ts +5 -0
  34. package/build/lib/core/Tools/index.js +16 -0
  35. package/build/lib/core/Tools/index.js.map +1 -0
  36. package/build/lib/types.d.ts +10 -6
  37. package/build/tests/03-Model-default.test.js +353 -0
  38. package/build/tests/03-Model-default.test.js.map +1 -0
  39. package/build/tests/04-Model-pattern.test.d.ts +1 -0
  40. package/build/tests/{03-Model.test.js → 04-Model-pattern.test.js} +1 -1
  41. package/build/tests/04-Model-pattern.test.js.map +1 -0
  42. package/build/tests/default-spec.d.ts +244 -0
  43. package/build/tests/default-spec.js +73 -0
  44. package/build/tests/default-spec.js.map +1 -0
  45. package/build/tests/schema-spec.d.ts +9 -0
  46. package/build/tests/schema-spec.js +33 -1
  47. package/build/tests/schema-spec.js.map +1 -1
  48. package/package.json +2 -3
  49. package/build/tests/03-Model.test.js.map +0 -1
  50. /package/build/tests/{03-Model.test.d.ts → 03-Model-default.test.d.ts} +0 -0
@@ -13,112 +13,159 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DBCache = void 0;
16
- const __1 = require("..");
16
+ const __1 = require("../");
17
17
  const utils_1 = __importDefault(require("../../utils"));
18
+ const constants_1 = __importDefault(require("../../constants"));
18
19
  class DBCache {
19
20
  constructor() {
20
21
  this._cacheTable = '$cache';
22
+ this._v0x = 'v0x';
21
23
  this._maxAddress = 10;
22
- this._maxLength = 50;
23
- this._c0x0 = 'c0x0';
24
+ this._maxLength = 100;
25
+ this._db = () => new __1.DB(this._cacheTable);
24
26
  }
25
- set(key, value, ms) {
27
+ all() {
26
28
  return __awaiter(this, void 0, void 0, function* () {
27
- yield this._checkTableCacheIsExists();
28
- const expiredAt = Date.now() + ms;
29
- if (utils_1.default.typeOf(value) === 'array') {
30
- const avg = value.length / this._maxAddress;
31
- const chunked = utils_1.default.chunkArray(value, avg > this._maxLength ? avg : this._maxLength);
32
- const cache = {};
33
- for (const [index, value] of chunked.entries()) {
34
- cache[`${this._c0x0}${index}`] = JSON.stringify(value);
29
+ const cacheds = yield this._db().get();
30
+ const values = [];
31
+ for (const cached of cacheds) {
32
+ for (let i = 0; i < this._maxAddress; i++) {
33
+ const find = cached[this._addressNumber(i)];
34
+ if (find == null || find === '')
35
+ break;
36
+ if (Number.isNaN(+cached.expiredAt) ||
37
+ new Date() > new Date(+cached.expiredAt)) {
38
+ yield this._db()
39
+ .where('key', cached.key)
40
+ .delete();
41
+ continue;
42
+ }
43
+ const maybeArray = this._safetyJsonParse(find);
44
+ if (Array.isArray(maybeArray)) {
45
+ values.push(...this._safetyJsonParse(find));
46
+ continue;
47
+ }
48
+ values.push(this._safetyJsonParse(find));
35
49
  }
36
- yield new __1.DB(this._cacheTable).create(Object.assign(Object.assign({ key }, cache), { expiredAt, createdAt: utils_1.default.timestamp(), updatedAt: utils_1.default.timestamp() }))
37
- .void()
38
- .save();
39
- return;
40
50
  }
41
- yield new __1.DB(this._cacheTable).create({
42
- key,
43
- [`${this._c0x0}0`]: JSON.stringify(value),
44
- expiredAt,
45
- createdAt: utils_1.default.timestamp(),
46
- updatedAt: utils_1.default.timestamp()
47
- })
48
- .void()
49
- .save();
50
- return;
51
+ return values;
52
+ });
53
+ }
54
+ exists(key) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const cached = yield this._db().where('key', key).exists();
57
+ return cached;
51
58
  });
52
59
  }
53
60
  get(key) {
54
61
  return __awaiter(this, void 0, void 0, function* () {
55
- yield this._checkTableCacheIsExists();
56
- const cached = yield new __1.DB(this._cacheTable).where('key', key).first();
57
- if (!cached)
58
- return null;
59
- if (Number.isNaN(+cached.expiredAt) || (new Date() > new Date(+cached.expiredAt))) {
60
- yield new __1.DB(this._cacheTable).where('key', key).delete();
61
- return null;
62
+ var _a;
63
+ try {
64
+ const cached = yield this._db().where('key', key).findOne();
65
+ if (!cached)
66
+ return null;
67
+ if (Number.isNaN(+cached.expiredAt) ||
68
+ new Date() > new Date(+cached.expiredAt)) {
69
+ yield this._db()
70
+ .where('key', key)
71
+ .delete();
72
+ return null;
73
+ }
74
+ const value = this._safetyJsonParse(cached[this._addressNumber(0)]);
75
+ if (!Array.isArray(value))
76
+ return value;
77
+ const values = [];
78
+ for (let i = 0; i < this._maxAddress; i++) {
79
+ const find = cached[this._addressNumber(i)];
80
+ if (find == null || find === '')
81
+ break;
82
+ const maybeArray = this._safetyJsonParse(find);
83
+ if (Array.isArray(maybeArray)) {
84
+ values.push(...this._safetyJsonParse(find));
85
+ continue;
86
+ }
87
+ values.push(this._safetyJsonParse(find));
88
+ }
89
+ return values;
62
90
  }
63
- const value = JSON.parse(cached[`${this._c0x0}0`]);
64
- if (utils_1.default.typeOf(value) !== 'array')
65
- return value;
66
- const values = [];
67
- for (let i = 0; i <= 9; i++) {
68
- const find = cached[`${this._c0x0}${i}`];
69
- if (find == null || find === '')
70
- break;
71
- const maybeArray = JSON.parse(find);
72
- if (Array.isArray(maybeArray)) {
73
- values.push(...JSON.parse(find));
74
- continue;
91
+ catch (err) {
92
+ const message = String((_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : '');
93
+ if (message.toLocaleLowerCase().includes("doesn't exist")) {
94
+ yield this._checkTableCacheExists();
95
+ return yield this.get(key);
75
96
  }
76
- values.push(JSON.parse(find));
97
+ throw err;
77
98
  }
78
- return values;
99
+ });
100
+ }
101
+ set(key, value, ms) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const expiredAt = Date.now() + ms;
104
+ if (!Array.isArray(value)) {
105
+ yield this._db().create({
106
+ key,
107
+ [this._addressNumber(0)]: JSON.stringify(value),
108
+ expiredAt,
109
+ createdAt: utils_1.default.timestamp(),
110
+ updatedAt: utils_1.default.timestamp()
111
+ })
112
+ .void()
113
+ .save();
114
+ return;
115
+ }
116
+ const avg = value.length / this._maxAddress;
117
+ const chunked = utils_1.default.chunkArray(value, avg > this._maxLength ? avg : this._maxLength);
118
+ const cache = {};
119
+ for (const [index, value] of chunked.entries()) {
120
+ cache[this._addressNumber(index)] = JSON.stringify(value);
121
+ }
122
+ yield this._db().create(Object.assign(Object.assign({ key }, cache), { expiredAt, createdAt: utils_1.default.timestamp(), updatedAt: utils_1.default.timestamp() }))
123
+ .void()
124
+ .save();
125
+ return;
79
126
  });
80
127
  }
81
128
  clear() {
82
129
  return __awaiter(this, void 0, void 0, function* () {
83
- yield new __1.DB(this._cacheTable).truncate({ force: true });
130
+ yield this._db().truncate({ force: true });
84
131
  return;
85
132
  });
86
133
  }
87
134
  delete(key) {
88
135
  return __awaiter(this, void 0, void 0, function* () {
89
- yield new __1.DB(this._cacheTable).where('key', key).delete();
136
+ yield this._db().where('key', key).delete();
90
137
  return;
91
138
  });
92
139
  }
93
- _checkTableCacheIsExists() {
140
+ _addressNumber(number) {
141
+ const index = `0${number}`.slice(-2);
142
+ return `${this._v0x}${index}`;
143
+ }
144
+ _checkTableCacheExists() {
94
145
  return __awaiter(this, void 0, void 0, function* () {
95
146
  const table = this._cacheTable;
96
- const checkTables = yield new __1.DB().rawQuery(`SHOW TABLES LIKE '${table}'`);
147
+ const checkTables = yield new __1.DB().rawQuery(`${constants_1.default.SHOW_TABLES} ${constants_1.default.LIKE} '${table}'`);
97
148
  const existsTables = checkTables.map((c) => Object.values(c)[0])[0];
98
149
  if (existsTables != null)
99
150
  return;
100
- const schemaLogger = {
101
- id: new __1.Blueprint().int().notNull().primary().autoIncrement(),
102
- key: new __1.Blueprint().longText().notNull(),
103
- [`${this._c0x0}0`]: new __1.Blueprint().longText().null(),
104
- [`${this._c0x0}1`]: new __1.Blueprint().longText().null(),
105
- [`${this._c0x0}2`]: new __1.Blueprint().longText().null(),
106
- [`${this._c0x0}3`]: new __1.Blueprint().longText().null(),
107
- [`${this._c0x0}4`]: new __1.Blueprint().longText().null(),
108
- [`${this._c0x0}5`]: new __1.Blueprint().longText().null(),
109
- [`${this._c0x0}6`]: new __1.Blueprint().longText().null(),
110
- [`${this._c0x0}7`]: new __1.Blueprint().longText().null(),
111
- [`${this._c0x0}8`]: new __1.Blueprint().longText().null(),
112
- [`${this._c0x0}9`]: new __1.Blueprint().longText().null(),
113
- expiredAt: new __1.Blueprint().varchar(100).null(),
114
- createdAt: new __1.Blueprint().timestamp().null(),
115
- updatedAt: new __1.Blueprint().timestamp().null()
116
- };
151
+ let address = {};
152
+ for (let i = 0; i < this._maxAddress; i++) {
153
+ address[this._addressNumber(i)] = new __1.Blueprint().longText().null();
154
+ }
155
+ const schemaLogger = Object.assign(Object.assign({ id: new __1.Blueprint().int().notNull().primary().autoIncrement(), key: new __1.Blueprint().longText().notNull() }, address), { expiredAt: new __1.Blueprint().varchar(100).null(), createdAt: new __1.Blueprint().timestamp().null(), updatedAt: new __1.Blueprint().timestamp().null() });
117
156
  const sql = new __1.Schema().createTable(`\`${table}\``, schemaLogger);
118
157
  yield new __1.DB().rawQuery(sql);
119
158
  return;
120
159
  });
121
160
  }
161
+ _safetyJsonParse(value) {
162
+ try {
163
+ return JSON.parse(value);
164
+ }
165
+ catch (e) {
166
+ return value;
167
+ }
168
+ }
122
169
  }
123
170
  exports.DBCache = DBCache;
124
171
  exports.default = DBCache;
@@ -1 +1 @@
1
- {"version":3,"file":"DBCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/DBCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/DBCache.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  declare class MemoryCache {
2
2
  private cache;
3
3
  constructor();
4
- set(key: string, value: any, ms: number): void;
4
+ all(): any[];
5
+ exists(key: string): boolean;
5
6
  get(key: string): any;
7
+ set(key: string, value: any, ms: number): void;
6
8
  clear(): void;
7
9
  delete(key: string): void;
8
10
  }
@@ -5,10 +5,16 @@ class MemoryCache {
5
5
  constructor() {
6
6
  this.cache = new Map();
7
7
  }
8
- set(key, value, ms) {
9
- const expiredAt = Date.now() + ms;
10
- this.cache.set(key, { value, expiredAt });
11
- return;
8
+ all() {
9
+ const values = [];
10
+ for (const value of this.cache.values()) {
11
+ values.push(value);
12
+ }
13
+ return values;
14
+ }
15
+ exists(key) {
16
+ const cached = this.cache.get(key);
17
+ return cached != null;
12
18
  }
13
19
  get(key) {
14
20
  const cached = this.cache.get(key);
@@ -20,6 +26,11 @@ class MemoryCache {
20
26
  }
21
27
  return cached.value;
22
28
  }
29
+ set(key, value, ms) {
30
+ const expiredAt = Date.now() + ms;
31
+ this.cache.set(key, { value, expiredAt });
32
+ return;
33
+ }
23
34
  clear() {
24
35
  this.cache.clear();
25
36
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/MemoryCache.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW;IAGb;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QAEjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzC,OAAM;IACV,CAAC;IAED,GAAG,CAAC,GAAW;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAExB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAA;IACvB,CAAC;IAED,KAAK;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAElB,OAAM;IACV,CAAC;IAED,MAAM,CAAC,GAAW;QAEd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEtB,OAAM;IACV,CAAC;CACJ;AAEQ,kCAAW;AACpB,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/MemoryCache.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW;IAGb;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG;QACC,MAAM,MAAM,GAAW,EAAE,CAAA;QAEzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAE,GAAY;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,OAAO,MAAM,IAAI,IAAI,CAAA;IACzB,CAAC;IAED,GAAG,CAAC,GAAW;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAExB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QAEjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzC,OAAM;IACV,CAAC;IAED,KAAK;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAElB,OAAM;IACV,CAAC;IAED,MAAM,CAAC,GAAW;QAEd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEtB,OAAM;IACV,CAAC;CACJ;AAEQ,kCAAW;AACpB,kBAAe,WAAW,CAAA"}
@@ -1,10 +1,14 @@
1
1
  declare class RedisCache {
2
+ private _redis;
2
3
  private client;
3
4
  constructor(url: string);
4
- set(key: string, value: any, ms: number): Promise<void>;
5
+ all(): Promise<any[]>;
6
+ exists(key: string): Promise<boolean>;
5
7
  get(key: string): Promise<any>;
8
+ set(key: string, value: any, ms: number): Promise<void>;
6
9
  clear(): Promise<void>;
7
10
  delete(key: string): Promise<void>;
11
+ private _safetyJsonParse;
8
12
  }
9
13
  export { RedisCache };
10
14
  export default RedisCache;
@@ -10,23 +10,37 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RedisCache = void 0;
13
- const redis_1 = require("redis");
13
+ const Tools_1 = require("../Tools");
14
14
  class RedisCache {
15
15
  constructor(url) {
16
- this.client = (0, redis_1.createClient)({
16
+ this._redis = Tools_1.Tools.import('redis');
17
+ this.client = this._redis.createClient({
17
18
  url
18
19
  });
19
20
  this.client.on("error", (err) => {
20
- if (err)
21
+ if (err) {
22
+ console.log(err);
21
23
  this.client.quit();
24
+ }
22
25
  });
23
26
  this.client.connect();
24
27
  }
25
- set(key, value, ms) {
28
+ all() {
26
29
  return __awaiter(this, void 0, void 0, function* () {
27
- const expiredAt = Date.now() + ms;
28
- yield this.client.setEx(key, expiredAt, JSON.stringify(value));
29
- return;
30
+ const cacheds = yield this.client.keys('*');
31
+ const values = [];
32
+ for (const cached in cacheds) {
33
+ values.push(cached == null
34
+ ? null
35
+ : this._safetyJsonParse(cached));
36
+ }
37
+ return values;
38
+ });
39
+ }
40
+ exists(key) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const cached = yield this.client.get(key);
43
+ return cached != null;
30
44
  });
31
45
  }
32
46
  get(key) {
@@ -34,7 +48,14 @@ class RedisCache {
34
48
  const cached = yield this.client.get(key);
35
49
  if (cached == null)
36
50
  return null;
37
- return JSON.parse(cached);
51
+ return this._safetyJsonParse(cached);
52
+ });
53
+ }
54
+ set(key, value, ms) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const expiredAt = Date.now() + ms;
57
+ yield this.client.setEx(key, expiredAt, JSON.stringify(value));
58
+ return;
38
59
  });
39
60
  }
40
61
  clear() {
@@ -49,6 +70,14 @@ class RedisCache {
49
70
  return;
50
71
  });
51
72
  }
73
+ _safetyJsonParse(value) {
74
+ try {
75
+ return JSON.parse(value);
76
+ }
77
+ catch (e) {
78
+ return value;
79
+ }
80
+ }
52
81
  }
53
82
  exports.RedisCache = RedisCache;
54
83
  exports.default = RedisCache;
@@ -1 +1 @@
1
- {"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/RedisCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAuD;AAEvD,MAAM,UAAU;IAGZ,YAAY,GAAY;QAEpB,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAY,EAAC;YACvB,GAAG;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAS,EAAE,EAAE;YAClC,IAAG,GAAG;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAEzB,CAAC;IAEK,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;;YAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;YAEjC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAG,SAAS,EAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEjE,OAAM;QACV,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW;;YAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;YAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;KAAA;IAEK,KAAK;;YAEP,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAE5B,OAAM;QACV,CAAC;KAAA;IAEK,MAAM,CAAC,GAAW;;YAEpB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAE1B,OAAM;QACV,CAAC;KAAA;CACJ;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/RedisCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAgC;AAEhC,MAAM,UAAU;IAaZ,YAAY,GAAY;QAZhB,WAAM,GAAkC,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAcjE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnC,GAAG;SACN,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAS,EAAE,EAAE;YAClC,IAAG,GAAG,EAAE,CAAC;gBACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACtB,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAEzB,CAAC;IAEK,GAAG;;YAEL,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAW,EAAE,CAAA;YAEzB,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAE1B,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI;oBACtB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAClC,CAAA;YACL,CAAC;YAED,OAAO,MAAM,CAAA;QACjB,CAAC;KAAA;IAEK,MAAM,CAAE,GAAW;;YAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,OAAO,MAAM,IAAI,IAAI,CAAA;QACzB,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW;;YAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;YAE/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;;YAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;YAEjC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAG,SAAS,EAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YAEhE,OAAM;QACV,CAAC;KAAA;IAGK,KAAK;;YAEP,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAE5B,OAAM;QACV,CAAC;KAAA;IAEK,MAAM,CAAC,GAAW;;YAEpB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAE1B,OAAM;QACV,CAAC;KAAA;IAEO,gBAAgB,CAAE,KAAW;QACjC,IAAI,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAE5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAET,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;CACJ;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAA"}
@@ -1,11 +1,55 @@
1
1
  declare class Cache {
2
2
  private _driver;
3
3
  constructor();
4
+ /**
5
+ * The 'driver' method is used to pick a driver for the cache
6
+ *
7
+ * @param {string} driver 'db' | 'memory' | 'redis'
8
+ * @returns {this} this
9
+ */
4
10
  driver(driver: 'db' | 'memory' | 'redis'): this;
5
- set(key: string, value: any, ms: number): Promise<void>;
6
- get(key: string): Promise<any>;
11
+ /**
12
+ * The 'all' method is used get all cache
13
+ *
14
+ * @returns {Promise<array>} array
15
+ */
16
+ all<T = any>(): Promise<T[] | any[]>;
17
+ /**
18
+ * The 'exists' method is used get all cache
19
+ *
20
+ * @param {string} key
21
+ * @returns {Promise<array>} array
22
+ */
23
+ exists(key: string): Promise<boolean>;
24
+ /**
25
+ * The 'get' method is used get cache by key
26
+ * @param {string} key
27
+ * @returns {any} any
28
+ */
29
+ get<T>(key: string): Promise<T | any>;
30
+ /**
31
+ * The 'set' method is used set the cache
32
+ *
33
+ * @param {string} key
34
+ * @param {unknown} value
35
+ * @param {number} ms
36
+ * @returns {Promise<void>} void
37
+ */
38
+ set(key: string, value: unknown, ms: number): Promise<void>;
39
+ /**
40
+ * The 'clear' method is used clear all cache
41
+ *
42
+ * @returns {Promise<void>} void
43
+ */
7
44
  clear(): Promise<void>;
45
+ /**
46
+ * The 'clear' method is used delete cache by key
47
+ *
48
+ * @returns {Promise<void>} void
49
+ */
8
50
  delete(key: string): Promise<void>;
51
+ private _chooseDriver;
9
52
  }
10
- export { Cache };
11
- export default Cache;
53
+ declare const cacheInstance: Cache;
54
+ export { cacheInstance as Cache, Cache as TCache };
55
+ export default cacheInstance;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Cache = void 0;
15
+ exports.TCache = exports.Cache = void 0;
16
16
  const MemoryCache_1 = require("./MemoryCache");
17
17
  const DBCache_1 = require("./DBCache");
18
18
  const RedisCache_1 = require("./RedisCache");
@@ -20,31 +20,49 @@ const options_1 = __importDefault(require("../../options"));
20
20
  class Cache {
21
21
  constructor() {
22
22
  this._driver = new MemoryCache_1.MemoryCache();
23
- if (options_1.default.CACHE === 'memory' || options_1.default.CACHE == null)
24
- this._driver = new MemoryCache_1.MemoryCache();
25
- if (options_1.default.CACHE === 'db')
26
- this._driver = new DBCache_1.DBCache();
27
- if (options_1.default.CACHE === 'redis')
28
- this._driver = new RedisCache_1.RedisCache(String(options_1.default.REDIS_URL));
23
+ this._chooseDriver(options_1.default.CACHE);
24
+ return this;
29
25
  }
26
+ /**
27
+ * The 'driver' method is used to pick a driver for the cache
28
+ *
29
+ * @param {string} driver 'db' | 'memory' | 'redis'
30
+ * @returns {this} this
31
+ */
30
32
  driver(driver) {
31
- if (driver === 'memory' || driver == null)
32
- this._driver = new MemoryCache_1.MemoryCache();
33
- if (driver === 'db')
34
- this._driver = new DBCache_1.DBCache();
35
- if (driver === 'redis')
36
- this._driver = new RedisCache_1.RedisCache(String(options_1.default.REDIS_URL));
37
- return this;
33
+ return this._chooseDriver(driver);
38
34
  }
39
- set(key, value, ms) {
35
+ /**
36
+ * The 'all' method is used get all cache
37
+ *
38
+ * @returns {Promise<array>} array
39
+ */
40
+ all() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ return yield this._driver.all();
43
+ });
44
+ }
45
+ /**
46
+ * The 'exists' method is used get all cache
47
+ *
48
+ * @param {string} key
49
+ * @returns {Promise<array>} array
50
+ */
51
+ exists(key) {
40
52
  return __awaiter(this, void 0, void 0, function* () {
41
53
  try {
42
- yield this._driver.set(key, value, ms);
54
+ return yield this._driver.exists(key);
43
55
  }
44
56
  catch (e) {
57
+ return false;
45
58
  }
46
59
  });
47
60
  }
61
+ /**
62
+ * The 'get' method is used get cache by key
63
+ * @param {string} key
64
+ * @returns {any} any
65
+ */
48
66
  get(key) {
49
67
  return __awaiter(this, void 0, void 0, function* () {
50
68
  try {
@@ -58,18 +76,66 @@ class Cache {
58
76
  }
59
77
  });
60
78
  }
79
+ /**
80
+ * The 'set' method is used set the cache
81
+ *
82
+ * @param {string} key
83
+ * @param {unknown} value
84
+ * @param {number} ms
85
+ * @returns {Promise<void>} void
86
+ */
87
+ set(key, value, ms) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ try {
90
+ yield this._driver.set(key, value, ms);
91
+ return;
92
+ }
93
+ catch (e) {
94
+ return;
95
+ }
96
+ });
97
+ }
98
+ /**
99
+ * The 'clear' method is used clear all cache
100
+ *
101
+ * @returns {Promise<void>} void
102
+ */
61
103
  clear() {
62
104
  return __awaiter(this, void 0, void 0, function* () {
63
105
  return yield this._driver.clear();
64
106
  });
65
107
  }
108
+ /**
109
+ * The 'clear' method is used delete cache by key
110
+ *
111
+ * @returns {Promise<void>} void
112
+ */
66
113
  delete(key) {
67
114
  return __awaiter(this, void 0, void 0, function* () {
68
115
  yield this._driver.delete(key);
69
116
  return;
70
117
  });
71
118
  }
119
+ _chooseDriver(driver) {
120
+ switch (driver) {
121
+ case 'db': {
122
+ this._driver = new DBCache_1.DBCache();
123
+ break;
124
+ }
125
+ case 'redis': {
126
+ this._driver = new RedisCache_1.RedisCache(String(options_1.default.REDIS_URL));
127
+ break;
128
+ }
129
+ default: {
130
+ this._driver = new MemoryCache_1.MemoryCache();
131
+ break;
132
+ }
133
+ }
134
+ return this;
135
+ }
72
136
  }
73
- exports.Cache = Cache;
74
- exports.default = Cache;
137
+ exports.TCache = Cache;
138
+ const cacheInstance = new Cache();
139
+ exports.Cache = cacheInstance;
140
+ exports.default = cacheInstance;
75
141
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA6C;AAC7C,uCAAyC;AACzC,6CAA4C;AAC5C,4DAA6C;AAE7C,MAAM,KAAK;IAIP;QAFQ,YAAO,GAAwC,IAAI,yBAAW,EAAE,CAAA;QAGpE,IAAG,iBAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,iBAAO,CAAC,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAA;QACxF,IAAG,iBAAO,CAAC,KAAK,KAAK,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAA;QACvD,IAAG,iBAAO,CAAC,KAAK,KAAK,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,MAAM,CAAC,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1F,CAAC;IAEM,MAAM,CAAC,MAAiC;QAC3C,IAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAA;QAC1E,IAAG,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAA;QAChD,IAAG,MAAM,KAAK,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,MAAM,CAAC,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAE/E,OAAO,IAAI,CAAA;IACf,CAAC;IAEK,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;;YAEzC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YAEb,CAAC;QACL,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW;;YAEjB,IAAI,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAG,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;oBAAE,OAAO,IAAI,CAAA;gBAE7C,OAAO,KAAK,CAAA;YAEhB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC;KAAA;IAEK,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACrC,CAAC;KAAA;IAEK,MAAM,CAAC,GAAW;;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC9B,OAAM;QACV,CAAC;KAAA;CACJ;AAEQ,sBAAK;AACd,kBAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA6C;AAC7C,uCAAyC;AACzC,6CAA4C;AAC5C,4DAA6C;AAE7C,MAAM,KAAK;IAIP;QAFQ,YAAO,GAAwC,IAAI,yBAAW,EAAE,CAAA;QAIpE,IAAI,CAAC,aAAa,CAAC,iBAAO,CAAC,KAAkC,CAAC,CAAA;QAE9D,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAiC;QAEpC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED;;;;OAIG;IACG,GAAG;;YACL,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QACnC,CAAC;KAAA;IAED;;;;;OAKG;IACG,MAAM,CAAC,GAAY;;YACrB,IAAI,CAAC;gBAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAEzC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAET,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC;KAAA;IAED;;;;OAIG;IACG,GAAG,CAAI,GAAW;;YAEpB,IAAI,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAG,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;oBAAE,OAAO,IAAI,CAAA;gBAE7C,OAAO,KAAK,CAAA;YAEhB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAET,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,EAAU;;YAE7C,IAAI,CAAC;gBAED,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;gBAEtC,OAAM;YAEV,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAET,OAAM;YACV,CAAC;QACL,CAAC;KAAA;IAED;;;;OAIG;IACG,KAAK;;YACP,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACrC,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM,CAAC,GAAW;;YACpB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC9B,OAAM;QACV,CAAC;KAAA;IAEO,aAAa,CAAE,MAAiC;QAEpD,QAAO,MAAM,EAAE,CAAC;YACZ,KAAK,IAAK,CAAC,CAAC,CAAC;gBACT,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAA;gBAC5B,MAAK;YACT,CAAC;YAED,KAAK,OAAQ,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,MAAM,CAAC,iBAAO,CAAC,SAAS,CAAC,CAAC,CAAA;gBACxD,MAAK;YACT,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAE,CAAA;gBAChC,MAAK;YACT,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAMY,uBAAM;AAJnB,MAAM,aAAa,GAAG,IAAI,KAAK,EAAE,CAAA;AAGZ,8BAAK;AAG1B,kBAAe,aAAa,CAAA"}