@coinbase/cdp-core 0.0.83 → 0.0.84

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.
Files changed (72) hide show
  1. package/dist/esm/index.native122.js +1 -1
  2. package/dist/esm/index.native123.js +1 -1
  3. package/dist/esm/index.native125.js +6 -6
  4. package/dist/esm/index.native159.js +1 -1
  5. package/dist/esm/index.native162.js +20 -4
  6. package/dist/esm/index.native163.js +10 -79
  7. package/dist/esm/index.native164.js +19 -20
  8. package/dist/esm/index.native165.js +93 -9
  9. package/dist/esm/index.native166.js +19 -18
  10. package/dist/esm/index.native167.js +105 -81
  11. package/dist/esm/index.native168.js +5 -21
  12. package/dist/esm/index.native169.js +73 -112
  13. package/dist/esm/index.native182.js +18 -2
  14. package/dist/esm/index.native183.js +28 -109
  15. package/dist/esm/index.native184.js +8 -2
  16. package/dist/esm/index.native185.js +11 -18
  17. package/dist/esm/index.native186.js +13 -28
  18. package/dist/esm/index.native187.js +10 -8
  19. package/dist/esm/index.native188.js +17 -11
  20. package/dist/esm/index.native189.js +80 -12
  21. package/dist/esm/index.native190.js +2 -10
  22. package/dist/esm/index.native191.js +108 -16
  23. package/dist/esm/index.native192.js +2 -81
  24. package/dist/esm/index.native9.js +1 -1
  25. package/dist/esm/index.web117.js +1 -1
  26. package/dist/esm/index.web118.js +1 -1
  27. package/dist/esm/index.web123.js +1 -1
  28. package/dist/esm/index.web159.js +32 -6
  29. package/dist/esm/index.web160.js +6 -32
  30. package/dist/esm/index.web161.js +1 -1
  31. package/dist/esm/index.web181.js +2 -109
  32. package/dist/esm/index.web182.js +109 -2
  33. package/dist/esm/index.web183.js +2 -2
  34. package/dist/esm/index.web8.js +1 -1
  35. package/dist/native/index.native122.js +1 -1
  36. package/dist/native/index.native123.js +1 -1
  37. package/dist/native/index.native125.js +6 -6
  38. package/dist/native/index.native159.js +1 -1
  39. package/dist/native/index.native162.js +20 -4
  40. package/dist/native/index.native163.js +10 -79
  41. package/dist/native/index.native164.js +19 -20
  42. package/dist/native/index.native165.js +93 -9
  43. package/dist/native/index.native166.js +19 -18
  44. package/dist/native/index.native167.js +105 -81
  45. package/dist/native/index.native168.js +5 -21
  46. package/dist/native/index.native169.js +73 -112
  47. package/dist/native/index.native182.js +18 -2
  48. package/dist/native/index.native183.js +28 -109
  49. package/dist/native/index.native184.js +8 -2
  50. package/dist/native/index.native185.js +11 -18
  51. package/dist/native/index.native186.js +13 -28
  52. package/dist/native/index.native187.js +10 -8
  53. package/dist/native/index.native188.js +17 -11
  54. package/dist/native/index.native189.js +80 -12
  55. package/dist/native/index.native190.js +2 -10
  56. package/dist/native/index.native191.js +108 -16
  57. package/dist/native/index.native192.js +2 -81
  58. package/dist/native/index.native9.js +1 -1
  59. package/dist/native-types/version.d.ts +1 -1
  60. package/dist/types/version.d.ts +1 -1
  61. package/dist/web/index.web117.js +1 -1
  62. package/dist/web/index.web118.js +1 -1
  63. package/dist/web/index.web123.js +1 -1
  64. package/dist/web/index.web159.js +32 -6
  65. package/dist/web/index.web160.js +6 -32
  66. package/dist/web/index.web161.js +1 -1
  67. package/dist/web/index.web181.js +2 -109
  68. package/dist/web/index.web182.js +109 -2
  69. package/dist/web/index.web183.js +2 -2
  70. package/dist/web/index.web8.js +1 -1
  71. package/dist/web-types/version.d.ts +1 -1
  72. package/package.json +2 -2
