@or-sdk/key-value-storage 0.26.0-beta.647.0 → 0.26.0
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 +65 -0
- package/dist/cjs/KeyValueStorage.js +28 -0
- package/dist/cjs/KeyValueStorage.js.map +1 -1
- package/dist/esm/KeyValueStorage.js +128 -91
- package/dist/esm/KeyValueStorage.js.map +1 -1
- package/dist/types/KeyValueStorage.d.ts +2 -1
- package/dist/types/KeyValueStorage.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -0
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/KeyValueStorage.ts +39 -0
- package/src/types.ts +4 -0
- package/tsconfig.esm.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,71 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.26.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.12...@or-sdk/key-value-storage@0.26.0) (2023-11-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **@or-sdk/key-value-storage:** Implemented scrollKeysWithPrefixes method to achieve folder/file structure in key value storage ([5085a49](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/5085a49dd14a766d210b824fb5a11f2b1766f732))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## [0.25.12](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.11...@or-sdk/key-value-storage@0.25.12) (2023-09-13)
|
|
16
|
+
|
|
17
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [0.25.11](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.10...@or-sdk/key-value-storage@0.25.11) (2023-06-13)
|
|
24
|
+
|
|
25
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## [0.25.10](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.9...@or-sdk/key-value-storage@0.25.10) (2023-06-01)
|
|
32
|
+
|
|
33
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## [0.25.9](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.8...@or-sdk/key-value-storage@0.25.9) (2023-03-16)
|
|
40
|
+
|
|
41
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### [0.25.8](https://gitlab.com/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.7...@or-sdk/key-value-storage@0.25.8) (2022-12-27)
|
|
48
|
+
|
|
49
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### [0.25.7](https://gitlab.com/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.6...@or-sdk/key-value-storage@0.25.7) (2022-11-21)
|
|
56
|
+
|
|
57
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### [0.25.6](https://gitlab.com/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.5...@or-sdk/key-value-storage@0.25.6) (2022-11-15)
|
|
64
|
+
|
|
65
|
+
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
6
71
|
### [0.25.5](https://gitlab.com/onereach/platform/or-sdk-next/compare/@or-sdk/key-value-storage@0.25.4...@or-sdk/key-value-storage@0.25.5) (2022-09-09)
|
|
7
72
|
|
|
8
73
|
**Note:** Version bump only for package @or-sdk/key-value-storage
|
|
@@ -123,6 +123,34 @@ var KeyValueStorage = (function () {
|
|
|
123
123
|
});
|
|
124
124
|
});
|
|
125
125
|
};
|
|
126
|
+
KeyValueStorage.prototype.scrollKeysWithPrefixes = function (_a, collectionName, prefix, stripPrefix) {
|
|
127
|
+
var numberOfItems = _a.numberOfItems, nextId = _a.nextId;
|
|
128
|
+
if (prefix === void 0) { prefix = ''; }
|
|
129
|
+
if (stripPrefix === void 0) { stripPrefix = false; }
|
|
130
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
131
|
+
var params, _b, records, isTruncated, newNext;
|
|
132
|
+
return __generator(this, function (_c) {
|
|
133
|
+
switch (_c.label) {
|
|
134
|
+
case 0:
|
|
135
|
+
params = {
|
|
136
|
+
prefix: prefix ? prefix : undefined,
|
|
137
|
+
next: nextId ? nextId : undefined,
|
|
138
|
+
maxKeys: numberOfItems ? numberOfItems : undefined,
|
|
139
|
+
stripPrefix: stripPrefix ? stripPrefix : undefined,
|
|
140
|
+
groupByPrefix: true,
|
|
141
|
+
};
|
|
142
|
+
return [4, this.sdkApi.makeRequest({
|
|
143
|
+
method: 'GET',
|
|
144
|
+
route: this.composeRoute("".concat(constants_1.STORAGE_ROUTE, "/").concat(collectionName)),
|
|
145
|
+
params: params,
|
|
146
|
+
})];
|
|
147
|
+
case 1:
|
|
148
|
+
_b = (_c.sent()).value, records = _b.records, isTruncated = _b.isTruncated, newNext = _b.next;
|
|
149
|
+
return [2, __assign(__assign({}, (0, base_1.makeList)(records)), { nextId: newNext, isTruncated: isTruncated })];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
};
|
|
126
154
|
KeyValueStorage.prototype.scrollKeys = function (_a, collectionName, prefix, withValues) {
|
|
127
155
|
var numberOfItems = _a.numberOfItems, nextId = _a.nextId;
|
|
128
156
|
if (prefix === void 0) { prefix = ''; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValueStorage.js","sourceRoot":"","sources":["../../src/KeyValueStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA8C;AAC9C,2CAAyC;
|
|
1
|
+
{"version":3,"file":"KeyValueStorage.js","sourceRoot":"","sources":["../../src/KeyValueStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { makeList } from '@or-sdk/base';
|
|
2
11
|
import { SdkApi } from '@or-sdk/sdk-api';
|
|
3
12
|
import { Action, STORAGE_MULTIPLE_ROUTE, STORAGE_ROUTE } from './constants';
|
|
4
13
|
import { splitIntoParts } from './utils';
|
|
5
14
|
export class KeyValueStorage {
|
|
6
|
-
sdkApi;
|
|
7
15
|
constructor(params) {
|
|
8
16
|
const { token, discoveryUrl, accountId, sdkUrl } = params;
|
|
9
17
|
this.sdkApi = new SdkApi({
|
|
@@ -16,111 +24,140 @@ export class KeyValueStorage {
|
|
|
16
24
|
composeRoute(route) {
|
|
17
25
|
return this.sdkApi.isCrossAccount ? `accounts/${this.sdkApi.currentAccountId}/${route}` : route;
|
|
18
26
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
scrollCollections({ numberOfItems, nextId }, prefix = '') {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const params = {
|
|
30
|
+
prefix: prefix ? prefix : undefined,
|
|
31
|
+
next: nextId ? nextId : undefined,
|
|
32
|
+
maxKeys: numberOfItems ? numberOfItems : undefined,
|
|
33
|
+
};
|
|
34
|
+
const { tables, isTruncated, next: newNext } = yield this.sdkApi.makeRequest({
|
|
35
|
+
method: 'GET',
|
|
36
|
+
route: this.composeRoute(`${STORAGE_ROUTE}`),
|
|
37
|
+
params,
|
|
38
|
+
});
|
|
39
|
+
return Object.assign(Object.assign({}, makeList(tables)), { isTruncated, nextId: newNext });
|
|
29
40
|
});
|
|
30
|
-
return {
|
|
31
|
-
...makeList(tables),
|
|
32
|
-
isTruncated,
|
|
33
|
-
nextId: newNext,
|
|
34
|
-
};
|
|
35
41
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
nextId
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
listCollections(prefix) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
let itemsTotal = [];
|
|
45
|
+
let prevNext;
|
|
46
|
+
do {
|
|
47
|
+
const { items, nextId } = yield this.scrollCollections({
|
|
48
|
+
nextId: prevNext,
|
|
49
|
+
}, prefix);
|
|
50
|
+
prevNext = nextId;
|
|
51
|
+
itemsTotal = [...itemsTotal, ...items];
|
|
52
|
+
} while (prevNext);
|
|
53
|
+
return makeList(itemsTotal);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
scrollKeysWithPrefixes({ numberOfItems, nextId }, collectionName, prefix = '', stripPrefix = false) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const params = {
|
|
59
|
+
prefix: prefix ? prefix : undefined,
|
|
60
|
+
next: nextId ? nextId : undefined,
|
|
61
|
+
maxKeys: numberOfItems ? numberOfItems : undefined,
|
|
62
|
+
stripPrefix: stripPrefix ? stripPrefix : undefined,
|
|
63
|
+
groupByPrefix: true,
|
|
64
|
+
};
|
|
65
|
+
const { value: { records, isTruncated, next: newNext } } = yield this.sdkApi.makeRequest({
|
|
66
|
+
method: 'GET',
|
|
67
|
+
route: this.composeRoute(`${STORAGE_ROUTE}/${collectionName}`),
|
|
68
|
+
params,
|
|
69
|
+
});
|
|
70
|
+
return Object.assign(Object.assign({}, makeList(records)), { nextId: newNext, isTruncated });
|
|
71
|
+
});
|
|
47
72
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
73
|
+
scrollKeys({ numberOfItems, nextId }, collectionName, prefix = '', withValues = false) {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
const params = {
|
|
76
|
+
prefix: prefix ? prefix : undefined,
|
|
77
|
+
next: nextId ? nextId : undefined,
|
|
78
|
+
maxKeys: numberOfItems ? numberOfItems : undefined,
|
|
79
|
+
withValues,
|
|
80
|
+
};
|
|
81
|
+
const { value: { records, isTruncated, next: newNext } } = yield this.sdkApi.makeRequest({
|
|
82
|
+
method: 'GET',
|
|
83
|
+
route: this.composeRoute(`${STORAGE_ROUTE}/${collectionName}`),
|
|
84
|
+
params,
|
|
85
|
+
});
|
|
86
|
+
return Object.assign(Object.assign({}, makeList(records)), { nextId: newNext, isTruncated });
|
|
59
87
|
});
|
|
60
|
-
return {
|
|
61
|
-
...makeList(records),
|
|
62
|
-
nextId: newNext,
|
|
63
|
-
isTruncated,
|
|
64
|
-
};
|
|
65
88
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
nextId
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
89
|
+
listKeys(collectionName, prefix, withValues = false) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
let itemsTotal = [];
|
|
92
|
+
let prevNext;
|
|
93
|
+
do {
|
|
94
|
+
const { items, nextId } = yield this.scrollKeys({
|
|
95
|
+
nextId: prevNext,
|
|
96
|
+
}, collectionName, prefix, withValues);
|
|
97
|
+
prevNext = nextId;
|
|
98
|
+
itemsTotal = [...itemsTotal, ...items];
|
|
99
|
+
} while (prevNext);
|
|
100
|
+
return makeList(itemsTotal);
|
|
101
|
+
});
|
|
77
102
|
}
|
|
78
|
-
|
|
79
|
-
return this
|
|
80
|
-
|
|
81
|
-
|
|
103
|
+
getValueByKey(collectionName, key) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
return this.sdkApi.makeRequest({
|
|
106
|
+
method: 'GET',
|
|
107
|
+
route: this.composeRoute(`${STORAGE_ROUTE}/${collectionName}/${key}`),
|
|
108
|
+
});
|
|
82
109
|
});
|
|
83
110
|
}
|
|
84
|
-
|
|
85
|
-
return this
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
111
|
+
setValueByKey(collectionName, key, value, expire) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
return this.sdkApi.makeRequest({
|
|
114
|
+
method: 'POST',
|
|
115
|
+
route: this.composeRoute(`${STORAGE_ROUTE}/${collectionName}/${key}`),
|
|
116
|
+
data: {
|
|
117
|
+
expire,
|
|
118
|
+
value,
|
|
119
|
+
},
|
|
120
|
+
});
|
|
92
121
|
});
|
|
93
122
|
}
|
|
94
|
-
|
|
95
|
-
return this
|
|
96
|
-
|
|
97
|
-
|
|
123
|
+
deleteKey(collectionName, key) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
return this.sdkApi.makeRequest({
|
|
126
|
+
method: 'DELETE',
|
|
127
|
+
route: this.composeRoute(`${STORAGE_ROUTE}/${collectionName}/${key}`),
|
|
128
|
+
});
|
|
98
129
|
});
|
|
99
130
|
}
|
|
100
|
-
|
|
101
|
-
return this
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
131
|
+
processMultipleRecords(records, action, collectionName) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
return this.sdkApi.makeRequest({
|
|
134
|
+
method: 'POST',
|
|
135
|
+
route: this.composeRoute(`${STORAGE_MULTIPLE_ROUTE}`),
|
|
136
|
+
data: {
|
|
137
|
+
keys: records,
|
|
138
|
+
method: action,
|
|
139
|
+
table: collectionName,
|
|
140
|
+
},
|
|
141
|
+
});
|
|
109
142
|
});
|
|
110
143
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
144
|
+
copyCollection(sourceCollectionName, targetCollectionName) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
const { items } = yield this.listKeys(sourceCollectionName, '', true);
|
|
147
|
+
const recordGroups = splitIntoParts(items);
|
|
148
|
+
for (const records of recordGroups) {
|
|
149
|
+
yield this.processMultipleRecords(records, Action.SET, targetCollectionName);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
117
152
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
153
|
+
clearCollection(collectionName) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
+
const { items } = yield this.listKeys(collectionName);
|
|
156
|
+
const recordGroups = splitIntoParts(items);
|
|
157
|
+
for (const records of recordGroups) {
|
|
158
|
+
yield this.processMultipleRecords(records, Action.DELETE, collectionName);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
124
161
|
}
|
|
125
162
|
}
|
|
126
163
|
//# sourceMappingURL=KeyValueStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValueStorage.js","sourceRoot":"","sources":["../../src/KeyValueStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyValueStorage.js","sourceRoot":"","sources":["../../src/KeyValueStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { List } from '@or-sdk/base';
|
|
2
|
-
import { KeyValueStorageConfig, KeyValueStorageRecord, KeyValueStorageRecordWithLastModified, DeletedKeyValueStorageRecord, MultipleRecordsResult, ScrollOptions, ScrollResult } from './types';
|
|
2
|
+
import { KeyValueStorageConfig, KeyValueStorageRecord, KeyValueStorageRecordWithLastModified, DeletedKeyValueStorageRecord, MultipleRecordsResult, ScrollOptions, ScrollResult, KeyValueStoragePrefix } from './types';
|
|
3
3
|
import { Action } from './constants';
|
|
4
4
|
export declare class KeyValueStorage {
|
|
5
5
|
private readonly sdkApi;
|
|
@@ -7,6 +7,7 @@ export declare class KeyValueStorage {
|
|
|
7
7
|
composeRoute(route: string): string;
|
|
8
8
|
scrollCollections({ numberOfItems, nextId }: ScrollOptions, prefix?: string): Promise<ScrollResult<string>>;
|
|
9
9
|
listCollections(prefix?: string): Promise<List<string>>;
|
|
10
|
+
scrollKeysWithPrefixes({ numberOfItems, nextId }: ScrollOptions, collectionName: string, prefix?: string, stripPrefix?: boolean): Promise<ScrollResult<KeyValueStorageRecordWithLastModified | KeyValueStoragePrefix>>;
|
|
10
11
|
scrollKeys({ numberOfItems, nextId }: ScrollOptions, collectionName: string, prefix?: string, withValues?: boolean): Promise<ScrollResult<KeyValueStorageRecordWithLastModified>>;
|
|
11
12
|
listKeys(collectionName: string, prefix?: string, withValues?: boolean): Promise<List<KeyValueStorageRecordWithLastModified>>;
|
|
12
13
|
getValueByKey(collectionName: string, key: string): Promise<KeyValueStorageRecord>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValueStorage.d.ts","sourceRoot":"","sources":["../../src/KeyValueStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,cAAc,CAAC;AAE9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAG5B,qBAAqB,EACrB,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"KeyValueStorage.d.ts","sourceRoot":"","sources":["../../src/KeyValueStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,cAAc,CAAC;AAE9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAG5B,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAyC,MAAM,aAAa,CAAC;AAG5E,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,qBAAqB;IAWzC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IActB,iBAAiB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IA4BvG,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IA4BvD,sBAAsB,CAC/B,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,aAAa,EACxC,cAAc,EAAE,MAAM,EACtB,MAAM,SAAK,EACX,WAAW,UAAQ,GACpB,OAAO,CAAC,YAAY,CAAC,qCAAqC,GAAG,qBAAqB,CAAC,CAAC;IAiC1E,UAAU,CACrB,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,aAAa,EACxC,cAAc,EAAE,MAAM,EACtB,MAAM,SAAK,EACX,UAAU,UAAQ,GACjB,OAAO,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;IA8BlD,QAAQ,CACnB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,UAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAyB1C,aAAa,CACxB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,qBAAqB,CAAC;IAkBpB,aAAa,CACxB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EACvC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;IAoBpB,SAAS,CACpB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,4BAA4B,CAAC;IAiB3B,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBhI,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzF,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASpE"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -5,6 +5,9 @@ export declare type KeyValueStorageConfig = {
|
|
|
5
5
|
accountId?: string;
|
|
6
6
|
sdkUrl?: string;
|
|
7
7
|
};
|
|
8
|
+
export declare type KeyValueStoragePrefix = {
|
|
9
|
+
prefix: string;
|
|
10
|
+
};
|
|
8
11
|
export declare type KeyValueStorageRecord = {
|
|
9
12
|
key: string;
|
|
10
13
|
value?: Record<string, unknown> | unknown[] | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,qBAAqB,GAAG;IAIlC,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAIlC,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;CACtD,CAAC;AAEF,oBAAY,qCAAqC,GAAG,qBAAqB,GAAG;IAC1E,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,qCAAqC,EAAE,CAAC;QACjD,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,oBAAY,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,oBAAY,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,2BAA2B,GAAG,qBAAqB,GAAG;IAChE,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,qBAAqB,GAAG,qBAAqB,EAAE,GAAG,2BAA2B,EAAE,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,qBAAqB,GAAG;IAIlC,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAIlC,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;CACtD,CAAC;AAEF,oBAAY,qCAAqC,GAAG,qBAAqB,GAAG;IAC1E,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,qCAAqC,EAAE,CAAC;QACjD,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,oBAAY,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,oBAAY,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,2BAA2B,GAAG,qBAAqB,GAAG;IAChE,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,qBAAqB,GAAG,qBAAqB,EAAE,GAAG,2BAA2B,EAAE,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@or-sdk/key-value-storage",
|
|
3
|
-
"version": "0.26.0
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"dev": "pnpm build:watch:esm"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@or-sdk/base": "^0.
|
|
21
|
-
"@or-sdk/sdk-api": "^0.
|
|
20
|
+
"@or-sdk/base": "^0.29.0",
|
|
21
|
+
"@or-sdk/sdk-api": "^0.24.12"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"concurrently": "^6.4.0",
|
|
@@ -26,5 +26,6 @@
|
|
|
26
26
|
},
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
|
-
}
|
|
29
|
+
},
|
|
30
|
+
"gitHead": "051b95de196d906e0221ad0a9ecc6bba4e547008"
|
|
30
31
|
}
|
package/src/KeyValueStorage.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
MultipleRecordsResult,
|
|
11
11
|
ScrollOptions,
|
|
12
12
|
ScrollResult,
|
|
13
|
+
KeyValueStoragePrefix,
|
|
13
14
|
} from './types';
|
|
14
15
|
import { Action, STORAGE_MULTIPLE_ROUTE, STORAGE_ROUTE } from './constants';
|
|
15
16
|
import { splitIntoParts } from './utils';
|
|
@@ -86,6 +87,44 @@ export class KeyValueStorage {
|
|
|
86
87
|
return makeList<string>(itemsTotal);
|
|
87
88
|
}
|
|
88
89
|
|
|
90
|
+
/**
|
|
91
|
+
* List keys grouped by prefix in a collection starting with given substring with pagination
|
|
92
|
+
*
|
|
93
|
+
* ```typescript
|
|
94
|
+
* const collectionName = 'my-collection';
|
|
95
|
+
* const prefix = '__some_prefix';
|
|
96
|
+
* const numberOfItems = 30;
|
|
97
|
+
* const nextId = 'next-token'; // next page token from previous listKeysPaginated call
|
|
98
|
+
* const stripPrefix = true; // removes parent prefix
|
|
99
|
+
* const list = await keyValueStorage.scrollKeysWithPrefixes({ numberOfItems, nextId }, collectionName, prefix, stripPrefix);
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
public async scrollKeysWithPrefixes(
|
|
103
|
+
{ numberOfItems, nextId }: ScrollOptions,
|
|
104
|
+
collectionName: string,
|
|
105
|
+
prefix = '',
|
|
106
|
+
stripPrefix = false
|
|
107
|
+
): Promise<ScrollResult<KeyValueStorageRecordWithLastModified | KeyValueStoragePrefix>> {
|
|
108
|
+
const params = {
|
|
109
|
+
prefix: prefix ? prefix : undefined,
|
|
110
|
+
next: nextId ? nextId : undefined,
|
|
111
|
+
maxKeys: numberOfItems ? numberOfItems : undefined,
|
|
112
|
+
stripPrefix: stripPrefix ? stripPrefix : undefined,
|
|
113
|
+
groupByPrefix: true,
|
|
114
|
+
};
|
|
115
|
+
const { value: { records, isTruncated, next: newNext } } = await this.sdkApi.makeRequest<ListKeysResponse>({
|
|
116
|
+
method: 'GET',
|
|
117
|
+
route: this.composeRoute(`${STORAGE_ROUTE}/${collectionName}`),
|
|
118
|
+
params,
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
return {
|
|
122
|
+
...makeList<KeyValueStorageRecordWithLastModified | KeyValueStoragePrefix>(records),
|
|
123
|
+
nextId: newNext,
|
|
124
|
+
isTruncated,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
89
128
|
/**
|
|
90
129
|
* List keys in a collection starting with given substring with pagination
|
|
91
130
|
*
|
package/src/types.ts
CHANGED