@kvs/storage 1.1.0 → 2.1.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/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasItem = exports.createIterator = exports.clearItem = exports.getItem = exports.setItem = exports.deleteItem = exports.kvsStorage = void 0;
3
4
  var storage_1 = require("./storage");
4
5
  Object.defineProperty(exports, "kvsStorage", { enumerable: true, get: function () { return storage_1.kvsStorage; } });
5
6
  Object.defineProperty(exports, "deleteItem", { enumerable: true, get: function () { return storage_1.deleteItem; } });
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qCAWmB;AAVf,qGAAA,UAAU,OAAA;AACV,qGAAA,UAAU,OAAA;AACV,kGAAA,OAAO,OAAA;AACP,kGAAA,OAAO,OAAA;AACP,oGAAA,SAAS,OAAA;AACT,yGAAA,cAAc,OAAA;AACd,kGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAWmB;AAVf,qGAAA,UAAU,OAAA;AACV,qGAAA,UAAU,OAAA;AACV,kGAAA,OAAO,OAAA;AACP,kGAAA,OAAO,OAAA;AACP,oGAAA,SAAS,OAAA;AACT,yGAAA,cAAc,OAAA;AACd,kGAAA,OAAO,OAAA"}
package/lib/storage.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import type { KVS, KVSOptions, StoreNames, StoreValue } from "@kvs/types";
2
2
  import { JsonValue } from "./JSONValue";
3
3
  export declare type KVSStorageKey = string;
4
- export declare const getItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>) => any;
5
- export declare const hasItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>) => boolean;
6
- export declare const setItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>, value: StoreValue<Schema, StoreNames<Schema>> | undefined) => boolean | void;
7
- export declare const clearItem: (storage: Storage, kvsVersionKey: string, options: {
4
+ export declare const getItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>) => any;
5
+ export declare const hasItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>) => boolean;
6
+ export declare const setItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>, value: StoreValue<Schema, StoreNames<Schema>> | undefined) => boolean | void;
7
+ export declare const clearItem: (storage: Storage, tableName: string, kvsVersionKey: string, options: {
8
8
  force: boolean;
9
9
  }) => void;
10
- export declare const deleteItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>) => boolean;
11
- export declare function createIterator<Schema extends StorageSchema>(storage: Storage, kvsVersionKey: string): Iterator<[StoreNames<Schema>, StoreValue<Schema, StoreNames<Schema>>]>;
10
+ export declare const deleteItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>) => boolean;
11
+ export declare function createIterator<Schema extends StorageSchema>(storage: Storage, tableName: string, kvsVersionKey: string): Iterator<[StoreNames<Schema>, StoreValue<Schema, StoreNames<Schema>>]>;
12
12
  export declare type StorageSchema = {
13
13
  [index: string]: JsonValue;
14
14
  };
@@ -17,4 +17,4 @@ export declare type KvsStorageOptions<Schema extends StorageSchema> = KVSOptions
17
17
  kvsVersionKey?: string;
18
18
  storage: Storage;
19
19
  };
20
- export declare const kvsStorage: <Schema extends StorageSchema>(options: KvsStorageOptions<Schema>) => Promise<KVS<Schema>>;
20
+ export declare const kvsStorage: <Schema extends StorageSchema>(options: KvsStorageOptions<Schema>) => Promise<KvsStorage<Schema>>;
package/lib/storage.js CHANGED
@@ -1,44 +1,37 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
2
  Object.defineProperty(exports, "__esModule", { value: true });
23
3
  exports.kvsStorage = exports.createIterator = exports.deleteItem = exports.clearItem = exports.setItem = exports.hasItem = exports.getItem = void 0;