@@ -1,120 +1,81 @@
1
- import { isJWK as p } from "./index.native191.js";
2
- import { decode as m } from "./index.native164.js";
3
- import y from "./index.native192.js";
4
- import { isCryptoKey as S, isKeyObject as K } from "./index.native190.js";
5
- let c;
6
- const f = async (e, r, s, i = !1) => {
7
- c ||= /* @__PURE__ */ new WeakMap();
8
- let n = c.get(e);
9
- if (n?.[s])
10
- return n[s];
11
- const t = await y({ ...r, alg: s });
12
- return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
13
- }, E = (e, r) => {
14
- c ||= /* @__PURE__ */ new WeakMap();
15
- let s = c.get(e);
16
- if (s?.[r])
17
- return s[r];
18
- const i = e.type === "public", n = !!i;
19
- let t;
20
- if (e.asymmetricKeyType === "x25519") {
21
- switch (r) {
22
- case "ECDH-ES":
23
- case "ECDH-ES+A128KW":
24
- case "ECDH-ES+A192KW":
25
- case "ECDH-ES+A256KW":
26
- break;
27
- default:
28
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
1
+ import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index.native158.js";
2
+ function y(o, t, s, n) {
3
+ if (typeof o.setBigUint64 == "function")
4
+ return o.setBigUint64(t, s, n);
5
+ const i = BigInt(32), h = BigInt(4294967295), e = Number(s >> i & h), r = Number(s & h), c = n ? 4 : 0, u = n ? 0 : 4;
6
+ o.setUint32(t + c, e, n), o.setUint32(t + u, r, n);
7
+ }
8
+ function U(o, t, s) {
9
+ return o & t ^ ~o & s;
10
+ }
11
+ function _(o, t, s) {
12
+ return o & t ^ o & s ^ t & s;
13
+ }
14
+ class m extends g {
15
+ constructor(t, s, n, i) {
16
+ super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
17
+ }
18
+ update(t) {
19
+ b(this), t = a(t), d(t);
20
+ const { view: s, buffer: n, blockLen: i } = this, h = t.length;
21
+ for (let e = 0; e < h; ) {
22
+ const r = Math.min(i - this.pos, h - e);
23
+ if (r === i) {
24
+ const c = l(t);
25
+ for (; i <= h - e; e += i)
26
+ this.process(c, e);
27
+ continue;
28
+ }
29
+ n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
29
30
  }
30
- t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
31
+ return this.length += t.length, this.roundClean(), this;
31
32
  }
32
- if (e.asymmetricKeyType === "ed25519") {
33
- if (r !== "EdDSA" && r !== "Ed25519")
34
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
35
- t = e.toCryptoKey(e.asymmetricKeyType, n, [
36
- i ? "verify" : "sign"
37
- ]);
33
+ digestInto(t) {
34
+ b(this), x(t, this), this.finished = !0;
35
+ const { buffer: s, view: n, blockLen: i, isLE: h } = this;
36
+ let { pos: e } = this;
37
+ s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
38
+ for (let f = e; f < i; f++)
39
+ s[f] = 0;
40
+ y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
41
+ const r = l(t), c = this.outputLen;
42
+ if (c % 4)
43
+ throw new Error("_sha2: outputLen should be aligned to 32bit");
44
+ const u = c / 4, p = this.get();
45
+ if (u > p.length)
46
+ throw new Error("_sha2: outputLen bigger than state");
47
+ for (let f = 0; f < u; f++)
48
+ r.setUint32(4 * f, p[f], h);
38
49
  }
39
- if (e.asymmetricKeyType === "rsa") {
40
- let a;
41
- switch (r) {
42
- case "RSA-OAEP":
43
- a = "SHA-1";
44
- break;
45
- case "RS256":
46
- case "PS256":
47
- case "RSA-OAEP-256":
48
- a = "SHA-256";
49
- break;
50
- case "RS384":
51
- case "PS384":
52
- case "RSA-OAEP-384":
53
- a = "SHA-384";
54
- break;
55
- case "RS512":
56
- case "PS512":
57
- case "RSA-OAEP-512":
58
- a = "SHA-512";
59
- break;
60
- default:
61
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
62
- }
63
- if (r.startsWith("RSA-OAEP"))
64
- return e.toCryptoKey({
65
- name: "RSA-OAEP",
66
- hash: a
67
- }, n, i ? ["encrypt"] : ["decrypt"]);
68
- t = e.toCryptoKey({
69
- name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
70
- hash: a
71
- }, n, [i ? "verify" : "sign"]);
50
+ digest() {
51
+ const { buffer: t, outputLen: s } = this;
52
+ this.digestInto(t);
53
+ const n = t.slice(0, s);
54
+ return this.destroy(), n;
72
55
  }
73
- if (e.asymmetricKeyType === "ec") {
74
- const o = (/* @__PURE__ */ new Map([
75
- ["prime256v1", "P-256"],
76
- ["secp384r1", "P-384"],
77
- ["secp521r1", "P-521"]
78
- ])).get(e.asymmetricKeyDetails?.namedCurve);
79
- if (!o)
80
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
81
- r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
82
- name: "ECDSA",
83
- namedCurve: o
84
- }, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
85
- name: "ECDSA",
86
- namedCurve: o
87
- }, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
88
- name: "ECDSA",
89
- namedCurve: o
90
- }, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
91
- name: "ECDH",
92
- namedCurve: o
93
- }, n, i ? [] : ["deriveBits"]));
56
+ _cloneInto(t) {
57
+ t || (t = new this.constructor()), t.set(...this.get());
58
+ const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
59
+ return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
94
60
  }
95
- if (!t)
96
- throw new TypeError("given KeyObject instance cannot be used for this algorithm");
97
- return s ? s[r] = t : c.set(e, { [r]: t }), t;
98
- }, d = async (e, r) => {
99
- if (e instanceof Uint8Array || S(e))
100
- return e;
101
- if (K(e)) {
102
- if (e.type === "secret")
103
- return e.export();
104
- if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
105
- try {
106
- return E(e, r);
107
- } catch (i) {
108
- if (i instanceof TypeError)
109
- throw i;
110
- }
111
- let s = e.export({ format: "jwk" });
112
- return f(e, s, r);
61
+ clone() {
62
+ return this._cloneInto();
113
63
  }
114
- if (p(e))
115
- return e.k ? m(e.k) : f(e, e, r, !0);
116
- throw new Error("unreachable");
117
- };
64
+ }
65
+ const B = /* @__PURE__ */ Uint32Array.from([
66
+ 1779033703,
67
+ 3144134277,
68
+ 1013904242,
69
+ 2773480762,
70
+ 1359893119,
71
+ 2600822924,
72
+ 528734635,
73
+ 1541459225
74
+ ]);
118
75
  export {
119
- d as default
76
+ U as Chi,
77
+ m as HashMD,
78
+ _ as Maj,
79
+ B as SHA256_IV,
80
+ y as setBigUint64
120
81
  };
