lib0 0.2.93 → 0.2.95
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/coverage/tmp/coverage-17427-1722257176008-0.json +1 -0
- package/dist/{broadcastchannel-80813eea.cjs → broadcastchannel-8b08f847.cjs} +2 -2
- package/dist/{broadcastchannel-80813eea.cjs.map → broadcastchannel-8b08f847.cjs.map} +1 -1
- package/dist/broadcastchannel.cjs +5 -5
- package/dist/{buffer-f11b8d4d.cjs → buffer-757ffcaa.cjs} +2 -2
- package/dist/{buffer-f11b8d4d.cjs.map → buffer-757ffcaa.cjs.map} +1 -1
- package/dist/buffer.cjs +4 -4
- package/dist/cache.cjs +2 -2
- package/dist/component.cjs +3 -3
- package/dist/{diff-fbaa426b.cjs → diff-38d8f45b.cjs} +2 -2
- package/dist/{diff-fbaa426b.cjs.map → diff-38d8f45b.cjs.map} +1 -1
- package/dist/diff.cjs +3 -3
- package/dist/{environment-f4d7c3e5.cjs → environment-99bbcd58.cjs} +16 -5
- package/dist/environment-99bbcd58.cjs.map +1 -0
- package/dist/environment.cjs +3 -3
- package/dist/environment.d.ts +7 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/{function-314fdc56.cjs → function-18d343cf.cjs} +2 -2
- package/dist/{function-314fdc56.cjs.map → function-18d343cf.cjs.map} +1 -1
- package/dist/function.cjs +2 -2
- package/dist/index.cjs +9 -9
- package/dist/{indexeddb-8d495848.cjs → indexeddb-0cbb4d6f.cjs} +2 -2
- package/dist/{indexeddb-8d495848.cjs.map → indexeddb-0cbb4d6f.cjs.map} +1 -1
- package/dist/indexeddb.cjs +2 -2
- package/dist/indexeddbV2.cjs +287 -0
- package/dist/indexeddbV2.cjs.map +1 -0
- package/dist/indexeddbV2.d.ts +35 -0
- package/dist/indexeddbV2.d.ts.map +1 -0
- package/dist/indexeddbV2.test.d.ts +3 -0
- package/dist/indexeddbV2.test.d.ts.map +1 -0
- package/dist/jwt.cjs +4 -4
- package/dist/list.cjs +2 -2
- package/dist/logging.cjs +3 -3
- package/dist/logging.common.cjs +22 -6
- package/dist/logging.common.cjs.map +1 -1
- package/dist/logging.common.d.ts +1 -1
- package/dist/logging.common.d.ts.map +1 -1
- package/dist/logging.node.cjs +3 -3
- package/dist/{object-fecf6a7b.cjs → object-b0539a4e.cjs} +11 -2
- package/dist/object-b0539a4e.cjs.map +1 -0
- package/dist/object.cjs +2 -1
- package/dist/object.cjs.map +1 -1
- package/dist/object.d.ts +3 -0
- package/dist/object.d.ts.map +1 -1
- package/dist/performance.node.cjs +2 -2
- package/dist/pledge.cjs +307 -0
- package/dist/pledge.cjs.map +1 -0
- package/dist/pledge.d.ts +68 -0
- package/dist/pledge.d.ts.map +1 -0
- package/dist/pledge.test.d.ts +6 -0
- package/dist/pledge.test.d.ts.map +1 -0
- package/dist/{prng-e4f28259.cjs → prng-90743426.cjs} +2 -2
- package/dist/{prng-e4f28259.cjs.map → prng-90743426.cjs.map} +1 -1
- package/dist/prng.cjs +5 -5
- package/dist/{promise-afe9dfc3.cjs → promise-7d13a97c.cjs} +22 -2
- package/dist/promise-7d13a97c.cjs.map +1 -0
- package/dist/promise.cjs +2 -1
- package/dist/promise.cjs.map +1 -1
- package/dist/promise.d.ts +1 -0
- package/dist/promise.d.ts.map +1 -1
- package/dist/promise.test.d.ts.map +1 -1
- package/dist/rabin-gf2-polynomial.cjs +4 -4
- package/dist/rabin-uncached.cjs +4 -4
- package/dist/rabin.cjs +4 -4
- package/dist/testing.cjs +7 -7
- package/dist/url.cjs +1 -1
- package/environment.d.ts +7 -0
- package/environment.d.ts.map +1 -1
- package/environment.js +14 -3
- package/indexeddbV2.d.ts +35 -0
- package/indexeddbV2.d.ts.map +1 -0
- package/indexeddbV2.js +265 -0
- package/indexeddbV2.test.d.ts +3 -0
- package/indexeddbV2.test.d.ts.map +1 -0
- package/logging.common.d.ts +1 -1
- package/logging.common.d.ts.map +1 -1
- package/logging.common.js +14 -3
- package/object.d.ts +3 -0
- package/object.d.ts.map +1 -1
- package/object.js +8 -1
- package/package.json +1 -1
- package/pledge.d.ts +68 -0
- package/pledge.d.ts.map +1 -0
- package/pledge.js +292 -0
- package/pledge.test.d.ts +6 -0
- package/pledge.test.d.ts.map +1 -0
- package/promise.d.ts +1 -0
- package/promise.d.ts.map +1 -1
- package/promise.js +19 -1
- package/promise.test.d.ts.map +1 -1
- package/test.js +4 -0
- package/coverage/tmp/coverage-45503-1710701602083-0.json +0 -1
- package/dist/environment-f4d7c3e5.cjs.map +0 -1
- package/dist/object-fecf6a7b.cjs.map +0 -1
- package/dist/promise-afe9dfc3.cjs.map +0 -1
package/dist/promise.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../promise.js"],"names":[],"mappings":"AAmBO,oEAHwC,KAAK,KAAE,IAAI,KAAE,GAAG,cAGM;AAM9D,4CAHwB,IAAI,eAAU,KAAK,KAAE,IAAI,KAAE,IAAI,GAClD,QAAQ,IAAI,CAAC,CAEqB;AAE9C;;;;;;GAMG;AACH;;;EAA4C;AAMrC,oDAFK,QAAQ,KAAK,CAAC,CAE4B;AAO/C,6DAA2C;AAO3C,mDAA+C;
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../promise.js"],"names":[],"mappings":"AAmBO,oEAHwC,KAAK,KAAE,IAAI,KAAE,GAAG,cAGM;AAM9D,4CAHwB,IAAI,eAAU,KAAK,KAAE,IAAI,KAAE,IAAI,GAClD,QAAQ,IAAI,CAAC,CAEqB;AAE9C;;;;;;GAMG;AACH;;;EAA4C;AAMrC,oDAFK,QAAQ,KAAK,CAAC,CAE4B;AAO/C,6DAA2C;AAO3C,mDAA+C;AAW/C,+BALI,MAAM,eACK,OAAO,4CAEjB,QAAQ,IAAI,CAAC,CAkBvB;AAQK,kCALI,MAAI,QAAQ,OAAO,CAAC,GAAC,OAAO,YAC5B,MAAM,uBACN,MAAM,GACL,QAAQ,IAAI,CAAC,CAWxB;AAMM,8BAHI,MAAM,GACL,QAAQ,SAAS,CAAC,CAE2D;AAWlF,6BAHI,GAAG,GACF,OAAO,CAEwE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.test.d.ts","sourceRoot":"","sources":["../promise.test.js"],"names":[],"mappings":"AA6BO,uCAFI,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"promise.test.d.ts","sourceRoot":"","sources":["../promise.test.js"],"names":[],"mappings":"AA6BO,uCAFI,EAAE,QAAQ,iBAmBpB;AAKM,mCAFI,EAAE,QAAQ,QAapB;AAKM,iCAFI,EAAE,QAAQ,iBAapB;mBA7EkB,cAAc"}
|
|
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var math = require('./math-08e068f9.cjs');
|
|
6
6
|
var webcrypto = require('lib0/webcrypto');
|
|
7
7
|
var array = require('./array-704ca50e.cjs');
|
|
8
|
-
var buffer = require('./buffer-
|
|
8
|
+
var buffer = require('./buffer-757ffcaa.cjs');
|
|
9
9
|
require('./set-0f209abb.cjs');
|
|
10
10
|
require('./string-6d104757.cjs');
|
|
11
|
-
require('./environment-
|
|
11
|
+
require('./environment-99bbcd58.cjs');
|
|
12
12
|
require('./map-0dabcc55.cjs');
|
|
13
13
|
require('./conditions-f5c0c102.cjs');
|
|
14
14
|
require('./storage.cjs');
|
|
15
|
-
require('./function-
|
|
16
|
-
require('./object-
|
|
15
|
+
require('./function-18d343cf.cjs');
|
|
16
|
+
require('./object-b0539a4e.cjs');
|
|
17
17
|
require('./encoding-882cb136.cjs');
|
|
18
18
|
require('./number-466d8922.cjs');
|
|
19
19
|
require('./binary-ac8e39e2.cjs');
|
package/dist/rabin-uncached.cjs
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var math = require('./math-08e068f9.cjs');
|
|
6
|
-
var buffer = require('./buffer-
|
|
6
|
+
var buffer = require('./buffer-757ffcaa.cjs');
|
|
7
7
|
require('./string-6d104757.cjs');
|
|
8
8
|
require('./array-704ca50e.cjs');
|
|
9
9
|
require('./set-0f209abb.cjs');
|
|
10
|
-
require('./environment-
|
|
10
|
+
require('./environment-99bbcd58.cjs');
|
|
11
11
|
require('./map-0dabcc55.cjs');
|
|
12
12
|
require('./conditions-f5c0c102.cjs');
|
|
13
13
|
require('./storage.cjs');
|
|
14
|
-
require('./function-
|
|
15
|
-
require('./object-
|
|
14
|
+
require('./function-18d343cf.cjs');
|
|
15
|
+
require('./object-b0539a4e.cjs');
|
|
16
16
|
require('./encoding-882cb136.cjs');
|
|
17
17
|
require('./number-466d8922.cjs');
|
|
18
18
|
require('./binary-ac8e39e2.cjs');
|
package/dist/rabin.cjs
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var buffer = require('./buffer-
|
|
5
|
+
var buffer = require('./buffer-757ffcaa.cjs');
|
|
6
6
|
var map = require('./map-0dabcc55.cjs');
|
|
7
7
|
require('./string-6d104757.cjs');
|
|
8
8
|
require('./array-704ca50e.cjs');
|
|
9
9
|
require('./set-0f209abb.cjs');
|
|
10
|
-
require('./environment-
|
|
10
|
+
require('./environment-99bbcd58.cjs');
|
|
11
11
|
require('./conditions-f5c0c102.cjs');
|
|
12
12
|
require('./storage.cjs');
|
|
13
|
-
require('./function-
|
|
14
|
-
require('./object-
|
|
13
|
+
require('./function-18d343cf.cjs');
|
|
14
|
+
require('./object-b0539a4e.cjs');
|
|
15
15
|
require('./math-08e068f9.cjs');
|
|
16
16
|
require('./encoding-882cb136.cjs');
|
|
17
17
|
require('./number-466d8922.cjs');
|
package/dist/testing.cjs
CHANGED
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var log = require('lib0/logging');
|
|
6
|
-
var diff = require('./diff-
|
|
7
|
-
var object = require('./object-
|
|
6
|
+
var diff = require('./diff-38d8f45b.cjs');
|
|
7
|
+
var object = require('./object-b0539a4e.cjs');
|
|
8
8
|
var string = require('./string-6d104757.cjs');
|
|
9
9
|
var math = require('./math-08e068f9.cjs');
|
|
10
10
|
var random = require('./random.cjs');
|
|
11
|
-
var prng = require('./prng-
|
|
11
|
+
var prng = require('./prng-90743426.cjs');
|
|
12
12
|
var statistics = require('./statistics-c2316dca.cjs');
|
|
13
13
|
var array = require('./array-704ca50e.cjs');
|
|
14
|
-
var environment = require('./environment-
|
|
14
|
+
var environment = require('./environment-99bbcd58.cjs');
|
|
15
15
|
var json = require('./json-092190a1.cjs');
|
|
16
16
|
var time = require('./time-bc2081b9.cjs');
|
|
17
|
-
var promise = require('./promise-
|
|
17
|
+
var promise = require('./promise-7d13a97c.cjs');
|
|
18
18
|
var performance = require('lib0/performance');
|
|
19
|
-
require('./function-
|
|
19
|
+
require('./function-18d343cf.cjs');
|
|
20
20
|
require('./binary-ac8e39e2.cjs');
|
|
21
21
|
require('lib0/webcrypto');
|
|
22
|
-
require('./buffer-
|
|
22
|
+
require('./buffer-757ffcaa.cjs');
|
|
23
23
|
require('./encoding-882cb136.cjs');
|
|
24
24
|
require('./number-466d8922.cjs');
|
|
25
25
|
require('./decoding-000d097f.cjs');
|
package/dist/url.cjs
CHANGED
package/environment.d.ts
CHANGED
|
@@ -8,5 +8,12 @@ export function getConf(name: string): string | null;
|
|
|
8
8
|
export function ensureConf(name: string): string;
|
|
9
9
|
export function hasConf(name: string): boolean;
|
|
10
10
|
export const production: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Color is enabled by default if the terminal supports it.
|
|
13
|
+
*
|
|
14
|
+
* Explicitly enable color using `--color` parameter
|
|
15
|
+
* Disable color using `--no-color` parameter or using `NO_COLOR=1` environment variable.
|
|
16
|
+
* `FORCE_COLOR=1` enables color and takes precedence over all.
|
|
17
|
+
*/
|
|
11
18
|
export const supportsColor: boolean;
|
|
12
19
|
//# sourceMappingURL=environment.d.ts.map
|
package/environment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["environment.js"],"names":[],"mappings":"AAcA,6BAA0N;AAG1N,gCAAoG;AAEpG,4BAES;AAyDF,+BAJI,MAAM,GACL,OAAO,CAGwC;AAQpD,+BALI,MAAM,cACN,MAAM,GACL,MAAM,CAIuB;AAOlC,kCAJI,MAAM,GACL,MAAM,GAAC,IAAI,CAM2C;AAO3D,8BAJI,MAAM,GACL,MAAM,GAAC,IAAI,CAIgC;AAOhD,iCAJI,MAAM,GACL,MAAM,CAOjB;AAOM,8BAJI,MAAM,GACL,OAAO,CAIkC;AAGrD,iCAA+C;AAO/C,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["environment.js"],"names":[],"mappings":"AAcA,6BAA0N;AAG1N,gCAAoG;AAEpG,4BAES;AAyDF,+BAJI,MAAM,GACL,OAAO,CAGwC;AAQpD,+BALI,MAAM,cACN,MAAM,GACL,MAAM,CAIuB;AAOlC,kCAJI,MAAM,GACL,MAAM,GAAC,IAAI,CAM2C;AAO3D,8BAJI,MAAM,GACL,MAAM,GAAC,IAAI,CAIgC;AAOhD,iCAJI,MAAM,GACL,MAAM,CAOjB;AAOM,8BAJI,MAAM,GACL,OAAO,CAIkC;AAGrD,iCAA+C;AAO/C;;;;;;GAMG;AACH,oCASC"}
|
package/environment.js
CHANGED
|
@@ -132,10 +132,21 @@ const forceColor = isNode &&
|
|
|
132
132
|
f.isOneOf(process.env.FORCE_COLOR, ['true', '1', '2'])
|
|
133
133
|
|
|
134
134
|
/* c8 ignore start */
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
/**
|
|
136
|
+
* Color is enabled by default if the terminal supports it.
|
|
137
|
+
*
|
|
138
|
+
* Explicitly enable color using `--color` parameter
|
|
139
|
+
* Disable color using `--no-color` parameter or using `NO_COLOR=1` environment variable.
|
|
140
|
+
* `FORCE_COLOR=1` enables color and takes precedence over all.
|
|
141
|
+
*/
|
|
142
|
+
export const supportsColor = forceColor || (
|
|
143
|
+
!hasParam('--no-colors') && // @todo deprecate --no-colors
|
|
144
|
+
!hasConf('no-color') &&
|
|
145
|
+
(!isNode || process.stdout.isTTY) && (
|
|
146
|
+
!isNode ||
|
|
147
|
+
hasParam('--color') ||
|
|
138
148
|
getVariable('COLORTERM') !== null ||
|
|
139
149
|
(getVariable('TERM') || '').includes('color')
|
|
150
|
+
)
|
|
140
151
|
)
|
|
141
152
|
/* c8 ignore stop */
|
package/indexeddbV2.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function bindPledge(p: pledge.PledgeInstance<any>, request: IDBRequest): void;
|
|
2
|
+
export function openDB(name: string, initDB: (arg0: IDBDatabase) => any): pledge.PledgeInstance<IDBDatabase>;
|
|
3
|
+
export function deleteDB(name: pledge.Pledge<string>): pledge.PledgeInstance<void>;
|
|
4
|
+
export function createStores(db: IDBDatabase, definitions: Array<Array<string> | Array<string | IDBObjectStoreParameters | undefined>>): void;
|
|
5
|
+
export function transact(db: pledge.Pledge<IDBDatabase>, stores: pledge.Pledge<Array<string>>, access?: "readonly" | "readwrite" | undefined): pledge.Pledge<Array<IDBObjectStore>>;
|
|
6
|
+
export function count(store: IDBObjectStore, range?: pledge.Pledge<IDBKeyRange | undefined>): pledge.PledgeInstance<number>;
|
|
7
|
+
export function get(store: pledge.Pledge<IDBObjectStore>, key: pledge.Pledge<string | number | ArrayBuffer | Date | Array<any>>): pledge.PledgeInstance<string | number | ArrayBuffer | Date | Array<any>>;
|
|
8
|
+
export function del(store: pledge.Pledge<IDBObjectStore>, key: string | number | ArrayBuffer | Date | IDBKeyRange | Array<any>): pledge.PledgeInstance<any, Error>;
|
|
9
|
+
export function put(store: pledge.Pledge<IDBObjectStore>, item: string | number | ArrayBuffer | Date | boolean, key?: string | number | any[] | Date | ArrayBuffer | undefined): pledge.PledgeInstance<any, Error>;
|
|
10
|
+
export function add(store: pledge.Pledge<IDBObjectStore>, item: string | number | ArrayBuffer | Date | boolean, key: string | number | ArrayBuffer | Date | Array<any>): pledge.PledgeInstance<any>;
|
|
11
|
+
export function addAutoKey(store: pledge.Pledge<IDBObjectStore>, item: string | number | ArrayBuffer | Date): pledge.PledgeInstance<number>;
|
|
12
|
+
export function getAll(store: pledge.Pledge<IDBObjectStore>, range?: IDBKeyRange | undefined, limit?: number | undefined): pledge.PledgeInstance<Array<any>>;
|
|
13
|
+
export function getAllKeys(store: pledge.Pledge<IDBObjectStore>, range?: IDBKeyRange | undefined, limit?: number | undefined): pledge.PledgeInstance<Array<any>>;
|
|
14
|
+
export function queryFirst(store: IDBObjectStore, query: IDBKeyRange | null, direction: 'next' | 'prev' | 'nextunique' | 'prevunique'): pledge.PledgeInstance<any>;
|
|
15
|
+
export function getLastKey(store: IDBObjectStore, range?: IDBKeyRange | null | undefined): pledge.PledgeInstance<any>;
|
|
16
|
+
export function getFirstKey(store: IDBObjectStore, range?: IDBKeyRange | null | undefined): pledge.PledgeInstance<any>;
|
|
17
|
+
export function getAllKeysValues(store: pledge.Pledge<IDBObjectStore>, range?: pledge.Pledge<IDBKeyRange | undefined>, limit?: pledge.Pledge<number | undefined>): pledge.PledgeInstance<Array<KeyValuePair>>;
|
|
18
|
+
export function iterate(store: pledge.Pledge<IDBObjectStore>, keyrange: pledge.Pledge<IDBKeyRange | null>, f: (arg0: any, arg1: any) => void | boolean | Promise<void | boolean>, direction?: 'next' | 'prev' | 'nextunique' | 'prevunique'): pledge.PledgeInstance<any, Error>;
|
|
19
|
+
export function iterateKeys(store: pledge.Pledge<IDBObjectStore>, keyrange: pledge.Pledge<IDBKeyRange | null>, f: (arg0: any) => void | boolean | Promise<void | boolean>, direction?: 'next' | 'prev' | 'nextunique' | 'prevunique'): pledge.PledgeInstance<any, Error>;
|
|
20
|
+
export function getStore(t: IDBTransaction, store: string): IDBObjectStore;
|
|
21
|
+
export function createIDBKeyRangeBound(lower: any, upper: any, lowerOpen: boolean, upperOpen: boolean): IDBKeyRange;
|
|
22
|
+
export function createIDBKeyRangeUpperBound(upper: any, upperOpen: boolean): IDBKeyRange;
|
|
23
|
+
export function createIDBKeyRangeLowerBound(lower: any, lowerOpen: boolean): IDBKeyRange;
|
|
24
|
+
export type KeyValuePair = {
|
|
25
|
+
/**
|
|
26
|
+
* key
|
|
27
|
+
*/
|
|
28
|
+
k: any;
|
|
29
|
+
/**
|
|
30
|
+
* Value
|
|
31
|
+
*/
|
|
32
|
+
v: any;
|
|
33
|
+
};
|
|
34
|
+
import * as pledge from './pledge.js';
|
|
35
|
+
//# sourceMappingURL=indexeddbV2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexeddbV2.d.ts","sourceRoot":"","sources":["indexeddbV2.js"],"names":[],"mappings":"AAqBO,8BAHI,OAAO,cAAc,CAAC,GAAG,CAAC,WAC1B,UAAU,QAOpB;AAOM,6BAJI,MAAM,iBACG,WAAW,KAAE,GAAG,GACxB,OAAO,cAAc,CAAC,WAAW,CAAC,CA4B7C;AAMM,+BAHI,OAAO,MAAM,CAAC,MAAM,CAAC,GACpB,OAAO,cAAc,CAAC,IAAI,CAAC,CAEwF;AAMxH,iCAHI,WAAW,eACX,MAAM,MAAM,MAAM,CAAC,GAAC,MAAM,MAAM,GAAC,wBAAwB,GAAC,SAAS,CAAC,CAAC,QAK/E;AAQM,6BALI,OAAO,MAAM,CAAC,WAAW,CAAC,UAC1B,OAAO,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,kDAE3B,OAAO,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,CAKlC;AAOP,6BAJI,cAAc,UACd,OAAO,MAAM,CAAC,WAAW,GAAC,SAAS,CAAC,GACnC,OAAO,cAAc,CAAC,MAAM,CAAC,CAEiG;AAOnI,2BAJI,OAAO,MAAM,CAAC,cAAc,CAAC,OAC7B,OAAO,MAAM,CAAC,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,GAC/D,OAAO,cAAc,CAAC,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAE0C;AAMvH,2BAHI,OAAO,MAAM,CAAC,cAAc,CAAC,OAC7B,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,CAAC,qCAEuD;AAO1H,2BAJI,OAAO,MAAM,CAAC,cAAc,CAAC,QAC7B,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,qGAG6F;AAQ/I,2BALI,OAAO,MAAM,CAAC,cAAc,CAAC,QAC7B,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,OAC9C,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,GAChD,OAAO,cAAc,CAAC,GAAG,CAAC,CAEgH;AAO/I,kCAJI,OAAO,MAAM,CAAC,cAAc,CAAC,QAC7B,SAAS,MAAM,GAAG,WAAW,GAAG,IAAI,GACnC,OAAO,cAAc,CAAC,MAAM,CAAC,CAEgG;AAQlI,8BALI,OAAO,MAAM,CAAC,cAAc,CAAC,gEAG5B,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAE2H;AAQjK,kCALI,OAAO,MAAM,CAAC,cAAc,CAAC,gEAG5B,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAEmI;AAQzK,kCALI,cAAc,SACd,WAAW,GAAC,IAAI,aAChB,MAAM,GAAC,MAAM,GAAC,YAAY,GAAC,YAAY,GACtC,OAAO,cAAc,CAAC,GAAG,CAAC,CAWrC;AAOM,kCAJI,cAAc,2CAEb,OAAO,cAAc,CAAC,GAAG,CAAC,CAE6C;AAO5E,mCAJI,cAAc,2CAEb,OAAO,cAAc,CAAC,GAAG,CAAC,CAE8C;AAe7E,wCALI,OAAO,MAAM,CAAC,cAAc,CAAC,UAC7B,OAAO,MAAM,CAAC,WAAW,GAAC,SAAS,CAAC,UACpC,OAAO,MAAM,CAAC,MAAM,GAAC,SAAS,CAAC,GAC9B,OAAO,cAAc,CAAC,MAAM,YAAY,CAAC,CAAC,CAI/B;AA6BhB,+BALI,OAAO,MAAM,CAAC,cAAc,CAAC,YAC7B,OAAO,MAAM,CAAC,WAAW,GAAC,IAAI,CAAC,YACtB,GAAG,QAAC,GAAG,KAAE,IAAI,GAAC,OAAO,GAAC,QAAQ,IAAI,GAAC,OAAO,CAAC,cACpD,MAAM,GAAC,MAAM,GAAC,YAAY,GAAC,YAAY,qCAI/B;AAUZ,mCALI,OAAO,MAAM,CAAC,cAAc,CAAC,YAC7B,OAAO,MAAM,CAAC,WAAW,GAAC,IAAI,CAAC,YACtB,GAAG,KAAE,IAAI,GAAC,OAAO,GAAC,QAAQ,IAAI,GAAC,OAAO,CAAC,cAChD,MAAM,GAAC,MAAM,GAAC,YAAY,GAAC,YAAY,qCAI/B;AAQZ,4BAJI,cAAc,kBAEZ,cAAc,CAE+B;AAQnD,8CALI,GAAG,SACH,GAAG,aACH,OAAO,aACP,OAAO,eAEiH;AAM5H,mDAHI,GAAG,aACH,OAAO,eAEuF;AAMlG,mDAHI,GAAG,aACH,OAAO,eAEuF;;;;;OAnF3F,GAAG;;;;OACH,GAAG;;wBAzKO,aAAa"}
|
package/indexeddbV2.js
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/* eslint-env browser */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Helpers to work with IndexedDB.
|
|
5
|
+
* This is an experimental implementation using Pledge instead of Promise.
|
|
6
|
+
*
|
|
7
|
+
* @experimental
|
|
8
|
+
*
|
|
9
|
+
* @module indexeddbv2
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import * as pledge from './pledge.js'
|
|
13
|
+
|
|
14
|
+
/* c8 ignore start */
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* IDB Request to Pledge transformer
|
|
18
|
+
*
|
|
19
|
+
* @param {pledge.PledgeInstance<any>} p
|
|
20
|
+
* @param {IDBRequest} request
|
|
21
|
+
*/
|
|
22
|
+
export const bindPledge = (p, request) => {
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
request.onerror = event => p.cancel(event.target.error)
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
request.onsuccess = event => p.resolve(event.target.result)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @param {string} name
|
|
31
|
+
* @param {function(IDBDatabase):any} initDB Called when the database is first created
|
|
32
|
+
* @return {pledge.PledgeInstance<IDBDatabase>}
|
|
33
|
+
*/
|
|
34
|
+
export const openDB = (name, initDB) => {
|
|
35
|
+
/**
|
|
36
|
+
* @type {pledge.PledgeInstance<IDBDatabase>}
|
|
37
|
+
*/
|
|
38
|
+
const p = pledge.create()
|
|
39
|
+
const request = indexedDB.open(name)
|
|
40
|
+
/**
|
|
41
|
+
* @param {any} event
|
|
42
|
+
*/
|
|
43
|
+
request.onupgradeneeded = event => initDB(event.target.result)
|
|
44
|
+
/**
|
|
45
|
+
* @param {any} event
|
|
46
|
+
*/
|
|
47
|
+
request.onerror = event => p.cancel(event.target.error)
|
|
48
|
+
/**
|
|
49
|
+
* @param {any} event
|
|
50
|
+
*/
|
|
51
|
+
request.onsuccess = event => {
|
|
52
|
+
/**
|
|
53
|
+
* @type {IDBDatabase}
|
|
54
|
+
*/
|
|
55
|
+
const db = event.target.result
|
|
56
|
+
db.onversionchange = () => { db.close() }
|
|
57
|
+
p.resolve(db)
|
|
58
|
+
}
|
|
59
|
+
return p
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @param {pledge.Pledge<string>} name
|
|
64
|
+
* @return {pledge.PledgeInstance<void>}
|
|
65
|
+
*/
|
|
66
|
+
export const deleteDB = name => pledge.createWithDependencies((p, name) => bindPledge(p, indexedDB.deleteDatabase(name)), name)
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @param {IDBDatabase} db
|
|
70
|
+
* @param {Array<Array<string>|Array<string|IDBObjectStoreParameters|undefined>>} definitions
|
|
71
|
+
*/
|
|
72
|
+
export const createStores = (db, definitions) => definitions.forEach(d =>
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
db.createObjectStore.apply(db, d)
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* @param {pledge.Pledge<IDBDatabase>} db
|
|
79
|
+
* @param {pledge.Pledge<Array<string>>} stores
|
|
80
|
+
* @param {"readwrite"|"readonly"} [access]
|
|
81
|
+
* @return {pledge.Pledge<Array<IDBObjectStore>>}
|
|
82
|
+
*/
|
|
83
|
+
export const transact = (db, stores, access = 'readwrite') => pledge.createWithDependencies((p, db, stores) => {
|
|
84
|
+
const transaction = db.transaction(stores, access)
|
|
85
|
+
p.resolve(stores.map(store => getStore(transaction, store)))
|
|
86
|
+
}, db, stores)
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @param {IDBObjectStore} store
|
|
90
|
+
* @param {pledge.Pledge<IDBKeyRange|undefined>} [range]
|
|
91
|
+
* @return {pledge.PledgeInstance<number>}
|
|
92
|
+
*/
|
|
93
|
+
export const count = (store, range) => pledge.createWithDependencies((p, store, range) => bindPledge(p, store.count(range)), store, range)
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
97
|
+
* @param {pledge.Pledge<String | number | ArrayBuffer | Date | Array<any>>} key
|
|
98
|
+
* @return {pledge.PledgeInstance<String | number | ArrayBuffer | Date | Array<any>>}
|
|
99
|
+
*/
|
|
100
|
+
export const get = (store, key) => pledge.createWithDependencies((p, store, key) => bindPledge(p, store.get(key)), store, key)
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
104
|
+
* @param {String | number | ArrayBuffer | Date | IDBKeyRange | Array<any> } key
|
|
105
|
+
*/
|
|
106
|
+
export const del = (store, key) => pledge.createWithDependencies((p, store, key) => bindPledge(p, store.delete(key)), store, key)
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
110
|
+
* @param {String | number | ArrayBuffer | Date | boolean} item
|
|
111
|
+
* @param {String | number | ArrayBuffer | Date | Array<any>} [key]
|
|
112
|
+
*/
|
|
113
|
+
export const put = (store, item, key) => pledge.createWithDependencies((p, store, item, key) => bindPledge(p, store.put(item, key)), store, item, key)
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
117
|
+
* @param {String | number | ArrayBuffer | Date | boolean} item
|
|
118
|
+
* @param {String | number | ArrayBuffer | Date | Array<any>} key
|
|
119
|
+
* @return {pledge.PledgeInstance<any>}
|
|
120
|
+
*/
|
|
121
|
+
export const add = (store, item, key) => pledge.createWithDependencies((p, store, item, key) => bindPledge(p, store.add(item, key)), store, item, key)
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
125
|
+
* @param {String | number | ArrayBuffer | Date} item
|
|
126
|
+
* @return {pledge.PledgeInstance<number>} Returns the generated key
|
|
127
|
+
*/
|
|
128
|
+
export const addAutoKey = (store, item) => pledge.createWithDependencies((p, store, item) => bindPledge(p, store.add(item)), store, item)
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
132
|
+
* @param {IDBKeyRange} [range]
|
|
133
|
+
* @param {number} [limit]
|
|
134
|
+
* @return {pledge.PledgeInstance<Array<any>>}
|
|
135
|
+
*/
|
|
136
|
+
export const getAll = (store, range, limit) => pledge.createWithDependencies((p, store, range, limit) => bindPledge(p, store.getAll(range, limit)), store, range, limit)
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
140
|
+
* @param {IDBKeyRange} [range]
|
|
141
|
+
* @param {number} [limit]
|
|
142
|
+
* @return {pledge.PledgeInstance<Array<any>>}
|
|
143
|
+
*/
|
|
144
|
+
export const getAllKeys = (store, range, limit) => pledge.createWithDependencies((p, store, range, limit) => bindPledge(p, store.getAllKeys(range, limit)), store, range, limit)
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* @param {IDBObjectStore} store
|
|
148
|
+
* @param {IDBKeyRange|null} query
|
|
149
|
+
* @param {'next'|'prev'|'nextunique'|'prevunique'} direction
|
|
150
|
+
* @return {pledge.PledgeInstance<any>}
|
|
151
|
+
*/
|
|
152
|
+
export const queryFirst = (store, query, direction) => {
|
|
153
|
+
/**
|
|
154
|
+
* @type {any}
|
|
155
|
+
*/
|
|
156
|
+
let first = null
|
|
157
|
+
return iterateKeys(store, query, key => {
|
|
158
|
+
first = key
|
|
159
|
+
return false
|
|
160
|
+
}, direction).map(() => first)
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* @param {IDBObjectStore} store
|
|
165
|
+
* @param {IDBKeyRange?} [range]
|
|
166
|
+
* @return {pledge.PledgeInstance<any>}
|
|
167
|
+
*/
|
|
168
|
+
export const getLastKey = (store, range = null) => queryFirst(store, range, 'prev')
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @param {IDBObjectStore} store
|
|
172
|
+
* @param {IDBKeyRange?} [range]
|
|
173
|
+
* @return {pledge.PledgeInstance<any>}
|
|
174
|
+
*/
|
|
175
|
+
export const getFirstKey = (store, range = null) => queryFirst(store, range, 'next')
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* @typedef KeyValuePair
|
|
179
|
+
* @type {Object}
|
|
180
|
+
* @property {any} k key
|
|
181
|
+
* @property {any} v Value
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
186
|
+
* @param {pledge.Pledge<IDBKeyRange|undefined>} [range]
|
|
187
|
+
* @param {pledge.Pledge<number|undefined>} [limit]
|
|
188
|
+
* @return {pledge.PledgeInstance<Array<KeyValuePair>>}
|
|
189
|
+
*/
|
|
190
|
+
export const getAllKeysValues = (store, range, limit) => pledge.createWithDependencies((p, store, range, limit) => {
|
|
191
|
+
pledge.all([getAllKeys(store, range, limit), getAll(store, range, limit)]).map(([ks, vs]) => ks.map((k, i) => ({ k, v: vs[i] }))).whenResolved(p.resolve.bind(p))
|
|
192
|
+
}, store, range, limit)
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @param {pledge.PledgeInstance<void>} p
|
|
196
|
+
* @param {any} request
|
|
197
|
+
* @param {function(IDBCursorWithValue):void|boolean|Promise<void|boolean>} f
|
|
198
|
+
*/
|
|
199
|
+
const iterateOnRequest = (p, request, f) => {
|
|
200
|
+
request.onerror = p.cancel.bind(p)
|
|
201
|
+
/**
|
|
202
|
+
* @param {any} event
|
|
203
|
+
*/
|
|
204
|
+
request.onsuccess = async event => {
|
|
205
|
+
const cursor = event.target.result
|
|
206
|
+
if (cursor === null || (await f(cursor)) === false) {
|
|
207
|
+
p.resolve(undefined)
|
|
208
|
+
return
|
|
209
|
+
}
|
|
210
|
+
cursor.continue()
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Iterate on keys and values
|
|
216
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
217
|
+
* @param {pledge.Pledge<IDBKeyRange|null>} keyrange
|
|
218
|
+
* @param {function(any,any):void|boolean|Promise<void|boolean>} f Callback that receives (value, key)
|
|
219
|
+
* @param {'next'|'prev'|'nextunique'|'prevunique'} direction
|
|
220
|
+
*/
|
|
221
|
+
export const iterate = (store, keyrange, f, direction = 'next') => pledge.createWithDependencies((p, store, keyrange) => {
|
|
222
|
+
iterateOnRequest(p, store.openCursor(keyrange, direction), cursor => f(cursor.value, cursor.key))
|
|
223
|
+
}, store, keyrange)
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Iterate on the keys (no values)
|
|
227
|
+
*
|
|
228
|
+
* @param {pledge.Pledge<IDBObjectStore>} store
|
|
229
|
+
* @param {pledge.Pledge<IDBKeyRange|null>} keyrange
|
|
230
|
+
* @param {function(any):void|boolean|Promise<void|boolean>} f callback that receives the key
|
|
231
|
+
* @param {'next'|'prev'|'nextunique'|'prevunique'} direction
|
|
232
|
+
*/
|
|
233
|
+
export const iterateKeys = (store, keyrange, f, direction = 'next') => pledge.createWithDependencies((p, store, keyrange) => {
|
|
234
|
+
iterateOnRequest(p, store.openKeyCursor(keyrange, direction), cursor => f(cursor.key))
|
|
235
|
+
}, store, keyrange)
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Open store from transaction
|
|
239
|
+
* @param {IDBTransaction} t
|
|
240
|
+
* @param {String} store
|
|
241
|
+
* @returns {IDBObjectStore}
|
|
242
|
+
*/
|
|
243
|
+
export const getStore = (t, store) => t.objectStore(store)
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* @param {any} lower
|
|
247
|
+
* @param {any} upper
|
|
248
|
+
* @param {boolean} lowerOpen
|
|
249
|
+
* @param {boolean} upperOpen
|
|
250
|
+
*/
|
|
251
|
+
export const createIDBKeyRangeBound = (lower, upper, lowerOpen, upperOpen) => IDBKeyRange.bound(lower, upper, lowerOpen, upperOpen)
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* @param {any} upper
|
|
255
|
+
* @param {boolean} upperOpen
|
|
256
|
+
*/
|
|
257
|
+
export const createIDBKeyRangeUpperBound = (upper, upperOpen) => IDBKeyRange.upperBound(upper, upperOpen)
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* @param {any} lower
|
|
261
|
+
* @param {boolean} lowerOpen
|
|
262
|
+
*/
|
|
263
|
+
export const createIDBKeyRangeLowerBound = (lower, lowerOpen) => IDBKeyRange.lowerBound(lower, lowerOpen)
|
|
264
|
+
|
|
265
|
+
/* c8 ignore stop */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexeddbV2.test.d.ts","sourceRoot":"","sources":["indexeddbV2.test.js"],"names":[],"mappings":"AA0BO,sDAoEN;AAGM,6CAgBN"}
|
package/logging.common.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ export const RED: symbol;
|
|
|
7
7
|
export const PURPLE: symbol;
|
|
8
8
|
export const ORANGE: symbol;
|
|
9
9
|
export const UNCOLOR: symbol;
|
|
10
|
-
export function computeNoColorLoggingArgs(args: Array<undefined | string | Symbol | Object | number | (() => any)>): Array<string | object | number>;
|
|
10
|
+
export function computeNoColorLoggingArgs(args: Array<undefined | string | Symbol | Object | number | (() => any)>): Array<string | object | number | undefined>;
|
|
11
11
|
export function createModuleLogger(_print: (...args: any[]) => void, moduleName: string): (...args: any[]) => void;
|
|
12
12
|
//# sourceMappingURL=logging.common.d.ts.map
|
package/logging.common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.common.d.ts","sourceRoot":"","sources":["logging.common.js"],"names":[],"mappings":"AAMA,0BAAmC;AACnC,4BAAqC;AACrC,0BAAmC;AACnC,0BAAmC;AACnC,2BAAoC;AACpC,yBAAkC;AAClC,4BAAqC;AACrC,4BAAqC;AACrC,6BAAsC;AAO/B,gDAHI,MAAM,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,UAAY,GAAG,CAAA,CAAC,GAC1D,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"logging.common.d.ts","sourceRoot":"","sources":["logging.common.js"],"names":[],"mappings":"AAMA,0BAAmC;AACnC,4BAAqC;AACrC,0BAAmC;AACnC,0BAAmC;AACnC,2BAAoC;AACpC,yBAAkC;AAClC,4BAAqC;AACrC,4BAAqC;AACrC,6BAAsC;AAO/B,gDAHI,MAAM,SAAS,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,UAAY,GAAG,CAAA,CAAC,GAC1D,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,SAAS,CAAC,CAgChD;AAaM,qDAJgB,GAAG,OAAE,IAAI,cACrB,MAAM,aACO,GAAG,OAAE,IAAI,CAyChC"}
|
package/logging.common.js
CHANGED
|
@@ -17,7 +17,7 @@ export const UNCOLOR = symbol.create()
|
|
|
17
17
|
/* c8 ignore start */
|
|
18
18
|
/**
|
|
19
19
|
* @param {Array<undefined|string|Symbol|Object|number|function():any>} args
|
|
20
|
-
* @return {Array<string|object|number>}
|
|
20
|
+
* @return {Array<string|object|number|undefined>}
|
|
21
21
|
*/
|
|
22
22
|
export const computeNoColorLoggingArgs = args => {
|
|
23
23
|
if (args.length === 1 && args[0]?.constructor === Function) {
|
|
@@ -30,11 +30,22 @@ export const computeNoColorLoggingArgs = args => {
|
|
|
30
30
|
for (; i < args.length; i++) {
|
|
31
31
|
const arg = args[i]
|
|
32
32
|
if (arg === undefined) {
|
|
33
|
-
|
|
33
|
+
break
|
|
34
34
|
} else if (arg.constructor === String || arg.constructor === Number) {
|
|
35
35
|
strBuilder.push(arg)
|
|
36
36
|
} else if (arg.constructor === Object) {
|
|
37
|
-
|
|
37
|
+
break
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (i > 0) {
|
|
41
|
+
// create logArgs with what we have so far
|
|
42
|
+
logArgs.push(strBuilder.join(''))
|
|
43
|
+
}
|
|
44
|
+
// append the rest
|
|
45
|
+
for (; i < args.length; i++) {
|
|
46
|
+
const arg = args[i]
|
|
47
|
+
if (!(arg instanceof Symbol)) {
|
|
48
|
+
logArgs.push(arg)
|
|
38
49
|
}
|
|
39
50
|
}
|
|
40
51
|
return logArgs
|
package/object.d.ts
CHANGED
|
@@ -26,6 +26,9 @@ export function map<R>(obj: {
|
|
|
26
26
|
export function length(obj: {
|
|
27
27
|
[x: string]: any;
|
|
28
28
|
}): number;
|
|
29
|
+
export function size(obj: {
|
|
30
|
+
[x: string]: any;
|
|
31
|
+
}): number;
|
|
29
32
|
export function some(obj: {
|
|
30
33
|
[x: string]: any;
|
|
31
34
|
}, f: (arg0: any, arg1: string) => boolean): boolean;
|
package/object.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.js"],"names":[],"mappings":"AASO;QAFY,MAAM,GAAC,GAAG;EAEkB;AAE/C;;GAEG;AACH;;;;;EAAmC;AAEnC;;GAEG;AACH;;;EAA+B;AAOxB;;sBAFe,MAAM,KAAE,GAAG,QAMhC;AAUM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,aAS7B;
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.js"],"names":[],"mappings":"AASO;QAFY,MAAM,GAAC,GAAG;EAEkB;AAE/C;;GAEG;AACH;;;;;EAAmC;AAEnC;;GAEG;AACH;;;EAA+B;AAOxB;;sBAFe,MAAM,KAAE,GAAG,QAMhC;AAUM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,aAS7B;AAOM;QAHW,MAAM,GAAC,GAAG;IAChB,MAAM,CAE2B;AAMtC;QAHW,MAAM,GAAC,GAAG;IAChB,MAAM,CAEyB;AAOpC;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,KAAE,OAAO,GAC3B,OAAO,CASlB;AAKM,6BAFI,MAAM,GAAC,SAAS,WAQ1B;AAOM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,KAAE,OAAO,GAC3B,OAAO,CASlB;AASM,iCAJI,GAAG,OACH,MAAM,GAAC,MAAM,GACZ,OAAO,CAEoE;AAOhF;QAJW,MAAM,GAAC,GAAG;;QACV,MAAM,GAAC,GAAG;IAChB,OAAO,CAEwI"}
|
package/object.js
CHANGED
|
@@ -47,11 +47,18 @@ export const map = (obj, f) => {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
+
* @deprecated use object.size instead
|
|
50
51
|
* @param {Object<string,any>} obj
|
|
51
52
|
* @return {number}
|
|
52
53
|
*/
|
|
53
54
|
export const length = obj => keys(obj).length
|
|
54
55
|
|
|
56
|
+
/**
|
|
57
|
+
* @param {Object<string,any>} obj
|
|
58
|
+
* @return {number}
|
|
59
|
+
*/
|
|
60
|
+
export const size = obj => keys(obj).length
|
|
61
|
+
|
|
55
62
|
/**
|
|
56
63
|
* @param {Object<string,any>} obj
|
|
57
64
|
* @param {function(any,string):boolean} f
|
|
@@ -105,4 +112,4 @@ export const hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(ob
|
|
|
105
112
|
* @param {Object<string,any>} b
|
|
106
113
|
* @return {boolean}
|
|
107
114
|
*/
|
|
108
|
-
export const equalFlat = (a, b) => a === b || (
|
|
115
|
+
export const equalFlat = (a, b) => a === b || (size(a) === size(b) && every(a, (val, key) => (val !== undefined || hasProperty(b, key)) && b[key] === val))
|
package/package.json
CHANGED
package/pledge.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @template V
|
|
3
|
+
* @typedef {V | PledgeInstance<V>} Pledge
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @template {any} Val
|
|
7
|
+
* @template {any} [CancelReason=Error]
|
|
8
|
+
*/
|
|
9
|
+
export class PledgeInstance<Val extends unknown, CancelReason extends unknown = Error> {
|
|
10
|
+
/**
|
|
11
|
+
* @type {Val | CancelReason | null}
|
|
12
|
+
*/
|
|
13
|
+
_v: Val | CancelReason | null;
|
|
14
|
+
isResolved: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* @type {Array<function(Val):void> | null}
|
|
17
|
+
*/
|
|
18
|
+
_whenResolved: ((arg0: Val) => void)[] | null;
|
|
19
|
+
/**
|
|
20
|
+
* @type {Array<function(CancelReason):void> | null}
|
|
21
|
+
*/
|
|
22
|
+
_whenCanceled: ((arg0: CancelReason) => void)[] | null;
|
|
23
|
+
get isDone(): boolean;
|
|
24
|
+
get isCanceled(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* @param {Val} v
|
|
27
|
+
*/
|
|
28
|
+
resolve(v: Val): void;
|
|
29
|
+
/**
|
|
30
|
+
* @param {CancelReason} reason
|
|
31
|
+
*/
|
|
32
|
+
cancel(reason: CancelReason): void;
|
|
33
|
+
/**
|
|
34
|
+
* @template R
|
|
35
|
+
* @param {function(Val):Pledge<R>} f
|
|
36
|
+
* @return {PledgeInstance<R>}
|
|
37
|
+
*/
|
|
38
|
+
map<R>(f: (arg0: Val) => Pledge<R>): PledgeInstance<R, Error>;
|
|
39
|
+
/**
|
|
40
|
+
* @param {function(Val):void} f
|
|
41
|
+
*/
|
|
42
|
+
whenResolved(f: (arg0: Val) => void): void;
|
|
43
|
+
/**
|
|
44
|
+
* @param {(reason: CancelReason) => void} f
|
|
45
|
+
*/
|
|
46
|
+
whenCanceled(f: (reason: CancelReason) => void): void;
|
|
47
|
+
/**
|
|
48
|
+
* @return {Promise<Val>}
|
|
49
|
+
*/
|
|
50
|
+
promise(): Promise<Val>;
|
|
51
|
+
}
|
|
52
|
+
export function create<T>(): PledgeInstance<T, Error>;
|
|
53
|
+
export function createWithDependencies<V, DEPS extends unknown[]>(init: (p: PledgeInstance<V, Error>, ...deps: Resolved<DEPS>) => void, ...deps: DEPS): PledgeInstance<V, Error>;
|
|
54
|
+
export function whenResolved<R>(p: Pledge<R>, f: (arg0: R) => void): void;
|
|
55
|
+
export function whenCanceled<P extends unknown>(p: P, f: P extends PledgeInstance<unknown, infer CancelReason extends unknown> ? (arg0: CancelReason) => void : (arg0: any) => void): void;
|
|
56
|
+
export function map<P, Q>(p: Pledge<P>, f: (r: P) => Q): Pledge<Q>;
|
|
57
|
+
export function all<PS extends PledgeMap>(ps: PS): PledgeInstance<Resolved<PS>, Error>;
|
|
58
|
+
export function coroutine<Result, YieldResults extends unknown>(f: () => Generator<Pledge<YieldResults> | PledgeInstance<YieldResults, any>, Result, any>): PledgeInstance<Result, Error>;
|
|
59
|
+
export function wait(timeout: number): PledgeInstance<undefined>;
|
|
60
|
+
export type Pledge<V> = V | PledgeInstance<V>;
|
|
61
|
+
export type PledgeMap = Array<Pledge<unknown>> | {
|
|
62
|
+
[x: string]: Pledge<unknown>;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* <P>
|
|
66
|
+
*/
|
|
67
|
+
export type Resolved<P extends unknown> = P extends PledgeMap ? P extends infer T extends PledgeMap ? { [K in keyof T]: P[K] extends Pledge<infer V> ? V : P[K]; } : never : P extends Pledge<infer V_1> ? V_1 : never;
|
|
68
|
+
//# sourceMappingURL=pledge.d.ts.map
|
package/pledge.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pledge.d.ts","sourceRoot":"","sources":["pledge.js"],"names":[],"mappings":"AA8BA;;;GAGG;AAEH;;;GAGG;AACH;IAEI;;OAEG;IACH,IAFU,GAAG,GAAG,YAAY,GAAG,IAAI,CAErB;IACd,oBAAuB;IACvB;;OAEG;IACH,uBAFyB,GAAG,KAAE,IAAI,WAEX;IACvB;;OAEG;IACH,uBAFyB,YAAY,KAAE,IAAI,WAEpB;IAGzB,sBAEC;IAED,0BAEC;IAED;;OAEG;IACH,WAFW,GAAG,QAYb;IAED;;OAEG;IACH,eAFW,YAAY,QAWtB;IAED;;;;OAIG;IACH,iBAHoB,GAAG,0CAqBtB;IAED;;OAEG;IACH,uBAFoB,GAAG,KAAE,IAAI,QAQ5B;IAED;;OAEG;IACH,yBAFoB,YAAY,KAAK,IAAI,QAQxC;IAED;;OAEG;IACH,WAFY,QAAQ,GAAG,CAAC,CAOvB;CACF;AAMM,sDAAyC;AAqBzC,kIAJuD,IAAI,2CAYjE;AAOM,8DAFgB,IAAI,QAO1B;AAOM,yJAFmF,IAAI,UAAY,GAAG,KAAE,IAAI,QAMlH;AASM,mEAKN;AAOM,uFAqBN;AAQM,0LAsBN;AAMM,8BAHI,MAAM,GACL,eAAe,SAAS,CAAC,CAMpC;wBAjQY,CAAC,GAAG,eAAe,CAAC,CAAC;wBA8HrB,MAAM,OAAO,OAAO,CAAC,CAAC;QAAU,MAAM,GAAC,OAAO,OAAO,CAAC;CAAC"}
|