redis-kv-store 4.0.2 → 5.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/CHANGELOG.md +8 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +11 -11
- package/dist/index.test.js.map +1 -1
- package/package.json +33 -33
- package/src/index.test.ts +11 -11
- package/src/index.ts +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [5.0.1](https://github.com/nfroidure/redis-kv-store/compare/v5.0.0...v5.0.1) (2025-11-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
# [5.0.0](https://github.com/nfroidure/redis-kv-store/compare/v4.0.2...v5.0.0) (2024-12-04)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
1
9
|
## [4.0.2](https://github.com/nfroidure/redis-kv-store/compare/v4.0.1...v4.0.2) (2024-07-16)
|
|
2
10
|
|
|
3
11
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
1
|
+
import { type LogService } from 'common-services';
|
|
2
|
+
import { type KVStoreService } from 'memory-kv-store';
|
|
3
|
+
import { type RedisService } from 'simple-redis-service';
|
|
4
4
|
export type RedisKVService<T> = KVStoreService<T>;
|
|
5
5
|
export type RedisKVDependencies = {
|
|
6
6
|
redis: RedisService;
|
|
7
|
-
log
|
|
7
|
+
log?: LogService;
|
|
8
8
|
};
|
|
9
9
|
declare const _default: import("knifecycle").ServiceInitializer<RedisKVDependencies, KVStoreService<unknown>>;
|
|
10
10
|
export default _default;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { autoService, name } from 'knifecycle';
|
|
2
|
-
|
|
1
|
+
import { autoService, name, location } from 'knifecycle';
|
|
2
|
+
import { noop } from 'common-services';
|
|
3
|
+
export default location(name('redisKV', autoService(initRedisKV)), import.meta.url);
|
|
3
4
|
/**
|
|
4
5
|
* Instantiate the Redis Key/Value service
|
|
5
6
|
* @name initRedisKV
|
|
@@ -31,7 +32,7 @@ export default name('redisKV', autoService(initRedisKV));
|
|
|
31
32
|
*
|
|
32
33
|
* const value = await redisKV.get('my_key');
|
|
33
34
|
*/
|
|
34
|
-
async function initRedisKV({ redis, log, }) {
|
|
35
|
+
async function initRedisKV({ redis, log = noop, }) {
|
|
35
36
|
log('warning', `🏧 - Redis KV Store Service initialized!`);
|
|
36
37
|
const redisKV = {
|
|
37
38
|
get: async (key) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,IAAI,EAAmB,MAAM,iBAAiB,CAAC;AAYxD,eAAe,QAAQ,CACrB,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,KAAK,UAAU,WAAW,CAAI,EAC5B,KAAK,EACL,GAAG,GAAG,IAAI,GACU;IACpB,GAAG,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,KAAK,EAAE,GAAW,EAA0B,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,eAAe,CAAI,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,GAAG,EAAE,KAAK,EACR,GAAW,EACX,KAAoB,EACpB,GAAY,EACG,EAAE;YACjB,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAI,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAI,KAAK,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAiB,EAAE;YAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAc,EAA8B,EAAE;YAC5D,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,eAAe,CAAI,MAAM,CAAC,CAC3B,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EACZ,IAAc,EACd,MAAyB,EACzB,OAAiB,EAAE,EACnB,EAAE;YACF,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE5B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAc,EAAE,EAAE;YACnC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAI,MAAiC;IAC3D,OAAO,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAI,KAAoB;IAChD,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC"}
|
package/dist/index.test.js
CHANGED
|
@@ -25,17 +25,17 @@ describe('Redis service', () => {
|
|
|
25
25
|
expect(typeof redisKV.get).toEqual('function');
|
|
26
26
|
expect(typeof redisKV.set).toEqual('function');
|
|
27
27
|
expect(log.mock.calls).toMatchInlineSnapshot(`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
[
|
|
29
|
+
[
|
|
30
|
+
"warning",
|
|
31
|
+
"🏧 - Redis service initialized!",
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
"warning",
|
|
35
|
+
"🏧 - Redis KV Store Service initialized!",
|
|
36
|
+
],
|
|
37
|
+
]
|
|
38
|
+
`);
|
|
39
39
|
});
|
|
40
40
|
test('should allow to get a undefined value by its key', async () => {
|
|
41
41
|
const { redisKV } = (await $.run(['redisKV']));
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,kBAAkB,MAAM,YAAY,CAAC;AAC5C,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAKpD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAa,CAAC;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAc,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,QAAQ,CACR,QAAQ,CAAC,OAAO,EAAE;YAChB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;SACI,CAAC,CAClB,CAAC;QACF,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC7B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAE5C,CAAC;QAEF,MAAM,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
26
|
"name": "redis-kv-store",
|
|
27
|
-
"version": "
|
|
27
|
+
"version": "5.0.1",
|
|
28
28
|
"description": "A simple Redis based key/value store.",
|
|
29
29
|
"main": "dist/index.js",
|
|
30
30
|
"types": "dist/index.d.ts",
|
|
@@ -38,20 +38,19 @@
|
|
|
38
38
|
"build": "rimraf 'dist' && tsc --outDir dist",
|
|
39
39
|
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md",
|
|
40
40
|
"cli": "env NODE_ENV=${NODE_ENV:-cli}",
|
|
41
|
-
"cover": "
|
|
41
|
+
"cover": "node --run jest -- --coverage",
|
|
42
42
|
"cz": "env NODE_ENV=${NODE_ENV:-cli} git cz",
|
|
43
43
|
"doc": "echo \"# API\" > API.md; jsdoc2md 'dist/**/*.js' >> API.md && git add API.md",
|
|
44
|
-
"format": "
|
|
44
|
+
"format": "node --run prettier",
|
|
45
45
|
"jest": "NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest",
|
|
46
46
|
"lint": "eslint 'src/**/*.ts'",
|
|
47
47
|
"metapak": "metapak",
|
|
48
|
-
"precz": "
|
|
48
|
+
"precz": "node --run build && node --run doc && node --run architecture && node --run test && node --run lint && node --run metapak -- -s",
|
|
49
49
|
"prettier": "prettier --write 'src/**/*.ts'",
|
|
50
|
-
"preversion": "
|
|
50
|
+
"preversion": "node --run build && node --run doc && node --run architecture && node --run test && node --run lint && node --run metapak -- -s",
|
|
51
51
|
"rebuild": "swc ./src -s -d dist -C jsc.target=es2022",
|
|
52
|
-
"test": "
|
|
53
|
-
"
|
|
54
|
-
"version": "npm run changelog && git add CHANGELOG.md"
|
|
52
|
+
"test": "node --run jest",
|
|
53
|
+
"version": "node --run changelog && git add CHANGELOG.md"
|
|
55
54
|
},
|
|
56
55
|
"repository": {
|
|
57
56
|
"type": "git",
|
|
@@ -68,36 +67,36 @@
|
|
|
68
67
|
},
|
|
69
68
|
"homepage": "https://github.com/nfroidure/redis-kv-store#readme",
|
|
70
69
|
"dependencies": {
|
|
71
|
-
"common-services": "^
|
|
72
|
-
"knifecycle": "
|
|
73
|
-
"memory-kv-store": "^
|
|
74
|
-
"simple-redis-service": "^
|
|
70
|
+
"common-services": "^17.1.2",
|
|
71
|
+
"knifecycle": "19.1.3",
|
|
72
|
+
"memory-kv-store": "^9.0.1",
|
|
73
|
+
"simple-redis-service": "^5.1.1"
|
|
75
74
|
},
|
|
76
75
|
"devDependencies": {
|
|
77
|
-
"@eslint/js": "^9.
|
|
78
|
-
"@swc/cli": "^0.
|
|
79
|
-
"@swc/core": "^1.
|
|
80
|
-
"@swc/helpers": "^0.5.
|
|
81
|
-
"@swc/jest": "^0.2.
|
|
82
|
-
"commitizen": "^4.3.
|
|
76
|
+
"@eslint/js": "^9.30.1",
|
|
77
|
+
"@swc/cli": "^0.7.8",
|
|
78
|
+
"@swc/core": "^1.12.11",
|
|
79
|
+
"@swc/helpers": "^0.5.17",
|
|
80
|
+
"@swc/jest": "^0.2.39",
|
|
81
|
+
"commitizen": "^4.3.1",
|
|
83
82
|
"conventional-changelog-cli": "^5.0.0",
|
|
84
83
|
"cz-conventional-changelog": "^3.3.0",
|
|
85
|
-
"eslint": "^9.
|
|
86
|
-
"eslint-config-prettier": "^
|
|
87
|
-
"eslint-plugin-jest": "^
|
|
88
|
-
"eslint-plugin-prettier": "^5.1
|
|
89
|
-
"jest": "^
|
|
90
|
-
"jsarch": "^6.
|
|
91
|
-
"jsdoc-to-markdown": "^
|
|
92
|
-
"metapak": "^6.0.
|
|
93
|
-
"metapak-nfroidure": "
|
|
94
|
-
"prettier": "^3.
|
|
84
|
+
"eslint": "^9.30.1",
|
|
85
|
+
"eslint-config-prettier": "^10.1.5",
|
|
86
|
+
"eslint-plugin-jest": "^29.0.1",
|
|
87
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
88
|
+
"jest": "^30.0.4",
|
|
89
|
+
"jsarch": "^6.2.1",
|
|
90
|
+
"jsdoc-to-markdown": "^9.1.1",
|
|
91
|
+
"metapak": "^6.0.4",
|
|
92
|
+
"metapak-nfroidure": "20.0.5",
|
|
93
|
+
"prettier": "^3.6.2",
|
|
95
94
|
"rimraf": "^6.0.1",
|
|
96
|
-
"typescript": "^5.
|
|
97
|
-
"typescript-eslint": "^
|
|
95
|
+
"typescript": "^5.8.3",
|
|
96
|
+
"typescript-eslint": "^8.36.0"
|
|
98
97
|
},
|
|
99
98
|
"engines": {
|
|
100
|
-
"node": ">=
|
|
99
|
+
"node": ">=22.16.0"
|
|
101
100
|
},
|
|
102
101
|
"config": {
|
|
103
102
|
"commitizen": {
|
|
@@ -172,7 +171,8 @@
|
|
|
172
171
|
]
|
|
173
172
|
}
|
|
174
173
|
},
|
|
175
|
-
"
|
|
176
|
-
"
|
|
174
|
+
"funding": {
|
|
175
|
+
"type": "individual",
|
|
176
|
+
"url": "https://github.com/sponsors/nfroidure"
|
|
177
177
|
}
|
|
178
178
|
}
|
package/src/index.test.ts
CHANGED
|
@@ -44,17 +44,17 @@ describe('Redis service', () => {
|
|
|
44
44
|
expect(typeof redisKV.get).toEqual('function');
|
|
45
45
|
expect(typeof redisKV.set).toEqual('function');
|
|
46
46
|
expect(log.mock.calls).toMatchInlineSnapshot(`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
[
|
|
48
|
+
[
|
|
49
|
+
"warning",
|
|
50
|
+
"🏧 - Redis service initialized!",
|
|
51
|
+
],
|
|
52
|
+
[
|
|
53
|
+
"warning",
|
|
54
|
+
"🏧 - Redis KV Store Service initialized!",
|
|
55
|
+
],
|
|
56
|
+
]
|
|
57
|
+
`);
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
test('should allow to get a undefined value by its key', async () => {
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { autoService, name } from 'knifecycle';
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
4
|
-
import type
|
|
1
|
+
import { autoService, name, location } from 'knifecycle';
|
|
2
|
+
import { noop, type LogService } from 'common-services';
|
|
3
|
+
import { type KVStoreService } from 'memory-kv-store';
|
|
4
|
+
import { type RedisService } from 'simple-redis-service';
|
|
5
5
|
|
|
6
6
|
/* Architecture Note #1: Redis Key/Value Service
|
|
7
7
|
|
|
@@ -9,12 +9,12 @@ A `redis` based key/value service.
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export type RedisKVService<T> = KVStoreService<T>;
|
|
12
|
-
export type RedisKVDependencies = {
|
|
13
|
-
redis: RedisService;
|
|
14
|
-
log: LogService;
|
|
15
|
-
};
|
|
12
|
+
export type RedisKVDependencies = { redis: RedisService; log?: LogService };
|
|
16
13
|
|
|
17
|
-
export default
|
|
14
|
+
export default location(
|
|
15
|
+
name('redisKV', autoService(initRedisKV)),
|
|
16
|
+
import.meta.url,
|
|
17
|
+
);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Instantiate the Redis Key/Value service
|
|
@@ -49,7 +49,7 @@ export default name('redisKV', autoService(initRedisKV));
|
|
|
49
49
|
*/
|
|
50
50
|
async function initRedisKV<T>({
|
|
51
51
|
redis,
|
|
52
|
-
log,
|
|
52
|
+
log = noop,
|
|
53
53
|
}: RedisKVDependencies): Promise<KVStoreService<T>> {
|
|
54
54
|
log('warning', `🏧 - Redis KV Store Service initialized!`);
|
|
55
55
|
|
|
@@ -98,7 +98,7 @@ async function initRedisKV<T>({
|
|
|
98
98
|
return redisKV;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
function castRedisResult<T>(result: string | null | undefined): T {
|
|
101
|
+
function castRedisResult<T>(result: string | null | undefined): T | undefined {
|
|
102
102
|
return result == null || result === '' ? undefined : JSON.parse(result);
|
|
103
103
|
}
|
|
104
104
|
|