@@ -1,4 +1,20 @@
1
- const o = "0.1.1";
1
+ function o(t) {
2
+ if (Uint8Array.prototype.toBase64)
3
+ return t.toBase64();
4
+ const e = 32768, n = [];
5
+ for (let r = 0; r < t.length; r += e)
6
+ n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
7
+ return btoa(n.join(""));
8
+ }
9
+ function a(t) {
10
+ if (Uint8Array.fromBase64)
11
+ return Uint8Array.fromBase64(t);
12
+ const e = atob(t), n = new Uint8Array(e.length);
13
+ for (let r = 0; r < e.length; r++)
14
+ n[r] = e.charCodeAt(r);
15
+ return n;
16
+ }
2
17
  export {
3
- o as version
18
+ a as decodeBase64,
19
+ o as encodeBase64
4
20
  };
@@ -1,111 +1,30 @@
1
- import { __module as x } from "./index.native184.js";
2
- var w;
3
- function O() {
4
- return w ? x.exports : (w = 1, function(d) {
5
- var g = Object.prototype.hasOwnProperty, c = "~";
6
- function h() {
7
- }
8
- Object.create && (h.prototype = /* @__PURE__ */ Object.create(null), new h().__proto__ || (c = !1));
9
- function b(s, t, n) {
10
- this.fn = s, this.context = t, this.once = n || !1;
11
- }
12
- function m(s, t, n, r, l) {
13
- if (typeof n != "function")
14
- throw new TypeError("The listener must be a function");
15
- var u = new b(n, r || s, l), o = c ? c + t : t;
16
- return s._events[o] ? s._events[o].fn ? s._events[o] = [s._events[o], u] : s._events[o].push(u) : (s._events[o] = u, s._eventsCount++), s;
17
- }
18
- function y(s, t) {
19
- --s._eventsCount === 0 ? s._events = new h() : delete s._events[t];
20
- }
21
- function f() {
22
- this._events = new h(), this._eventsCount = 0;
23
- }
24
- f.prototype.eventNames = function() {
25
- var t = [], n, r;
26
- if (this._eventsCount === 0) return t;
27
- for (r in n = this._events)
28
- g.call(n, r) && t.push(c ? r.slice(1) : r);
29
- return Object.getOwnPropertySymbols ? t.concat(Object.getOwnPropertySymbols(n)) : t;
30
- }, f.prototype.listeners = function(t) {
31
- var n = c ? c + t : t, r = this._events[n];
32
- if (!r) return [];
33
- if (r.fn) return [r.fn];
34
- for (var l = 0, u = r.length, o = new Array(u); l < u; l++)
35
- o[l] = r[l].fn;
36
- return o;
37
- }, f.prototype.listenerCount = function(t) {
38
- var n = c ? c + t : t, r = this._events[n];
39
- return r ? r.fn ? 1 : r.length : 0;
40
- }, f.prototype.emit = function(t, n, r, l, u, o) {
41
- var a = c ? c + t : t;
42
- if (!this._events[a]) return !1;
43
- var e = this._events[a], p = arguments.length, v, i;
44
- if (e.fn) {
45
- switch (e.once && this.removeListener(t, e.fn, void 0, !0), p) {
46
- case 1:
47
- return e.fn.call(e.context), !0;
48
- case 2:
49
- return e.fn.call(e.context, n), !0;
50
- case 3:
51
- return e.fn.call(e.context, n, r), !0;
52
- case 4:
53
- return e.fn.call(e.context, n, r, l), !0;
54
- case 5:
55
- return e.fn.call(e.context, n, r, l, u), !0;
56
- case 6:
57
- return e.fn.call(e.context, n, r, l, u, o), !0;
58
- }
59
- for (i = 1, v = new Array(p - 1); i < p; i++)
60
- v[i - 1] = arguments[i];
61
- e.fn.apply(e.context, v);
62
- } else {
63
- var E = e.length, _;
64
- for (i = 0; i < E; i++)
65
- switch (e[i].once && this.removeListener(t, e[i].fn, void 0, !0), p) {
66
- case 1:
67
- e[i].fn.call(e[i].context);
68
- break;
69
- case 2:
70
- e[i].fn.call(e[i].context, n);
71
- break;
72
- case 3:
73
- e[i].fn.call(e[i].context, n, r);
74
- break;
75
- case 4:
76
- e[i].fn.call(e[i].context, n, r, l);
77
- break;
78
- default:
79
- if (!v) for (_ = 1, v = new Array(p - 1); _ < p; _++)
80
- v[_ - 1] = arguments[_];
81
- e[i].fn.apply(e[i].context, v);
82
- }
83
- }
84
- return !0;
85
- }, f.prototype.on = function(t, n, r) {
86
- return m(this, t, n, r, !1);
87
- }, f.prototype.once = function(t, n, r) {
88
- return m(this, t, n, r, !0);
89
- }, f.prototype.removeListener = function(t, n, r, l) {
90
- var u = c ? c + t : t;
91
- if (!this._events[u]) return this;
92
- if (!n)
93
- return y(this, u), this;
94
- var o = this._events[u];
95
- if (o.fn)
96
- o.fn === n && (!l || o.once) && (!r || o.context === r) && y(this, u);
97
- else {
98
- for (var a = 0, e = [], p = o.length; a < p; a++)
99
- (o[a].fn !== n || l && !o[a].once || r && o[a].context !== r) && e.push(o[a]);
100
- e.length ? this._events[u] = e.length === 1 ? e[0] : e : y(this, u);
101
- }
102
- return this;
103
- }, f.prototype.removeAllListeners = function(t) {
104
- var n;
105
- return t ? (n = c ? c + t : t, this._events[n] && y(this, n)) : (this._events = new h(), this._eventsCount = 0), this;
106
- }, f.prototype.off = f.prototype.removeListener, f.prototype.addListener = f.prototype.on, f.prefixed = c, f.EventEmitter = f, d.exports = f;
107
- }(x), x.exports);
108
- }
1
+ import { JOSENotSupported as r } from "./index.native76.js";
2
+ const S = (e, s) => {
3
+ const a = `SHA-${e.slice(-3)}`;
4
+ switch (e) {
5
+ case "HS256":
6
+ case "HS384":
7
+ case "HS512":
8
+ return { hash: a, name: "HMAC" };
9
+ case "PS256":
10
+ case "PS384":
11
+ case "PS512":
12
+ return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
13
+ case "RS256":
14
+ case "RS384":
15
+ case "RS512":
16
+ return { hash: a, name: "RSASSA-PKCS1-v1_5" };
17
+ case "ES256":
18
+ case "ES384":
19
+ case "ES512":
20
+ return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
21
+ case "Ed25519":
22
+ case "EdDSA":
23
+ return { name: "Ed25519" };
24
+ default:
25
+ throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
26
+ }
27
+ };
109
28
  export {
110
- O as __require
29
+ S as default
111
30
  };