24
- exports.getItem = (storage, key) => {
25
- const item = storage.getItem(String(key));
4
+ function invariant(condition, message) {
5
+ if (condition) {
6
+ return;
7
+ }
8
+ throw new Error(message);
9
+ }
10
+ const TABLE_KEY_MARKER = ".__.";
11
+ const getItem = (storage, tableName, key) => {
12
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
13
+ const item = storage.getItem(storageKey);
26
14
  return item !== null ? JSON.parse(item) : undefined;
27
15
  };
28
- exports.hasItem = (storage, key) => {
29
- return storage.getItem(String(key)) !== null;
16
+ exports.getItem = getItem;
17
+ const hasItem = (storage, tableName, key) => {
18
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
19
+ return storage.getItem(storageKey) !== null;
30
20
  };
31
- exports.setItem = (storage, key, value) => {
21
+ exports.hasItem = hasItem;
22
+ const setItem = (storage, tableName, key, value) => {
32
23
  // It is difference with IndexedDB implementation.
33
24
  // This behavior compatible with localStorage.
34
25
  if (value === undefined) {
35
- return exports.deleteItem(storage, key);
26
+ return (0, exports.deleteItem)(storage, tableName, key);
36
27
  }
37
- return storage.setItem(String(key), JSON.stringify(value));
28
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
29
+ return storage.setItem(storageKey, JSON.stringify(value));
38
30
  };
39
- exports.clearItem = (storage, kvsVersionKey, options) => {
31
+ exports.setItem = setItem;
32
+ const clearItem = (storage, tableName, kvsVersionKey, options) => {
40
33
  // TODO: kvsVersionKey is special type
41
- const currentVersion = exports.getItem(storage, kvsVersionKey);
34
+ const currentVersion = (0, exports.getItem)(storage, tableName, kvsVersionKey);
42
35
  // clear all
43
36
  storage.clear();
44
37
  // if option.force is true, does not restore metadata.
@@ -47,40 +40,49 @@ exports.clearItem = (storage, kvsVersionKey, options) => {
47
40
  }
48
41
  // set kvs version again
49
42
  if (currentVersion !== undefined) {
50
- exports.setItem(storage, kvsVersionKey, currentVersion);
43
+ (0, exports.setItem)(storage, tableName, kvsVersionKey, currentVersion);
51
44
  }
52
45
  };
53
- exports.deleteItem = (storage, key) => {
46
+ exports.clearItem = clearItem;
47
+ const deleteItem = (storage, tableName, key) => {
48
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
54
49
  try {
55
- storage.removeItem(String(key));
50
+ storage.removeItem(storageKey);
56
51
  return true;
57
52
  }
58
53
  catch (_a) {
59
54
  return false;
60
55
  }
61
56
  };
62
- function* createIterator(storage, kvsVersionKey) {
57
+ exports.deleteItem = deleteItem;
58
+ function* createIterator(storage, tableName, kvsVersionKey) {
59
+ const tableKeyPrefix = `${tableName}${TABLE_KEY_MARKER}`;
63
60
  for (let i = 0; i < storage.length; i++) {
64
61
  const key = storage.key(i);
65
62
  if (!key) {
66
63
  continue;
67
64
  }
65
+ // skip another storage
66
+ if (!key.startsWith(tableKeyPrefix)) {
67
+ continue;
68
+ }
68
69
  // skip meta key
69
- if (key === kvsVersionKey) {
70
+ const keyWithoutPrefix = key.replace(tableKeyPrefix, "");
71
+ if (keyWithoutPrefix === kvsVersionKey) {
70
72
  continue;
71
73
  }
72
- const value = exports.getItem(storage, key);
73
- yield [key, value];
74
+ const value = (0, exports.getItem)(storage, tableName, keyWithoutPrefix);
75
+ yield [keyWithoutPrefix, value];
74
76
  }
75
77
  }
76
78
  exports.createIterator = createIterator;
77
79
  const DEFAULT_KVS_VERSION = 1;
78
- const openStorage = ({ storage, version, kvsVersionKey, onUpgrade }) => __awaiter(void 0, void 0, void 0, function* () {
80
+ const openStorage = async ({ storage, version, tableName, kvsVersionKey, onUpgrade }) => {
79
81
  // kvsVersionKey is special type
80
82
  // first `oldVersion` is `0`
81
- let oldVersion = exports.getItem(storage, kvsVersionKey);
83
+ let oldVersion = (0, exports.getItem)(storage, tableName, kvsVersionKey);
82
84
  if (oldVersion === undefined) {
83
- exports.setItem(storage, kvsVersionKey, DEFAULT_KVS_VERSION);
85
+ (0, exports.setItem)(storage, tableName, kvsVersionKey, DEFAULT_KVS_VERSION);
84
86
  // first `oldVersion` is `0`
85
87
  // https://github.com/azu/kvs/issues/8
86
88
  oldVersion = 0;
@@ -96,23 +98,23 @@ const openStorage = ({ storage, version, kvsVersionKey, onUpgrade }) => __awaite
96
98
  });
97
99
  }
98
100
  return storage;
99
- });
100
- const createStore = ({ storage, kvsVersionKey }) => {
101
+ };
102
+ const createStore = ({ tableName, storage, kvsVersionKey }) => {
101
103
  const store = {
102
104
  get(key) {
103
105
  return Promise.resolve().then(() => {
104
- return exports.getItem(storage, key);
106
+ return (0, exports.getItem)(storage, tableName, key);
105
107
  });
106
108
  },
107
109
  has(key) {
108
110
  return Promise.resolve().then(() => {
109
- return exports.hasItem(storage, key);
111
+ return (0, exports.hasItem)(storage, tableName, key);
110
112
  });
111
113
  },
112
114
  set(key, value) {
113
115
  return Promise.resolve()
114
116
  .then(() => {
115
- return exports.setItem(storage, key, value);
117
+ return (0, exports.setItem)(storage, tableName, key, value);
116
118
  })
117
119
  .then(() => {
118
120
  return store;
@@ -120,17 +122,17 @@ const createStore = ({ storage, kvsVersionKey }) => {
120
122
  },
121
123
  clear() {
122
124
  return Promise.resolve().then(() => {
123
- return exports.clearItem(storage, kvsVersionKey, { force: false });
125
+ return (0, exports.clearItem)(storage, tableName, kvsVersionKey, { force: false });
124
126
  });
125
127
  },
126
128
  delete(key) {
127
129
  return Promise.resolve().then(() => {
128
- return exports.deleteItem(storage, key);
130
+ return (0, exports.deleteItem)(storage, tableName, key);
129
131
  });
130
132
  },
131
133
  dropInstance() {
132
134
  return Promise.resolve().then(() => {
133
- return exports.clearItem(storage, kvsVersionKey, { force: true });
135
+ return (0, exports.clearItem)(storage, tableName, kvsVersionKey, { force: true });
134
136
  });
135
137
  },
136
138
  close() {
@@ -138,7 +140,7 @@ const createStore = ({ storage, kvsVersionKey }) => {
138
140
  return Promise.resolve();
139
141
  },
140
142
  [Symbol.asyncIterator]() {
141
- const iterator = createIterator(storage, kvsVersionKey);
143
+ const iterator = createIterator(storage, tableName, kvsVersionKey);
142
144
  return {
143
145
  next() {
144
146
  return Promise.resolve().then(() => {
@@ -150,25 +152,31 @@ const createStore = ({ storage, kvsVersionKey }) => {
150
152
  };
151
153
  return store;
152
154
  };
153
- exports.kvsStorage = (options) => __awaiter(void 0, void 0, void 0, function* () {
155
+ const kvsStorage = async (options) => {
154
156
  var _a;
155
- const { name, version, upgrade } = options, kvStorageOptions = __rest(options, ["name", "version", "upgrade"]);
157
+ const { name, version, upgrade, ...kvStorageOptions } = options;
158
+ invariant(typeof name === "string", "name should be string");
159
+ invariant(name.length > 0, "name should not be empty");
160
+ invariant(!name.includes(TABLE_KEY_MARKER), `name can not include ${TABLE_KEY_MARKER}. It is reserved in kvs.`);
161
+ invariant(typeof version === "number", `version should be number`);
156
162
  const kvsVersionKey = (_a = kvStorageOptions.kvsVersionKey) !== null && _a !== void 0 ? _a : "__kvs_version__";
157
- const storage = yield openStorage({
163
+ const storage = await openStorage({
158
164
  storage: options.storage,
159
165
  version: options.version,
166
+ tableName: name,
160
167
  onUpgrade: ({ oldVersion, newVersion, storage }) => {
161
168
  if (!options.upgrade) {
162
169
  return;
163
170
  }
164
171
  return options.upgrade({
165
- kvs: createStore({ storage, kvsVersionKey }),
172
+ kvs: createStore({ tableName: name, storage, kvsVersionKey }),
166
173
  oldVersion,
167
174
  newVersion
168
175
  });
169
176
  },
170
177
  kvsVersionKey
171
178
  });
172
- return createStore({ storage, kvsVersionKey });
173
- });
179
+ return createStore({ tableName: name, storage, kvsVersionKey });
180
+ };
181
+ exports.kvsStorage = kvsStorage;
174
182
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=JSONValue.js.map
@@ -1,14 +1,14 @@
1
1
  import type { KVS, KVSOptions, StoreNames, StoreValue } from "@kvs/types";
2
2
  import { JsonValue } from "./JSONValue";
3
3
  export declare type KVSStorageKey = string;
4
- export declare const getItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>) => any;
5
- export declare const hasItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>) => boolean;
6
- export declare const setItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>, value: StoreValue<Schema, StoreNames<Schema>> | undefined) => boolean | void;
7
- export declare const clearItem: (storage: Storage, kvsVersionKey: string, options: {
4
+ export declare const getItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>) => any;
5
+ export declare const hasItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>) => boolean;
6
+ export declare const setItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>, value: StoreValue<Schema, StoreNames<Schema>> | undefined) => boolean | void;
7
+ export declare const clearItem: (storage: Storage, tableName: string, kvsVersionKey: string, options: {
8
8
  force: boolean;
9
9
  }) => void;
10
- export declare const deleteItem: <Schema extends StorageSchema>(storage: Storage, key: StoreNames<Schema>) => boolean;
11
- export declare function createIterator<Schema extends StorageSchema>(storage: Storage, kvsVersionKey: string): Iterator<[StoreNames<Schema>, StoreValue<Schema, StoreNames<Schema>>]>;
10
+ export declare const deleteItem: <Schema extends StorageSchema>(storage: Storage, tableName: string, key: StoreNames<Schema>) => boolean;
11
+ export declare function createIterator<Schema extends StorageSchema>(storage: Storage, tableName: string, kvsVersionKey: string): Iterator<[StoreNames<Schema>, StoreValue<Schema, StoreNames<Schema>>]>;
12
12
  export declare type StorageSchema = {
13
13
  [index: string]: JsonValue;
14
14
  };
@@ -17,4 +17,4 @@ export declare type KvsStorageOptions<Schema extends StorageSchema> = KVSOptions
17
17
  kvsVersionKey?: string;
18
18
  storage: Storage;
19
19
  };
20
- export declare const kvsStorage: <Schema extends StorageSchema>(options: KvsStorageOptions<Schema>) => Promise<KVS<Schema>>;
20
+ export declare const kvsStorage: <Schema extends StorageSchema>(options: KvsStorageOptions<Schema>) => Promise<KvsStorage<Schema>>;
package/module/storage.js CHANGED
@@ -1,41 +1,31 @@
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
- };
10
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- export const getItem = (storage, key) => {
22
- const item = storage.getItem(String(key));
1
+ function invariant(condition, message) {
2
+ if (condition) {
3
+ return;
4
+ }
5
+ throw new Error(message);
6
+ }
7
+ const TABLE_KEY_MARKER = ".__.";
8
+ export const getItem = (storage, tableName, key) => {
9
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
10
+ const item = storage.getItem(storageKey);
23
11
  return item !== null ? JSON.parse(item) : undefined;
24
12
  };
25
- export const hasItem = (storage, key) => {
26
- return storage.getItem(String(key)) !== null;
13
+ export const hasItem = (storage, tableName, key) => {
14
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
15
+ return storage.getItem(storageKey) !== null;
27
16
  };
28
- export const setItem = (storage, key, value) => {
17
+ export const setItem = (storage, tableName, key, value) => {
29
18
  // It is difference with IndexedDB implementation.
30
19
  // This behavior compatible with localStorage.
31
20
  if (value === undefined) {
32
- return deleteItem(storage, key);
21
+ return deleteItem(storage, tableName, key);
33
22
  }
34
- return storage.setItem(String(key), JSON.stringify(value));
23
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
24
+ return storage.setItem(storageKey, JSON.stringify(value));
35
25
  };
36
- export const clearItem = (storage, kvsVersionKey, options) => {
26
+ export const clearItem = (storage, tableName, kvsVersionKey, options) => {
37
27
  // TODO: kvsVersionKey is special type
38
- const currentVersion = getItem(storage, kvsVersionKey);
28
+ const currentVersion = getItem(storage, tableName, kvsVersionKey);
39
29
  // clear all
40
30
  storage.clear();
41
31
  // if option.force is true, does not restore metadata.
@@ -44,39 +34,46 @@ export const clearItem = (storage, kvsVersionKey, options) => {
44
34
  }
45
35
  // set kvs version again
46
36
  if (currentVersion !== undefined) {
47
- setItem(storage, kvsVersionKey, currentVersion);
37
+ setItem(storage, tableName, kvsVersionKey, currentVersion);
48
38
  }
49
39
  };
50
- export const deleteItem = (storage, key) => {
40
+ export const deleteItem = (storage, tableName, key) => {
41
+ const storageKey = `${tableName}${TABLE_KEY_MARKER}${String(key)}`;
51
42
  try {
52
- storage.removeItem(String(key));
43
+ storage.removeItem(storageKey);
53
44
  return true;
54
45
  }
55
46
  catch (_a) {
56
47
  return false;
57
48
  }
58
49
  };
59
- export function* createIterator(storage, kvsVersionKey) {
50
+ export function* createIterator(storage, tableName, kvsVersionKey) {
51
+ const tableKeyPrefix = `${tableName}${TABLE_KEY_MARKER}`;
60
52
  for (let i = 0; i < storage.length; i++) {
61
53
  const key = storage.key(i);
62
54
  if (!key) {
63
55
  continue;
64
56
  }
57
+ // skip another storage
58
+ if (!key.startsWith(tableKeyPrefix)) {
59
+ continue;
60
+ }
65
61
  // skip meta key
66
- if (key === kvsVersionKey) {
62
+ const keyWithoutPrefix = key.replace(tableKeyPrefix, "");
63
+ if (keyWithoutPrefix === kvsVersionKey) {
67
64
  continue;
68
65
  }
69
- const value = getItem(storage, key);
70
- yield [key, value];
66
+ const value = getItem(storage, tableName, keyWithoutPrefix);
67
+ yield [keyWithoutPrefix, value];
71
68
  }
72
69
  }
73
70
  const DEFAULT_KVS_VERSION = 1;
74
- const openStorage = ({ storage, version, kvsVersionKey, onUpgrade }) => __awaiter(void 0, void 0, void 0, function* () {
71
+ const openStorage = async ({ storage, version, tableName, kvsVersionKey, onUpgrade }) => {
75
72
  // kvsVersionKey is special type
76
73
  // first `oldVersion` is `0`
77
- let oldVersion = getItem(storage, kvsVersionKey);
74
+ let oldVersion = getItem(storage, tableName, kvsVersionKey);
78
75
  if (oldVersion === undefined) {
79
- setItem(storage, kvsVersionKey, DEFAULT_KVS_VERSION);
76
+ setItem(storage, tableName, kvsVersionKey, DEFAULT_KVS_VERSION);
80
77
  // first `oldVersion` is `0`
81
78
  // https://github.com/azu/kvs/issues/8
82
79
  oldVersion = 0;
@@ -92,23 +89,23 @@ const openStorage = ({ storage, version, kvsVersionKey, onUpgrade }) => __awaite
92
89
  });
93
90
  }
94
91
  return storage;
95
- });
96
- const createStore = ({ storage, kvsVersionKey }) => {
92
+ };
93
+ const createStore = ({ tableName, storage, kvsVersionKey }) => {
97
94
  const store = {
98
95
  get(key) {
99
96
  return Promise.resolve().then(() => {
100
- return getItem(storage, key);
97
+ return getItem(storage, tableName, key);
101
98
  });
102
99
  },
103
100
  has(key) {
104
101
  return Promise.resolve().then(() => {
105
- return hasItem(storage, key);
102
+ return hasItem(storage, tableName, key);
106
103
  });
107
104
  },
108
105
  set(key, value) {
109
106
  return Promise.resolve()
110
107
  .then(() => {
111
- return setItem(storage, key, value);
108
+ return setItem(storage, tableName, key, value);
112
109
  })
113
110
  .then(() => {
114
111
  return store;
@@ -116,17 +113,17 @@ const createStore = ({ storage, kvsVersionKey }) => {
116
113
  },
117
114
  clear() {
118
115
  return Promise.resolve().then(() => {
119
- return clearItem(storage, kvsVersionKey, { force: false });
116
+ return clearItem(storage, tableName, kvsVersionKey, { force: false });
120
117
  });
121
118
  },
122
119
  delete(key) {
123
120
  return Promise.resolve().then(() => {
124
- return deleteItem(storage, key);
121
+ return deleteItem(storage, tableName, key);
125
122
  });
126
123
  },
127
124
  dropInstance() {
128
125
  return Promise.resolve().then(() => {
129
- return clearItem(storage, kvsVersionKey, { force: true });
126
+ return clearItem(storage, tableName, kvsVersionKey, { force: true });
130
127
  });
131
128
  },
132
129
  close() {
@@ -134,7 +131,7 @@ const createStore = ({ storage, kvsVersionKey }) => {
134
131
  return Promise.resolve();
135
132
  },
136
133
  [Symbol.asyncIterator]() {
137
- const iterator = createIterator(storage, kvsVersionKey);
134
+ const iterator = createIterator(storage, tableName, kvsVersionKey);
138
135
  return {
139
136
  next() {
140
137
  return Promise.resolve().then(() => {
@@ -146,25 +143,30 @@ const createStore = ({ storage, kvsVersionKey }) => {
146
143
  };
147
144
  return store;
148
145
  };
149
- export const kvsStorage = (options) => __awaiter(void 0, void 0, void 0, function* () {
146
+ export const kvsStorage = async (options) => {
150
147
  var _a;
151
- const { name, version, upgrade } = options, kvStorageOptions = __rest(options, ["name", "version", "upgrade"]);
148
+ const { name, version, upgrade, ...kvStorageOptions } = options;
149
+ invariant(typeof name === "string", "name should be string");
150
+ invariant(name.length > 0, "name should not be empty");
151
+ invariant(!name.includes(TABLE_KEY_MARKER), `name can not include ${TABLE_KEY_MARKER}. It is reserved in kvs.`);
152
+ invariant(typeof version === "number", `version should be number`);
152
153
  const kvsVersionKey = (_a = kvStorageOptions.kvsVersionKey) !== null && _a !== void 0 ? _a : "__kvs_version__";
153
- const storage = yield openStorage({
154
+ const storage = await openStorage({
154
155
  storage: options.storage,
155
156
  version: options.version,
157
+ tableName: name,
156
158
  onUpgrade: ({ oldVersion, newVersion, storage }) => {
157
159
  if (!options.upgrade) {
158
160
  return;
159
161
  }
160
162
  return options.upgrade({
161
- kvs: createStore({ storage, kvsVersionKey }),
163
+ kvs: createStore({ tableName: name, storage, kvsVersionKey }),
162
164
  oldVersion,
163
165
  newVersion
164
166
  });
165
167
  },
166
168
  kvsVersionKey
167
169
  });
168
- return createStore({ storage, kvsVersionKey });
169
- });
170
+ return createStore({ tableName: name, storage, kvsVersionKey });
171
+ };
170
172
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kvs/storage",
3
- "version": "1.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Storage(localStorage, sessionStorage) helper for KVS.",
5
5
  "keywords": [
6
6
  "kvs",
@@ -45,23 +45,22 @@
45
45
  "trailingComma": "none"
46
46
  },
47
47
  "dependencies": {
48
- "@kvs/types": "^1.1.0"
48
+ "@kvs/types": "^2.1.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@jsdevtools/karma-config": "^3.1.7",
52
- "@types/mocha": "^8.0.1",
53
- "@types/node": "^14.0.27",
54
- "karma": "^5.1.1",
52
+ "@types/mocha": "^9.0.0",
53
+ "@types/node": "^16.9.1",
54
+ "karma": "^6.3.4",
55
55
  "karma-cli": "^2.0.0",
56
- "lerna": "^3.22.1",
57
- "mocha": "^8.1.1",
56
+ "mocha": "^9.1.1",
58
57
  "prettier": "^2.0.5",
59
58
  "rimraf": "^3.0.2",
60
- "ts-loader": "^8.0.2",
61
- "typescript": "^3.9.7"
59
+ "ts-loader": "^8.2.0",
60
+ "typescript": "^4.2.4"
62
61
  },
63
62
  "publishConfig": {
64
63
  "access": "public"
65
64
  },
66
- "gitHead": "8059a1e365484eab697477640c0dc7257d899db5"
65
+ "gitHead": "d8ec6e0ba796bc2cab189a395bcda9754ffc4c9e"
67
66
  }
package/CHANGELOG.md DELETED
@@ -1,68 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [1.1.0](https://github.com/azu/kvs/compare/v1.0.0...v1.1.0) (2020-10-29)
7
-
8
-
9
- ### Features
10
-
11
- * **examples:** add basic example ([#14](https://github.com/azu/kvs/issues/14)) ([351215d](https://github.com/azu/kvs/commit/351215d6c04158201768036caaa6e792c72717ea))
12
-
13
-
14
-
15
-
16
-
17
- # [1.0.0](https://github.com/azu/kvs/compare/v0.3.1...v1.0.0) (2020-08-22)
18
-
19
- **Note:** Version bump only for package @kvs/storage
20
-
21
-
22
-
23
-
24
-
25
- # [0.3.0](https://github.com/azu/kvs/compare/v0.2.1...v0.3.0) (2020-08-22)
26
-
27
-
28
- ### Features
29
-
30
- * **storage-sync:** add storage-sync package ([#11](https://github.com/azu/kvs/issues/11)) ([5748776](https://github.com/azu/kvs/commit/574877624202660c0427cd050d30e807d7bbbd26))
31
-
32
-
33
-
34
-
35
-
36
- ## [0.2.1](https://github.com/azu/kvs/compare/v0.2.0...v0.2.1) (2020-08-22)
37
-
38
- **Note:** Version bump only for package @kvs/storage
39
-
40
-
41
-
42
-
43
-
44
- # [0.2.0](https://github.com/azu/kvs/compare/v0.1.0...v0.2.0) (2020-08-08)
45
-
46
-
47
- ### Features
48
-
49
- * **@kvs/indexeddb:** migrate Schema Type ([ec143e2](https://github.com/azu/kvs/commit/ec143e27d174271f4ce45f657e1ae644ef01591c))
50
- * **@kvs/localstorage:** migrate to Schema type ([0c84640](https://github.com/azu/kvs/commit/0c84640c1c1d28955c60ca83d8a01bdce936d9ef))
51
- * **storage:** use Schema interface ([2560aae](https://github.com/azu/kvs/commit/2560aae28d642c8f2e8ee5920dc1cc15f7c8c3f6))
52
-
53
-
54
-
55
-
56
-
57
- # 0.1.0 (2020-08-08)
58
-
59
-
60
- ### Bug Fixes
61
-
62
- * add deps ([b72e91a](https://github.com/azu/kvs/commit/b72e91aaa2487d69d44200ef0a11cc0b5f8fb904))
63
-
64
-
65
- ### Features
66
-
67
- * **@kvs/node-localstorage:** add node implementation ([5160012](https://github.com/azu/kvs/commit/516001286c96ac85cb54d55fbba62549d6d7eb0e))
68
- * add `close()` to interface ([a269d1d](https://github.com/azu/kvs/commit/a269d1dda6ce63388771e6fa4d897a26f284b72c))