solid-ui 2.4.25-3d353685 → 2.4.25-ec43f88d

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/dist/main.js CHANGED
@@ -13119,12 +13119,12 @@ Object.defineProperty(exports, "__esModule", ({
13119
13119
  }));
13120
13120
  exports.versionInfo = void 0;
13121
13121
  var versionInfo = {
13122
- buildTime: '2023-02-13T18:33:53Z',
13123
- commit: '3d3536854bc96f1a76b3da3788eb578207ead433',
13122
+ buildTime: '2023-02-27T17:47:25Z',
13123
+ commit: 'ec43f88d59e4893bdafb1c386d41bff2cc0f9795',
13124
13124
  npmInfo: {
13125
13125
  'solid-ui': '2.4.25',
13126
13126
  npm: '8.19.3',
13127
- node: '16.19.0',
13127
+ node: '16.19.1',
13128
13128
  v8: '9.4.146.26-node.24',
13129
13129
  uv: '1.43.0',
13130
13130
  zlib: '1.2.11',
@@ -13134,7 +13134,7 @@ var versionInfo = {
13134
13134
  nghttp2: '1.47.0',
13135
13135
  napi: '8',
13136
13136
  llhttp: '6.0.10',
13137
- openssl: '1.1.1s+quic',
13137
+ openssl: '1.1.1t+quic',
13138
13138
  cldr: '41.0',
13139
13139
  icu: '71.1',
13140
13140
  tz: '2022f',
@@ -25646,7 +25646,10 @@ class ClientAuthentication {
25646
25646
  this.login = async (options, eventEmitter) => {
25647
25647
  var _a, _b;
25648
25648
  await this.sessionInfoManager.clear(options.sessionId);
25649
- const redirectUrl = (0, oidc_client_ext_1.removeOidcQueryParam)((_a = options.redirectUrl) !== null && _a !== void 0 ? _a : window.location.href);
25649
+ const redirectUrl = (_a = options.redirectUrl) !== null && _a !== void 0 ? _a : (0, oidc_client_ext_1.removeOidcQueryParam)(window.location.href);
25650
+ if (!(0, solid_client_authn_core_1.isValidRedirectUrl)(redirectUrl)) {
25651
+ throw new Error(`${redirectUrl} is not a valid redirect URL, it is either a malformed IRI or it includes a hash fragment.`);
25652
+ }
25650
25653
  await this.loginHandler.handle({
25651
25654
  ...options,
25652
25655
  redirectUrl,
@@ -26117,7 +26120,6 @@ exports["default"] = ClientRegistrar;
26117
26120
  Object.defineProperty(exports, "__esModule", ({ value: true }));
26118
26121
  exports.WELL_KNOWN_OPENID_CONFIG = void 0;
26119
26122
  const solid_client_authn_core_1 = __webpack_require__(/*! @inrupt/solid-client-authn-core */ "./node_modules/@inrupt/solid-client-authn-core/dist/index.js");
26120
- const urlPath_1 = __webpack_require__(/*! ../../util/urlPath */ "./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js");
26121
26123
  exports.WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
26122
26124
  const issuerConfigKeyMap = {
26123
26125
  issuer: {
@@ -26223,7 +26225,7 @@ class IssuerConfigFetcher {
26223
26225
  }
26224
26226
  async fetchConfig(issuer) {
26225
26227
  let issuerConfig;
26226
- const openIdConfigUrl = (0, urlPath_1.appendToUrlPathname)(issuer, exports.WELL_KNOWN_OPENID_CONFIG);
26228
+ const openIdConfigUrl = new URL(exports.WELL_KNOWN_OPENID_CONFIG, issuer).href;
26227
26229
  const issuerConfigRequestBody = await window.fetch(openIdConfigUrl);
26228
26230
  try {
26229
26231
  issuerConfig = processConfig(await issuerConfigRequestBody.json());
@@ -26774,27 +26776,6 @@ exports["default"] = StorageUtilityBrowser;
26774
26776
 
26775
26777
  /***/ }),
26776
26778
 
26777
- /***/ "./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js":
26778
- /*!******************************************************************************!*\
26779
- !*** ./node_modules/@inrupt/solid-client-authn-browser/dist/util/urlPath.js ***!
26780
- \******************************************************************************/
26781
- /***/ ((__unused_webpack_module, exports) => {
26782
-
26783
- "use strict";
26784
-
26785
- Object.defineProperty(exports, "__esModule", ({ value: true }));
26786
- exports.appendToUrlPathname = void 0;
26787
- function appendToUrlPathname(url, append) {
26788
- const parsedUrl = new URL(url);
26789
- const path = parsedUrl.pathname;
26790
- parsedUrl.pathname = `${path}${path.endsWith("/") ? "" : "/"}${append.startsWith("/") ? append.substring(1) : append}`;
26791
- return parsedUrl.toString();
26792
- }
26793
- exports.appendToUrlPathname = appendToUrlPathname;
26794
- //# sourceMappingURL=urlPath.js.map
26795
-
26796
- /***/ }),
26797
-
26798
26779
  /***/ "./node_modules/@inrupt/solid-client-authn-browser/node_modules/uuid/dist/commonjs-browser/index.js":
26799
26780
  /*!**********************************************************************************************************!*\
26800
26781
  !*** ./node_modules/@inrupt/solid-client-authn-browser/node_modules/uuid/dist/commonjs-browser/index.js ***!
@@ -27909,6 +27890,16 @@ async function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {
27909
27890
  }
27910
27891
  }
27911
27892
 
27893
+ function isValidRedirectUrl(redirectUrl) {
27894
+ try {
27895
+ const urlObject = new URL(redirectUrl);
27896
+ return urlObject.hash === "";
27897
+ }
27898
+ catch (e) {
27899
+ return false;
27900
+ }
27901
+ }
27902
+
27912
27903
  function isSupportedTokenType(token) {
27913
27904
  return typeof token === "string" && ["DPoP", "Bearer"].includes(token);
27914
27905
  }
@@ -28324,6 +28315,7 @@ exports.getSessionIdFromOauthState = getSessionIdFromOauthState;
28324
28315
  exports.getWebidFromTokenPayload = getWebidFromTokenPayload;
28325
28316
  exports.handleRegistration = handleRegistration;
28326
28317
  exports.isSupportedTokenType = isSupportedTokenType;
28318
+ exports.isValidRedirectUrl = isValidRedirectUrl;
28327
28319
  exports.loadOidcContextFromStorage = loadOidcContextFromStorage;
28328
28320
  exports.mockStorage = mockStorage;
28329
28321
  exports.mockStorageUtility = mockStorageUtility;
@@ -52440,10 +52432,11 @@ var Collection = /*#__PURE__*/function (_Node) {
52440
52432
  }, {
52441
52433
  key: "substitute",
52442
52434
  value: function substitute(bindings) {
52443
- var elementsCopy = this.elements.map(function (ea) {
52444
- return ea.substitute(bindings);
52435
+ var collection = new Collection();
52436
+ this.elements.forEach(function (ea) {
52437
+ collection.append(ea.substitute(bindings));
52445
52438
  });
52446
- return new Collection(elementsCopy);
52439
+ return collection;
52447
52440
  }
52448
52441
  }, {
52449
52442
  key: "toNT",
@@ -54280,16 +54273,17 @@ var Fetcher = /*#__PURE__*/function () {
54280
54273
  var fetcher = this;
54281
54274
  // @ts-ignore
54282
54275
  if (fetcher.fetchQueue && fetcher.fetchQueue[uri]) {
54283
- console.log('Internal error - fetchQueue exists ' + uri);
54276
+ // console.log('Internal error - fetchQueue exists ' + uri)
54284
54277
  var promise = fetcher.fetchQueue[uri];
54285
54278
  if (promise['PromiseStatus'] === 'resolved') {
54286
54279
  delete fetcher.fetchQueue[uri];
54287
54280
  } else {
54288
54281
  // pending
54289
54282
  delete fetcher.fetchQueue[uri];
54290
- console.log('*** Fetcher: pending fetchQueue deleted ' + uri);
54283
+ // console.log('*** Fetcher: pending fetchQueue deleted ' + uri)
54291
54284
  }
54292
54285
  }
54286
+
54293
54287
  if (fetcher.requested[uri] && fetcher.requested[uri] !== 'done' && fetcher.requested[uri] !== 'failed' && fetcher.requested[uri] !== 404) {
54294
54288
  var msg = "Rdflib: fetcher: Destructive operation on <".concat(fetcher.requested[uri], "> file being fetched! ") + uri;
54295
54289
  console.error(msg);
@@ -56154,6 +56148,9 @@ function jsonldParser(str, kb, base, callback) {
56154
56148
  var baseString = base && Object.prototype.hasOwnProperty.call(base, 'termType') ? base.value : base;
56155
56149
  return jsonld__WEBPACK_IMPORTED_MODULE_0___default().flatten(JSON.parse(str), null, {
56156
56150
  base: baseString
56151
+ }).then(function (flattened) {
56152
+ console.log(flattened);
56153
+ return flattened;
56157
56154
  }).then(function (flattened) {
56158
56155
  return flattened.reduce(function (store, flatResource) {
56159
56156
  kb = processResource(kb, base, flatResource);
@@ -61241,7 +61238,7 @@ contentType, callback, options) {
61241
61238
  documentString = sz.statementsToNTriples(newSts);
61242
61239
  return executeCallback(null, documentString);
61243
61240
  case _types__WEBPACK_IMPORTED_MODULE_0__.JSONLDContentType:
61244
- sz.setFlags('si'); // use turtle parameters
61241
+ sz.setFlags('si dr'); // turtle + dr (means no default, no relative prefix)
61245
61242
  documentString = sz.statementsToJsonld(newSts); // convert via turtle
61246
61243
  return executeCallback(null, documentString);
61247
61244
  case _types__WEBPACK_IMPORTED_MODULE_0__.NQuadsContentType:
@@ -61313,7 +61310,6 @@ __webpack_require__.r(__webpack_exports__);
61313
61310
 
61314
61311
 
61315
61312
 
61316
- // import * as jsonld from 'jsonld'
61317
61313
 
61318
61314
  function createSerializer(store) {
61319
61315
  return new Serializer(store);
@@ -61820,7 +61816,7 @@ var Serializer = /*#__PURE__*/function () {
61820
61816
  var termToN3 = termToN3Method.bind(this);
61821
61817
  function prefixDirectivesMethod() {
61822
61818
  var str = '';
61823
- if (this.defaultNamespace) {
61819
+ if (this.flags.indexOf('d') < 0 && this.defaultNamespace) {
61824
61820
  str += '@prefix : ' + this.explicitURI(this.defaultNamespace) + '.\n';
61825
61821
  }
61826
61822
  for (var ns in this.prefixes) {
@@ -62305,20 +62301,19 @@ var Serializer = /*#__PURE__*/function () {
62305
62301
  key: "statementsToJsonld",
62306
62302
  value: function statementsToJsonld(sts) {
62307
62303
  // ttl2jsonld creates context keys for all ttl prefix
62308
- // context keys must be full IRI
62309
- function findId(itemObj) {
62304
+ // context keys must be absolute IRI ttl2jsonld@0.0.8
62305
+ /* function findId (itemObj) {
62310
62306
  if (itemObj['@id']) {
62311
- var item = itemObj['@id'].split(':');
62312
- if (keys[item[0]]) itemObj['@id'] = jsonldObj['@context'][item[0]] + item[1];
62313
- }
62314
- var itemValues = Object.values(itemObj);
62315
- for (var i in itemValues) {
62316
- if (typeof itemValues[i] !== 'string') {
62317
- // @list contains array
62318
- findId(itemValues[i]);
62307
+ const item = itemObj['@id'].split(':')
62308
+ if (keys[item[0]]) itemObj['@id'] = jsonldObj['@context'][item[0]] + item[1]
62309
+ }
62310
+ const itemValues = Object.values(itemObj)
62311
+ for (const i in itemValues) {
62312
+ if (typeof itemValues[i] !== 'string') { // @list contains array
62313
+ findId(itemValues[i])
62319
62314
  }
62320
62315
  }
62321
- }
62316
+ } */
62322
62317
  var turtleDoc = this.statementsToN3(sts);
62323
62318
  var jsonldObj = _frogcat_ttl2jsonld__WEBPACK_IMPORTED_MODULE_4__.parse(turtleDoc);
62324
62319
  return JSON.stringify(jsonldObj, null, 2);
@@ -63257,9 +63252,9 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
63257
63252
  // console.log('ds before substitute: ' + ds)
63258
63253
  if (binding) ds = ds.substitute(binding);
63259
63254
  // console.log('applyPatch: delete: ' + ds)
63260
- ds = ds.statements;
63255
+
63261
63256
  var bad = [];
63262
- var ds2 = ds.map(function (st) {
63257
+ var ds2 = ds.elements.map(function (st) {
63263
63258
  // Find the actual statements in the store
63264
63259
  var sts = targetKB.statementsMatching(st.subject, st.predicate, st.object, target);
63265
63260
  if (sts.length === 0) {
@@ -63284,8 +63279,7 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
63284
63279
  // log.info("doPatch insert "+patch['insert'])
63285
63280
  ds = patch['insert'];
63286
63281
  if (binding) ds = ds.substitute(binding);
63287
- ds = ds.statements;
63288
- ds.map(function (st) {
63282
+ ds.elements.map(function (st) {
63289
63283
  st.graph = target;
63290
63284
  targetKB.add(st.subject, st.predicate, st.object, st.graph);
63291
63285
  });
@@ -63302,6 +63296,7 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) {
63302
63296
  //@ts-ignore TODO: add sync property to Query when converting Query to typescript
63303
63297
  query.sync = true;
63304
63298
  var bindingsFound = [];
63299
+ query.pat.initBindings = [];
63305
63300
  targetKB.query(query, function onBinding(binding) {
63306
63301
  bindingsFound.push(binding);
63307
63302
  // console.log(' got a binding: ' + bindingDebug(binding))
@@ -66820,15 +66815,13 @@ function createAclLogic(store) {
66820
66815
  var ns = ns_1.ns;
66821
66816
  function findAclDocUrl(url) {
66822
66817
  return __awaiter(this, void 0, void 0, function () {
66823
- var doc, docNode;
66818
+ var docNode;
66824
66819
  return __generator(this, function (_a) {
66825
66820
  switch (_a.label) {
66826
- case 0:
66827
- doc = store.sym(url);
66828
- return [4 /*yield*/, store.fetcher.load(doc)];
66821
+ case 0: return [4 /*yield*/, store.fetcher.load(url)];
66829
66822
  case 1:
66830
66823
  _a.sent();
66831
- docNode = store.any(doc, exports.ACL_LINK);
66824
+ docNode = store.any(url, exports.ACL_LINK);
66832
66825
  if (!docNode) {
66833
66826
  throw new Error("No ACL link discovered for ".concat(url));
66834
66827
  }
@@ -67636,7 +67629,7 @@ function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, acl
67636
67629
  case 2: return [4 /*yield*/, profileLogic.getMainInbox(user)];
67637
67630
  case 3:
67638
67631
  inbox = _a.sent();
67639
- return [4 /*yield*/, containerLogic.getContainerMembers(inbox.value)];
67632
+ return [4 /*yield*/, containerLogic.getContainerMembers(inbox)];
67640
67633
  case 4:
67641
67634
  urls = _a.sent();
67642
67635
  return [2 /*return*/, urls.filter(function (url) { return !containerLogic.isContainer(url); })];
@@ -68792,19 +68785,21 @@ var rdflib_1 = __webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/inde
68792
68785
  function createContainerLogic(store) {
68793
68786
  function getContainerElements(containerNode) {
68794
68787
  return store
68795
- .statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined, containerNode.doc())
68788
+ .statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined)
68796
68789
  .map(function (st) { return st.object; });
68797
68790
  }
68798
68791
  function isContainer(url) {
68799
- return url.charAt(url.length - 1) === "/";
68792
+ var nodeToString = url.value;
68793
+ return nodeToString.charAt(nodeToString.length - 1) === "/";
68800
68794
  }
68801
68795
  function createContainer(url) {
68802
68796
  return __awaiter(this, void 0, void 0, function () {
68803
- var result;
68797
+ var stringToNode, result;
68804
68798
  return __generator(this, function (_a) {
68805
68799
  switch (_a.label) {
68806
68800
  case 0:
68807
- if (!isContainer(url)) {
68801
+ stringToNode = (0, rdflib_1.sym)(url);
68802
+ if (!isContainer(stringToNode)) {
68808
68803
  throw new Error("Not a container URL ".concat(url));
68809
68804
  }
68810
68805
  return [4 /*yield*/, store.fetcher._fetch(url, {
@@ -68828,16 +68823,12 @@ function createContainerLogic(store) {
68828
68823
  }
68829
68824
  function getContainerMembers(containerUrl) {
68830
68825
  return __awaiter(this, void 0, void 0, function () {
68831
- var containerNode, nodes;
68832
68826
  return __generator(this, function (_a) {
68833
68827
  switch (_a.label) {
68834
- case 0:
68835
- containerNode = store.sym(containerUrl);
68836
- return [4 /*yield*/, store.fetcher.load(containerNode)];
68828
+ case 0: return [4 /*yield*/, store.fetcher.load(containerUrl)];
68837
68829
  case 1:
68838
68830
  _a.sent();
68839
- nodes = getContainerElements(containerNode);
68840
- return [2 /*return*/, nodes.map(function (node) { return node.value; })];
68831
+ return [2 /*return*/, getContainerElements(containerUrl)];
68841
68832
  }
68842
68833
  });
68843
68834
  });
@@ -69023,28 +69014,30 @@ var CustomError_1 = __webpack_require__(/*! ../logic/CustomError */ "./node_modu
69023
69014
  var debug = __importStar(__webpack_require__(/*! ../util/debug */ "./node_modules/solid-logic/lib/util/debug.js"));
69024
69015
  var utils_1 = __webpack_require__(/*! ./utils */ "./node_modules/solid-logic/lib/util/utils.js");
69025
69016
  function createUtilityLogic(store, aclLogic, containerLogic) {
69026
- function recursiveDelete(url) {
69017
+ function recursiveDelete(containerNode) {
69027
69018
  return __awaiter(this, void 0, void 0, function () {
69028
- var aclDocUrl, containerMembers, e_1;
69019
+ var aclDocUrl, containerMembers, nodeToStringHere, e_1;
69029
69020
  return __generator(this, function (_a) {
69030
69021
  switch (_a.label) {
69031
69022
  case 0:
69032
69023
  _a.trys.push([0, 6, , 7]);
69033
- if (!containerLogic.isContainer(url)) return [3 /*break*/, 5];
69034
- return [4 /*yield*/, aclLogic.findAclDocUrl(url)];
69024
+ if (!containerLogic.isContainer(containerNode)) return [3 /*break*/, 5];
69025
+ return [4 /*yield*/, aclLogic.findAclDocUrl(containerNode)];
69035
69026
  case 1:
69036
69027
  aclDocUrl = _a.sent();
69037
69028
  return [4 /*yield*/, store.fetcher._fetch(aclDocUrl, { method: "DELETE" })];
69038
69029
  case 2:
69039
69030
  _a.sent();
69040
- return [4 /*yield*/, containerLogic.getContainerMembers(url)];
69031
+ return [4 /*yield*/, containerLogic.getContainerMembers(containerNode)];
69041
69032
  case 3:
69042
69033
  containerMembers = _a.sent();
69043
69034
  return [4 /*yield*/, Promise.all(containerMembers.map(function (url) { return recursiveDelete(url); }))];
69044
69035
  case 4:
69045
69036
  _a.sent();
69046
69037
  _a.label = 5;
69047
- case 5: return [2 /*return*/, store.fetcher._fetch(url, { method: "DELETE" })];
69038
+ case 5:
69039
+ nodeToStringHere = containerNode.value;
69040
+ return [2 /*return*/, store.fetcher._fetch(nodeToStringHere, { method: "DELETE" })];
69048
69041
  case 6:
69049
69042
  e_1 = _a.sent();
69050
69043
  return [3 /*break*/, 7];
@@ -69189,7 +69182,7 @@ function createUtilityLogic(store, aclLogic, containerLogic) {
69189
69182
  ''
69190
69183
  ].join('\n');
69191
69184
  }
69192
- return [4 /*yield*/, aclLogic.findAclDocUrl(options.target)];
69185
+ return [4 /*yield*/, aclLogic.findAclDocUrl((0, rdflib_1.sym)(options.target))];
69193
69186
  case 1:
69194
69187
  aclDocUrl = _a.sent();
69195
69188
  return [2 /*return*/, store.fetcher._fetch(aclDocUrl, {
@@ -73561,6 +73554,7 @@ __webpack_require__.r(__webpack_exports__);
73561
73554
  /* harmony export */ "getWebidFromTokenPayload": () => (/* binding */ getWebidFromTokenPayload),
73562
73555
  /* harmony export */ "handleRegistration": () => (/* binding */ handleRegistration),
73563
73556
  /* harmony export */ "isSupportedTokenType": () => (/* binding */ isSupportedTokenType),
73557
+ /* harmony export */ "isValidRedirectUrl": () => (/* binding */ isValidRedirectUrl),
73564
73558
  /* harmony export */ "loadOidcContextFromStorage": () => (/* binding */ loadOidcContextFromStorage),
73565
73559
  /* harmony export */ "mockStorage": () => (/* binding */ mockStorage),
73566
73560
  /* harmony export */ "mockStorageUtility": () => (/* binding */ mockStorageUtility),
@@ -73667,6 +73661,16 @@ async function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {
73667
73661
  }
73668
73662
  }
73669
73663
 
73664
+ function isValidRedirectUrl(redirectUrl) {
73665
+ try {
73666
+ const urlObject = new URL(redirectUrl);
73667
+ return urlObject.hash === "";
73668
+ }
73669
+ catch (e) {
73670
+ return false;
73671
+ }
73672
+ }
73673
+
73670
73674
  function isSupportedTokenType(token) {
73671
73675
  return typeof token === "string" && ["DPoP", "Bearer"].includes(token);
73672
73676
  }
@@ -74891,7 +74895,7 @@ __webpack_require__.r(__webpack_exports__);
74891
74895
  async function EmbeddedJWK(protectedHeader, token) {
74892
74896
  const joseHeader = {
74893
74897
  ...protectedHeader,
74894
- ...token.header,
74898
+ ...token === null || token === void 0 ? void 0 : token.header,
74895
74899
  };
74896
74900
  if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_1__["default"])(joseHeader.jwk)) {
74897
74901
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object');
@@ -75036,7 +75040,7 @@ class LocalJWKSet {
75036
75040
  this._jwks = clone(jwks);
75037
75041
  }
75038
75042
  async getKey(protectedHeader, token) {
75039
- const { alg, kid } = { ...protectedHeader, ...token.header };
75043
+ const { alg, kid } = { ...protectedHeader, ...token === null || token === void 0 ? void 0 : token.header };
75040
75044
  const kty = getKtyFromAlg(alg);
75041
75045
  const candidates = this._jwks.keys.filter((jwk) => {
75042
75046
  let candidate = kty === jwk.kty;
@@ -75078,21 +75082,39 @@ class LocalJWKSet {
75078
75082
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSNoMatchingKey();
75079
75083
  }
75080
75084
  else if (length !== 1) {
75081
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSMultipleMatchingKeys();
75085
+ const error = new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSMultipleMatchingKeys();
75086
+ const { _cached } = this;
75087
+ error[Symbol.asyncIterator] = async function* () {
75088
+ for (const jwk of candidates) {
75089
+ try {
75090
+ yield await importWithAlgCache(_cached, jwk, alg);
75091
+ }
75092
+ catch (_a) {
75093
+ continue;
75094
+ }
75095
+ }
75096
+ };
75097
+ throw error;
75082
75098
  }
75083
- const cached = this._cached.get(jwk) || this._cached.set(jwk, {}).get(jwk);
75084
- if (cached[alg] === undefined) {
75085
- const keyObject = await (0,_key_import_js__WEBPACK_IMPORTED_MODULE_0__.importJWK)({ ...jwk, ext: true }, alg);
75086
- if (keyObject instanceof Uint8Array || keyObject.type !== 'public') {
75087
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSInvalid('JSON Web Key Set members must be public keys');
75088
- }
75089
- cached[alg] = keyObject;
75099
+ return importWithAlgCache(this._cached, jwk, alg);
75100
+ }
75101
+ }
75102
+ async function importWithAlgCache(cache, jwk, alg) {
75103
+ const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk);
75104
+ if (cached[alg] === undefined) {
75105
+ const key = await (0,_key_import_js__WEBPACK_IMPORTED_MODULE_0__.importJWK)({ ...jwk, ext: true }, alg);
75106
+ if (key instanceof Uint8Array || key.type !== 'public') {
75107
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JWKSInvalid('JSON Web Key Set members must be public keys');
75090
75108
  }
75091
- return cached[alg];
75109
+ cached[alg] = key;
75092
75110
  }
75111
+ return cached[alg];
75093
75112
  }
75094
75113
  function createLocalJWKSet(jwks) {
75095
- return LocalJWKSet.prototype.getKey.bind(new LocalJWKSet(jwks));
75114
+ const set = new LocalJWKSet(jwks);
75115
+ return async function (protectedHeader, token) {
75116
+ return set.getKey(protectedHeader, token);
75117
+ };
75096
75118
  }
75097
75119
 
75098
75120
 
@@ -75192,7 +75214,10 @@ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_3__.LocalJWKSet {
75192
75214
  }
75193
75215
  }
75194
75216
  function createRemoteJWKSet(url, options) {
75195
- return RemoteJWKSet.prototype.getKey.bind(new RemoteJWKSet(url, options));
75217
+ const set = new RemoteJWKSet(url, options);
75218
+ return async function (protectedHeader, token) {
75219
+ return set.getKey(protectedHeader, token);
75220
+ };
75196
75221
  }
75197
75222
 
75198
75223
 
@@ -76041,83 +76066,12 @@ __webpack_require__.r(__webpack_exports__);
76041
76066
  /* harmony import */ var _runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../runtime/asn1.js */ "./node_modules/jose/dist/browser/runtime/asn1.js");
76042
76067
  /* harmony import */ var _runtime_jwk_to_key_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../runtime/jwk_to_key.js */ "./node_modules/jose/dist/browser/runtime/jwk_to_key.js");
76043
76068
  /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
76044
- /* harmony import */ var _lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib/format_pem.js */ "./node_modules/jose/dist/browser/lib/format_pem.js");
76045
- /* harmony import */ var _lib_is_object_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lib/is_object.js */ "./node_modules/jose/dist/browser/lib/is_object.js");
76046
-
76047
-
76069
+ /* harmony import */ var _lib_is_object_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib/is_object.js */ "./node_modules/jose/dist/browser/lib/is_object.js");
76048
76070
 
76049
76071
 
76050
76072
 
76051
76073
 
76052
76074
 
76053
- function getElement(seq) {
76054
- let result = [];
76055
- let next = 0;
76056
- while (next < seq.length) {
76057
- let nextPart = parseElement(seq.subarray(next));
76058
- result.push(nextPart);
76059
- next += nextPart.byteLength;
76060
- }
76061
- return result;
76062
- }
76063
- function parseElement(bytes) {
76064
- let position = 0;
76065
- let tag = bytes[0] & 0x1f;
76066
- position++;
76067
- if (tag === 0x1f) {
76068
- tag = 0;
76069
- while (bytes[position] >= 0x80) {
76070
- tag = tag * 128 + bytes[position] - 0x80;
76071
- position++;
76072
- }
76073
- tag = tag * 128 + bytes[position] - 0x80;
76074
- position++;
76075
- }
76076
- let length = 0;
76077
- if (bytes[position] < 0x80) {
76078
- length = bytes[position];
76079
- position++;
76080
- }
76081
- else if (length === 0x80) {
76082
- length = 0;
76083
- while (bytes[position + length] !== 0 || bytes[position + length + 1] !== 0) {
76084
- if (length > bytes.byteLength) {
76085
- throw new TypeError('invalid indefinite form length');
76086
- }
76087
- length++;
76088
- }
76089
- const byteLength = position + length + 2;
76090
- return {
76091
- byteLength,
76092
- contents: bytes.subarray(position, position + length),
76093
- raw: bytes.subarray(0, byteLength),
76094
- };
76095
- }
76096
- else {
76097
- let numberOfDigits = bytes[position] & 0x7f;
76098
- position++;
76099
- length = 0;
76100
- for (let i = 0; i < numberOfDigits; i++) {
76101
- length = length * 256 + bytes[position];
76102
- position++;
76103
- }
76104
- }
76105
- const byteLength = position + length;
76106
- return {
76107
- byteLength,
76108
- contents: bytes.subarray(position, byteLength),
76109
- raw: bytes.subarray(0, byteLength),
76110
- };
76111
- }
76112
- function spkiFromX509(buf) {
76113
- const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
76114
- return (0,_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_0__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
76115
- }
76116
- function getSPKI(x509) {
76117
- const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
76118
- const raw = (0,_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_0__.decodeBase64)(pem);
76119
- return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
76120
- }
76121
76075
  async function importSPKI(spki, alg, options) {
76122
76076
  if (typeof spki !== 'string' || spki.indexOf('-----BEGIN PUBLIC KEY-----') !== 0) {
76123
76077
  throw new TypeError('"spki" must be SPKI formatted string');
@@ -76128,14 +76082,7 @@ async function importX509(x509, alg, options) {
76128
76082
  if (typeof x509 !== 'string' || x509.indexOf('-----BEGIN CERTIFICATE-----') !== 0) {
76129
76083
  throw new TypeError('"x509" must be X.509 formatted string');
76130
76084
  }
76131
- let spki;
76132
- try {
76133
- spki = getSPKI(x509);
76134
- }
76135
- catch (cause) {
76136
- throw new TypeError('failed to parse the X.509 certificate', { cause });
76137
- }
76138
- return (0,_runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__.fromSPKI)(spki, alg, options);
76085
+ return (0,_runtime_asn1_js__WEBPACK_IMPORTED_MODULE_1__.fromX509)(x509, alg, options);
76139
76086
  }
76140
76087
  async function importPKCS8(pkcs8, alg, options) {
76141
76088
  if (typeof pkcs8 !== 'string' || pkcs8.indexOf('-----BEGIN PRIVATE KEY-----') !== 0) {
@@ -76145,13 +76092,10 @@ async function importPKCS8(pkcs8, alg, options) {
76145
76092
  }
76146
76093
  async function importJWK(jwk, alg, octAsKeyObject) {
76147
76094
  var _a;
76148
- if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_5__["default"])(jwk)) {
76095
+ if (!(0,_lib_is_object_js__WEBPACK_IMPORTED_MODULE_4__["default"])(jwk)) {
76149
76096
  throw new TypeError('JWK must be an object');
76150
76097
  }
76151
76098
  alg || (alg = jwk.alg);
76152
- if (typeof alg !== 'string' || !alg) {
76153
- throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
76154
- }
76155
76099
  switch (jwk.kty) {
76156
76100
  case 'oct':
76157
76101
  if (typeof jwk.k !== 'string' || !jwk.k) {
@@ -76518,13 +76462,13 @@ function checkSigCryptoKey(key, alg, ...usages) {
76518
76462
  throw unusable(`SHA-${expected}`, 'algorithm.hash');
76519
76463
  break;
76520
76464
  }
76521
- case (0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA': {
76522
- if (!isAlgorithm(key.algorithm, 'NODE-ED25519'))
76523
- throw unusable('NODE-ED25519');
76524
- break;
76525
- }
76526
76465
  case 'EdDSA': {
76527
76466
  if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {
76467
+ if ((0,_runtime_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
76468
+ if (isAlgorithm(key.algorithm, 'NODE-ED25519'))
76469
+ break;
76470
+ throw unusable('Ed25519, Ed448, or NODE-ED25519');
76471
+ }
76528
76472
  throw unusable('Ed25519 or Ed448');
76529
76473
  }
76530
76474
  break;
@@ -77340,6 +77284,7 @@ __webpack_require__.r(__webpack_exports__);
77340
77284
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
77341
77285
  /* harmony export */ "fromPKCS8": () => (/* binding */ fromPKCS8),
77342
77286
  /* harmony export */ "fromSPKI": () => (/* binding */ fromSPKI),
77287
+ /* harmony export */ "fromX509": () => (/* binding */ fromX509),
77343
77288
  /* harmony export */ "toPKCS8": () => (/* binding */ toPKCS8),
77344
77289
  /* harmony export */ "toSPKI": () => (/* binding */ toSPKI)
77345
77290
  /* harmony export */ });
@@ -77409,7 +77354,7 @@ const getNamedCurve = (keyData) => {
77409
77354
  }
77410
77355
  };
77411
77356
  const genericImport = async (replace, keyFormat, pem, alg, options) => {
77412
- var _a;
77357
+ var _a, _b;
77413
77358
  let algorithm;
77414
77359
  let keyUsages;
77415
77360
  const keyData = new Uint8Array(atob(pem.replace(replace, ''))
@@ -77460,12 +77405,6 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
77460
77405
  keyUsages = isPublic ? [] : ['deriveBits'];
77461
77406
  break;
77462
77407
  }
77463
- case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA': {
77464
- const namedCurve = getNamedCurve(keyData).toUpperCase();
77465
- algorithm = { name: `NODE-${namedCurve}`, namedCurve: `NODE-${namedCurve}` };
77466
- keyUsages = isPublic ? ['verify'] : ['sign'];
77467
- break;
77468
- }
77469
77408
  case 'EdDSA':
77470
77409
  algorithm = { name: getNamedCurve(keyData) };
77471
77410
  keyUsages = isPublic ? ['verify'] : ['sign'];
@@ -77473,7 +77412,18 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
77473
77412
  default:
77474
77413
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__.JOSENotSupported('Invalid or unsupported "alg" (Algorithm) value');
77475
77414
  }
77476
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
77415
+ try {
77416
+ return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_a = options === null || options === void 0 ? void 0 : options.extractable) !== null && _a !== void 0 ? _a : false, keyUsages);
77417
+ }
77418
+ catch (err) {
77419
+ if (algorithm.name === 'Ed25519' &&
77420
+ (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
77421
+ (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
77422
+ algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
77423
+ return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey(keyFormat, keyData, algorithm, (_b = options === null || options === void 0 ? void 0 : options.extractable) !== null && _b !== void 0 ? _b : false, keyUsages);
77424
+ }
77425
+ throw err;
77426
+ }
77477
77427
  };
77478
77428
  const fromPKCS8 = (pem, alg, options) => {
77479
77429
  return genericImport(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g, 'pkcs8', pem, alg, options);
@@ -77481,6 +77431,84 @@ const fromPKCS8 = (pem, alg, options) => {
77481
77431
  const fromSPKI = (pem, alg, options) => {
77482
77432
  return genericImport(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, 'spki', pem, alg, options);
77483
77433
  };
77434
+ function getElement(seq) {
77435
+ let result = [];
77436
+ let next = 0;
77437
+ while (next < seq.length) {
77438
+ let nextPart = parseElement(seq.subarray(next));
77439
+ result.push(nextPart);
77440
+ next += nextPart.byteLength;
77441
+ }
77442
+ return result;
77443
+ }
77444
+ function parseElement(bytes) {
77445
+ let position = 0;
77446
+ let tag = bytes[0] & 0x1f;
77447
+ position++;
77448
+ if (tag === 0x1f) {
77449
+ tag = 0;
77450
+ while (bytes[position] >= 0x80) {
77451
+ tag = tag * 128 + bytes[position] - 0x80;
77452
+ position++;
77453
+ }
77454
+ tag = tag * 128 + bytes[position] - 0x80;
77455
+ position++;
77456
+ }
77457
+ let length = 0;
77458
+ if (bytes[position] < 0x80) {
77459
+ length = bytes[position];
77460
+ position++;
77461
+ }
77462
+ else if (length === 0x80) {
77463
+ length = 0;
77464
+ while (bytes[position + length] !== 0 || bytes[position + length + 1] !== 0) {
77465
+ if (length > bytes.byteLength) {
77466
+ throw new TypeError('invalid indefinite form length');
77467
+ }
77468
+ length++;
77469
+ }
77470
+ const byteLength = position + length + 2;
77471
+ return {
77472
+ byteLength,
77473
+ contents: bytes.subarray(position, position + length),
77474
+ raw: bytes.subarray(0, byteLength),
77475
+ };
77476
+ }
77477
+ else {
77478
+ let numberOfDigits = bytes[position] & 0x7f;
77479
+ position++;
77480
+ length = 0;
77481
+ for (let i = 0; i < numberOfDigits; i++) {
77482
+ length = length * 256 + bytes[position];
77483
+ position++;
77484
+ }
77485
+ }
77486
+ const byteLength = position + length;
77487
+ return {
77488
+ byteLength,
77489
+ contents: bytes.subarray(position, byteLength),
77490
+ raw: bytes.subarray(0, byteLength),
77491
+ };
77492
+ }
77493
+ function spkiFromX509(buf) {
77494
+ const tbsCertificate = getElement(getElement(parseElement(buf).contents)[0].contents);
77495
+ return (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.encodeBase64)(tbsCertificate[tbsCertificate[0].raw[0] === 0xa0 ? 6 : 5].raw);
77496
+ }
77497
+ function getSPKI(x509) {
77498
+ const pem = x509.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g, '');
77499
+ const raw = (0,_base64url_js__WEBPACK_IMPORTED_MODULE_3__.decodeBase64)(pem);
77500
+ return (0,_lib_format_pem_js__WEBPACK_IMPORTED_MODULE_4__["default"])(spkiFromX509(raw), 'PUBLIC KEY');
77501
+ }
77502
+ const fromX509 = (pem, alg, options) => {
77503
+ let spki;
77504
+ try {
77505
+ spki = getSPKI(pem);
77506
+ }
77507
+ catch (cause) {
77508
+ throw new TypeError('failed to parse the X.509 certificate', { cause });
77509
+ }
77510
+ return fromSPKI(spki, alg, options);
77511
+ };
77484
77512
 
77485
77513
 
77486
77514
  /***/ }),
@@ -78038,7 +78066,7 @@ function getModulusLengthOption(options) {
78038
78066
  return modulusLength;
78039
78067
  }
78040
78068
  async function generateKeyPair(alg, options) {
78041
- var _a, _b, _c;
78069
+ var _a, _b, _c, _d;
78042
78070
  let algorithm;
78043
78071
  let keyUsages;
78044
78072
  switch (alg) {
@@ -78088,17 +78116,6 @@ async function generateKeyPair(alg, options) {
78088
78116
  algorithm = { name: 'ECDSA', namedCurve: 'P-521' };
78089
78117
  keyUsages = ['sign', 'verify'];
78090
78118
  break;
78091
- case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA':
78092
- switch (options === null || options === void 0 ? void 0 : options.crv) {
78093
- case undefined:
78094
- case 'Ed25519':
78095
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
78096
- keyUsages = ['sign', 'verify'];
78097
- break;
78098
- default:
78099
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported crv option provided');
78100
- }
78101
- break;
78102
78119
  case 'EdDSA':
78103
78120
  keyUsages = ['sign', 'verify'];
78104
78121
  const crv = (_a = options === null || options === void 0 ? void 0 : options.crv) !== null && _a !== void 0 ? _a : 'Ed25519';
@@ -78136,7 +78153,18 @@ async function generateKeyPair(alg, options) {
78136
78153
  default:
78137
78154
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
78138
78155
  }
78139
- return (_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
78156
+ try {
78157
+ return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_c = options === null || options === void 0 ? void 0 : options.extractable) !== null && _c !== void 0 ? _c : false, keyUsages));
78158
+ }
78159
+ catch (err) {
78160
+ if (algorithm.name === 'Ed25519' &&
78161
+ (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
78162
+ (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
78163
+ algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
78164
+ return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(algorithm, (_d = options === null || options === void 0 ? void 0 : options.extractable) !== null && _d !== void 0 ? _d : false, keyUsages));
78165
+ }
78166
+ throw err;
78167
+ }
78140
78168
  }
78141
78169
 
78142
78170
 
@@ -78316,19 +78344,6 @@ function subtleMapping(jwk) {
78316
78344
  }
78317
78345
  break;
78318
78346
  }
78319
- case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'OKP':
78320
- if (jwk.alg !== 'EdDSA') {
78321
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
78322
- }
78323
- switch (jwk.crv) {
78324
- case 'Ed25519':
78325
- algorithm = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
78326
- keyUsages = jwk.d ? ['sign'] : ['verify'];
78327
- break;
78328
- default:
78329
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__.JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
78330
- }
78331
- break;
78332
78347
  case 'OKP': {
78333
78348
  switch (jwk.alg) {
78334
78349
  case 'EdDSA':
@@ -78354,6 +78369,9 @@ function subtleMapping(jwk) {
78354
78369
  }
78355
78370
  const parse = async (jwk) => {
78356
78371
  var _a, _b;
78372
+ if (!jwk.alg) {
78373
+ throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
78374
+ }
78357
78375
  const { algorithm, keyUsages } = subtleMapping(jwk);
78358
78376
  const rest = [
78359
78377
  algorithm,
@@ -78366,7 +78384,18 @@ const parse = async (jwk) => {
78366
78384
  const keyData = { ...jwk };
78367
78385
  delete keyData.alg;
78368
78386
  delete keyData.use;
78369
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
78387
+ try {
78388
+ return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
78389
+ }
78390
+ catch (err) {
78391
+ if (algorithm.name === 'Ed25519' &&
78392
+ (err === null || err === void 0 ? void 0 : err.name) === 'NotSupportedError' &&
78393
+ (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)()) {
78394
+ rest[0] = { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
78395
+ return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.importKey('jwk', keyData, ...rest);
78396
+ }
78397
+ throw err;
78398
+ }
78370
78399
  };
78371
78400
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (parse);
78372
78401
 
@@ -78631,10 +78660,10 @@ function subtleDsa(alg, algorithm) {
78631
78660
  case 'ES384':
78632
78661
  case 'ES512':
78633
78662
  return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
78634
- case (0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && 'EdDSA':
78635
- const { namedCurve } = algorithm;
78636
- return { name: namedCurve, namedCurve };
78637
78663
  case 'EdDSA':
78664
+ if ((0,_env_js__WEBPACK_IMPORTED_MODULE_0__.isCloudflareWorkers)() && algorithm.name === 'NODE-ED25519') {
78665
+ return { name: 'NODE-ED25519', namedCurve: 'NODE-ED25519' };
78666
+ }
78638
78667
  return { name: algorithm.name };
78639
78668
  default:
78640
78669
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
@@ -79058,6 +79087,7 @@ class JWKSMultipleMatchingKeys extends JOSEError {
79058
79087
  return 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';
79059
79088
  }
79060
79089
  }
79090
+ Symbol.asyncIterator;
79061
79091
  class JWKSTimeout extends JOSEError {
79062
79092
  constructor() {
79063
79093
  super(...arguments);