@@ -1,4 +1,10 @@
1
- var e = { exports: {} };
1
+ const o = (t, r) => {
2
+ if (t.startsWith("RS") || t.startsWith("PS")) {
3
+ const { modulusLength: e } = r.algorithm;
4
+ if (typeof e != "number" || e < 2048)
5
+ throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
6
+ }
7
+ };
2
8
  export {
3
- e as __module
9
+ o as default
4
10
  };
@@ -1,20 +1,13 @@
1
- function o(t) {
2
- if (Uint8Array.prototype.toBase64)
3
- return t.toBase64();
4
- const e = 32768, n = [];
5
- for (let r = 0; r < t.length; r += e)
6
- n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
7
- return btoa(n.join(""));
8
- }
9
- function a(t) {
10
- if (Uint8Array.fromBase64)
11
- return Uint8Array.fromBase64(t);
12
- const e = atob(t), n = new Uint8Array(e.length);
13
- for (let r = 0; r < e.length; r++)
14
- n[r] = e.charCodeAt(r);
15
- return n;
16
- }
1
+ import { checkSigCryptoKey as i } from "./index.native197.js";
2
+ import o from "./index.native186.js";
3
+ const s = async (t, r, e) => {
4
+ if (r instanceof Uint8Array) {
5
+ if (!t.startsWith("HS"))
6
+ throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
7
+ return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
8
+ }
9
+ return i(r, t, e), r;
10
+ };
17
11
  export {
18
- a as decodeBase64,
19
- o as encodeBase64
12
+ s as default
20
13
  };
