@dxos/keys 0.6.12 → 0.6.13-main.09887cd

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dxn.d.ts","sourceRoot":"","sources":["../../../src/dxn.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,GAAG;;IACd;;OAEG;IACH,MAAM,CAAC,IAAI;;;OAGR;IAEH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;gBAiBlB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAkBzC,IAAI,IAAI,WAEP;IAED,IAAI,KAAK,aAER;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM;IAI5B,QAAQ;CAGT;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"dxn.d.ts","sourceRoot":"","sources":["../../../src/dxn.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,GAAG;;IACd;;OAEG;IACH,MAAM,CAAC,IAAI;;;OAGR;IAEH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;gBAoBlB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAsBzC,IAAI,IAAI,WAEP;IAED,IAAI,KAAK,aAER;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM;IAI5B,oBAAoB;IAIpB,QAAQ;CAGT;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"public-key.d.ts","sourceRoot":"","sources":["../../../src/public-key.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAe,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAKnH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnF;;;;GAIG;AACH,qBAAa,SAAU,YAAW,SAAS;IAqJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IApJnC,MAAM,CAAC,IAAI,YAAkD;IAE7D;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS;IAoB7C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS;IAiB9D;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAU1B;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,SAAS;IAK1B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAIhD,MAAM,CAAE,cAAc,IAAI,SAAS,CAAC,SAAS,CAAC;IAQ9C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS;IAIlD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS;IAMnE;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAIvD;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQrC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM;IAWhE;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;IAInC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;gBAMrB,MAAM,EAAE,UAAU;IAM/C,QAAQ,IAAI,MAAM;IAIlB,MAAM;IAIN,OAAO,IAAI,MAAM;IAIjB,IAAI,MAAM,WAET;IAED,KAAK,IAAI,MAAM;IAIf,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,MAAM,YAAY;IAI3B,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,UAAU;IAI1B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B;;OAEG;IACH,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAgC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CA8B3C;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,aAAa;IAc3B,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,GAAG;CAO1B"}
1
+ {"version":3,"file":"public-key.d.ts","sourceRoot":"","sources":["../../../src/public-key.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAe,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAKnH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAQnF;;;;GAIG;AACH,qBAAa,SAAU,YAAW,SAAS;IAqJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IApJnC,MAAM,CAAC,IAAI,YAAkD;IAE7D;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS;IAoB7C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS;IAiB9D;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAU1B;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,SAAS;IAK1B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAIhD,MAAM,CAAE,cAAc,IAAI,SAAS,CAAC,SAAS,CAAC;IAQ9C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS;IAIlD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS;IAMnE;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAIvD;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQrC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM;IAWhE;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;IAInC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;gBAMrB,MAAM,EAAE,UAAU;IAM/C,QAAQ,IAAI,MAAM;IAIlB,MAAM;IAIN,OAAO,IAAI,MAAM;IAIjB,IAAI,MAAM,WAET;IAED,KAAK,IAAI,MAAM;IAIf,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,MAAM,YAAY;IAI3B,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,UAAU;IAI1B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B;;OAEG;IACH,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAgC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CA8B3C;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,aAAa;IAc3B,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,GAAG;CAO1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/keys",
3
- "version": "0.6.12",
3
+ "version": "0.6.13-main.09887cd",
4
4
  "description": "Key utils and definitions.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,7 +10,8 @@
10
10
  ".": {
11
11
  "browser": "./dist/lib/browser/index.mjs",
12
12
  "node": {
13
- "default": "./dist/lib/node/index.cjs"
13
+ "require": "./dist/lib/node/index.cjs",
14
+ "default": "./dist/lib/node-esm/index.mjs"
14
15
  },
15
16
  "types": "./dist/types/src/index.d.ts"
16
17
  }
@@ -24,9 +25,9 @@
24
25
  "src"
25
26
  ],
26
27
  "dependencies": {
27
- "@dxos/debug": "0.6.12",
28
- "@dxos/invariant": "0.6.12",
29
- "@dxos/node-std": "0.6.12"
28
+ "@dxos/debug": "0.6.13-main.09887cd",
29
+ "@dxos/node-std": "0.6.13-main.09887cd",
30
+ "@dxos/invariant": "0.6.13-main.09887cd"
30
31
  },
31
32
  "devDependencies": {
32
33
  "base32-decode": "^1.0.0",
package/src/dxn.ts CHANGED
@@ -31,6 +31,9 @@ export class DXN {
31
31
  });
32
32
 
33
33
  static parse(dxn: string): DXN {
34
+ if (typeof dxn !== 'string') {
35
+ throw new Error('Invalid DXN');
36
+ }
34
37
  const [prefix, kind, ...parts] = dxn.split(':');
35
38
  if (!(prefix === 'dxn')) {
36
39
  throw new Error('Invalid DXN');
@@ -54,10 +57,14 @@ export class DXN {
54
57
  // Per-type validation.
55
58
  switch (kind) {
56
59
  case DXN.kind.ECHO:
57
- invariant(parts.length === 2);
60
+ if (parts.length !== 2) {
61
+ throw new Error('Invalid "echo" DXN');
62
+ }
58
63
  break;
59
64
  case DXN.kind.TYPE:
60
- invariant(parts.length === 1);
65
+ if (parts.length !== 1) {
66
+ throw new Error('Invalid "type" DXN');
67
+ }
61
68
  break;
62
69
  }
63
70
 
@@ -77,6 +84,10 @@ export class DXN {
77
84
  return this.#kind === DXN.kind.TYPE && this.#parts.length === 1 && this.#parts[0] === typename;
78
85
  }
79
86
 
87
+ isLocalEchoObjectDXN() {
88
+ return this.#kind === DXN.kind.ECHO && this.#parts[0] === LOCAL_SPACE_TAG && this.#parts.length === 2;
89
+ }
90
+
80
91
  toString() {
81
92
  return `dxn:${this.#kind}:${this.#parts.join(':')}`;
82
93
  }
@@ -2,8 +2,7 @@
2
2
  // Copyright 2020 DXOS.org
3
3
  //
4
4
 
5
- import { expect } from 'chai';
6
- import { describe, test } from 'vitest';
5
+ import { describe, expect, test } from 'vitest';
7
6
 
8
7
  import { PublicKey } from './public-key';
9
8
 
package/src/public-key.ts CHANGED
@@ -19,6 +19,12 @@ export const SECRET_KEY_LENGTH = 64;
19
19
  */
20
20
  export type PublicKeyLike = PublicKey | Buffer | Uint8Array | ArrayBuffer | string;
21
21
 
22
+ /**
23
+ * Vitest with JSDom causes instanceof ArrayBuffer check to fail
24
+ */
25
+ const isLikeArrayBuffer = (value: any): value is ArrayBuffer =>
26
+ typeof value === 'object' && value !== null && Object.getPrototypeOf(value).constructor.name === 'ArrayBuffer';
27
+
22
28
  /**
23
29
  * The purpose of this class is to assure consistent use of keys throughout the project.
24
30
  * Keys should be maintained as buffers in objects and proto definitions, and converted to hex
@@ -40,7 +46,7 @@ export class PublicKey implements Equatable {
40
46
  return new PublicKey(new Uint8Array(source.buffer, source.byteOffset, source.byteLength));
41
47
  } else if (source instanceof Uint8Array) {
42
48
  return new PublicKey(source);
43
- } else if (source instanceof ArrayBuffer) {
49
+ } else if (source instanceof ArrayBuffer || isLikeArrayBuffer(source)) {
44
50
  return new PublicKey(new Uint8Array(source));
45
51
  } else if (typeof source === 'string') {
46
52
  // TODO(burdon): Check length.