@keyv/etcd 1.2.1 → 2.0.0-rc.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.
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { Etcd3, type Lease } from 'etcd3';
4
+ import type { StoredData } from 'keyv';
5
+ import type { ClearOutput, DeleteManyOutput, DeleteOutput, GetOutput, HasOutput, SetOutput } from './types';
6
+ type KeyvEtcdOptions = {
7
+ url?: string;
8
+ uri?: string;
9
+ ttl?: number;
10
+ busyTimeout?: number;
11
+ };
12
+ declare class KeyvEtcd<Value = any> extends EventEmitter {
13
+ ttlSupport: boolean;
14
+ opts: KeyvEtcdOptions;
15
+ client: Etcd3;
16
+ lease?: Lease;
17
+ namespace?: string;
18
+ constructor(url?: KeyvEtcdOptions | string, options?: KeyvEtcdOptions);
19
+ get(key: string): GetOutput<Value>;
20
+ getMany(keys: string[]): Promise<Array<StoredData<Value>>>;
21
+ set(key: string, value: Value): SetOutput;
22
+ delete(key: string): DeleteOutput;
23
+ deleteMany(keys: string[]): DeleteManyOutput;
24
+ clear(): ClearOutput;
25
+ iterator(namespace?: string): AsyncGenerator<(string | Awaited<Value> | undefined)[], void, unknown>;
26
+ has(key: string): HasOutput;
27
+ disconnect(): Promise<void>;
28
+ }
29
+ export default KeyvEtcd;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const events_1 = require("events");
4
+ const etcd3_1 = require("etcd3");
5
+ class KeyvEtcd extends events_1.EventEmitter {
6
+ ttlSupport;
7
+ opts;
8
+ client;
9
+ lease;
10
+ namespace;
11
+ constructor(url, options) {
12
+ super();
13
+ this.ttlSupport = typeof options?.ttl === 'number';
14
+ url ??= {};
15
+ if (typeof url === 'string') {
16
+ url = { url };
17
+ }
18
+ if (url.uri) {
19
+ url = { url: url.uri, ...url };
20
+ }
21
+ if (url.ttl) {
22
+ this.ttlSupport = typeof url.ttl === 'number';
23
+ }
24
+ this.opts = {
25
+ url: '127.0.0.1:2379',
26
+ ...url,
27
+ ...options,
28
+ };
29
+ this.opts.url = this.opts.url.replace(/^etcd:\/\//, '');
30
+ this.client = new etcd3_1.Etcd3({
31
+ hosts: this.opts.url,
32
+ });
33
+ // Https://github.com/microsoft/etcd3/issues/105
34
+ this.client.getRoles().catch(error => this.emit('error', error));
35
+ if (this.ttlSupport) {
36
+ this.lease = this.client.lease(this.opts.ttl / 1000, {
37
+ autoKeepAlive: false,
38
+ });
39
+ }
40
+ }
41
+ async get(key) {
42
+ return this.client.get(key);
43
+ }
44
+ async getMany(keys) {
45
+ const promises = [];
46
+ for (const key of keys) {
47
+ promises.push(this.get(key));
48
+ }
49
+ return Promise.allSettled(promises)
50
+ .then(values => {
51
+ const data = [];
52
+ for (const value of values) {
53
+ // @ts-expect-error - value is an object
54
+ if (value.value === null) {
55
+ data.push(undefined);
56
+ }
57
+ else {
58
+ // @ts-expect-error - value is an object
59
+ data.push(value.value);
60
+ }
61
+ }
62
+ return data;
63
+ });
64
+ }
65
+ async set(key, value) {
66
+ let client = 'client';
67
+ if (this.opts.ttl) {
68
+ client = 'lease';
69
+ }
70
+ // @ts-expect-error - Value needs to be number, string or buffer
71
+ await this[client].put(key).value(value);
72
+ }
73
+ async delete(key) {
74
+ if (typeof key !== 'string') {
75
+ return false;
76
+ }
77
+ return this.client.delete().key(key).then(key => key.deleted !== '0');
78
+ }
79
+ async deleteMany(keys) {
80
+ const promises = [];
81
+ for (const key of keys) {
82
+ promises.push(this.delete(key));
83
+ }
84
+ // @ts-expect-error - x is an object
85
+ return Promise.allSettled(promises).then(values => values.every(x => x.value === true));
86
+ }
87
+ async clear() {
88
+ const promise = this.namespace
89
+ ? this.client.delete().prefix(this.namespace)
90
+ : this.client.delete().all();
91
+ return promise.then(() => undefined);
92
+ }
93
+ async *iterator(namespace) {
94
+ const iterator = await this.client
95
+ .getAll()
96
+ .prefix(namespace ? namespace + ':' : '')
97
+ .keys();
98
+ for await (const key of iterator) {
99
+ const value = await this.get(key);
100
+ yield [key, value];
101
+ }
102
+ }
103
+ async has(key) {
104
+ return this.client.get(key).exists();
105
+ }
106
+ async disconnect() {
107
+ return this.client.close();
108
+ }
109
+ }
110
+ exports.default = KeyvEtcd;
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type StoredData } from 'keyv';
2
+ export type GetOutput<Value> = Promise<Value | undefined>;
3
+ export type GetManyOutput<Value> = Promise<Array<StoredData<Value | undefined> | undefined>>;
4
+ export type SetOutput = Promise<void>;
5
+ export type DeleteOutput = Promise<boolean>;
6
+ export type DeleteManyOutput = Promise<boolean>;
7
+ export type ClearOutput = Promise<void>;
8
+ export type HasOutput = Promise<boolean>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { Etcd3, type Lease } from 'etcd3';
4
+ import type { StoredData } from 'keyv';
5
+ import type { ClearOutput, DeleteManyOutput, DeleteOutput, GetOutput, HasOutput, SetOutput } from './types';
6
+ type KeyvEtcdOptions = {
7
+ url?: string;
8
+ uri?: string;
9
+ ttl?: number;
10
+ busyTimeout?: number;
11
+ };
12
+ declare class KeyvEtcd<Value = any> extends EventEmitter {
13
+ ttlSupport: boolean;
14
+ opts: KeyvEtcdOptions;
15
+ client: Etcd3;
16
+ lease?: Lease;
17
+ namespace?: string;
18
+ constructor(url?: KeyvEtcdOptions | string, options?: KeyvEtcdOptions);
19
+ get(key: string): GetOutput<Value>;
20
+ getMany(keys: string[]): Promise<Array<StoredData<Value>>>;
21
+ set(key: string, value: Value): SetOutput;
22
+ delete(key: string): DeleteOutput;
23
+ deleteMany(keys: string[]): DeleteManyOutput;
24
+ clear(): ClearOutput;
25
+ iterator(namespace?: string): AsyncGenerator<(string | Awaited<Value> | undefined)[], void, unknown>;
26
+ has(key: string): HasOutput;
27
+ disconnect(): Promise<void>;
28
+ }
29
+ export default KeyvEtcd;
@@ -0,0 +1,109 @@
1
+ import { EventEmitter } from 'events';
2
+ import { Etcd3 } from 'etcd3';
3
+ class KeyvEtcd extends EventEmitter {
4
+ ttlSupport;
5
+ opts;
6
+ client;
7
+ lease;
8
+ namespace;
9
+ constructor(url, options) {
10
+ super();
11
+ this.ttlSupport = typeof options?.ttl === 'number';
12
+ url ??= {};
13
+ if (typeof url === 'string') {
14
+ url = { url };
15
+ }
16
+ if (url.uri) {
17
+ url = { url: url.uri, ...url };
18
+ }
19
+ if (url.ttl) {
20
+ this.ttlSupport = typeof url.ttl === 'number';
21
+ }
22
+ this.opts = {
23
+ url: '127.0.0.1:2379',
24
+ ...url,
25
+ ...options,
26
+ };
27
+ this.opts.url = this.opts.url.replace(/^etcd:\/\//, '');
28
+ this.client = new Etcd3({
29
+ hosts: this.opts.url,
30
+ });
31
+ // Https://github.com/microsoft/etcd3/issues/105
32
+ this.client.getRoles().catch(error => this.emit('error', error));
33
+ if (this.ttlSupport) {
34
+ this.lease = this.client.lease(this.opts.ttl / 1000, {
35
+ autoKeepAlive: false,
36
+ });
37
+ }
38
+ }
39
+ async get(key) {
40
+ return this.client.get(key);
41
+ }
42
+ async getMany(keys) {
43
+ const promises = [];
44
+ for (const key of keys) {
45
+ promises.push(this.get(key));
46
+ }
47
+ return Promise.allSettled(promises)
48
+ .then(values => {
49
+ const data = [];
50
+ for (const value of values) {
51
+ // @ts-expect-error - value is an object
52
+ if (value.value === null) {
53
+ data.push(undefined);
54
+ }
55
+ else {
56
+ // @ts-expect-error - value is an object
57
+ data.push(value.value);
58
+ }
59
+ }
60
+ return data;
61
+ });
62
+ }
63
+ async set(key, value) {
64
+ let client = 'client';
65
+ if (this.opts.ttl) {
66
+ client = 'lease';
67
+ }
68
+ // @ts-expect-error - Value needs to be number, string or buffer
69
+ await this[client].put(key).value(value);
70
+ }
71
+ async delete(key) {
72
+ if (typeof key !== 'string') {
73
+ return false;
74
+ }
75
+ return this.client.delete().key(key).then(key => key.deleted !== '0');
76
+ }
77
+ async deleteMany(keys) {
78
+ const promises = [];
79
+ for (const key of keys) {
80
+ promises.push(this.delete(key));
81
+ }
82
+ // @ts-expect-error - x is an object
83
+ return Promise.allSettled(promises).then(values => values.every(x => x.value === true));
84
+ }
85
+ async clear() {
86
+ const promise = this.namespace
87
+ ? this.client.delete().prefix(this.namespace)
88
+ : this.client.delete().all();
89
+ return promise.then(() => undefined);
90
+ }
91
+ async *iterator(namespace) {
92
+ const iterator = await this.client
93
+ .getAll()
94
+ .prefix(namespace ? namespace + ':' : '')
95
+ .keys();
96
+ for await (const key of iterator) {
97
+ const value = await this.get(key);
98
+ yield [key, value];
99
+ }
100
+ }
101
+ async has(key) {
102
+ return this.client.get(key).exists();
103
+ }
104
+ async disconnect() {
105
+ return this.client.close();
106
+ }
107
+ }
108
+ export default KeyvEtcd;
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type StoredData } from 'keyv';
2
+ export type GetOutput<Value> = Promise<Value | undefined>;
3
+ export type GetManyOutput<Value> = Promise<Array<StoredData<Value | undefined> | undefined>>;
4
+ export type SetOutput = Promise<void>;
5
+ export type DeleteOutput = Promise<boolean>;
6
+ export type DeleteManyOutput = Promise<boolean>;
7
+ export type ClearOutput = Promise<void>;
8
+ export type HasOutput = Promise<boolean>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -19,8 +19,9 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
19
19
  var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