@@ -1,30 +1,15 @@
1
- import { JOSENotSupported as r } from "./index.native76.js";
2
- const S = (e, s) => {
3
- const a = `SHA-${e.slice(-3)}`;
4
- switch (e) {
5
- case "HS256":
6
- case "HS384":
7
- case "HS512":
8
- return { hash: a, name: "HMAC" };
9
- case "PS256":
10
- case "PS384":
11
- case "PS512":
12
- return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
13
- case "RS256":
14
- case "RS384":
15
- case "RS512":
16
- return { hash: a, name: "RSASSA-PKCS1-v1_5" };
17
- case "ES256":
18
- case "ES384":
19
- case "ES512":
20
- return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
21
- case "Ed25519":
22
- case "EdDSA":
23
- return { name: "Ed25519" };
24
- default:
25
- throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
26
- }
27
- };
1
+ function i(n, e, ...o) {
2
+ if (o = o.filter(Boolean), o.length > 2) {
3
+ const f = o.pop();
4
+ n += `one of type ${o.join(", ")}, or ${f}.`;
5
+ } else o.length === 2 ? n += `one of type ${o[0]} or ${o[1]}.` : n += `of type ${o[0]}.`;
6
+ return e == null ? n += ` Received ${e}` : typeof e == "function" && e.name ? n += ` Received function ${e.name}` : typeof e == "object" && e != null && e.constructor?.name && (n += ` Received an instance of ${e.constructor.name}`), n;
7
+ }
8
+ const r = (n, ...e) => i("Key must be ", n, ...e);
9
+ function t(n, e, ...o) {
10
+ return i(`Key for the ${n} algorithm must be `, e, ...o);
11
+ }
28
12
  export {
29
- S as default
13
+ r as default,
14
+ t as withAlg
30
15
  };
