solid-ui 2.4.16-29d82bfe → 2.4.16-4ab5f1f1

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.
@@ -2252,7 +2252,7 @@ var AddAgentButtons = /*#__PURE__*/function () {
2252
2252
  switch (_context.prev = _context.next) {
2253
2253
  case 0:
2254
2254
  _context.next = 2;
2255
- return (0, _login.logInLoadProfile)(eventContext);
2255
+ return (0, _login.ensureLoadedProfile)(eventContext);
2256
2256
 
2257
2257
  case 2:
2258
2258
  trustedApps = this.groupList.store.each(eventContext.me, ns.acl('trustedApp')); // @@ TODO fix as
@@ -4938,6 +4938,8 @@ var _iconBase = __webpack_require__(/*! ../iconBase */ "./lib/iconBase.js");
4938
4938
 
4939
4939
  var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
4940
4940
 
4941
+ var _login = __webpack_require__(/*! ../login/login */ "./lib/login/login.js");
4942
+
4941
4943
  var _index = __webpack_require__(/*! ../media/index */ "./lib/media/index.js");
4942
4944
 
4943
4945
  var ns = _interopRequireWildcard(__webpack_require__(/*! ../ns */ "./lib/ns.js"));
@@ -5545,7 +5547,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
5545
5547
  dom: dom
5546
5548
  };
5547
5549
 
5548
- _solidLogic.authn.logIn(context).then(function (context) {
5550
+ _login.login.ensureLoggedIn(context).then(function (context) {
5549
5551
  // me = context.me
5550
5552
  turnOnInput();
5551
5553
  Object.assign(context, userContext);
@@ -6111,7 +6113,7 @@ function newThingUI(createContext, dataBrowserContext, thePanes) {
6111
6113
  var selectUI; // , selectUIParent
6112
6114
 
6113
6115
  function callbackWS(ws, newBase) {
6114
- (0, _login.logInLoadProfile)(createContext).then(function (_context) {
6116
+ (0, _login.ensureLoadedProfile)(createContext).then(function (_context) {
6115
6117
  var newPaneOptions = Object.assign({
6116
6118
  newBase: newBase,
6117
6119
  folder: options.folder || undefined,
@@ -7354,7 +7356,7 @@ Object.defineProperty(exports, "messageArea", {
7354
7356
  return _messageArea.messageArea;
7355
7357
  }
7356
7358
  });
7357
- exports.style = exports.solidLogicLib = exports.rdf = exports.preferences = exports.participation = exports.pad = exports.ns = void 0;
7359
+ exports.style = exports.rdf = exports.preferences = exports.participation = exports.pad = exports.ns = void 0;
7358
7360
  Object.defineProperty(exports, "table", {
7359
7361
  enumerable: true,
7360
7362
  get: function get() {
@@ -7444,9 +7446,7 @@ var createTypes = _interopRequireWildcard(__webpack_require__(/*! ./create/types
7444
7446
 
7445
7447
  exports.createTypes = createTypes;
7446
7448
 
7447
- var solidLogicLib = _interopRequireWildcard(__webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js"));
7448
-
7449
- exports.solidLogicLib = solidLogicLib;
7449
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
7450
7450
 
7451
7451
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
7452
7452
 
@@ -7455,9 +7455,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
7455
7455
  // pull in first avoid cross-refs
7456
7456
  // @ts-ignore
7457
7457
  // @ts-ignore
7458
- // import * as debug from '../debug'
7459
- // @ts-ignore
7460
- // @ts-ignore
7461
7458
  // @ts-ignore
7462
7459
  // @ts-ignore
7463
7460
  // @ts-ignore
@@ -7473,7 +7470,9 @@ exports.dom = dom;
7473
7470
  if (typeof window !== 'undefined') {
7474
7471
  ;
7475
7472
  window.UI = {
7476
- solidLogicLib: solidLogicLib,
7473
+ authn: _solidLogic.authn,
7474
+ store: _solidLogic.store,
7475
+ authSession: _solidLogic.authSession,
7477
7476
  ns: ns,
7478
7477
  rdf: rdf,
7479
7478
  acl: _index.acl,
@@ -7848,12 +7847,12 @@ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_m
7848
7847
  Object.defineProperty(exports, "__esModule", {
7849
7848
  value: true
7850
7849
  });
7850
+ exports.ensureLoadedPreferences = ensureLoadedPreferences;
7851
+ exports.ensureLoadedProfile = ensureLoadedProfile;
7852
+ exports.ensureLoggedIn = ensureLoggedIn;
7851
7853
  exports.filterAvailablePanes = filterAvailablePanes;
7852
7854
  exports.findAppInstances = findAppInstances;
7853
7855
  exports.getUserRoles = getUserRoles;
7854
- exports.logInLoadPreferences = logInLoadPreferences;
7855
- exports.logInLoadProfile = logInLoadProfile;
7856
- exports.loggedInContext = loggedInContext;
7857
7856
  exports.loginStatusBox = loginStatusBox;
7858
7857
  exports.newAppInstance = newAppInstance;
7859
7858
  exports.registrationControl = registrationControl;
@@ -7914,7 +7913,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
7914
7913
  *
7915
7914
  * @param context
7916
7915
  */
7917
- function loggedInContext(context) {
7916
+ // used to be logIn
7917
+ function ensureLoggedIn(context) {
7918
7918
  var me = _solidLogic.authn.currentUser();
7919
7919
 
7920
7920
  if (me) {
@@ -7952,10 +7952,11 @@ function loggedInContext(context) {
7952
7952
  *
7953
7953
  * @param context
7954
7954
  */
7955
+ // used to be logInLoadPreferences
7955
7956
 
7956
7957
 
7957
- function logInLoadPreferences(_x2) {
7958
- return _logInLoadPreferences.apply(this, arguments);
7958
+ function ensureLoadedPreferences(_x2) {
7959
+ return _ensureLoadedPreferences.apply(this, arguments);
7959
7960
  }
7960
7961
  /**
7961
7962
  * Logs the user in and loads their WebID profile document into the store
@@ -7964,17 +7965,18 @@ function logInLoadPreferences(_x2) {
7964
7965
  *
7965
7966
  * @returns Resolves with the context after login / fetch
7966
7967
  */
7968
+ // used to be logInLoadProfile
7967
7969
 
7968
7970
 
7969
- function _logInLoadPreferences() {
7970
- _logInLoadPreferences = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(context) {
7971
+ function _ensureLoadedPreferences() {
7972
+ _ensureLoadedPreferences = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(context) {
7971
7973
  var statusArea, progressDisplay, complain, preferencesFile, m2;
7972
7974
  return _regenerator["default"].wrap(function _callee4$(_context4) {
7973
7975
  while (1) {
7974
7976
  switch (_context4.prev = _context4.next) {
7975
7977
  case 0:
7976
7978
  complain = function _complain(message) {
7977
- message = "logInLoadPreferences: ".concat(message);
7979
+ message = "ensureLoadedPreferences: ".concat(message);
7978
7980
 
7979
7981
  if (statusArea) {
7980
7982
  // statusArea.innerHTML = ''
@@ -7996,7 +7998,7 @@ function _logInLoadPreferences() {
7996
7998
  statusArea = context.statusArea || context.div || null;
7997
7999
  _context4.prev = 4;
7998
8000
  _context4.next = 7;
7999
- return logInLoadProfile(context);
8001
+ return ensureLoadedProfile(context);
8000
8002
 
8001
8003
  case 7:
8002
8004
  context = _context4.sent;
@@ -8097,11 +8099,11 @@ function _logInLoadPreferences() {
8097
8099
  }
8098
8100
  }, _callee4, null, [[4, 15]]);
8099
8101
  }));
8100
- return _logInLoadPreferences.apply(this, arguments);
8102
+ return _ensureLoadedPreferences.apply(this, arguments);
8101
8103
  }
8102
8104
 
8103
- function logInLoadProfile(_x3) {
8104
- return _logInLoadProfile.apply(this, arguments);
8105
+ function ensureLoadedProfile(_x3) {
8106
+ return _ensureLoadedProfile.apply(this, arguments);
8105
8107
  }
8106
8108
  /**
8107
8109
  * Returns promise of context with arrays of symbols
@@ -8111,8 +8113,8 @@ function logInLoadProfile(_x3) {
8111
8113
  */
8112
8114
 
8113
8115
 
8114
- function _logInLoadProfile() {
8115
- _logInLoadProfile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(context) {
8116
+ function _ensureLoadedProfile() {
8117
+ _ensureLoadedProfile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(context) {
8116
8118
  var logInContext;
8117
8119
  return _regenerator["default"].wrap(function _callee5$(_context5) {
8118
8120
  while (1) {
@@ -8128,7 +8130,7 @@ function _logInLoadProfile() {
8128
8130
  case 2:
8129
8131
  _context5.prev = 2;
8130
8132
  _context5.next = 5;
8131
- return loggedInContext(context);
8133
+ return ensureLoggedIn(context);
8132
8134
 
8133
8135
  case 5:
8134
8136
  logInContext = _context5.sent;
@@ -8169,7 +8171,7 @@ function _logInLoadProfile() {
8169
8171
  }
8170
8172
  }, _callee5, null, [[2, 13]]);
8171
8173
  }));
8172
- return _logInLoadProfile.apply(this, arguments);
8174
+ return _ensureLoadedProfile.apply(this, arguments);
8173
8175
  }
8174
8176
 
8175
8177
  function findAppInstances(_x4, _x5, _x6) {
@@ -8209,7 +8211,7 @@ function _findAppInstances() {
8209
8211
  case 7:
8210
8212
  _context6.prev = 7;
8211
8213
  _context6.next = 10;
8212
- return isPublic ? logInLoadProfile(context) : logInLoadPreferences(context);
8214
+ return isPublic ? ensureLoadedProfile(context) : ensureLoadedPreferences(context);
8213
8215
 
8214
8216
  case 10:
8215
8217
  _context6.next = 15;
@@ -9109,7 +9111,7 @@ function selectWorkspace(dom, appDetails, callbackWS) {
9109
9111
  // console.log('kicking off async operation')
9110
9112
 
9111
9113
 
9112
- logInLoadPreferences(context) // kick off async operation
9114
+ ensureLoadedPreferences(context) // kick off async operation
9113
9115
  .then(displayOptions)["catch"](function (err) {
9114
9116
  // console.log("err from async op")
9115
9117
  box.appendChild(widgets.errorMessageBlock(context.dom, err));
@@ -9168,7 +9170,7 @@ function getUserRoles() {
9168
9170
 
9169
9171
  function _getUserRoles() {
9170
9172
  _getUserRoles = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
9171
- var _yield$logInLoadPrefe, me, preferencesFile, preferencesFileError;
9173
+ var _yield$ensureLoadedPr, me, preferencesFile, preferencesFileError;
9172
9174
 
9173
9175
  return _regenerator["default"].wrap(function _callee7$(_context7) {
9174
9176
  while (1) {
@@ -9176,13 +9178,13 @@ function _getUserRoles() {
9176
9178
  case 0:
9177
9179
  _context7.prev = 0;
9178
9180
  _context7.next = 3;
9179
- return logInLoadPreferences({});
9181
+ return ensureLoadedPreferences({});
9180
9182
 
9181
9183
  case 3:
9182
- _yield$logInLoadPrefe = _context7.sent;
9183
- me = _yield$logInLoadPrefe.me;
9184
- preferencesFile = _yield$logInLoadPrefe.preferencesFile;
9185
- preferencesFileError = _yield$logInLoadPrefe.preferencesFileError;
9184
+ _yield$ensureLoadedPr = _context7.sent;
9185
+ me = _yield$ensureLoadedPr.me;
9186
+ preferencesFile = _yield$ensureLoadedPr.preferencesFile;
9187
+ preferencesFileError = _yield$ensureLoadedPr.preferencesFileError;
9186
9188
 
9187
9189
  if (!(!preferencesFile || preferencesFileError)) {
9188
9190
  _context7.next = 9;
@@ -10001,7 +10003,7 @@ function messageArea(dom, kb, subject, messageStore, options) {
10001
10003
  div: middle,
10002
10004
  dom: dom
10003
10005
  };
10004
- login.loggedInContext(context).then(function (context) {
10006
+ login.ensureLoggedIn(context).then(function (context) {
10005
10007
  me = context.me;
10006
10008
  turnOnInput();
10007
10009
  });
@@ -11615,7 +11617,7 @@ function recordSharedPreferences(subject, context) {
11615
11617
 
11616
11618
  function recordPersonalDefaults(theClass, context) {
11617
11619
  return new Promise(function (resolve, reject) {
11618
- (0, _login.logInLoadPreferences)(context).then(function (context) {
11620
+ (0, _login.ensureLoadedPreferences)(context).then(function (context) {
11619
11621
  if (!context.preferencesFile) {
11620
11622
  debug.log('Not doing private class preferences as no access to preferences file. ' + context.preferencesFileError);
11621
11623
  return;
@@ -15008,8 +15010,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
15008
15010
  var UI = {
15009
15011
  log: log,
15010
15012
  ns: ns,
15011
- rdf: rdf,
15012
- store: _solidLogic.store
15013
+ rdf: rdf
15013
15014
  }; // This ubiquitous function returns the best label for a thing
15014
15015
  //
15015
15016
  // The hacks in this code make a major difference to the usability
@@ -15127,8 +15128,8 @@ Object.defineProperty(exports, "__esModule", {
15127
15128
  });
15128
15129
  exports["default"] = void 0;
15129
15130
  var _default = {
15130
- buildTime: '2022-02-01T16:14:13Z',
15131
- commit: '29d82bfe00704b27c88c6ea81f3c9934f199adea',
15131
+ buildTime: '2022-02-08T08:50:48Z',
15132
+ commit: '4ab5f1f137cc9a9669768bec6d1b07c15899f080',
15132
15133
  npmInfo: {
15133
15134
  'solid-ui': '2.4.16',
15134
15135
  npm: '6.14.15',
@@ -20225,6 +20226,8 @@ function getPreferredLanguagesFor(_x) {
20225
20226
 
20226
20227
  function _getPreferredLanguagesFor() {
20227
20228
  _getPreferredLanguagesFor = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(person) {
20229
+ var _store$fetcher;
20230
+
20228
20231
  var doc, list, languageCodeArray;
20229
20232
  return _regenerator["default"].wrap(function _callee$(_context) {
20230
20233
  while (1) {
@@ -20232,7 +20235,7 @@ function _getPreferredLanguagesFor() {
20232
20235
  case 0:
20233
20236
  doc = person.doc();
20234
20237
  _context.next = 3;
20235
- return _solidLogic.store.fetcher.load(doc);
20238
+ return (_store$fetcher = _solidLogic.store.fetcher) === null || _store$fetcher === void 0 ? void 0 : _store$fetcher.load(doc);
20236
20239
 
20237
20240
  case 3:
20238
20241
  list = _solidLogic.store.any(person, ns.schema('knowsLanguage'), null, doc);
@@ -20702,6 +20705,8 @@ function queryESCODataByName(_x, _x2, _x3) {
20702
20705
 
20703
20706
  function _queryESCODataByName() {
20704
20707
  _queryESCODataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(filter, theClass, queryTarget) {
20708
+ var _store$fetcher;
20709
+
20705
20710
  var limit, queryURI, response, text, json;
20706
20711
  return _regenerator["default"].wrap(function _callee$(_context) {
20707
20712
  while (1) {
@@ -20719,11 +20724,11 @@ function _queryESCODataByName() {
20719
20724
  queryURI = queryTarget.searchByNameURI.replace('$(name)', filter).replace('$(limit)', '' + limit).replace('$(targetClass)', theClass.toNT());
20720
20725
  debug.log('Querying ESCO data - uri: ' + queryURI);
20721
20726
  _context.next = 7;
20722
- return _solidLogic.store.fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
20727
+ return (_store$fetcher = _solidLogic.store.fetcher) === null || _store$fetcher === void 0 ? void 0 : _store$fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
20723
20728
 
20724
20729
  case 7:
20725
20730
  response = _context.sent;
20726
- text = response.responseText || '';
20731
+ text = (response === null || response === void 0 ? void 0 : response.responseText) || '';
20727
20732
  debug.log(' Query result text' + text.slice(0, 500) + '...');
20728
20733
 
20729
20734
  if (!(text.length === 0)) {
@@ -20770,7 +20775,8 @@ function queryPublicDataByName(_x4, _x5, _x6, _x7) {
20770
20775
 
20771
20776
  function _queryPublicDataByName() {
20772
20777
  _queryPublicDataByName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(filter, theClass, languages, queryTarget) {
20773
- var substituteStrings, languagePrefs, language, sparql, queryURI, response, text, text2, json, bindings;
20778
+ var substituteStrings, languagePrefs, language, sparql, queryURI, response, _store$fetcher2, text, text2, json, bindings;
20779
+
20774
20780
  return _regenerator["default"].wrap(function _callee2$(_context2) {
20775
20781
  while (1) {
20776
20782
  switch (_context2.prev = _context2.next) {
@@ -20825,7 +20831,7 @@ function _queryPublicDataByName() {
20825
20831
  queryURI = substituteStrings(queryTarget.searchByNameURI);
20826
20832
  _context2.prev = 18;
20827
20833
  _context2.next = 21;
20828
- return _solidLogic.store.fetcher.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
20834
+ return (_store$fetcher2 = _solidLogic.store.fetcher) === null || _store$fetcher2 === void 0 ? void 0 : _store$fetcher2.webOperation('GET', queryURI, fetcherOptionsJsonPublicData);
20829
20835
 
20830
20836
  case 21:
20831
20837
  response = _context2.sent;
@@ -20902,6 +20908,8 @@ function queryPublicDataSelect(_x8, _x9) {
20902
20908
 
20903
20909
  function _queryPublicDataSelect() {
20904
20910
  _queryPublicDataSelect = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(sparql, queryTarget) {
20911
+ var _store$fetcher3;
20912
+
20905
20913
  var myUrlWithParams, queryURI, headers, options, response, text, text2, json, bindings;
20906
20914
  return _regenerator["default"].wrap(function _callee3$(_context3) {
20907
20915
  while (1) {
@@ -20927,7 +20935,7 @@ function _queryPublicDataSelect() {
20927
20935
  headers: headers
20928
20936
  };
20929
20937
  _context3.next = 11;
20930
- return _solidLogic.store.fetcher.webOperation('GET', queryURI, options);
20938
+ return (_store$fetcher3 = _solidLogic.store.fetcher) === null || _store$fetcher3 === void 0 ? void 0 : _store$fetcher3.webOperation('GET', queryURI, options);
20931
20939
 
20932
20940
  case 11:
20933
20941
  response = _context3.sent;
@@ -20963,6 +20971,8 @@ function queryPublicDataConstruct(_x10, _x11, _x12) {
20963
20971
 
20964
20972
  function _queryPublicDataConstruct() {
20965
20973
  _queryPublicDataConstruct = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(sparql, pubicId, queryTarget) {
20974
+ var _store$fetcher4;
20975
+
20966
20976
  var myUrlWithParams, queryURI, headers, options, response, text, report;
20967
20977
  return _regenerator["default"].wrap(function _callee4$(_context4) {
20968
20978
  while (1) {
@@ -20991,11 +21001,11 @@ function _queryPublicDataConstruct() {
20991
21001
 
20992
21002
  };
20993
21003
  _context4.next = 12;
20994
- return _solidLogic.store.fetcher.webOperation('GET', queryURI, options);
21004
+ return (_store$fetcher4 = _solidLogic.store.fetcher) === null || _store$fetcher4 === void 0 ? void 0 : _store$fetcher4.webOperation('GET', queryURI, options);
20995
21005
 
20996
21006
  case 12:
20997
21007
  response = _context4.sent;
20998
- text = response.responseText || 'No response text?';
21008
+ text = (response === null || response === void 0 ? void 0 : response.responseText) || 'No response text?';
20999
21009
  report = text.length > 500 ? text.slice(0, 200) + ' ... ' + text.slice(-200) : text;
21000
21010
  debug.log(' queryPublicDataConstruct result text:' + report);
21001
21011
 
@@ -23038,14 +23048,14 @@ function _inherits(subClass, superClass) {
23038
23048
  throw new TypeError("Super expression must either be null or a function");
23039
23049
  }
23040
23050
 
23051
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
23052
+ constructor: {
23053
+ value: subClass,
23054
+ writable: true,
23055
+ configurable: true
23056
+ }
23057
+ });
23041
23058
  Object.defineProperty(subClass, "prototype", {
23042
- value: Object.create(superClass && superClass.prototype, {
23043
- constructor: {
23044
- value: subClass,
23045
- writable: true,
23046
- configurable: true
23047
- }
23048
- }),
23049
23059
  writable: false
23050
23060
  });
23051
23061
  if (superClass) setPrototypeOf(subClass, superClass);
@@ -23174,7 +23184,7 @@ module.exports = _nonIterableRest, module.exports.__esModule = true, module.expo
23174
23184
  /*! no static exports found */
23175
23185
  /***/ (function(module, exports, __webpack_require__) {
23176
23186
 
23177
- var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"];
23187
+ var _typeof = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/typeof.js")["default"];
23178
23188
 
23179
23189
  var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js");
23180
23190
 
@@ -30265,10 +30275,36 @@ var FN_ARGS = /^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/;
30265
30275
  var ARROW_FN_ARGS = /^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/;
30266
30276
  var FN_ARG_SPLIT = /,/;
30267
30277
  var FN_ARG = /(=.+)?(\s*)$/;
30268
- var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
30278
+
30279
+ function stripComments(string) {
30280
+ let stripped = '';
30281
+ let index = 0;
30282
+ let endBlockComment = string.indexOf('*/');
30283
+ while (index < string.length) {
30284
+ if (string[index] === '/' && string[index+1] === '/') {
30285
+ // inline comment
30286
+ let endIndex = string.indexOf('\n', index);
30287
+ index = (endIndex === -1) ? string.length : endIndex;
30288
+ } else if ((endBlockComment !== -1) && (string[index] === '/') && (string[index+1] === '*')) {
30289
+ // block comment
30290
+ let endIndex = string.indexOf('*/', index);
30291
+ if (endIndex !== -1) {
30292
+ index = endIndex + 2;
30293
+ endBlockComment = string.indexOf('*/', index);
30294
+ } else {
30295
+ stripped += string[index];
30296
+ index++;
30297
+ }
30298
+ } else {
30299
+ stripped += string[index];
30300
+ index++;
30301
+ }
30302
+ }
30303
+ return stripped;
30304
+ }
30269
30305
 
30270
30306
  function parseParams(func) {
30271
- const src = func.toString().replace(STRIP_COMMENTS, '');
30307
+ const src = stripComments(func.toString());
30272
30308
  let match = src.match(FN_ARGS);
30273
30309
  if (!match) {
30274
30310
  match = src.match(ARROW_FN_ARGS);
@@ -31025,7 +31061,7 @@ var reduce$1 = awaitify(reduce, 4);
31025
31061
  * app.get('/cats', function(request, response) {
31026
31062
  * var User = request.models.User;
31027
31063
  * async.seq(
31028
- * _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data))
31064
+ * User.get.bind(User), // 'User.get' has signature (id, callback(err, data))
31029
31065
  * function(user, fn) {
31030
31066
  * user.getCats(fn); // 'getCats' has signature (callback(err, data))
31031
31067
  * }
@@ -32659,6 +32695,8 @@ function memoize(fn, hasher = v => v) {
32659
32695
  return memoized;
32660
32696
  }
32661
32697
 
32698
+ /* istanbul ignore file */
32699
+
32662
32700
  /**
32663
32701
  * Calls `callback` on a later loop around the event loop. In Node.js this just
32664
32702
  * calls `process.nextTick`. In the browser it will use `setImmediate` if
@@ -37541,7 +37579,7 @@ var irrelevant = (function (exports) {
37541
37579
 
37542
37580
  return exports;
37543
37581
 
37544
- }({}));
37582
+ })({});
37545
37583
  })(__self__);
37546
37584
  __self__.fetch.ponyfill = true;
37547
37585
  // Remove "polyfill" property added by whatwg-fetch
@@ -39013,7 +39051,7 @@ module.exports = Array.isArray || function (arr) {
39013
39051
  /*!*************************************************!*\
39014
39052
  !*** ./node_modules/jose/dist/browser/index.js ***!
39015
39053
  \*************************************************/
39016
- /*! exports provided: compactDecrypt, flattenedDecrypt, generalDecrypt, GeneralEncrypt, compactVerify, flattenedVerify, generalVerify, jwtVerify, jwtDecrypt, CompactEncrypt, FlattenedEncrypt, CompactSign, FlattenedSign, GeneralSign, SignJWT, EncryptJWT, calculateJwkThumbprint, EmbeddedJWK, createRemoteJWKSet, UnsecuredJWT, exportPKCS8, exportSPKI, exportJWK, importSPKI, importPKCS8, importX509, importJWK, decodeProtectedHeader, errors, generateKeyPair, generateSecret, base64url */
39054
+ /*! exports provided: compactDecrypt, flattenedDecrypt, generalDecrypt, GeneralEncrypt, compactVerify, flattenedVerify, generalVerify, jwtVerify, jwtDecrypt, CompactEncrypt, FlattenedEncrypt, CompactSign, FlattenedSign, GeneralSign, SignJWT, EncryptJWT, calculateJwkThumbprint, EmbeddedJWK, createLocalJWKSet, createRemoteJWKSet, UnsecuredJWT, exportPKCS8, exportSPKI, exportJWK, importSPKI, importPKCS8, importX509, importJWK, decodeProtectedHeader, errors, generateKeyPair, generateSecret, base64url */
39017
39055
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
39018
39056
 
39019
39057
  "use strict";
@@ -39072,41 +39110,45 @@ __webpack_require__.r(__webpack_exports__);
39072
39110
  /* harmony import */ var _jwk_embedded_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./jwk/embedded.js */ "./node_modules/jose/dist/browser/jwk/embedded.js");
39073
39111
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EmbeddedJWK", function() { return _jwk_embedded_js__WEBPACK_IMPORTED_MODULE_17__["EmbeddedJWK"]; });
39074
39112
 
39075
- /* harmony import */ var _jwks_remote_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./jwks/remote.js */ "./node_modules/jose/dist/browser/jwks/remote.js");
39076
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createRemoteJWKSet", function() { return _jwks_remote_js__WEBPACK_IMPORTED_MODULE_18__["createRemoteJWKSet"]; });
39113
+ /* harmony import */ var _jwks_local_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./jwks/local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
39114
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createLocalJWKSet", function() { return _jwks_local_js__WEBPACK_IMPORTED_MODULE_18__["createLocalJWKSet"]; });
39115
+
39116
+ /* harmony import */ var _jwks_remote_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./jwks/remote.js */ "./node_modules/jose/dist/browser/jwks/remote.js");
39117
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createRemoteJWKSet", function() { return _jwks_remote_js__WEBPACK_IMPORTED_MODULE_19__["createRemoteJWKSet"]; });
39118
+
39119
+ /* harmony import */ var _jwt_unsecured_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./jwt/unsecured.js */ "./node_modules/jose/dist/browser/jwt/unsecured.js");
39120
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UnsecuredJWT", function() { return _jwt_unsecured_js__WEBPACK_IMPORTED_MODULE_20__["UnsecuredJWT"]; });
39077
39121
 
39078
- /* harmony import */ var _jwt_unsecured_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./jwt/unsecured.js */ "./node_modules/jose/dist/browser/jwt/unsecured.js");
39079
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UnsecuredJWT", function() { return _jwt_unsecured_js__WEBPACK_IMPORTED_MODULE_19__["UnsecuredJWT"]; });
39122
+ /* harmony import */ var _key_export_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./key/export.js */ "./node_modules/jose/dist/browser/key/export.js");
39123
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exportPKCS8", function() { return _key_export_js__WEBPACK_IMPORTED_MODULE_21__["exportPKCS8"]; });
39080
39124
 
39081
- /* harmony import */ var _key_export_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./key/export.js */ "./node_modules/jose/dist/browser/key/export.js");
39082
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exportPKCS8", function() { return _key_export_js__WEBPACK_IMPORTED_MODULE_20__["exportPKCS8"]; });
39125
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exportSPKI", function() { return _key_export_js__WEBPACK_IMPORTED_MODULE_21__["exportSPKI"]; });
39083
39126
 
39084
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exportSPKI", function() { return _key_export_js__WEBPACK_IMPORTED_MODULE_20__["exportSPKI"]; });
39127
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exportJWK", function() { return _key_export_js__WEBPACK_IMPORTED_MODULE_21__["exportJWK"]; });
39085
39128
 
39086
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exportJWK", function() { return _key_export_js__WEBPACK_IMPORTED_MODULE_20__["exportJWK"]; });
39129
+ /* harmony import */ var _key_import_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./key/import.js */ "./node_modules/jose/dist/browser/key/import.js");
39130
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importSPKI", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_22__["importSPKI"]; });
39087
39131
 
39088
- /* harmony import */ var _key_import_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./key/import.js */ "./node_modules/jose/dist/browser/key/import.js");
39089
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importSPKI", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_21__["importSPKI"]; });
39132
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importPKCS8", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_22__["importPKCS8"]; });
39090
39133
 
39091
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importPKCS8", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_21__["importPKCS8"]; });
39134
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importX509", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_22__["importX509"]; });
39092
39135
 
39093
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importX509", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_21__["importX509"]; });
39136
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importJWK", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_22__["importJWK"]; });
39094
39137
 
39095
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "importJWK", function() { return _key_import_js__WEBPACK_IMPORTED_MODULE_21__["importJWK"]; });
39138
+ /* harmony import */ var _util_decode_protected_header_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./util/decode_protected_header.js */ "./node_modules/jose/dist/browser/util/decode_protected_header.js");
39139
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "decodeProtectedHeader", function() { return _util_decode_protected_header_js__WEBPACK_IMPORTED_MODULE_23__["decodeProtectedHeader"]; });
39096
39140
 
39097
- /* harmony import */ var _util_decode_protected_header_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./util/decode_protected_header.js */ "./node_modules/jose/dist/browser/util/decode_protected_header.js");
39098
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "decodeProtectedHeader", function() { return _util_decode_protected_header_js__WEBPACK_IMPORTED_MODULE_22__["decodeProtectedHeader"]; });
39141
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
39142
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "errors", function() { return _util_errors_js__WEBPACK_IMPORTED_MODULE_24__; });
39143
+ /* harmony import */ var _key_generate_key_pair_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./key/generate_key_pair.js */ "./node_modules/jose/dist/browser/key/generate_key_pair.js");
39144
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generateKeyPair", function() { return _key_generate_key_pair_js__WEBPACK_IMPORTED_MODULE_25__["generateKeyPair"]; });
39099
39145
 
39100
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
39101
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "errors", function() { return _util_errors_js__WEBPACK_IMPORTED_MODULE_23__; });
39102
- /* harmony import */ var _key_generate_key_pair_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./key/generate_key_pair.js */ "./node_modules/jose/dist/browser/key/generate_key_pair.js");
39103
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generateKeyPair", function() { return _key_generate_key_pair_js__WEBPACK_IMPORTED_MODULE_24__["generateKeyPair"]; });
39146
+ /* harmony import */ var _key_generate_secret_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./key/generate_secret.js */ "./node_modules/jose/dist/browser/key/generate_secret.js");
39147
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generateSecret", function() { return _key_generate_secret_js__WEBPACK_IMPORTED_MODULE_26__["generateSecret"]; });
39104
39148
 
39105
- /* harmony import */ var _key_generate_secret_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./key/generate_secret.js */ "./node_modules/jose/dist/browser/key/generate_secret.js");
39106
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generateSecret", function() { return _key_generate_secret_js__WEBPACK_IMPORTED_MODULE_25__["generateSecret"]; });
39149
+ /* harmony import */ var _util_base64url_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./util/base64url.js */ "./node_modules/jose/dist/browser/util/base64url.js");
39150
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base64url", function() { return _util_base64url_js__WEBPACK_IMPORTED_MODULE_27__; });
39107
39151
 
39108
- /* harmony import */ var _util_base64url_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./util/base64url.js */ "./node_modules/jose/dist/browser/util/base64url.js");
39109
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base64url", function() { return _util_base64url_js__WEBPACK_IMPORTED_MODULE_26__; });
39110
39152
 
39111
39153
 
39112
39154
 
@@ -39921,26 +39963,26 @@ async function calculateJwkThumbprint(jwk, digestAlgorithm = 'sha256') {
39921
39963
 
39922
39964
  /***/ }),
39923
39965
 
39924
- /***/ "./node_modules/jose/dist/browser/jwks/remote.js":
39925
- /*!*******************************************************!*\
39926
- !*** ./node_modules/jose/dist/browser/jwks/remote.js ***!
39927
- \*******************************************************/
39928
- /*! exports provided: createRemoteJWKSet */
39966
+ /***/ "./node_modules/jose/dist/browser/jwks/local.js":
39967
+ /*!******************************************************!*\
39968
+ !*** ./node_modules/jose/dist/browser/jwks/local.js ***!
39969
+ \******************************************************/
39970
+ /*! exports provided: isJWKSLike, LocalJWKSet, createLocalJWKSet */
39929
39971
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
39930
39972
 
39931
39973
  "use strict";
39932
39974
  __webpack_require__.r(__webpack_exports__);
39933
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRemoteJWKSet", function() { return createRemoteJWKSet; });
39934
- /* harmony import */ var _runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/fetch_jwks.js */ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js");
39935
- /* harmony import */ var _key_import_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../key/import.js */ "./node_modules/jose/dist/browser/key/import.js");
39936
- /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
39937
- /* harmony import */ var _lib_is_object_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lib/is_object.js */ "./node_modules/jose/dist/browser/lib/is_object.js");
39938
-
39975
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isJWKSLike", function() { return isJWKSLike; });
39976
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LocalJWKSet", function() { return LocalJWKSet; });
39977
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createLocalJWKSet", function() { return createLocalJWKSet; });
39978
+ /* harmony import */ var _key_import_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../key/import.js */ "./node_modules/jose/dist/browser/key/import.js");
39979
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
39980
+ /* harmony import */ var _lib_is_object_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lib/is_object.js */ "./node_modules/jose/dist/browser/lib/is_object.js");
39939
39981
 
39940
39982
 
39941
39983
 
39942
39984
  function getKtyFromAlg(alg) {
39943
- switch (typeof alg === 'string' && alg.substr(0, 2)) {
39985
+ switch (typeof alg === 'string' && alg.slice(0, 2)) {
39944
39986
  case 'RS':
39945
39987
  case 'PS':
39946
39988
  return 'RSA';
@@ -39949,39 +39991,37 @@ function getKtyFromAlg(alg) {
39949
39991
  case 'Ed':
39950
39992
  return 'OKP';
39951
39993
  default:
39952
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__["JOSENotSupported"]('Unsupported "alg" value for a JSON Web Key Set');
39994
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JOSENotSupported"]('Unsupported "alg" value for a JSON Web Key Set');
39953
39995
  }
39954
39996
  }
39997
+ function isJWKSLike(jwks) {
39998
+ return (jwks &&
39999
+ typeof jwks === 'object' &&
40000
+ Array.isArray(jwks.keys) &&
40001
+ jwks.keys.every(isJWKLike));
40002
+ }
39955
40003
  function isJWKLike(key) {
39956
- return Object(_lib_is_object_js__WEBPACK_IMPORTED_MODULE_3__["default"])(key);
40004
+ return Object(_lib_is_object_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key);
39957
40005
  }
39958
- class RemoteJWKSet {
39959
- constructor(url, options) {
39960
- this._cached = new WeakMap();
39961
- if (!(url instanceof URL)) {
39962
- throw new TypeError('url must be an instance of URL');
39963
- }
39964
- this._url = new URL(url.href);
39965
- this._options = { agent: options === null || options === void 0 ? void 0 : options.agent };
39966
- this._timeoutDuration =
39967
- typeof (options === null || options === void 0 ? void 0 : options.timeoutDuration) === 'number' ? options === null || options === void 0 ? void 0 : options.timeoutDuration : 5000;
39968
- this._cooldownDuration =
39969
- typeof (options === null || options === void 0 ? void 0 : options.cooldownDuration) === 'number' ? options === null || options === void 0 ? void 0 : options.cooldownDuration : 30000;
40006
+ function clone(obj) {
40007
+ if (typeof structuredClone === 'function') {
40008
+ return structuredClone(obj);
39970
40009
  }
39971
- coolingDown() {
39972
- if (!this._cooldownStarted) {
39973
- return false;
40010
+ return JSON.parse(JSON.stringify(obj));
40011
+ }
40012
+ class LocalJWKSet {
40013
+ constructor(jwks) {
40014
+ this._cached = new WeakMap();
40015
+ if (!isJWKSLike(jwks)) {
40016
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JWKSInvalid"]('JSON Web Key Set malformed');
39974
40017
  }
39975
- return Date.now() < this._cooldownStarted + this._cooldownDuration;
40018
+ this._jwks = clone(jwks);
39976
40019
  }
39977
40020
  async getKey(protectedHeader, token) {
39978
40021
  const joseHeader = {
39979
40022
  ...protectedHeader,
39980
40023
  ...token.header,
39981
40024
  };
39982
- if (!this._jwks) {
39983
- await this.reload();
39984
- }
39985
40025
  const candidates = this._jwks.keys.filter((jwk) => {
39986
40026
  let candidate = jwk.kty === getKtyFromAlg(joseHeader.alg);
39987
40027
  if (candidate && typeof joseHeader.kid === 'string') {
@@ -40020,34 +40060,88 @@ class RemoteJWKSet {
40020
40060
  });
40021
40061
  const { 0: jwk, length } = candidates;
40022
40062
  if (length === 0) {
40023
- if (this.coolingDown() === false) {
40024
- await this.reload();
40025
- return this.getKey(protectedHeader, token);
40026
- }
40027
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__["JWKSNoMatchingKey"]();
40063
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JWKSNoMatchingKey"]();
40028
40064
  }
40029
40065
  else if (length !== 1) {
40030
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__["JWKSMultipleMatchingKeys"]();
40066
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JWKSMultipleMatchingKeys"]();
40031
40067
  }
40032
40068
  const cached = this._cached.get(jwk) || this._cached.set(jwk, {}).get(jwk);
40033
40069
  if (cached[joseHeader.alg] === undefined) {
40034
- const keyObject = await Object(_key_import_js__WEBPACK_IMPORTED_MODULE_1__["importJWK"])({ ...jwk, ext: true }, joseHeader.alg);
40070
+ const keyObject = await Object(_key_import_js__WEBPACK_IMPORTED_MODULE_0__["importJWK"])({ ...jwk, ext: true }, joseHeader.alg);
40035
40071
  if (keyObject instanceof Uint8Array || keyObject.type !== 'public') {
40036
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__["JWKSInvalid"]('JSON Web Key Set members must be public keys');
40072
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JWKSInvalid"]('JSON Web Key Set members must be public keys');
40037
40073
  }
40038
40074
  cached[joseHeader.alg] = keyObject;
40039
40075
  }
40040
40076
  return cached[joseHeader.alg];
40041
40077
  }
40078
+ }
40079
+ function createLocalJWKSet(jwks) {
40080
+ return LocalJWKSet.prototype.getKey.bind(new LocalJWKSet(jwks));
40081
+ }
40082
+
40083
+
40084
+ /***/ }),
40085
+
40086
+ /***/ "./node_modules/jose/dist/browser/jwks/remote.js":
40087
+ /*!*******************************************************!*\
40088
+ !*** ./node_modules/jose/dist/browser/jwks/remote.js ***!
40089
+ \*******************************************************/
40090
+ /*! exports provided: createRemoteJWKSet */
40091
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
40092
+
40093
+ "use strict";
40094
+ __webpack_require__.r(__webpack_exports__);
40095
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRemoteJWKSet", function() { return createRemoteJWKSet; });
40096
+ /* harmony import */ var _runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../runtime/fetch_jwks.js */ "./node_modules/jose/dist/browser/runtime/fetch_jwks.js");
40097
+ /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
40098
+ /* harmony import */ var _local_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./local.js */ "./node_modules/jose/dist/browser/jwks/local.js");
40099
+
40100
+
40101
+
40102
+ class RemoteJWKSet extends _local_js__WEBPACK_IMPORTED_MODULE_2__["LocalJWKSet"] {
40103
+ constructor(url, options) {
40104
+ super({ keys: [] });
40105
+ this._jwks = undefined;
40106
+ if (!(url instanceof URL)) {
40107
+ throw new TypeError('url must be an instance of URL');
40108
+ }
40109
+ this._url = new URL(url.href);
40110
+ this._options = { agent: options === null || options === void 0 ? void 0 : options.agent };
40111
+ this._timeoutDuration =
40112
+ typeof (options === null || options === void 0 ? void 0 : options.timeoutDuration) === 'number' ? options === null || options === void 0 ? void 0 : options.timeoutDuration : 5000;
40113
+ this._cooldownDuration =
40114
+ typeof (options === null || options === void 0 ? void 0 : options.cooldownDuration) === 'number' ? options === null || options === void 0 ? void 0 : options.cooldownDuration : 30000;
40115
+ }
40116
+ coolingDown() {
40117
+ if (!this._cooldownStarted) {
40118
+ return false;
40119
+ }
40120
+ return Date.now() < this._cooldownStarted + this._cooldownDuration;
40121
+ }
40122
+ async getKey(protectedHeader, token) {
40123
+ if (!this._jwks) {
40124
+ await this.reload();
40125
+ }
40126
+ try {
40127
+ return await super.getKey(protectedHeader, token);
40128
+ }
40129
+ catch (err) {
40130
+ if (err instanceof _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JWKSNoMatchingKey"]) {
40131
+ if (this.coolingDown() === false) {
40132
+ await this.reload();
40133
+ return super.getKey(protectedHeader, token);
40134
+ }
40135
+ }
40136
+ throw err;
40137
+ }
40138
+ }
40042
40139
  async reload() {
40043
40140
  if (!this._pendingFetch) {
40044
40141
  this._pendingFetch = Object(_runtime_fetch_jwks_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this._url, this._timeoutDuration, this._options)
40045
40142
  .then((json) => {
40046
- if (typeof json !== 'object' ||
40047
- !json ||
40048
- !Array.isArray(json.keys) ||
40049
- !json.keys.every(isJWKLike)) {
40050
- throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_2__["JWKSInvalid"]('JSON Web Key Set malformed');
40143
+ if (!Object(_local_js__WEBPACK_IMPORTED_MODULE_2__["isJWKSLike"])(json)) {
40144
+ throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JWKSInvalid"]('JSON Web Key Set malformed');
40051
40145
  }
40052
40146
  this._jwks = { keys: json.keys };
40053
40147
  this._cooldownStarted = Date.now();
@@ -41041,13 +41135,13 @@ __webpack_require__.r(__webpack_exports__);
41041
41135
 
41042
41136
 
41043
41137
  async function wrap(alg, key, cek, iv) {
41044
- const jweAlgorithm = alg.substr(0, 7);
41138
+ const jweAlgorithm = alg.slice(0, 7);
41045
41139
  iv || (iv = Object(_iv_js__WEBPACK_IMPORTED_MODULE_2__["default"])(jweAlgorithm));
41046
41140
  const { ciphertext: encryptedKey, tag } = await Object(_runtime_encrypt_js__WEBPACK_IMPORTED_MODULE_0__["default"])(jweAlgorithm, cek, key, iv, new Uint8Array(0));
41047
41141
  return { encryptedKey, iv: Object(_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_3__["encode"])(iv), tag: Object(_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_3__["encode"])(tag) };
41048
41142
  }
41049
41143
  async function unwrap(alg, key, encryptedKey, iv, tag) {
41050
- const jweAlgorithm = alg.substr(0, 7);
41144
+ const jweAlgorithm = alg.slice(0, 7);
41051
41145
  return Object(_runtime_decrypt_js__WEBPACK_IMPORTED_MODULE_1__["default"])(jweAlgorithm, key, encryptedKey, iv, tag, new Uint8Array(0));
41052
41146
  }
41053
41147
 
@@ -41291,7 +41385,7 @@ function isAlgorithm(algorithm, name) {
41291
41385
  return algorithm.name === name;
41292
41386
  }
41293
41387
  function getHashLength(hash) {
41294
- return parseInt(hash.name.substr(4), 10);
41388
+ return parseInt(hash.name.slice(4), 10);
41295
41389
  }
41296
41390
  function getNamedCurve(alg) {
41297
41391
  switch (alg) {
@@ -41328,7 +41422,7 @@ function checkSigCryptoKey(key, alg, ...usages) {
41328
41422
  case 'HS512': {
41329
41423
  if (!isAlgorithm(key.algorithm, 'HMAC'))
41330
41424
  throw unusable('HMAC');
41331
- const expected = parseInt(alg.substr(2), 10);
41425
+ const expected = parseInt(alg.slice(2), 10);
41332
41426
  const actual = getHashLength(key.algorithm.hash);
41333
41427
  if (actual !== expected)
41334
41428
  throw unusable(`SHA-${expected}`, 'algorithm.hash');
@@ -41339,7 +41433,7 @@ function checkSigCryptoKey(key, alg, ...usages) {
41339
41433
  case 'RS512': {
41340
41434
  if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5'))
41341
41435
  throw unusable('RSASSA-PKCS1-v1_5');
41342
- const expected = parseInt(alg.substr(2), 10);
41436
+ const expected = parseInt(alg.slice(2), 10);
41343
41437
  const actual = getHashLength(key.algorithm.hash);
41344
41438
  if (actual !== expected)
41345
41439
  throw unusable(`SHA-${expected}`, 'algorithm.hash');
@@ -41350,7 +41444,7 @@ function checkSigCryptoKey(key, alg, ...usages) {
41350
41444
  case 'PS512': {
41351
41445
  if (!isAlgorithm(key.algorithm, 'RSA-PSS'))
41352
41446
  throw unusable('RSA-PSS');
41353
- const expected = parseInt(alg.substr(2), 10);
41447
+ const expected = parseInt(alg.slice(2), 10);
41354
41448
  const actual = getHashLength(key.algorithm.hash);
41355
41449
  if (actual !== expected)
41356
41450
  throw unusable(`SHA-${expected}`, 'algorithm.hash');
@@ -41389,7 +41483,7 @@ function checkEncCryptoKey(key, alg, ...usages) {
41389
41483
  case 'A256GCM': {
41390
41484
  if (!isAlgorithm(key.algorithm, 'AES-GCM'))
41391
41485
  throw unusable('AES-GCM');
41392
- const expected = parseInt(alg.substr(1, 3), 10);
41486
+ const expected = parseInt(alg.slice(1, 4), 10);
41393
41487
  const actual = key.algorithm.length;
41394
41488
  if (actual !== expected)
41395
41489
  throw unusable(expected, 'algorithm.length');
@@ -41400,7 +41494,7 @@ function checkEncCryptoKey(key, alg, ...usages) {
41400
41494
  case 'A256KW': {
41401
41495
  if (!isAlgorithm(key.algorithm, 'AES-KW'))
41402
41496
  throw unusable('AES-KW');
41403
- const expected = parseInt(alg.substr(1, 3), 10);
41497
+ const expected = parseInt(alg.slice(1, 4), 10);
41404
41498
  const actual = key.algorithm.length;
41405
41499
  if (actual !== expected)
41406
41500
  throw unusable(expected, 'algorithm.length');
@@ -41422,7 +41516,7 @@ function checkEncCryptoKey(key, alg, ...usages) {
41422
41516
  case 'RSA-OAEP-512': {
41423
41517
  if (!isAlgorithm(key.algorithm, 'RSA-OAEP'))
41424
41518
  throw unusable('RSA-OAEP');
41425
- const expected = parseInt(alg.substr(9), 10) || 1;
41519
+ const expected = parseInt(alg.slice(9), 10) || 1;
41426
41520
  const actual = getHashLength(key.algorithm.hash);
41427
41521
  if (actual !== expected)
41428
41522
  throw unusable(`SHA-${expected}`, 'algorithm.hash');
@@ -41499,12 +41593,12 @@ async function decryptKeyManagement(alg, key, encryptedKey, joseHeader) {
41499
41593
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__["JWEInvalid"](`JOSE Header "apv" (Agreement PartyVInfo) invalid`);
41500
41594
  partyVInfo = Object(_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_4__["decode"])(joseHeader.apv);
41501
41595
  }
41502
- const sharedSecret = await _runtime_ecdhes_js__WEBPACK_IMPORTED_MODULE_1__["deriveKey"](epk, key, alg === 'ECDH-ES' ? joseHeader.enc : alg, alg === 'ECDH-ES' ? Object(_lib_cek_js__WEBPACK_IMPORTED_MODULE_6__["bitLength"])(joseHeader.enc) : parseInt(alg.substr(-5, 3), 10), partyUInfo, partyVInfo);
41596
+ const sharedSecret = await _runtime_ecdhes_js__WEBPACK_IMPORTED_MODULE_1__["deriveKey"](epk, key, alg === 'ECDH-ES' ? joseHeader.enc : alg, alg === 'ECDH-ES' ? Object(_lib_cek_js__WEBPACK_IMPORTED_MODULE_6__["bitLength"])(joseHeader.enc) : parseInt(alg.slice(-5, -2), 10), partyUInfo, partyVInfo);
41503
41597
  if (alg === 'ECDH-ES')
41504
41598
  return sharedSecret;
41505
41599
  if (encryptedKey === undefined)
41506
41600
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__["JWEInvalid"]('JWE Encrypted Key missing');
41507
- return Object(_runtime_aeskw_js__WEBPACK_IMPORTED_MODULE_0__["unwrap"])(alg.substr(-6), sharedSecret, encryptedKey);
41601
+ return Object(_runtime_aeskw_js__WEBPACK_IMPORTED_MODULE_0__["unwrap"])(alg.slice(-6), sharedSecret, encryptedKey);
41508
41602
  }
41509
41603
  case 'RSA1_5':
41510
41604
  case 'RSA-OAEP':
@@ -41604,10 +41698,12 @@ async function encryptKeyManagement(alg, enc, key, providedCek, providedParamete
41604
41698
  }
41605
41699
  const { apu, apv } = providedParameters;
41606
41700
  let { epk: ephemeralKey } = providedParameters;
41607
- ephemeralKey || (ephemeralKey = await _runtime_ecdhes_js__WEBPACK_IMPORTED_MODULE_1__["generateEpk"](key));
41701
+ ephemeralKey || (ephemeralKey = (await _runtime_ecdhes_js__WEBPACK_IMPORTED_MODULE_1__["generateEpk"](key)).privateKey);
41608
41702
  const { x, y, crv, kty } = await Object(_key_export_js__WEBPACK_IMPORTED_MODULE_7__["exportJWK"])(ephemeralKey);
41609
- const sharedSecret = await _runtime_ecdhes_js__WEBPACK_IMPORTED_MODULE_1__["deriveKey"](key, ephemeralKey, alg === 'ECDH-ES' ? enc : alg, alg === 'ECDH-ES' ? Object(_lib_cek_js__WEBPACK_IMPORTED_MODULE_5__["bitLength"])(enc) : parseInt(alg.substr(-5, 3), 10), apu, apv);
41610
- parameters = { epk: { x, y, crv, kty } };
41703
+ const sharedSecret = await _runtime_ecdhes_js__WEBPACK_IMPORTED_MODULE_1__["deriveKey"](key, ephemeralKey, alg === 'ECDH-ES' ? enc : alg, alg === 'ECDH-ES' ? Object(_lib_cek_js__WEBPACK_IMPORTED_MODULE_5__["bitLength"])(enc) : parseInt(alg.slice(-5, -2), 10), apu, apv);
41704
+ parameters = { epk: { x, crv, kty } };
41705
+ if (kty === 'EC')
41706
+ parameters.epk.y = y;
41611
41707
  if (apu)
41612
41708
  parameters.apu = Object(_runtime_base64url_js__WEBPACK_IMPORTED_MODULE_4__["encode"])(apu);
41613
41709
  if (apv)
@@ -41617,7 +41713,7 @@ async function encryptKeyManagement(alg, enc, key, providedCek, providedParamete
41617
41713
  break;
41618
41714
  }
41619
41715
  cek = providedCek || Object(_lib_cek_js__WEBPACK_IMPORTED_MODULE_5__["default"])(enc);
41620
- const kwAlg = alg.substr(-6);
41716
+ const kwAlg = alg.slice(-6);
41621
41717
  encryptedKey = await Object(_runtime_aeskw_js__WEBPACK_IMPORTED_MODULE_0__["wrap"])(kwAlg, sharedSecret, cek);
41622
41718
  break;
41623
41719
  }
@@ -42099,7 +42195,7 @@ __webpack_require__.r(__webpack_exports__);
42099
42195
 
42100
42196
 
42101
42197
  function checkKeySize(key, alg) {
42102
- if (key.algorithm.length !== parseInt(alg.substr(1, 3), 10)) {
42198
+ if (key.algorithm.length !== parseInt(alg.slice(1, 4), 10)) {
42103
42199
  throw new TypeError(`Invalid key size for alg: ${alg}`);
42104
42200
  }
42105
42201
  }
@@ -42174,29 +42270,30 @@ const toSPKI = (key) => {
42174
42270
  const toPKCS8 = (key) => {
42175
42271
  return genericExport('private', 'pkcs8', key);
42176
42272
  };
42273
+ const findOid = (keyData, oid, from = 0) => {
42274
+ if (from === 0) {
42275
+ oid.unshift(oid.length);
42276
+ oid.unshift(0x06);
42277
+ }
42278
+ let i = keyData.indexOf(oid[0], from);
42279
+ if (i === -1)
42280
+ return false;
42281
+ const sub = keyData.subarray(i, i + oid.length);
42282
+ if (sub.length !== oid.length)
42283
+ return false;
42284
+ return sub.every((value, index) => value === oid[index]) || findOid(keyData, oid, i + 1);
42285
+ };
42177
42286
  const getNamedCurve = (keyData) => {
42178
- const keyDataStr = keyData.toString();
42179
42287
  switch (true) {
42180
- case keyDataStr.includes(new Uint8Array([
42181
- 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
42182
- 0x3d, 0x03, 0x01, 0x07,
42183
- ]).toString()):
42288
+ case findOid(keyData, [0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07]):
42184
42289
  return 'P-256';
42185
- case keyDataStr.includes(new Uint8Array([
42186
- 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00,
42187
- 0x22,
42188
- ]).toString()):
42290
+ case findOid(keyData, [0x2b, 0x81, 0x04, 0x00, 0x22]):
42189
42291
  return 'P-384';
42190
- case keyDataStr.includes(new Uint8Array([
42191
- 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00,
42192
- 0x23,
42193
- ]).toString()):
42292
+ case findOid(keyData, [0x2b, 0x81, 0x04, 0x00, 0x23]):
42194
42293
  return 'P-521';
42195
- case (Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isCloudflareWorkers"])() || Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isNodeJs"])()) &&
42196
- keyDataStr.includes(new Uint8Array([0x06, 0x03, 0x2b, 0x65, 0x70]).toString()):
42294
+ case (Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isCloudflareWorkers"])() || Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isNodeJs"])()) && findOid(keyData, [0x2b, 0x65, 0x70]):
42197
42295
  return 'Ed25519';
42198
- case Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isNodeJs"])() &&
42199
- keyDataStr.includes(new Uint8Array([0x06, 0x03, 0x2b, 0x65, 0x71]).toString()):
42296
+ case Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isNodeJs"])() && findOid(keyData, [0x2b, 0x65, 0x71]):
42200
42297
  return 'Ed448';
42201
42298
  default:
42202
42299
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_5__["JOSENotSupported"]('Invalid or unsupported EC Key Curve or OKP Key Sub Type');
@@ -42214,13 +42311,13 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
42214
42311
  case 'PS256':
42215
42312
  case 'PS384':
42216
42313
  case 'PS512':
42217
- algorithm = { name: 'RSA-PSS', hash: `SHA-${alg.substr(-3)}` };
42314
+ algorithm = { name: 'RSA-PSS', hash: `SHA-${alg.slice(-3)}` };
42218
42315
  keyUsages = isPublic ? ['verify'] : ['sign'];
42219
42316
  break;
42220
42317
  case 'RS256':
42221
42318
  case 'RS384':
42222
42319
  case 'RS512':
42223
- algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${alg.substr(-3)}` };
42320
+ algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${alg.slice(-3)}` };
42224
42321
  keyUsages = isPublic ? ['verify'] : ['sign'];
42225
42322
  break;
42226
42323
  case 'RSA-OAEP':
@@ -42229,7 +42326,7 @@ const genericImport = async (replace, keyFormat, pem, alg, options) => {
42229
42326
  case 'RSA-OAEP-512':
42230
42327
  algorithm = {
42231
42328
  name: 'RSA-OAEP',
42232
- hash: `SHA-${parseInt(alg.substr(-3), 10) || 1}`,
42329
+ hash: `SHA-${parseInt(alg.slice(-3), 10) || 1}`,
42233
42330
  };
42234
42331
  keyUsages = isPublic ? ['encrypt', 'wrapKey'] : ['decrypt', 'unwrapKey'];
42235
42332
  break;
@@ -42416,7 +42513,7 @@ async function cbcDecrypt(enc, cek, ciphertext, iv, tag, aad) {
42416
42513
  if (!(cek instanceof Uint8Array)) {
42417
42514
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_7__["default"])(cek, 'Uint8Array'));
42418
42515
  }
42419
- const keySize = parseInt(enc.substr(1, 3), 10);
42516
+ const keySize = parseInt(enc.slice(1, 4), 10);
42420
42517
  const encKey = await _webcrypto_js__WEBPACK_IMPORTED_MODULE_5__["default"].subtle.importKey('raw', cek.subarray(keySize >> 3), 'AES-CBC', false, ['decrypt']);
42421
42518
  const macKey = await _webcrypto_js__WEBPACK_IMPORTED_MODULE_5__["default"].subtle.importKey('raw', cek.subarray(0, keySize >> 3), {
42422
42519
  hash: `SHA-${keySize << 1}`,
@@ -42475,13 +42572,13 @@ const decrypt = async (enc, cek, ciphertext, iv, tag, aad) => {
42475
42572
  case 'A192CBC-HS384':
42476
42573
  case 'A256CBC-HS512':
42477
42574
  if (cek instanceof Uint8Array)
42478
- Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.substr(-3), 10));
42575
+ Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.slice(-3), 10));
42479
42576
  return cbcDecrypt(enc, cek, ciphertext, iv, tag, aad);
42480
42577
  case 'A128GCM':
42481
42578
  case 'A192GCM':
42482
42579
  case 'A256GCM':
42483
42580
  if (cek instanceof Uint8Array)
42484
- Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.substr(1, 3), 10));
42581
+ Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.slice(1, 4), 10));
42485
42582
  return gcmDecrypt(enc, cek, ciphertext, iv, tag, aad);
42486
42583
  default:
42487
42584
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_4__["JOSENotSupported"]('Unsupported JWE Content Encryption Algorithm');
@@ -42504,7 +42601,7 @@ __webpack_require__.r(__webpack_exports__);
42504
42601
  /* harmony import */ var _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webcrypto.js */ "./node_modules/jose/dist/browser/runtime/webcrypto.js");
42505
42602
 
42506
42603
  const digest = async (algorithm, data) => {
42507
- const subtleDigest = `SHA-${algorithm.substr(-3)}`;
42604
+ const subtleDigest = `SHA-${algorithm.slice(-3)}`;
42508
42605
  return new Uint8Array(await _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.digest(subtleDigest, data));
42509
42606
  };
42510
42607
  /* harmony default export */ __webpack_exports__["default"] = (digest);
@@ -42536,7 +42633,7 @@ __webpack_require__.r(__webpack_exports__);
42536
42633
 
42537
42634
 
42538
42635
 
42539
- const deriveKey = async (publicKey, privateKey, algorithm, keyLength, apu = new Uint8Array(0), apv = new Uint8Array(0)) => {
42636
+ async function deriveKey(publicKey, privateKey, algorithm, keyLength, apu = new Uint8Array(0), apv = new Uint8Array(0)) {
42540
42637
  if (!Object(_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["isCryptoKey"])(publicKey)) {
42541
42638
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_4__["default"])(publicKey, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_5__["types"]));
42542
42639
  }
@@ -42552,22 +42649,21 @@ const deriveKey = async (publicKey, privateKey, algorithm, keyLength, apu = new
42552
42649
  const sharedSecret = new Uint8Array(await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.deriveBits({
42553
42650
  name: 'ECDH',
42554
42651
  public: publicKey,
42555
- }, privateKey, Math.ceil(parseInt(privateKey.algorithm.namedCurve.substr(-3), 10) / 8) <<
42556
- 3));
42652
+ }, privateKey, Math.ceil(parseInt(privateKey.algorithm.namedCurve.slice(-3), 10) / 8) << 3));
42557
42653
  return Object(_lib_buffer_utils_js__WEBPACK_IMPORTED_MODULE_0__["concatKdf"])(_digest_js__WEBPACK_IMPORTED_MODULE_3__["default"], sharedSecret, keyLength, value);
42558
- };
42559
- const generateEpk = async (key) => {
42654
+ }
42655
+ async function generateEpk(key) {
42560
42656
  if (!Object(_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["isCryptoKey"])(key)) {
42561
42657
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_4__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_5__["types"]));
42562
42658
  }
42563
- return (await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey({ name: 'ECDH', namedCurve: key.algorithm.namedCurve }, true, ['deriveBits'])).privateKey;
42564
- };
42565
- const ecdhAllowed = (key) => {
42659
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.generateKey(key.algorithm, true, ['deriveBits']);
42660
+ }
42661
+ function ecdhAllowed(key) {
42566
42662
  if (!Object(_webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["isCryptoKey"])(key)) {
42567
42663
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_4__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_5__["types"]));
42568
42664
  }
42569
42665
  return ['P-256', 'P-384', 'P-521'].includes(key.algorithm.namedCurve);
42570
- };
42666
+ }
42571
42667
 
42572
42668
 
42573
42669
  /***/ }),
@@ -42601,7 +42697,7 @@ async function cbcEncrypt(enc, plaintext, cek, iv, aad) {
42601
42697
  if (!(cek instanceof Uint8Array)) {
42602
42698
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_5__["default"])(cek, 'Uint8Array'));
42603
42699
  }
42604
- const keySize = parseInt(enc.substr(1, 3), 10);
42700
+ const keySize = parseInt(enc.slice(1, 4), 10);
42605
42701
  const encKey = await _webcrypto_js__WEBPACK_IMPORTED_MODULE_3__["default"].subtle.importKey('raw', cek.subarray(keySize >> 3), 'AES-CBC', false, ['encrypt']);
42606
42702
  const macKey = await _webcrypto_js__WEBPACK_IMPORTED_MODULE_3__["default"].subtle.importKey('raw', cek.subarray(0, keySize >> 3), {
42607
42703
  hash: `SHA-${keySize << 1}`,
@@ -42644,13 +42740,13 @@ const encrypt = async (enc, plaintext, cek, iv, aad) => {
42644
42740
  case 'A192CBC-HS384':
42645
42741
  case 'A256CBC-HS512':
42646
42742
  if (cek instanceof Uint8Array)
42647
- Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.substr(-3), 10));
42743
+ Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.slice(-3), 10));
42648
42744
  return cbcEncrypt(enc, plaintext, cek, iv, aad);
42649
42745
  case 'A128GCM':
42650
42746
  case 'A192GCM':
42651
42747
  case 'A256GCM':
42652
42748
  if (cek instanceof Uint8Array)
42653
- Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.substr(1, 3), 10));
42749
+ Object(_check_cek_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(cek, parseInt(enc.slice(1, 4), 10));
42654
42750
  return gcmEncrypt(enc, plaintext, cek, iv, aad);
42655
42751
  default:
42656
42752
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_6__["JOSENotSupported"]('Unsupported JWE Content Encryption Algorithm');
@@ -42773,19 +42869,19 @@ async function generateSecret(alg, options) {
42773
42869
  case 'HS256':
42774
42870
  case 'HS384':
42775
42871
  case 'HS512':
42776
- length = parseInt(alg.substr(-3), 10);
42872
+ length = parseInt(alg.slice(-3), 10);
42777
42873
  algorithm = { name: 'HMAC', hash: `SHA-${length}`, length };
42778
42874
  keyUsages = ['sign', 'verify'];
42779
42875
  break;
42780
42876
  case 'A128CBC-HS256':
42781
42877
  case 'A192CBC-HS384':
42782
42878
  case 'A256CBC-HS512':
42783
- length = parseInt(alg.substr(-3), 10);
42879
+ length = parseInt(alg.slice(-3), 10);
42784
42880
  return Object(_random_js__WEBPACK_IMPORTED_MODULE_3__["default"])(new Uint8Array(length >> 3));
42785
42881
  case 'A128KW':
42786
42882
  case 'A192KW':
42787
42883
  case 'A256KW':
42788
- length = parseInt(alg.substring(1, 4), 10);
42884
+ length = parseInt(alg.slice(1, 4), 10);
42789
42885
  algorithm = { name: 'AES-KW', length };
42790
42886
  keyUsages = ['wrapKey', 'unwrapKey'];
42791
42887
  break;
@@ -42795,7 +42891,7 @@ async function generateSecret(alg, options) {
42795
42891
  case 'A128GCM':
42796
42892
  case 'A192GCM':
42797
42893
  case 'A256GCM':
42798
- length = parseInt(alg.substring(1, 4), 10);
42894
+ length = parseInt(alg.slice(1, 4), 10);
42799
42895
  algorithm = { name: 'AES-GCM', length };
42800
42896
  keyUsages = ['encrypt', 'decrypt'];
42801
42897
  break;
@@ -42822,7 +42918,7 @@ async function generateKeyPair(alg, options) {
42822
42918
  case 'PS512':
42823
42919
  algorithm = {
42824
42920
  name: 'RSA-PSS',
42825
- hash: `SHA-${alg.substr(-3)}`,
42921
+ hash: `SHA-${alg.slice(-3)}`,
42826
42922
  publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
42827
42923
  modulusLength: getModulusLengthOption(options),
42828
42924
  };
@@ -42833,7 +42929,7 @@ async function generateKeyPair(alg, options) {
42833
42929
  case 'RS512':
42834
42930
  algorithm = {
42835
42931
  name: 'RSASSA-PKCS1-v1_5',
42836
- hash: `SHA-${alg.substr(-3)}`,
42932
+ hash: `SHA-${alg.slice(-3)}`,
42837
42933
  publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
42838
42934
  modulusLength: getModulusLengthOption(options),
42839
42935
  };
@@ -42845,7 +42941,7 @@ async function generateKeyPair(alg, options) {
42845
42941
  case 'RSA-OAEP-512':
42846
42942
  algorithm = {
42847
42943
  name: 'RSA-OAEP',
42848
- hash: `SHA-${parseInt(alg.substr(-3), 10) || 1}`,
42944
+ hash: `SHA-${parseInt(alg.slice(-3), 10) || 1}`,
42849
42945
  publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
42850
42946
  modulusLength: getModulusLengthOption(options),
42851
42947
  };
@@ -42921,7 +43017,7 @@ function getCryptoKey(alg, key, usage) {
42921
43017
  if (!alg.startsWith('HS')) {
42922
43018
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_3__["types"]));
42923
43019
  }
42924
- return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('raw', key, { hash: `SHA-${alg.substr(-3)}`, name: 'HMAC' }, false, [usage]);
43020
+ return _webcrypto_js__WEBPACK_IMPORTED_MODULE_0__["default"].subtle.importKey('raw', key, { hash: `SHA-${alg.slice(-3)}`, name: 'HMAC' }, false, [usage]);
42925
43021
  }
42926
43022
  throw new TypeError(Object(_lib_invalid_key_input_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, ..._is_key_like_js__WEBPACK_IMPORTED_MODULE_3__["types"], 'Uint8Array'));
42927
43023
  }
@@ -42975,7 +43071,7 @@ function subtleMapping(jwk) {
42975
43071
  case 'HS256':
42976
43072
  case 'HS384':
42977
43073
  case 'HS512':
42978
- algorithm = { name: 'HMAC', hash: `SHA-${jwk.alg.substr(-3)}` };
43074
+ algorithm = { name: 'HMAC', hash: `SHA-${jwk.alg.slice(-3)}` };
42979
43075
  keyUsages = ['sign', 'verify'];
42980
43076
  break;
42981
43077
  case 'A128CBC-HS256':
@@ -43013,13 +43109,13 @@ function subtleMapping(jwk) {
43013
43109
  case 'PS256':
43014
43110
  case 'PS384':
43015
43111
  case 'PS512':
43016
- algorithm = { name: 'RSA-PSS', hash: `SHA-${jwk.alg.substr(-3)}` };
43112
+ algorithm = { name: 'RSA-PSS', hash: `SHA-${jwk.alg.slice(-3)}` };
43017
43113
  keyUsages = jwk.d ? ['sign'] : ['verify'];
43018
43114
  break;
43019
43115
  case 'RS256':
43020
43116
  case 'RS384':
43021
43117
  case 'RS512':
43022
- algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${jwk.alg.substr(-3)}` };
43118
+ algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${jwk.alg.slice(-3)}` };
43023
43119
  keyUsages = jwk.d ? ['sign'] : ['verify'];
43024
43120
  break;
43025
43121
  case 'RSA-OAEP':
@@ -43028,7 +43124,7 @@ function subtleMapping(jwk) {
43028
43124
  case 'RSA-OAEP-512':
43029
43125
  algorithm = {
43030
43126
  name: 'RSA-OAEP',
43031
- hash: `SHA-${parseInt(jwk.alg.substr(-3), 10) || 1}`,
43127
+ hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`,
43032
43128
  };
43033
43129
  keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];
43034
43130
  break;
@@ -43185,9 +43281,9 @@ function getCryptoKey(key, alg) {
43185
43281
  async function deriveKey(p2s, alg, p2c, key) {
43186
43282
  Object(_lib_check_p2s_js__WEBPACK_IMPORTED_MODULE_4__["default"])(p2s);
43187
43283
  const salt = Object(_lib_buffer_utils_js__WEBPACK_IMPORTED_MODULE_1__["p2s"])(alg, p2s);
43188
- const keylen = parseInt(alg.substr(13, 3), 10);
43284
+ const keylen = parseInt(alg.slice(13, 16), 10);
43189
43285
  const subtleAlg = {
43190
- hash: `SHA-${alg.substr(8, 3)}`,
43286
+ hash: `SHA-${alg.slice(8, 11)}`,
43191
43287
  iterations: p2c,
43192
43288
  name: 'PBKDF2',
43193
43289
  salt,
@@ -43207,12 +43303,12 @@ async function deriveKey(p2s, alg, p2c, key) {
43207
43303
  }
43208
43304
  const encrypt = async (alg, key, cek, p2c = Math.floor(Math.random() * 2049) + 2048, p2s = Object(_random_js__WEBPACK_IMPORTED_MODULE_0__["default"])(new Uint8Array(16))) => {
43209
43305
  const derived = await deriveKey(p2s, alg, p2c, key);
43210
- const encryptedKey = await Object(_aeskw_js__WEBPACK_IMPORTED_MODULE_3__["wrap"])(alg.substr(-6), derived, cek);
43306
+ const encryptedKey = await Object(_aeskw_js__WEBPACK_IMPORTED_MODULE_3__["wrap"])(alg.slice(-6), derived, cek);
43211
43307
  return { encryptedKey, p2c, p2s: Object(_base64url_js__WEBPACK_IMPORTED_MODULE_2__["encode"])(p2s) };
43212
43308
  };
43213
43309
  const decrypt = async (alg, key, encryptedKey, p2c, p2s) => {
43214
43310
  const derived = await deriveKey(p2s, alg, p2c, key);
43215
- return Object(_aeskw_js__WEBPACK_IMPORTED_MODULE_3__["unwrap"])(alg.substr(-6), derived, encryptedKey);
43311
+ return Object(_aeskw_js__WEBPACK_IMPORTED_MODULE_3__["unwrap"])(alg.slice(-6), derived, encryptedKey);
43216
43312
  };
43217
43313
 
43218
43314
 
@@ -43313,7 +43409,7 @@ __webpack_require__.r(__webpack_exports__);
43313
43409
  const sign = async (alg, key, data) => {
43314
43410
  const cryptoKey = await Object(_get_sign_verify_key_js__WEBPACK_IMPORTED_MODULE_3__["default"])(alg, key, 'sign');
43315
43411
  Object(_check_key_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(alg, cryptoKey);
43316
- const signature = await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.sign(Object(_subtle_dsa_js__WEBPACK_IMPORTED_MODULE_0__["default"])(alg, cryptoKey.algorithm.namedCurve), cryptoKey, data);
43412
+ const signature = await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.sign(Object(_subtle_dsa_js__WEBPACK_IMPORTED_MODULE_0__["default"])(alg, cryptoKey.algorithm), cryptoKey, data);
43317
43413
  return new Uint8Array(signature);
43318
43414
  };
43319
43415
  /* harmony default export */ __webpack_exports__["default"] = (sign);
@@ -43335,26 +43431,27 @@ __webpack_require__.r(__webpack_exports__);
43335
43431
  /* harmony import */ var _util_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/errors.js */ "./node_modules/jose/dist/browser/util/errors.js");
43336
43432
 
43337
43433
 
43338
- function subtleDsa(alg, namedCurve) {
43339
- const length = parseInt(alg.substr(-3), 10);
43434
+ function subtleDsa(alg, algorithm) {
43435
+ const hash = `SHA-${alg.slice(-3)}`;
43340
43436
  switch (alg) {
43341
43437
  case 'HS256':
43342
43438
  case 'HS384':
43343
43439
  case 'HS512':
43344
- return { hash: `SHA-${length}`, name: 'HMAC' };
43440
+ return { hash, name: 'HMAC' };
43345
43441
  case 'PS256':
43346
43442
  case 'PS384':
43347
43443
  case 'PS512':
43348
- return { hash: `SHA-${length}`, name: 'RSA-PSS', saltLength: length >> 3 };
43444
+ return { hash, name: 'RSA-PSS', saltLength: alg.slice(-3) >> 3 };
43349
43445
  case 'RS256':
43350
43446
  case 'RS384':
43351
43447
  case 'RS512':
43352
- return { hash: `SHA-${length}`, name: 'RSASSA-PKCS1-v1_5' };
43448
+ return { hash, name: 'RSASSA-PKCS1-v1_5' };
43353
43449
  case 'ES256':
43354
43450
  case 'ES384':
43355
43451
  case 'ES512':
43356
- return { hash: `SHA-${length}`, name: 'ECDSA', namedCurve };
43452
+ return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };
43357
43453
  case (Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isCloudflareWorkers"])() || Object(_env_js__WEBPACK_IMPORTED_MODULE_0__["isNodeJs"])()) && 'EdDSA':
43454
+ const { namedCurve } = algorithm;
43358
43455
  return { name: namedCurve, namedCurve };
43359
43456
  default:
43360
43457
  throw new _util_errors_js__WEBPACK_IMPORTED_MODULE_1__["JOSENotSupported"](`alg ${alg} is not supported either by JOSE or your javascript runtime`);
@@ -43443,7 +43540,7 @@ __webpack_require__.r(__webpack_exports__);
43443
43540
  const verify = async (alg, key, signature, data) => {
43444
43541
  const cryptoKey = await Object(_get_sign_verify_key_js__WEBPACK_IMPORTED_MODULE_3__["default"])(alg, key, 'verify');
43445
43542
  Object(_check_key_length_js__WEBPACK_IMPORTED_MODULE_2__["default"])(alg, cryptoKey);
43446
- const algorithm = Object(_subtle_dsa_js__WEBPACK_IMPORTED_MODULE_0__["default"])(alg, cryptoKey.algorithm.namedCurve);
43543
+ const algorithm = Object(_subtle_dsa_js__WEBPACK_IMPORTED_MODULE_0__["default"])(alg, cryptoKey.algorithm);
43447
43544
  try {
43448
43545
  return await _webcrypto_js__WEBPACK_IMPORTED_MODULE_1__["default"].subtle.verify(algorithm, cryptoKey, signature, data);
43449
43546
  }
@@ -60258,7 +60355,7 @@ function escapeRegex(regex) {
60258
60355
  /*!**************************************!*\
60259
60356
  !*** ./node_modules/n3/src/index.js ***!
60260
60357
  \**************************************/
60261
- /*! exports provided: Lexer, Parser, Writer, Store, StreamParser, StreamWriter, Util, DataFactory, Term, NamedNode, Literal, BlankNode, Variable, DefaultGraph, Quad, Triple, termFromId, termToId */
60358
+ /*! exports provided: Lexer, Parser, Writer, Store, StreamParser, StreamWriter, Util, DataFactory, Term, NamedNode, Literal, BlankNode, Variable, DefaultGraph, Quad, Triple, termFromId, termToId, default */
60262
60359
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
60263
60360
 
60264
60361
  "use strict";
@@ -60316,7 +60413,33 @@ __webpack_require__.r(__webpack_exports__);
60316
60413
 
60317
60414
 
60318
60415
 
60416
+ // Named exports
60417
+
60319
60418
 
60419
+ // Export all named exports as a default object for backward compatibility
60420
+ /* harmony default export */ __webpack_exports__["default"] = ({
60421
+ Lexer: _N3Lexer__WEBPACK_IMPORTED_MODULE_0__["default"],
60422
+ Parser: _N3Parser__WEBPACK_IMPORTED_MODULE_1__["default"],
60423
+ Writer: _N3Writer__WEBPACK_IMPORTED_MODULE_2__["default"],
60424
+ Store: _N3Store__WEBPACK_IMPORTED_MODULE_3__["default"],
60425
+ StreamParser: _N3StreamParser__WEBPACK_IMPORTED_MODULE_4__["default"],
60426
+ StreamWriter: _N3StreamWriter__WEBPACK_IMPORTED_MODULE_5__["default"],
60427
+ Util: _N3Util__WEBPACK_IMPORTED_MODULE_6__,
60428
+
60429
+ DataFactory: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["default"],
60430
+
60431
+ Term: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["Term"],
60432
+ NamedNode: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["NamedNode"],
60433
+ Literal: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["Literal"],
60434
+ BlankNode: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["BlankNode"],
60435
+ Variable: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["Variable"],
60436
+ DefaultGraph: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["DefaultGraph"],
60437
+ Quad: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["Quad"],
60438
+ Triple: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["Triple"],
60439
+
60440
+ termFromId: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["termFromId"],
60441
+ termToId: _N3DataFactory__WEBPACK_IMPORTED_MODULE_7__["termToId"],
60442
+ });
60320
60443
 
60321
60444
 
60322
60445
  /***/ }),
@@ -60635,6 +60758,313 @@ var substr = 'ab'.substr(-1) === 'b'
60635
60758
 
60636
60759
  /***/ }),
60637
60760
 
60761
+ /***/ "./node_modules/node-libs-browser/node_modules/string_decoder/lib/string_decoder.js":
60762
+ /*!******************************************************************************************!*\
60763
+ !*** ./node_modules/node-libs-browser/node_modules/string_decoder/lib/string_decoder.js ***!
60764
+ \******************************************************************************************/
60765
+ /*! no static exports found */
60766
+ /***/ (function(module, exports, __webpack_require__) {
60767
+
60768
+ "use strict";
60769
+ // Copyright Joyent, Inc. and other Node contributors.
60770
+ //
60771
+ // Permission is hereby granted, free of charge, to any person obtaining a
60772
+ // copy of this software and associated documentation files (the
60773
+ // "Software"), to deal in the Software without restriction, including
60774
+ // without limitation the rights to use, copy, modify, merge, publish,
60775
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
60776
+ // persons to whom the Software is furnished to do so, subject to the
60777
+ // following conditions:
60778
+ //
60779
+ // The above copyright notice and this permission notice shall be included
60780
+ // in all copies or substantial portions of the Software.
60781
+ //
60782
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
60783
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
60784
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
60785
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
60786
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
60787
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
60788
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
60789
+
60790
+
60791
+
60792
+ /*<replacement>*/
60793
+
60794
+ var Buffer = __webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer;
60795
+ /*</replacement>*/
60796
+
60797
+ var isEncoding = Buffer.isEncoding || function (encoding) {
60798
+ encoding = '' + encoding;
60799
+ switch (encoding && encoding.toLowerCase()) {
60800
+ case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':
60801
+ return true;
60802
+ default:
60803
+ return false;
60804
+ }
60805
+ };
60806
+
60807
+ function _normalizeEncoding(enc) {
60808
+ if (!enc) return 'utf8';
60809
+ var retried;
60810
+ while (true) {
60811
+ switch (enc) {
60812
+ case 'utf8':
60813
+ case 'utf-8':
60814
+ return 'utf8';
60815
+ case 'ucs2':
60816
+ case 'ucs-2':
60817
+ case 'utf16le':
60818
+ case 'utf-16le':
60819
+ return 'utf16le';
60820
+ case 'latin1':
60821
+ case 'binary':
60822
+ return 'latin1';
60823
+ case 'base64':
60824
+ case 'ascii':
60825
+ case 'hex':
60826
+ return enc;
60827
+ default:
60828
+ if (retried) return; // undefined
60829
+ enc = ('' + enc).toLowerCase();
60830
+ retried = true;
60831
+ }
60832
+ }
60833
+ };
60834
+
60835
+ // Do not cache `Buffer.isEncoding` when checking encoding names as some
60836
+ // modules monkey-patch it to support additional encodings
60837
+ function normalizeEncoding(enc) {
60838
+ var nenc = _normalizeEncoding(enc);
60839
+ if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);
60840
+ return nenc || enc;
60841
+ }
60842
+
60843
+ // StringDecoder provides an interface for efficiently splitting a series of
60844
+ // buffers into a series of JS strings without breaking apart multi-byte
60845
+ // characters.
60846
+ exports.StringDecoder = StringDecoder;
60847
+ function StringDecoder(encoding) {
60848
+ this.encoding = normalizeEncoding(encoding);
60849
+ var nb;
60850
+ switch (this.encoding) {
60851
+ case 'utf16le':
60852
+ this.text = utf16Text;
60853
+ this.end = utf16End;
60854
+ nb = 4;
60855
+ break;
60856
+ case 'utf8':
60857
+ this.fillLast = utf8FillLast;
60858
+ nb = 4;
60859
+ break;
60860
+ case 'base64':
60861
+ this.text = base64Text;
60862
+ this.end = base64End;
60863
+ nb = 3;
60864
+ break;
60865
+ default:
60866
+ this.write = simpleWrite;
60867
+ this.end = simpleEnd;
60868
+ return;
60869
+ }
60870
+ this.lastNeed = 0;
60871
+ this.lastTotal = 0;
60872
+ this.lastChar = Buffer.allocUnsafe(nb);
60873
+ }
60874
+
60875
+ StringDecoder.prototype.write = function (buf) {
60876
+ if (buf.length === 0) return '';
60877
+ var r;
60878
+ var i;
60879
+ if (this.lastNeed) {
60880
+ r = this.fillLast(buf);
60881
+ if (r === undefined) return '';
60882
+ i = this.lastNeed;
60883
+ this.lastNeed = 0;
60884
+ } else {
60885
+ i = 0;
60886
+ }
60887
+ if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
60888
+ return r || '';
60889
+ };
60890
+
60891
+ StringDecoder.prototype.end = utf8End;
60892
+
60893
+ // Returns only complete characters in a Buffer
60894
+ StringDecoder.prototype.text = utf8Text;
60895
+
60896
+ // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
60897
+ StringDecoder.prototype.fillLast = function (buf) {
60898
+ if (this.lastNeed <= buf.length) {
60899
+ buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
60900
+ return this.lastChar.toString(this.encoding, 0, this.lastTotal);
60901
+ }
60902
+ buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
60903
+ this.lastNeed -= buf.length;
60904
+ };
60905
+
60906
+ // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
60907
+ // continuation byte. If an invalid byte is detected, -2 is returned.
60908
+ function utf8CheckByte(byte) {
60909
+ if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;
60910
+ return byte >> 6 === 0x02 ? -1 : -2;
60911
+ }
60912
+
60913
+ // Checks at most 3 bytes at the end of a Buffer in order to detect an
60914
+ // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
60915
+ // needed to complete the UTF-8 character (if applicable) are returned.
60916
+ function utf8CheckIncomplete(self, buf, i) {
60917
+ var j = buf.length - 1;
60918
+ if (j < i) return 0;
60919
+ var nb = utf8CheckByte(buf[j]);
60920
+ if (nb >= 0) {
60921
+ if (nb > 0) self.lastNeed = nb - 1;
60922
+ return nb;
60923
+ }
60924
+ if (--j < i || nb === -2) return 0;
60925
+ nb = utf8CheckByte(buf[j]);
60926
+ if (nb >= 0) {
60927
+ if (nb > 0) self.lastNeed = nb - 2;
60928
+ return nb;
60929
+ }
60930
+ if (--j < i || nb === -2) return 0;
60931
+ nb = utf8CheckByte(buf[j]);
60932
+ if (nb >= 0) {
60933
+ if (nb > 0) {
60934
+ if (nb === 2) nb = 0;else self.lastNeed = nb - 3;
60935
+ }
60936
+ return nb;
60937
+ }
60938
+ return 0;
60939
+ }
60940
+
60941
+ // Validates as many continuation bytes for a multi-byte UTF-8 character as
60942
+ // needed or are available. If we see a non-continuation byte where we expect
60943
+ // one, we "replace" the validated continuation bytes we've seen so far with
60944
+ // a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding
60945
+ // behavior. The continuation byte check is included three times in the case
60946
+ // where all of the continuation bytes for a character exist in the same buffer.
60947
+ // It is also done this way as a slight performance increase instead of using a
60948
+ // loop.
60949
+ function utf8CheckExtraBytes(self, buf, p) {
60950
+ if ((buf[0] & 0xC0) !== 0x80) {
60951
+ self.lastNeed = 0;
60952
+ return '\ufffd';
60953
+ }
60954
+ if (self.lastNeed > 1 && buf.length > 1) {
60955
+ if ((buf[1] & 0xC0) !== 0x80) {
60956
+ self.lastNeed = 1;
60957
+ return '\ufffd';
60958
+ }
60959
+ if (self.lastNeed > 2 && buf.length > 2) {
60960
+ if ((buf[2] & 0xC0) !== 0x80) {
60961
+ self.lastNeed = 2;
60962
+ return '\ufffd';
60963
+ }
60964
+ }
60965
+ }
60966
+ }
60967
+
60968
+ // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
60969
+ function utf8FillLast(buf) {
60970
+ var p = this.lastTotal - this.lastNeed;
60971
+ var r = utf8CheckExtraBytes(this, buf, p);
60972
+ if (r !== undefined) return r;
60973
+ if (this.lastNeed <= buf.length) {
60974
+ buf.copy(this.lastChar, p, 0, this.lastNeed);
60975
+ return this.lastChar.toString(this.encoding, 0, this.lastTotal);
60976
+ }
60977
+ buf.copy(this.lastChar, p, 0, buf.length);
60978
+ this.lastNeed -= buf.length;
60979
+ }
60980
+
60981
+ // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
60982
+ // partial character, the character's bytes are buffered until the required
60983
+ // number of bytes are available.
60984
+ function utf8Text(buf, i) {
60985
+ var total = utf8CheckIncomplete(this, buf, i);
60986
+ if (!this.lastNeed) return buf.toString('utf8', i);
60987
+ this.lastTotal = total;
60988
+ var end = buf.length - (total - this.lastNeed);
60989
+ buf.copy(this.lastChar, 0, end);
60990
+ return buf.toString('utf8', i, end);
60991
+ }
60992
+
60993
+ // For UTF-8, a replacement character is added when ending on a partial
60994
+ // character.
60995
+ function utf8End(buf) {
60996
+ var r = buf && buf.length ? this.write(buf) : '';
60997
+ if (this.lastNeed) return r + '\ufffd';
60998
+ return r;
60999
+ }
61000
+
61001
+ // UTF-16LE typically needs two bytes per character, but even if we have an even
61002
+ // number of bytes available, we need to check if we end on a leading/high
61003
+ // surrogate. In that case, we need to wait for the next two bytes in order to
61004
+ // decode the last character properly.
61005
+ function utf16Text(buf, i) {
61006
+ if ((buf.length - i) % 2 === 0) {
61007
+ var r = buf.toString('utf16le', i);
61008
+ if (r) {
61009
+ var c = r.charCodeAt(r.length - 1);
61010
+ if (c >= 0xD800 && c <= 0xDBFF) {
61011
+ this.lastNeed = 2;
61012
+ this.lastTotal = 4;
61013
+ this.lastChar[0] = buf[buf.length - 2];
61014
+ this.lastChar[1] = buf[buf.length - 1];
61015
+ return r.slice(0, -1);
61016
+ }
61017
+ }
61018
+ return r;
61019
+ }
61020
+ this.lastNeed = 1;
61021
+ this.lastTotal = 2;
61022
+ this.lastChar[0] = buf[buf.length - 1];
61023
+ return buf.toString('utf16le', i, buf.length - 1);
61024
+ }
61025
+
61026
+ // For UTF-16LE we do not explicitly append special replacement characters if we
61027
+ // end on a partial character, we simply let v8 handle that.
61028
+ function utf16End(buf) {
61029
+ var r = buf && buf.length ? this.write(buf) : '';
61030
+ if (this.lastNeed) {
61031
+ var end = this.lastTotal - this.lastNeed;
61032
+ return r + this.lastChar.toString('utf16le', 0, end);
61033
+ }
61034
+ return r;
61035
+ }
61036
+
61037
+ function base64Text(buf, i) {
61038
+ var n = (buf.length - i) % 3;
61039
+ if (n === 0) return buf.toString('base64', i);
61040
+ this.lastNeed = 3 - n;
61041
+ this.lastTotal = 3;
61042
+ if (n === 1) {
61043
+ this.lastChar[0] = buf[buf.length - 1];
61044
+ } else {
61045
+ this.lastChar[0] = buf[buf.length - 2];
61046
+ this.lastChar[1] = buf[buf.length - 1];
61047
+ }
61048
+ return buf.toString('base64', i, buf.length - n);
61049
+ }
61050
+
61051
+ function base64End(buf) {
61052
+ var r = buf && buf.length ? this.write(buf) : '';
61053
+ if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);
61054
+ return r;
61055
+ }
61056
+
61057
+ // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
61058
+ function simpleWrite(buf) {
61059
+ return buf.toString(this.encoding);
61060
+ }
61061
+
61062
+ function simpleEnd(buf) {
61063
+ return buf && buf.length ? this.write(buf) : '';
61064
+ }
61065
+
61066
+ /***/ }),
61067
+
60638
61068
  /***/ "./node_modules/process/browser.js":
60639
61069
  /*!*****************************************!*\
60640
61070
  !*** ./node_modules/process/browser.js ***!
@@ -79702,7 +80132,7 @@ function ReadableState(options, stream, isDuplex) {
79702
80132
  this.encoding = null;
79703
80133
 
79704
80134
  if (options.encoding) {
79705
- if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ "./node_modules/string_decoder/lib/string_decoder.js").StringDecoder;
80135
+ if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ "./node_modules/node-libs-browser/node_modules/string_decoder/lib/string_decoder.js").StringDecoder;
79706
80136
  this.decoder = new StringDecoder(options.encoding);
79707
80137
  this.encoding = options.encoding;
79708
80138
  }
@@ -79864,7 +80294,7 @@ Readable.prototype.isPaused = function () {
79864
80294
 
79865
80295
 
79866
80296
  Readable.prototype.setEncoding = function (enc) {
79867
- if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ "./node_modules/string_decoder/lib/string_decoder.js").StringDecoder;
80297
+ if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ "./node_modules/node-libs-browser/node_modules/string_decoder/lib/string_decoder.js").StringDecoder;
79868
80298
  var decoder = new StringDecoder(enc);
79869
80299
  this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8
79870
80300
 
@@ -83225,7 +83655,6 @@ try {
83225
83655
  /*! no static exports found */
83226
83656
  /***/ (function(module, exports, __webpack_require__) {
83227
83657
 
83228
- /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
83229
83658
  /* eslint-disable node/no-deprecated-api */
83230
83659
  var buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")
83231
83660
  var Buffer = buffer.Buffer
@@ -83248,8 +83677,6 @@ function SafeBuffer (arg, encodingOrOffset, length) {
83248
83677
  return Buffer(arg, encodingOrOffset, length)
83249
83678
  }
83250
83679
 
83251
- SafeBuffer.prototype = Object.create(Buffer.prototype)
83252
-
83253
83680
  // Copy static methods from Buffer
83254
83681
  copyProps(Buffer, SafeBuffer)
83255
83682
 
@@ -83733,9 +84160,6 @@ exports.SolidAuthnLogic = void 0;
83733
84160
  var rdflib_1 = __webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js");
83734
84161
  var authUtil_1 = __webpack_require__(/*! ./authUtil */ "./node_modules/solid-logic/lib/authn/authUtil.js");
83735
84162
  var debug = __importStar(__webpack_require__(/*! ../util/debug */ "./node_modules/solid-logic/lib/util/debug.js"));
83736
- /**
83737
- * Implements AuthnLogic relying on solid-auth-client
83738
- */
83739
84163
  var SolidAuthnLogic = /** @class */ (function () {
83740
84164
  function SolidAuthnLogic(solidAuthSession) {
83741
84165
  this.session = solidAuthSession;
@@ -84548,12 +84972,8 @@ var SolidLogic = /** @class */ (function () {
84548
84972
  preferencesFile: {},
84549
84973
  };
84550
84974
  this.fetcher = fetcher;
84551
- // if (authSession) {
84552
84975
  this.authn = new SolidAuthnLogic_1.SolidAuthnLogic(session);
84553
84976
  debug.log('SolidAuthnLogic initialized');
84554
- /* } else {
84555
- this.authn = new NoAuthnLogic();
84556
- }*/
84557
84977
  this.profile = new ProfileLogic_1.ProfileLogic(this.store, ns, this.authn);
84558
84978
  this.chat = new ChatLogic_1.ChatLogic(this.store, ns, this.profile);
84559
84979
  this.util = new UtilityLogic_1.UtilityLogic(this.store, ns, this.fetcher);
@@ -85719,313 +86139,6 @@ function vocab (rdf = { namedNode: u => u }) {
85719
86139
  module.exports = vocab
85720
86140
 
85721
86141
 
85722
- /***/ }),
85723
-
85724
- /***/ "./node_modules/string_decoder/lib/string_decoder.js":
85725
- /*!***********************************************************!*\
85726
- !*** ./node_modules/string_decoder/lib/string_decoder.js ***!
85727
- \***********************************************************/
85728
- /*! no static exports found */
85729
- /***/ (function(module, exports, __webpack_require__) {
85730
-
85731
- "use strict";
85732
- // Copyright Joyent, Inc. and other Node contributors.
85733
- //
85734
- // Permission is hereby granted, free of charge, to any person obtaining a
85735
- // copy of this software and associated documentation files (the
85736
- // "Software"), to deal in the Software without restriction, including
85737
- // without limitation the rights to use, copy, modify, merge, publish,
85738
- // distribute, sublicense, and/or sell copies of the Software, and to permit
85739
- // persons to whom the Software is furnished to do so, subject to the
85740
- // following conditions:
85741
- //
85742
- // The above copyright notice and this permission notice shall be included
85743
- // in all copies or substantial portions of the Software.
85744
- //
85745
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
85746
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
85747
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
85748
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
85749
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
85750
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
85751
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
85752
-
85753
-
85754
-
85755
- /*<replacement>*/
85756
-
85757
- var Buffer = __webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer;
85758
- /*</replacement>*/
85759
-
85760
- var isEncoding = Buffer.isEncoding || function (encoding) {
85761
- encoding = '' + encoding;
85762
- switch (encoding && encoding.toLowerCase()) {
85763
- case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':
85764
- return true;
85765
- default:
85766
- return false;
85767
- }
85768
- };
85769
-
85770
- function _normalizeEncoding(enc) {
85771
- if (!enc) return 'utf8';
85772
- var retried;
85773
- while (true) {
85774
- switch (enc) {
85775
- case 'utf8':
85776
- case 'utf-8':
85777
- return 'utf8';
85778
- case 'ucs2':
85779
- case 'ucs-2':
85780
- case 'utf16le':
85781
- case 'utf-16le':
85782
- return 'utf16le';
85783
- case 'latin1':
85784
- case 'binary':
85785
- return 'latin1';
85786
- case 'base64':
85787
- case 'ascii':
85788
- case 'hex':
85789
- return enc;
85790
- default:
85791
- if (retried) return; // undefined
85792
- enc = ('' + enc).toLowerCase();
85793
- retried = true;
85794
- }
85795
- }
85796
- };
85797
-
85798
- // Do not cache `Buffer.isEncoding` when checking encoding names as some
85799
- // modules monkey-patch it to support additional encodings
85800
- function normalizeEncoding(enc) {
85801
- var nenc = _normalizeEncoding(enc);
85802
- if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);
85803
- return nenc || enc;
85804
- }
85805
-
85806
- // StringDecoder provides an interface for efficiently splitting a series of
85807
- // buffers into a series of JS strings without breaking apart multi-byte
85808
- // characters.
85809
- exports.StringDecoder = StringDecoder;
85810
- function StringDecoder(encoding) {
85811
- this.encoding = normalizeEncoding(encoding);
85812
- var nb;
85813
- switch (this.encoding) {
85814
- case 'utf16le':
85815
- this.text = utf16Text;
85816
- this.end = utf16End;
85817
- nb = 4;
85818
- break;
85819
- case 'utf8':
85820
- this.fillLast = utf8FillLast;
85821
- nb = 4;
85822
- break;
85823
- case 'base64':
85824
- this.text = base64Text;
85825
- this.end = base64End;
85826
- nb = 3;
85827
- break;
85828
- default:
85829
- this.write = simpleWrite;
85830
- this.end = simpleEnd;
85831
- return;
85832
- }
85833
- this.lastNeed = 0;
85834
- this.lastTotal = 0;
85835
- this.lastChar = Buffer.allocUnsafe(nb);
85836
- }
85837
-
85838
- StringDecoder.prototype.write = function (buf) {
85839
- if (buf.length === 0) return '';
85840
- var r;
85841
- var i;
85842
- if (this.lastNeed) {
85843
- r = this.fillLast(buf);
85844
- if (r === undefined) return '';
85845
- i = this.lastNeed;
85846
- this.lastNeed = 0;
85847
- } else {
85848
- i = 0;
85849
- }
85850
- if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
85851
- return r || '';
85852
- };
85853
-
85854
- StringDecoder.prototype.end = utf8End;
85855
-
85856
- // Returns only complete characters in a Buffer
85857
- StringDecoder.prototype.text = utf8Text;
85858
-
85859
- // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
85860
- StringDecoder.prototype.fillLast = function (buf) {
85861
- if (this.lastNeed <= buf.length) {
85862
- buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
85863
- return this.lastChar.toString(this.encoding, 0, this.lastTotal);
85864
- }
85865
- buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
85866
- this.lastNeed -= buf.length;
85867
- };
85868
-
85869
- // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
85870
- // continuation byte. If an invalid byte is detected, -2 is returned.
85871
- function utf8CheckByte(byte) {
85872
- if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;
85873
- return byte >> 6 === 0x02 ? -1 : -2;
85874
- }
85875
-
85876
- // Checks at most 3 bytes at the end of a Buffer in order to detect an
85877
- // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
85878
- // needed to complete the UTF-8 character (if applicable) are returned.
85879
- function utf8CheckIncomplete(self, buf, i) {
85880
- var j = buf.length - 1;
85881
- if (j < i) return 0;
85882
- var nb = utf8CheckByte(buf[j]);
85883
- if (nb >= 0) {
85884
- if (nb > 0) self.lastNeed = nb - 1;
85885
- return nb;
85886
- }
85887
- if (--j < i || nb === -2) return 0;
85888
- nb = utf8CheckByte(buf[j]);
85889
- if (nb >= 0) {
85890
- if (nb > 0) self.lastNeed = nb - 2;
85891
- return nb;
85892
- }
85893
- if (--j < i || nb === -2) return 0;
85894
- nb = utf8CheckByte(buf[j]);
85895
- if (nb >= 0) {
85896
- if (nb > 0) {
85897
- if (nb === 2) nb = 0;else self.lastNeed = nb - 3;
85898
- }
85899
- return nb;
85900
- }
85901
- return 0;
85902
- }
85903
-
85904
- // Validates as many continuation bytes for a multi-byte UTF-8 character as
85905
- // needed or are available. If we see a non-continuation byte where we expect
85906
- // one, we "replace" the validated continuation bytes we've seen so far with
85907
- // a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding
85908
- // behavior. The continuation byte check is included three times in the case
85909
- // where all of the continuation bytes for a character exist in the same buffer.
85910
- // It is also done this way as a slight performance increase instead of using a
85911
- // loop.
85912
- function utf8CheckExtraBytes(self, buf, p) {
85913
- if ((buf[0] & 0xC0) !== 0x80) {
85914
- self.lastNeed = 0;
85915
- return '\ufffd';
85916
- }
85917
- if (self.lastNeed > 1 && buf.length > 1) {
85918
- if ((buf[1] & 0xC0) !== 0x80) {
85919
- self.lastNeed = 1;
85920
- return '\ufffd';
85921
- }
85922
- if (self.lastNeed > 2 && buf.length > 2) {
85923
- if ((buf[2] & 0xC0) !== 0x80) {
85924
- self.lastNeed = 2;
85925
- return '\ufffd';
85926
- }
85927
- }
85928
- }
85929
- }
85930
-
85931
- // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
85932
- function utf8FillLast(buf) {
85933
- var p = this.lastTotal - this.lastNeed;
85934
- var r = utf8CheckExtraBytes(this, buf, p);
85935
- if (r !== undefined) return r;
85936
- if (this.lastNeed <= buf.length) {
85937
- buf.copy(this.lastChar, p, 0, this.lastNeed);
85938
- return this.lastChar.toString(this.encoding, 0, this.lastTotal);
85939
- }
85940
- buf.copy(this.lastChar, p, 0, buf.length);
85941
- this.lastNeed -= buf.length;
85942
- }
85943
-
85944
- // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
85945
- // partial character, the character's bytes are buffered until the required
85946
- // number of bytes are available.
85947
- function utf8Text(buf, i) {
85948
- var total = utf8CheckIncomplete(this, buf, i);
85949
- if (!this.lastNeed) return buf.toString('utf8', i);
85950
- this.lastTotal = total;
85951
- var end = buf.length - (total - this.lastNeed);
85952
- buf.copy(this.lastChar, 0, end);
85953
- return buf.toString('utf8', i, end);
85954
- }
85955
-
85956
- // For UTF-8, a replacement character is added when ending on a partial
85957
- // character.
85958
- function utf8End(buf) {
85959
- var r = buf && buf.length ? this.write(buf) : '';
85960
- if (this.lastNeed) return r + '\ufffd';
85961
- return r;
85962
- }
85963
-
85964
- // UTF-16LE typically needs two bytes per character, but even if we have an even
85965
- // number of bytes available, we need to check if we end on a leading/high
85966
- // surrogate. In that case, we need to wait for the next two bytes in order to
85967
- // decode the last character properly.
85968
- function utf16Text(buf, i) {
85969
- if ((buf.length - i) % 2 === 0) {
85970
- var r = buf.toString('utf16le', i);
85971
- if (r) {
85972
- var c = r.charCodeAt(r.length - 1);
85973
- if (c >= 0xD800 && c <= 0xDBFF) {
85974
- this.lastNeed = 2;
85975
- this.lastTotal = 4;
85976
- this.lastChar[0] = buf[buf.length - 2];
85977
- this.lastChar[1] = buf[buf.length - 1];
85978
- return r.slice(0, -1);
85979
- }
85980
- }
85981
- return r;
85982
- }
85983
- this.lastNeed = 1;
85984
- this.lastTotal = 2;
85985
- this.lastChar[0] = buf[buf.length - 1];
85986
- return buf.toString('utf16le', i, buf.length - 1);
85987
- }
85988
-
85989
- // For UTF-16LE we do not explicitly append special replacement characters if we
85990
- // end on a partial character, we simply let v8 handle that.
85991
- function utf16End(buf) {
85992
- var r = buf && buf.length ? this.write(buf) : '';
85993
- if (this.lastNeed) {
85994
- var end = this.lastTotal - this.lastNeed;
85995
- return r + this.lastChar.toString('utf16le', 0, end);
85996
- }
85997
- return r;
85998
- }
85999
-
86000
- function base64Text(buf, i) {
86001
- var n = (buf.length - i) % 3;
86002
- if (n === 0) return buf.toString('base64', i);
86003
- this.lastNeed = 3 - n;
86004
- this.lastTotal = 3;
86005
- if (n === 1) {
86006
- this.lastChar[0] = buf[buf.length - 1];
86007
- } else {
86008
- this.lastChar[0] = buf[buf.length - 2];
86009
- this.lastChar[1] = buf[buf.length - 1];
86010
- }
86011
- return buf.toString('base64', i, buf.length - n);
86012
- }
86013
-
86014
- function base64End(buf) {
86015
- var r = buf && buf.length ? this.write(buf) : '';
86016
- if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);
86017
- return r;
86018
- }
86019
-
86020
- // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
86021
- function simpleWrite(buf) {
86022
- return buf.toString(this.encoding);
86023
- }
86024
-
86025
- function simpleEnd(buf) {
86026
- return buf && buf.length ? this.write(buf) : '';
86027
- }
86028
-
86029
86142
  /***/ }),
86030
86143
 
86031
86144
  /***/ "./node_modules/symbol-observable/es/index.js":