20
20
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
21
21
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
22
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
23
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
22
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
23
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
24
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
24
25
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
25
26
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
26
27
  function fulfill(value) { resume("next", value); }
@@ -33,7 +34,7 @@ class KeyvEtcd extends events_1.EventEmitter {
33
34
  constructor(url, options) {
34
35
  super();
35
36
  this.ttlSupport = typeof (options === null || options === void 0 ? void 0 : options.ttl) === 'number';
36
- url = url !== null && url !== void 0 ? url : {};
37
+ url !== null && url !== void 0 ? url : (url = {});
37
38
  if (typeof url === 'string') {
38
39
  url = { url };
39
40
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,27 +1,35 @@
1
1
  {
2
2
  "name": "@keyv/etcd",
3
- "version": "1.2.1",
3
+ "version": "2.0.0-rc.1",
4
4
  "description": "Etcd storage adapter for Keyv",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/esm/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "require": "./dist/cjs/index.js",
11
+ "import": "./dist/esm/index.js"
12
+ }
13
+ },
7
14
  "scripts": {
8
- "build": "tsc --project tsconfig.dist.json",
15
+ "build": "tsc --project tsconfig.csj.json && tsc --project tsconfig.esm.json",
9
16
  "prepare": "yarn build",
10
- "test": "xo && c8 ava --serial",
11
- "test:ci": "xo && ava --serial",
17
+ "test": "xo --fix && vitest run --coverage",
18
+ "test:ci": "xo && vitest --run --sequence.setupFiles=list",
12
19
  "clean": "rm -rf node_modules && rm -rf ./coverage"
13
20
  },
14
21
  "xo": {
15
22
  "rules": {
16
- "unicorn/prefer-module": 0,
17
- "unicorn/no-array-reduce": 0,
18
- "unicorn/prefer-object-from-entries": 0,
19
- "unicorn/prefer-node-protocol": 0,
20
- "import/extensions": 0,
21
- "@typescript-eslint/no-confusing-void-expression": 0,
22
- "@typescript-eslint/promise-function-async": 0,
23
- "eslint-comments/no-unused-disable": 0,
24
- "unicorn/prefer-event-target": 0
23
+ "unicorn/prefer-module": "off",
24
+ "unicorn/no-array-reduce": "off",
25
+ "unicorn/prefer-object-from-entries": "off",
26
+ "unicorn/prefer-node-protocol": "off",
27
+ "import/extensions": "off",
28
+ "@typescript-eslint/no-confusing-void-expression": "off",
29
+ "@typescript-eslint/promise-function-async": "off",
30
+ "eslint-comments/no-unused-disable": "off",
31
+ "unicorn/prefer-event-target": "off",
32
+ "import/no-extraneous-dependencies": "off"
25
33
  }
26
34
  },
27
35
  "ava": {
@@ -60,15 +68,14 @@
60
68
  },
61
69
  "devDependencies": {
62
70
  "@keyv/test-suite": "*",
63
- "ava": "^5.3.1",
64
- "c8": "^8.0.1",
65
- "keyv": "*",
71
+ "c8": "^9.1.0",
72
+ "keyv": "^5.0.0-rc.1",
66
73
  "requirable": "^1.0.5",
67
- "ts-node": "^10.9.1",
68
- "tsd": "^0.28.1",
69
- "typescript": "^5.1.6",
70
- "webpack": "^5.88.2",
71
- "xo": "^0.56.0"
74
+ "ts-node": "^10.9.2",
75
+ "tsd": "^0.31.0",
76
+ "typescript": "^5.4.5",
77
+ "webpack": "^5.91.0",
78
+ "xo": "^0.58.0"
72
79
  },
73
80
  "tsd": {
74
81
  "directory": "test"