@@ -1,10 +1,12 @@
1
- const o = (t, r) => {
2
- if (t.startsWith("RS") || t.startsWith("PS")) {
3
- const { modulusLength: e } = r.algorithm;
4
- if (typeof e != "number" || e < 2048)
5
- throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
6
- }
7
- };
1
+ function e(t) {
2
+ return t?.[Symbol.toStringTag] === "CryptoKey";
3
+ }
4
+ function r(t) {
5
+ return t?.[Symbol.toStringTag] === "KeyObject";
6
+ }
7
+ const n = (t) => e(t) || r(t);
8
8
  export {
9
- o as default
9
+ n as default,
10
+ e as isCryptoKey,
11
+ r as isKeyObject
10
12
  };
@@ -1,13 +1,19 @@
1
- import { checkSigCryptoKey as i } from "./index.native197.js";
2
- import o from "./index.native189.js";
3
- const s = async (t, r, e) => {
4
- if (r instanceof Uint8Array) {
5
- if (!t.startsWith("HS"))
6
- throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
7
- return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
8
- }
9
- return i(r, t, e), r;
10
- };
1
+ import n from "./index.native129.js";
2
+ function r(t) {
3
+ return n(t) && typeof t.kty == "string";
4
+ }
5
+ function o(t) {
6
+ return t.kty !== "oct" && typeof t.d == "string";
7
+ }
8
+ function e(t) {
9
+ return t.kty !== "oct" && typeof t.d > "u";
10
+ }
11
+ function c(t) {
12
+ return t.kty === "oct" && typeof t.k == "string";
13
+ }
11
14
  export {
12
- s as default
15
+ r as isJWK,
16
+ o as isPrivateJWK,
17
+ e as isPublicJWK,
18
+ c as isSecretJWK
13
19
  };
