@wkey/core 0.0.0-stage → 0.0.1
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.
- package/dist/index.d.ts +26 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/port.d.ts +18 -0
- package/dist/port.js +3 -0
- package/dist/port.js.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +17 -3
- package/README.md +0 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { WKeyRepositoryPort } from "./port.js";
|
|
2
|
+
import { WkeyRepositoryOptions } from "./types.js";
|
|
3
|
+
export { WKeyRepositoryPort, WkeyRepositoryOptions };
|
|
4
|
+
export declare class WKeyRepository implements WKeyRepositoryPort {
|
|
5
|
+
/**
|
|
6
|
+
* Адаптер репозитория
|
|
7
|
+
* @default Отсутствует
|
|
8
|
+
*/
|
|
9
|
+
private readonly repository;
|
|
10
|
+
/**
|
|
11
|
+
* Наименование пространтсва или же префикс перед ключом
|
|
12
|
+
* @default 'wkey'
|
|
13
|
+
*/
|
|
14
|
+
private readonly namespace;
|
|
15
|
+
/**
|
|
16
|
+
* Разедилтель между пространством и ключом
|
|
17
|
+
* @default ':'
|
|
18
|
+
*/
|
|
19
|
+
private readonly namespaceSeparator;
|
|
20
|
+
constructor(repository: WKeyRepositoryPort, options?: WkeyRepositoryOptions);
|
|
21
|
+
get<T>(key: string): Promise<T | null>;
|
|
22
|
+
set(key: string, value: unknown, ttl: number): Promise<void>;
|
|
23
|
+
delete(key: string): Promise<boolean>;
|
|
24
|
+
has(key: string): Promise<boolean>;
|
|
25
|
+
private getKeyPattern;
|
|
26
|
+
}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { WKeyRepositoryPort } from "./port.js";
|
|
2
|
+
export { WKeyRepositoryPort };
|
|
3
|
+
export class WKeyRepository {
|
|
4
|
+
/**
|
|
5
|
+
* Адаптер репозитория
|
|
6
|
+
* @default Отсутствует
|
|
7
|
+
*/
|
|
8
|
+
repository;
|
|
9
|
+
/**
|
|
10
|
+
* Наименование пространтсва или же префикс перед ключом
|
|
11
|
+
* @default 'wkey'
|
|
12
|
+
*/
|
|
13
|
+
namespace;
|
|
14
|
+
/**
|
|
15
|
+
* Разедилтель между пространством и ключом
|
|
16
|
+
* @default ':'
|
|
17
|
+
*/
|
|
18
|
+
namespaceSeparator;
|
|
19
|
+
constructor(repository, options) {
|
|
20
|
+
this.repository = repository;
|
|
21
|
+
this.namespace = options?.namespace ?? "wkey";
|
|
22
|
+
this.namespaceSeparator = options?.namespaceSeparator ?? ":";
|
|
23
|
+
}
|
|
24
|
+
async get(key) {
|
|
25
|
+
return await this.repository.get(this.getKeyPattern(key));
|
|
26
|
+
}
|
|
27
|
+
async set(key, value, ttl) {
|
|
28
|
+
await this.repository.set(this.getKeyPattern(key), value, ttl);
|
|
29
|
+
}
|
|
30
|
+
async delete(key) {
|
|
31
|
+
return await this.repository.delete(this.getKeyPattern(key));
|
|
32
|
+
}
|
|
33
|
+
async has(key) {
|
|
34
|
+
return await this.repository.has(this.getKeyPattern(key));
|
|
35
|
+
}
|
|
36
|
+
getKeyPattern(key) {
|
|
37
|
+
return `${this.namespace}${this.namespaceSeparator}${key}`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAyB,CAAC;AAErD,MAAM,OAAO,cAAc;IACvB;;;OAGG;IACc,UAAU,CAAqB;IAEhD;;;OAGG;IACc,SAAS,CAAS;IAEnC;;;OAGG;IACc,kBAAkB,CAAS;IAE5C,YAAY,UAA8B,EAAE,OAA+B;QACvE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,GAAG,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW;QACpB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,GAAW;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,aAAa,CAAC,GAAW;QAC7B,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE,CAAC;IAC/D,CAAC;CACJ"}
|
package/dist/port.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare abstract class WKeyRepositoryPort {
|
|
2
|
+
/**
|
|
3
|
+
* Получить запись по ключу
|
|
4
|
+
*/
|
|
5
|
+
abstract get<T>(key: string): Promise<T | null>;
|
|
6
|
+
/**
|
|
7
|
+
* Устанавливает новую запись по ключу
|
|
8
|
+
*/
|
|
9
|
+
abstract set(key: string, value: unknown, ttl: number): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Удаляет запись по ключу
|
|
12
|
+
*/
|
|
13
|
+
abstract delete(key: string): Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Проверяет наличие ключа в записях
|
|
16
|
+
*/
|
|
17
|
+
abstract has(key: string): Promise<boolean>;
|
|
18
|
+
}
|
package/dist/port.js
ADDED
package/dist/port.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,kBAAkB;CAiBvC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface WkeyRepositoryOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Наименование пространтсва или же префикс перед ключом
|
|
4
|
+
* @default 'wkey'
|
|
5
|
+
*/
|
|
6
|
+
namespace?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Разедилтель между пространством и ключом
|
|
9
|
+
* @default ':'
|
|
10
|
+
*/
|
|
11
|
+
namespaceSeparator?: string;
|
|
12
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wkey/core",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"description": "core for WKey",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"private": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"types": "./dist/index.d.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.js",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc"
|
|
19
|
+
}
|
|
6
20
|
}
|
package/README.md
DELETED