@@ -1,15 +1,83 @@
1
- function i(n, e, ...o) {
2
- if (o = o.filter(Boolean), o.length > 2) {
3
- const f = o.pop();
4
- n += `one of type ${o.join(", ")}, or ${f}.`;
5
- } else o.length === 2 ? n += `one of type ${o[0]} or ${o[1]}.` : n += `of type ${o[0]}.`;
6
- return e == null ? n += ` Received ${e}` : typeof e == "function" && e.name ? n += ` Received function ${e.name}` : typeof e == "object" && e != null && e.constructor?.name && (n += ` Received an instance of ${e.constructor.name}`), n;
7
- }
8
- const r = (n, ...e) => i("Key must be ", n, ...e);
9
- function t(n, e, ...o) {
10
- return i(`Key for the ${n} algorithm must be `, e, ...o);
1
+ import { JOSENotSupported as s } from "./index.native76.js";
2
+ function n(e) {
3
+ let a, r;
4
+ switch (e.kty) {
5
+ case "RSA": {
6
+ switch (e.alg) {
7
+ case "PS256":
8
+ case "PS384":
9
+ case "PS512":
10
+ a = { name: "RSA-PSS", hash: `SHA-${e.alg.slice(-3)}` }, r = e.d ? ["sign"] : ["verify"];
11
+ break;
12
+ case "RS256":
13
+ case "RS384":
14
+ case "RS512":
15
+ a = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${e.alg.slice(-3)}` }, r = e.d ? ["sign"] : ["verify"];
16
+ break;
17
+ case "RSA-OAEP":
18
+ case "RSA-OAEP-256":
19
+ case "RSA-OAEP-384":
20
+ case "RSA-OAEP-512":
21
+ a = {
22
+ name: "RSA-OAEP",
23
+ hash: `SHA-${parseInt(e.alg.slice(-3), 10) || 1}`
24
+ }, r = e.d ? ["decrypt", "unwrapKey"] : ["encrypt", "wrapKey"];
25
+ break;
26
+ default:
27
+ throw new s('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
28
+ }
29
+ break;
30
+ }
31
+ case "EC": {
32
+ switch (e.alg) {
33
+ case "ES256":
34
+ a = { name: "ECDSA", namedCurve: "P-256" }, r = e.d ? ["sign"] : ["verify"];
35
+ break;
36
+ case "ES384":
37
+ a = { name: "ECDSA", namedCurve: "P-384" }, r = e.d ? ["sign"] : ["verify"];
38
+ break;
39
+ case "ES512":
40
+ a = { name: "ECDSA", namedCurve: "P-521" }, r = e.d ? ["sign"] : ["verify"];
41
+ break;
42
+ case "ECDH-ES":
43
+ case "ECDH-ES+A128KW":
44
+ case "ECDH-ES+A192KW":
45
+ case "ECDH-ES+A256KW":
46
+ a = { name: "ECDH", namedCurve: e.crv }, r = e.d ? ["deriveBits"] : [];
47
+ break;
48
+ default:
49
+ throw new s('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
50
+ }
51
+ break;
52
+ }
53
+ case "OKP": {
54
+ switch (e.alg) {
55
+ case "Ed25519":
56
+ case "EdDSA":
57
+ a = { name: "Ed25519" }, r = e.d ? ["sign"] : ["verify"];
58
+ break;
59
+ case "ECDH-ES":
60
+ case "ECDH-ES+A128KW":
61
+ case "ECDH-ES+A192KW":
62
+ case "ECDH-ES+A256KW":
63
+ a = { name: e.crv }, r = e.d ? ["deriveBits"] : [];
64
+ break;
65
+ default:
66
+ throw new s('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
67
+ }
68
+ break;
69
+ }
70
+ default:
71
+ throw new s('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
72
+ }
73
+ return { algorithm: a, keyUsages: r };
11
74
  }
75
+ const i = async (e) => {
76
+ if (!e.alg)
77
+ throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
78
+ const { algorithm: a, keyUsages: r } = n(e), t = { ...e };
79
+ return delete t.alg, delete t.use, crypto.subtle.importKey("jwk", t, a, e.ext ?? !e.d, e.key_ops ?? r);
80
+ };
12
81
  export {
13
- r as default,
14
- t as withAlg
82
+ i as default
15
83
  };
@@ -1,12 +1,4 @@
1
- function e(t) {
2
- return t?.[Symbol.toStringTag] === "CryptoKey";
3
- }
4
- function r(t) {
5
- return t?.[Symbol.toStringTag] === "KeyObject";
6
- }
7
- const n = (t) => e(t) || r(t);
1
+ const o = "0.1.1";
8
2
  export {
9
- n as default,
10
- e as isCryptoKey,
11
- r as isKeyObject
3
+ o as version
12
4
  };