oidc-spa 6.9.9 → 6.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,12 +27,18 @@
27
27
  <a href="https://docs.oidc-spa.dev">Documentation</a>
28
28
  </p>
29
29
 
30
- A fully-featured OpenID Connect client for single-page applications (SPAs).
30
+ A full-featured OpenID Connect / OAuth2 client for single-page applications (SPAs).
31
31
 
32
- With `oidc-spa`, you can integrate your application with authentication providers like [Keycloak](https://www.keycloak.org/), [Auth0](https://auth0.com/), or [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id).
32
+ With `oidc-spa`, you can seamlessly integrate authentication providers like [Keycloak](https://www.keycloak.org/), [Auth0](https://auth0.com/), or [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) into your application.
33
33
 
34
- In **simple terms**, `oidc-spa` is a library that lets you **add authentication** to your Vite (or Create-React-App) project.
35
- When a user clicks the **"Login"** button in your app's header, call the `login()` method—it's that easy! 😄
34
+ In **simple terms**, `oidc-spa` is a library that makes it easy to **add authentication** to your Vite or Create-React-App project.
35
+ There are many authentication and user management platforms out there: Okta, Auth0, Entra ID...
36
+ There are also plenty of self-hosted options like Keycloak, Ory Hydra, and Dex.
37
+ What all of these have in common is that they implement the OpenID Connect/OAuth2 standard.
38
+
39
+ This library provides a **unified way** to connect with these different providers instead of having to use
40
+ their specific SDKs.
41
+ When a user clicks the **"Login"** button in your app, just call the `login()` method—it's that simple.
36
42
 
37
43
  ## Why `oidc-spa`?
38
44
 
@@ -43,13 +49,15 @@ Most OIDC providers push their own client libraries:
43
49
  - **Keycloak** → `keycloak-js` (no longer actively promoted, planned for deprecation)
44
50
  - **... and so on.**
45
51
 
46
- These libraries are **tied to a specific provider**. But what if you want to:
52
+ These libraries are **tied to a specific provider**. But what if you need to:
53
+
54
+ ✅ Switch OIDC providers without modifying your authentication logic?
55
+ ✅ Build a self-hostable solution that works with any provider (e.g., you're developing a dashboard app that you sell to enterprises and need to integrate with their existing IAM system)?
56
+ ✅ Stop re-learning authentication implementation every time you change providers?
47
57
 
48
- Switch OIDC providers without rewriting your authentication logic?
49
- ✅ Develop an app that must support multiple environments, where the auth provider is unknown beforehand?
50
- ✅ Support multiple OIDC providers in the same app?
58
+ And besides, not all SDKs are equal in terms of setup simplicity, performance, and API quality.
51
59
 
52
- Well, we needed a solution so we built one, `oidc-spa`!
60
+ We wanted a **universal solution**—one that is as good or better than all existing SDKs in every aspect.
53
61
 
54
62
  ## Features
55
63
 
package/mock/oidc.js CHANGED
@@ -51,7 +51,9 @@ exports.createMockOidc = createMockOidc;
51
51
  var createObjectThatThrowsIfAccessed_1 = require("../tools/createObjectThatThrowsIfAccessed");
52
52
  var tsafe_1 = require("../vendor/frontend/tsafe");
53
53
  var toFullyQualifiedUrl_1 = require("../tools/toFullyQualifiedUrl");
54
- var urlParamName = "isUserLoggedIn";
54
+ var urlSearchParams_1 = require("../tools/urlSearchParams");
55
+ var initialLocationHref_1 = require("../oidc/initialLocationHref");
56
+ var URL_SEARCH_PARAM_NAME = "isUserLoggedIn";
55
57
  function createMockOidc(params) {
56
58
  return __awaiter(this, void 0, void 0, function () {
57
59
  var _a, isUserInitiallyLoggedIn, _b, mockedParams, _c, mockedTokens, homeUrl_params, _d, autoLogin, postLoginRedirectUrl, isUserLoggedIn, homeUrl, common, loginOrGoToAuthServer, oidc_1, oidc;
@@ -62,14 +64,24 @@ function createMockOidc(params) {
62
64
  case 0:
63
65
  _a = params.isUserInitiallyLoggedIn, isUserInitiallyLoggedIn = _a === void 0 ? true : _a, _b = params.mockedParams, mockedParams = _b === void 0 ? {} : _b, _c = params.mockedTokens, mockedTokens = _c === void 0 ? {} : _c, homeUrl_params = params.homeUrl, _d = params.autoLogin, autoLogin = _d === void 0 ? false : _d, postLoginRedirectUrl = params.postLoginRedirectUrl;
64
66
  isUserLoggedIn = (function () {
65
- var newUrl = new URL(window.location.href);
66
- var urlParamValue = newUrl.searchParams.get(urlParamName);
67
- if (urlParamValue === null) {
67
+ var _a = (0, urlSearchParams_1.getSearchParam)({
68
+ url: initialLocationHref_1.initialLocationHref,
69
+ name: URL_SEARCH_PARAM_NAME
70
+ }), wasPresent = _a.wasPresent, value = _a.value;
71
+ if (!wasPresent) {
68
72
  return isUserInitiallyLoggedIn;
69
73
  }
70
- newUrl.searchParams.delete(urlParamName);
71
- window.history.replaceState({}, "", newUrl.href);
72
- return urlParamValue === "true";
74
+ remove_from_url: {
75
+ var _b = (0, urlSearchParams_1.getSearchParam)({
76
+ url: window.location.href,
77
+ name: URL_SEARCH_PARAM_NAME
78
+ }), wasPresent_1 = _b.wasPresent, url_withoutTheParam = _b.url_withoutTheParam;
79
+ if (!wasPresent_1) {
80
+ break remove_from_url;
81
+ }
82
+ window.history.replaceState({}, "", url_withoutTheParam);
83
+ }
84
+ return value === "true";
73
85
  })();
74
86
  homeUrl = (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
75
87
  urlish: homeUrl_params,
@@ -83,19 +95,24 @@ function createMockOidc(params) {
83
95
  }
84
96
  };
85
97
  loginOrGoToAuthServer = function (params) { return __awaiter(_this, void 0, void 0, function () {
86
- var redirectUrl, newUrl;
98
+ var redirectUrl_params, redirectUrl;
87
99
  return __generator(this, function (_a) {
88
- redirectUrl = params.redirectUrl;
89
- newUrl = new URL((function () {
90
- if (redirectUrl === undefined) {
91
- return window.location.href;
92
- }
93
- return redirectUrl.startsWith("/")
94
- ? "".concat(window.location.origin).concat(redirectUrl)
95
- : redirectUrl;
96
- })());
97
- newUrl.searchParams.set(urlParamName, "true");
98
- window.location.href = newUrl.href;
100
+ redirectUrl_params = params.redirectUrl;
101
+ redirectUrl = (0, urlSearchParams_1.addOrUpdateSearchParam)({
102
+ url: (function () {
103
+ if (redirectUrl_params === undefined) {
104
+ return window.location.href;
105
+ }
106
+ return (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
107
+ urlish: redirectUrl_params,
108
+ doAssertNoQueryParams: false
109
+ });
110
+ })(),
111
+ name: URL_SEARCH_PARAM_NAME,
112
+ value: "true",
113
+ encodeMethod: "www-form"
114
+ });
115
+ window.location.href = redirectUrl;
99
116
  return [2 /*return*/, new Promise(function () { })];
100
117
  });
101
118
  }); };
@@ -138,21 +155,25 @@ function createMockOidc(params) {
138
155
  })(), getTokens_next: function () { return Promise.resolve(oidc.getTokens()); }, getDecodedIdToken: function () { return oidc.getTokens().decodedIdToken; }, subscribeToTokensChange: function () { return ({
139
156
  unsubscribe: function () { }
140
157
  }); }, logout: function (params) {
141
- var newUrl = new URL((function () {
142
- switch (params.redirectTo) {
143
- case "current page":
144
- return window.location.href;
145
- case "home":
146
- return homeUrl;
147
- case "specific url":
148
- return (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
149
- urlish: params.url,
150
- doAssertNoQueryParams: false
151
- });
152
- }
153
- })());
154
- newUrl.searchParams.set(urlParamName, "false");
155
- window.location.href = newUrl.href;
158
+ var redirectUrl = (0, urlSearchParams_1.addOrUpdateSearchParam)({
159
+ url: (function () {
160
+ switch (params.redirectTo) {
161
+ case "current page":
162
+ return window.location.href;
163
+ case "home":
164
+ return homeUrl;
165
+ case "specific url":
166
+ return (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
167
+ urlish: params.url,
168
+ doAssertNoQueryParams: false
169
+ });
170
+ }
171
+ })(),
172
+ name: URL_SEARCH_PARAM_NAME,
173
+ value: "false",
174
+ encodeMethod: "www-form"
175
+ });
176
+ window.location.href = redirectUrl;
156
177
  return new Promise(function () { });
157
178
  }, subscribeToAutoLogoutCountdown: function () { return ({
158
179
  unsubscribeFromAutoLogoutCountdown: function () { }
package/mock/oidc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ var __read = (this && this.__read) || function (o, n) {
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.getIsAuthResponse = getIsAuthResponse;
31
31
  exports.authResponseToUrl = authResponseToUrl;
32
+ var urlSearchParams_1 = require("../tools/urlSearchParams");
32
33
  function getIsAuthResponse(data) {
33
34
  return (data instanceof Object &&
34
35
  "state" in data &&
@@ -37,14 +38,19 @@ function getIsAuthResponse(data) {
37
38
  }
38
39
  function authResponseToUrl(authResponse) {
39
40
  var e_1, _a;
40
- var authResponseUrl = new URL("https://dummy.com");
41
+ var authResponseUrl = "https://dummy.com";
41
42
  try {
42
43
  for (var _b = __values(Object.entries(authResponse)), _c = _b.next(); !_c.done; _c = _b.next()) {
43
44
  var _d = __read(_c.value, 2), name_1 = _d[0], value = _d[1];
44
45
  if (value === undefined) {
45
46
  continue;
46
47
  }
47
- authResponseUrl.searchParams.set(name_1, value);
48
+ authResponseUrl = (0, urlSearchParams_1.addOrUpdateSearchParam)({
49
+ url: authResponseUrl,
50
+ name: name_1,
51
+ value: value,
52
+ encodeMethod: "www-form"
53
+ });
48
54
  }
49
55
  }
50
56
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -54,6 +60,6 @@ function authResponseToUrl(authResponse) {
54
60
  }
55
61
  finally { if (e_1) throw e_1.error; }
56
62
  }
57
- return authResponseUrl.href;
63
+ return authResponseUrl;
58
64
  }
59
65
  //# sourceMappingURL=AuthResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthResponse.js","sourceRoot":"","sources":["../src/oidc/AuthResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,8CAOC;AAED,8CAWC;AApBD,SAAgB,iBAAiB,CAAC,IAAS;IACvC,OAAO,CACH,IAAI,YAAY,MAAM;QACtB,OAAO,IAAI,IAAI;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAhD,CAAgD,CAAC,CACvF,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,YAA0B;;IACxD,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;;QAErD,KAA4B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA,gBAAA,4BAAE,CAAC;YAAhD,IAAA,KAAA,mBAAa,EAAZ,MAAI,QAAA,EAAE,KAAK,QAAA;YACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACb,CAAC;YACD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,MAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;;;;;;;;;IAED,OAAO,eAAe,CAAC,IAAI,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"AuthResponse.js","sourceRoot":"","sources":["../src/oidc/AuthResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8CAOC;AAED,8CAgBC;AAhCD,4DAAkE;AAOlE,SAAgB,iBAAiB,CAAC,IAAS;IACvC,OAAO,CACH,IAAI,YAAY,MAAM;QACtB,OAAO,IAAI,IAAI;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAhD,CAAgD,CAAC,CACvF,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,YAA0B;;IACxD,IAAI,eAAe,GAAG,mBAAmB,CAAC;;QAE1C,KAA4B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA,gBAAA,4BAAE,CAAC;YAAhD,IAAA,KAAA,mBAAa,EAAZ,MAAI,QAAA,EAAE,KAAK,QAAA;YACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACb,CAAC;YACD,eAAe,GAAG,IAAA,wCAAsB,EAAC;gBACrC,GAAG,EAAE,eAAe;gBACpB,IAAI,QAAA;gBACJ,KAAK,OAAA;gBACL,YAAY,EAAE,UAAU;aAC3B,CAAC,CAAC;QACP,CAAC;;;;;;;;;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC"}
@@ -125,7 +125,7 @@ var initialLocationHref_1 = require("./initialLocationHref");
125
125
  var isNewBrowserSession_1 = require("./isNewBrowserSession");
126
126
  (0, handleOidcCallback_1.handleOidcCallback)();
127
127
  // NOTE: Replaced at build time
128
- var VERSION = "6.9.9";
128
+ var VERSION = "6.9.11";
129
129
  var GLOBAL_CONTEXT_KEY = "__oidc-spa.createOidc.globalContext";
130
130
  (_a = window[GLOBAL_CONTEXT_KEY]) !== null && _a !== void 0 ? _a : (window[GLOBAL_CONTEXT_KEY] = {
131
131
  prOidcByConfigId: new Map(),
@@ -66,18 +66,18 @@ function handleOidcCallback() {
66
66
  }
67
67
  function handleOidcCallback_nonMemoized() {
68
68
  var e_1, _a;
69
- var locationUrl = new URL(initialLocationHref_1.initialLocationHref);
69
+ var location_urlObj = new URL(initialLocationHref_1.initialLocationHref);
70
70
  var stateQueryParamValue = (function () {
71
- var stateQueryParamValue = locationUrl.searchParams.get("state");
71
+ var stateQueryParamValue = location_urlObj.searchParams.get("state");
72
72
  if (stateQueryParamValue === null) {
73
73
  return undefined;
74
74
  }
75
75
  if (!(0, StateData_1.getIsStatQueryParamValue)({ maybeStateQueryParamValue: stateQueryParamValue })) {
76
76
  return undefined;
77
77
  }
78
- if (locationUrl.searchParams.get("client_id") !== null &&
79
- locationUrl.searchParams.get("response_type") !== null &&
80
- locationUrl.searchParams.get("redirect_uri") !== null) {
78
+ if (location_urlObj.searchParams.get("client_id") !== null &&
79
+ location_urlObj.searchParams.get("response_type") !== null &&
80
+ location_urlObj.searchParams.get("redirect_uri") !== null) {
81
81
  // NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake.
82
82
  return undefined;
83
83
  }
@@ -93,10 +93,6 @@ function handleOidcCallback_nonMemoized() {
93
93
  return { isHandled: false };
94
94
  }
95
95
  var isHandled = true;
96
- console.log = function () { };
97
- console.warn = function () { };
98
- console.error = function () { };
99
- console.debug = function () { };
100
96
  var stateData = (0, StateData_1.getStateData)({ stateQueryParamValue: stateQueryParamValue });
101
97
  if (stateData === undefined ||
102
98
  (stateData.context === "redirect" && stateData.hasBeenProcessedByCallback)) {
@@ -127,7 +123,7 @@ function handleOidcCallback_nonMemoized() {
127
123
  }
128
124
  var authResponse = { state: "" };
129
125
  try {
130
- for (var _b = __values(locationUrl.searchParams), _c = _b.next(); !_c.done; _c = _b.next()) {
126
+ for (var _b = __values(location_urlObj.searchParams), _c = _b.next(); !_c.done; _c = _b.next()) {
131
127
  var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
132
128
  authResponse[key] = value;
133
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["../src/oidc/handleOidcCallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleOidcCallback.js","sourceRoot":"","sources":["../src/oidc/handleOidcCallback.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ var toFullyQualifiedUrl_1 = require("../tools/toFullyQualifiedUrl");
54
54
  var tsafe_1 = require("../vendor/frontend/tsafe");
55
55
  var StatefulEvt_1 = require("../tools/StatefulEvt");
56
56
  var Deferred_1 = require("../tools/Deferred");
57
+ var urlSearchParams_1 = require("../tools/urlSearchParams");
57
58
  var GLOBAL_CONTEXT_KEY = "__oidc-spa.loginOrGoToAuthSever.globalContext";
58
59
  (_a = window[GLOBAL_CONTEXT_KEY]) !== null && _a !== void 0 ? _a : (window[GLOBAL_CONTEXT_KEY] = {
59
60
  evtHasLoginBeenCalled: (0, StatefulEvt_1.createStatefulEvt)(function () { return false; })
@@ -161,7 +162,7 @@ function createLoginOrGoToAuthServer(params) {
161
162
  ].forEach(function (_a, i) {
162
163
  var e_1, _b, e_2, _c;
163
164
  var _d = __read(_a, 2), extraQueryParamsMaybeGetter = _d[0], transformUrlBeforeRedirect = _d[1];
164
- var urlObj_before = i !== 2 ? undefined : new URL(url);
165
+ var url_before = i !== 2 ? undefined : url;
165
166
  add_extra_query_params: {
166
167
  if (extraQueryParamsMaybeGetter === undefined) {
167
168
  break add_extra_query_params;
@@ -169,14 +170,18 @@ function createLoginOrGoToAuthServer(params) {
169
170
  var extraQueryParams = typeof extraQueryParamsMaybeGetter === "function"
170
171
  ? extraQueryParamsMaybeGetter({ isSilent: isSilent, url: url })
171
172
  : extraQueryParamsMaybeGetter;
172
- var url_obj = new URL(url);
173
173
  try {
174
174
  for (var _e = __values(Object.entries(extraQueryParams)), _f = _e.next(); !_f.done; _f = _e.next()) {
175
175
  var _g = __read(_f.value, 2), name_1 = _g[0], value = _g[1];
176
176
  if (value === undefined) {
177
177
  continue;
178
178
  }
179
- url_obj.searchParams.set(name_1, value);
179
+ url = (0, urlSearchParams_1.addOrUpdateSearchParam)({
180
+ url: url,
181
+ name: name_1,
182
+ value: value,
183
+ encodeMethod: "www-form"
184
+ });
180
185
  }
181
186
  }
182
187
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -186,7 +191,6 @@ function createLoginOrGoToAuthServer(params) {
186
191
  }
187
192
  finally { if (e_1) throw e_1.error; }
188
193
  }
189
- url = url_obj.href;
190
194
  }
191
195
  apply_transform_url: {
192
196
  if (transformUrlBeforeRedirect === undefined) {
@@ -195,17 +199,19 @@ function createLoginOrGoToAuthServer(params) {
195
199
  url = transformUrlBeforeRedirect(url);
196
200
  }
197
201
  update_state: {
198
- if (urlObj_before === undefined) {
202
+ if (url_before === undefined) {
199
203
  break update_state;
200
204
  }
205
+ var paramValueByName_current = (0, urlSearchParams_1.getAllSearchParams)(url);
206
+ var paramValueByName_before = (0, urlSearchParams_1.getAllSearchParams)(url_before);
201
207
  try {
202
- for (var _h = __values(new URL(url).searchParams.entries()), _j = _h.next(); !_j.done; _j = _h.next()) {
203
- var _k = __read(_j.value, 2), name_2 = _k[0], value = _k[1];
204
- var value_before = urlObj_before.searchParams.get(name_2);
205
- if (value_before === value) {
208
+ for (var _h = __values(Object.entries(paramValueByName_current)), _j = _h.next(); !_j.done; _j = _h.next()) {
209
+ var _k = __read(_j.value, 2), name_2 = _k[0], value_current = _k[1];
210
+ var value_before = paramValueByName_before[name_2];
211
+ if (value_before === value_current) {
206
212
  continue;
207
213
  }
208
- stateData.extraQueryParams[name_2] = value;
214
+ stateData.extraQueryParams[name_2] = value_current;
209
215
  }
210
216
  }
211
217
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"loginOrGoToAuthServer.js","sourceRoot":"","sources":["../src/oidc/loginOrGoToAuthServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loginOrGoToAuthServer.js","sourceRoot":"","sources":["../src/oidc/loginOrGoToAuthServer.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,7 @@ var StateData_1 = require("./StateData");
70
70
  var getDownlinkAndRtt_1 = require("../tools/getDownlinkAndRtt");
71
71
  var isDev_1 = require("../tools/isDev");
72
72
  var AuthResponse_1 = require("./AuthResponse");
73
+ var urlSearchParams_1 = require("../tools/urlSearchParams");
73
74
  function loginSilent(params) {
74
75
  return __awaiter(this, void 0, void 0, function () {
75
76
  var oidcClientTsUserManager, stateQueryParamValue_instance, configId, transformUrlBeforeRedirect_next, getExtraQueryParams, getExtraTokenParams, dResult, timeoutDelayMs, timeout, listener, transformUrl_oidcClientTs;
@@ -127,14 +128,13 @@ function loginSilent(params) {
127
128
  break add_extra_query_params;
128
129
  }
129
130
  var extraQueryParams = getExtraQueryParams({ isSilent: true, url: url });
130
- var url_obj = new URL(url);
131
131
  try {
132
132
  for (var _b = __values(Object.entries(extraQueryParams)), _c = _b.next(); !_c.done; _c = _b.next()) {
133
133
  var _d = __read(_c.value, 2), name_1 = _d[0], value = _d[1];
134
134
  if (value === undefined) {
135
135
  continue;
136
136
  }
137
- url_obj.searchParams.set(name_1, value);
137
+ url = (0, urlSearchParams_1.addOrUpdateSearchParam)({ url: url, name: name_1, value: value, encodeMethod: "www-form" });
138
138
  }
139
139
  }
140
140
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -144,7 +144,6 @@ function loginSilent(params) {
144
144
  }
145
145
  finally { if (e_1) throw e_1.error; }
146
146
  }
147
- url = url_obj.href;
148
147
  }
149
148
  apply_transform_url: {
150
149
  if (transformUrlBeforeRedirect_next === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"loginSilent.js","sourceRoot":"","sources":["../src/oidc/loginSilent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loginSilent.js","sourceRoot":"","sources":["../src/oidc/loginSilent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "6.9.9",
3
+ "version": "6.9.11",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,6 +54,7 @@
54
54
  "./tools/subscribeToUserInteraction": "./tools/subscribeToUserInteraction.js",
55
55
  "./tools/toFullyQualifiedUrl": "./tools/toFullyQualifiedUrl.js",
56
56
  "./tools/toHumanReadableDuration": "./tools/toHumanReadableDuration.js",
57
+ "./tools/urlSearchParams": "./tools/urlSearchParams.js",
57
58
  "./tools/ValueOrAsyncGetter": "./tools/ValueOrAsyncGetter.js",
58
59
  "./tools/workerTimers": "./tools/workerTimers.js",
59
60
  "./vendor/backend/evt": "./vendor/backend/evt.js",
@@ -126,6 +127,7 @@
126
127
  "./src/tools/subscribeToUserInteraction.ts",
127
128
  "./src/tools/toFullyQualifiedUrl.ts",
128
129
  "./src/tools/toHumanReadableDuration.ts",
130
+ "./src/tools/urlSearchParams.ts",
129
131
  "./src/tools/workerTimers.ts",
130
132
  "./src/vendor/backend/evt.ts",
131
133
  "./src/vendor/backend/jsonwebtoken.ts",
@@ -271,6 +273,9 @@
271
273
  "./tools/toHumanReadableDuration.d.ts",
272
274
  "./tools/toHumanReadableDuration.js",
273
275
  "./tools/toHumanReadableDuration.js.map",
276
+ "./tools/urlSearchParams.d.ts",
277
+ "./tools/urlSearchParams.js",
278
+ "./tools/urlSearchParams.js.map",
274
279
  "./tools/workerTimers.d.ts",
275
280
  "./tools/workerTimers.js",
276
281
  "./tools/workerTimers.js.map",
package/src/mock/oidc.ts CHANGED
@@ -2,6 +2,8 @@ import type { Oidc } from "../oidc";
2
2
  import { createObjectThatThrowsIfAccessed } from "../tools/createObjectThatThrowsIfAccessed";
3
3
  import { id } from "../vendor/frontend/tsafe";
4
4
  import { toFullyQualifiedUrl } from "../tools/toFullyQualifiedUrl";
5
+ import { getSearchParam, addOrUpdateSearchParam } from "../tools/urlSearchParams";
6
+ import { initialLocationHref } from "../oidc/initialLocationHref";
5
7
 
6
8
  export type ParamsOfCreateMockOidc<
7
9
  DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
@@ -24,7 +26,7 @@ export type ParamsOfCreateMockOidc<
24
26
  isUserInitiallyLoggedIn: boolean;
25
27
  });
26
28
 
27
- const urlParamName = "isUserLoggedIn";
29
+ const URL_SEARCH_PARAM_NAME = "isUserLoggedIn";
28
30
 
29
31
  export async function createMockOidc<
30
32
  DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
@@ -42,19 +44,29 @@ export async function createMockOidc<
42
44
  } = params;
43
45
 
44
46
  const isUserLoggedIn = (() => {
45
- const newUrl = new URL(window.location.href);
46
-
47
- const urlParamValue = newUrl.searchParams.get(urlParamName);
47
+ const { wasPresent, value } = getSearchParam({
48
+ url: initialLocationHref,
49
+ name: URL_SEARCH_PARAM_NAME
50
+ });
48
51
 
49
- if (urlParamValue === null) {
52
+ if (!wasPresent) {
50
53
  return isUserInitiallyLoggedIn;
51
54
  }
52
55
 
53
- newUrl.searchParams.delete(urlParamName);
56
+ remove_from_url: {
57
+ const { wasPresent, url_withoutTheParam } = getSearchParam({
58
+ url: window.location.href,
59
+ name: URL_SEARCH_PARAM_NAME
60
+ });
61
+
62
+ if (!wasPresent) {
63
+ break remove_from_url;
64
+ }
54
65
 
55
- window.history.replaceState({}, "", newUrl.href);
66
+ window.history.replaceState({}, "", url_withoutTheParam);
67
+ }
56
68
 
57
- return urlParamValue === "true";
69
+ return value === "true";
58
70
  })();
59
71
 
60
72
  const homeUrl = toFullyQualifiedUrl({
@@ -73,22 +85,25 @@ export async function createMockOidc<
73
85
  const loginOrGoToAuthServer = async (params: {
74
86
  redirectUrl: string | undefined;
75
87
  }): Promise<never> => {
76
- const { redirectUrl } = params;
88
+ const { redirectUrl: redirectUrl_params } = params;
77
89
 
78
- const newUrl = new URL(
79
- (() => {
80
- if (redirectUrl === undefined) {
90
+ const redirectUrl = addOrUpdateSearchParam({
91
+ url: (() => {
92
+ if (redirectUrl_params === undefined) {
81
93
  return window.location.href;
82
94
  }
83
- return redirectUrl.startsWith("/")
84
- ? `${window.location.origin}${redirectUrl}`
85
- : redirectUrl;
86
- })()
87
- );
88
95
 
89
- newUrl.searchParams.set(urlParamName, "true");
96
+ return toFullyQualifiedUrl({
97
+ urlish: redirectUrl_params,
98
+ doAssertNoQueryParams: false
99
+ });
100
+ })(),
101
+ name: URL_SEARCH_PARAM_NAME,
102
+ value: "true",
103
+ encodeMethod: "www-form"
104
+ });
90
105
 
91
- window.location.href = newUrl.href;
106
+ window.location.href = redirectUrl;
92
107
 
93
108
  return new Promise<never>(() => {});
94
109
  };
@@ -151,8 +166,8 @@ export async function createMockOidc<
151
166
  unsubscribe: () => {}
152
167
  }),
153
168
  logout: params => {
154
- const newUrl = new URL(
155
- (() => {
169
+ const redirectUrl = addOrUpdateSearchParam({
170
+ url: (() => {
156
171
  switch (params.redirectTo) {
157
172
  case "current page":
158
173
  return window.location.href;
@@ -164,12 +179,13 @@ export async function createMockOidc<
164
179
  doAssertNoQueryParams: false
165
180
  });
166
181
  }
167
- })()
168
- );
169
-
170
- newUrl.searchParams.set(urlParamName, "false");
182
+ })(),
183
+ name: URL_SEARCH_PARAM_NAME,
184
+ value: "false",
185
+ encodeMethod: "www-form"
186
+ });
171
187
 
172
- window.location.href = newUrl.href;
188
+ window.location.href = redirectUrl;
173
189
 
174
190
  return new Promise<never>(() => {});
175
191
  },
@@ -1,3 +1,5 @@
1
+ import { addOrUpdateSearchParam } from "../tools/urlSearchParams";
2
+
1
3
  export type AuthResponse = {
2
4
  state: string;
3
5
  [key: string]: string | undefined;
@@ -13,14 +15,19 @@ export function getIsAuthResponse(data: any): data is AuthResponse {
13
15
  }
14
16
 
15
17
  export function authResponseToUrl(authResponse: AuthResponse): string {
16
- const authResponseUrl = new URL("https://dummy.com");
18
+ let authResponseUrl = "https://dummy.com";
17
19
 
18
20
  for (const [name, value] of Object.entries(authResponse)) {
19
21
  if (value === undefined) {
20
22
  continue;
21
23
  }
22
- authResponseUrl.searchParams.set(name, value);
24
+ authResponseUrl = addOrUpdateSearchParam({
25
+ url: authResponseUrl,
26
+ name,
27
+ value,
28
+ encodeMethod: "www-form"
29
+ });
23
30
  }
24
31
 
25
- return authResponseUrl.href;
32
+ return authResponseUrl;
26
33
  }
@@ -33,10 +33,10 @@ export function handleOidcCallback(): { isHandled: boolean } {
33
33
  }
34
34
 
35
35
  function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
36
- const locationUrl = new URL(initialLocationHref);
36
+ const location_urlObj = new URL(initialLocationHref);
37
37
 
38
38
  const stateQueryParamValue = (() => {
39
- const stateQueryParamValue = locationUrl.searchParams.get("state");
39
+ const stateQueryParamValue = location_urlObj.searchParams.get("state");
40
40
 
41
41
  if (stateQueryParamValue === null) {
42
42
  return undefined;
@@ -47,9 +47,9 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
47
47
  }
48
48
 
49
49
  if (
50
- locationUrl.searchParams.get("client_id") !== null &&
51
- locationUrl.searchParams.get("response_type") !== null &&
52
- locationUrl.searchParams.get("redirect_uri") !== null
50
+ location_urlObj.searchParams.get("client_id") !== null &&
51
+ location_urlObj.searchParams.get("response_type") !== null &&
52
+ location_urlObj.searchParams.get("redirect_uri") !== null
53
53
  ) {
54
54
  // NOTE: We are probably in a Keycloakify theme and oidc-spa was loaded by mistake.
55
55
  return undefined;
@@ -75,11 +75,6 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
75
75
 
76
76
  const isHandled = true;
77
77
 
78
- console.log = () => {};
79
- console.warn = () => {};
80
- console.error = () => {};
81
- console.debug = () => {};
82
-
83
78
  const stateData = getStateData({ stateQueryParamValue });
84
79
 
85
80
  if (
@@ -121,7 +116,7 @@ function handleOidcCallback_nonMemoized(): { isHandled: boolean } {
121
116
 
122
117
  const authResponse: AuthResponse = { state: "" };
123
118
 
124
- for (const [key, value] of locationUrl.searchParams) {
119
+ for (const [key, value] of location_urlObj.searchParams) {
125
120
  authResponse[key] = value;
126
121
  }
127
122
 
@@ -5,6 +5,7 @@ import { StateData } from "./StateData";
5
5
  import type { NonPostableEvt } from "../tools/Evt";
6
6
  import { type StatefulEvt, createStatefulEvt } from "../tools/StatefulEvt";
7
7
  import { Deferred } from "../tools/Deferred";
8
+ import { addOrUpdateSearchParam, getAllSearchParams } from "../tools/urlSearchParams";
8
9
 
9
10
  const GLOBAL_CONTEXT_KEY = "__oidc-spa.loginOrGoToAuthSever.globalContext";
10
11
 
@@ -205,7 +206,7 @@ export function createLoginOrGoToAuthServer(params: {
205
206
  [extraQueryParams_local, transformUrl]
206
207
  ] as const
207
208
  ).forEach(([extraQueryParamsMaybeGetter, transformUrlBeforeRedirect], i) => {
208
- const urlObj_before = i !== 2 ? undefined : new URL(url);
209
+ const url_before = i !== 2 ? undefined : url;
209
210
 
210
211
  add_extra_query_params: {
211
212
  if (extraQueryParamsMaybeGetter === undefined) {
@@ -217,16 +218,17 @@ export function createLoginOrGoToAuthServer(params: {
217
218
  ? extraQueryParamsMaybeGetter({ isSilent, url })
218
219
  : extraQueryParamsMaybeGetter;
219
220
 
220
- const url_obj = new URL(url);
221
-
222
221
  for (const [name, value] of Object.entries(extraQueryParams)) {
223
222
  if (value === undefined) {
224
223
  continue;
225
224
  }
226
- url_obj.searchParams.set(name, value);
225
+ url = addOrUpdateSearchParam({
226
+ url,
227
+ name,
228
+ value,
229
+ encodeMethod: "www-form"
230
+ });
227
231
  }
228
-
229
- url = url_obj.href;
230
232
  }
231
233
 
232
234
  apply_transform_url: {
@@ -237,18 +239,21 @@ export function createLoginOrGoToAuthServer(params: {
237
239
  }
238
240
 
239
241
  update_state: {
240
- if (urlObj_before === undefined) {
242
+ if (url_before === undefined) {
241
243
  break update_state;
242
244
  }
243
245
 
244
- for (const [name, value] of new URL(url).searchParams.entries()) {
245
- const value_before = urlObj_before.searchParams.get(name);
246
+ const paramValueByName_current = getAllSearchParams(url);
247
+ const paramValueByName_before = getAllSearchParams(url_before);
248
+
249
+ for (const [name, value_current] of Object.entries(paramValueByName_current)) {
250
+ const value_before: string | undefined = paramValueByName_before[name];
246
251
 
247
- if (value_before === value) {
252
+ if (value_before === value_current) {
248
253
  continue;
249
254
  }
250
255
 
251
- stateData.extraQueryParams[name] = value;
256
+ stateData.extraQueryParams[name] = value_current;
252
257
  }
253
258
  }
254
259
  });
@@ -6,6 +6,7 @@ import { getDownlinkAndRtt } from "../tools/getDownlinkAndRtt";
6
6
  import { getIsDev } from "../tools/isDev";
7
7
  import type { User as OidcClientTsUser } from "../vendor/frontend/oidc-client-ts-and-jwt-decode";
8
8
  import { type AuthResponse, getIsAuthResponse } from "./AuthResponse";
9
+ import { addOrUpdateSearchParam } from "../tools/urlSearchParams";
9
10
 
10
11
  type ResultOfLoginSilent =
11
12
  | {
@@ -111,16 +112,12 @@ export async function loginSilent(params: {
111
112
 
112
113
  const extraQueryParams = getExtraQueryParams({ isSilent: true, url });
113
114
 
114
- const url_obj = new URL(url);
115
-
116
115
  for (const [name, value] of Object.entries(extraQueryParams)) {
117
116
  if (value === undefined) {
118
117
  continue;
119
118
  }
120
- url_obj.searchParams.set(name, value);
119
+ url = addOrUpdateSearchParam({ url, name, value, encodeMethod: "www-form" });
121
120
  }
122
-
123
- url = url_obj.href;
124
121
  }
125
122
 
126
123
  apply_transform_url: {
@@ -0,0 +1,130 @@
1
+ function getAllSearchParams_encoded(url: string): Record<string, string> {
2
+ let search: string | undefined;
3
+
4
+ {
5
+ const [url_withoutHash] = url.split("#");
6
+
7
+ search = url_withoutHash.split("?")[1];
8
+ }
9
+
10
+ if (search === undefined) {
11
+ return {};
12
+ }
13
+
14
+ return Object.fromEntries(
15
+ search.split("&").map(part => {
16
+ const [name, value_encoded] = part.split("=");
17
+
18
+ return [name, value_encoded];
19
+ })
20
+ );
21
+ }
22
+
23
+ function addOrUpdateOrRemoveSearchParam_encoded(params: {
24
+ url: string;
25
+ name: string;
26
+ value_encoded: string | undefined;
27
+ }): string {
28
+ const { url, name, value_encoded } = params;
29
+
30
+ const value_encodedByName = getAllSearchParams_encoded(url);
31
+
32
+ if (value_encoded === undefined) {
33
+ delete value_encodedByName[name];
34
+ } else {
35
+ value_encodedByName[name] = value_encoded;
36
+ }
37
+
38
+ let search: string;
39
+
40
+ update_search: {
41
+ if (Object.keys(value_encodedByName).length === 0) {
42
+ search = "";
43
+ break update_search;
44
+ } else {
45
+ search =
46
+ "?" +
47
+ Object.entries(value_encodedByName)
48
+ .map(([name, value_encoded]) => `${name}=${value_encoded}`)
49
+ .join("&");
50
+ }
51
+ }
52
+
53
+ const [url_withoutHash, hash] = url.split("#");
54
+
55
+ const [url_withoutHash_withoutSearch] = url_withoutHash.split("?");
56
+
57
+ return `${url_withoutHash_withoutSearch}${search}${hash ? "#" + hash : ""}`;
58
+ }
59
+
60
+ export function addOrUpdateSearchParam(params: {
61
+ url: string;
62
+ name: string;
63
+ value: string;
64
+ encodeMethod: "encodeURIComponent" | "www-form";
65
+ }): string {
66
+ const { url, name, value, encodeMethod } = params;
67
+
68
+ let value_encoded = encodeURIComponent(value);
69
+
70
+ if (encodeMethod === "www-form") {
71
+ value_encoded = value_encoded.replace(/%20/g, "+");
72
+ }
73
+
74
+ return addOrUpdateOrRemoveSearchParam_encoded({
75
+ url,
76
+ name,
77
+ value_encoded
78
+ });
79
+ }
80
+
81
+ function decodeSearchParamValue(value_encoded: string): string {
82
+ return decodeURIComponent(value_encoded.replace(/\+/g, "%20"));
83
+ }
84
+
85
+ export function getSearchParam(params: { url: string; name: string }):
86
+ | {
87
+ wasPresent: true;
88
+ value: string;
89
+ url_withoutTheParam: string;
90
+ }
91
+ | {
92
+ wasPresent: false;
93
+ value?: never;
94
+ url_withoutTheParam?: never;
95
+ } {
96
+ const { url, name } = params;
97
+
98
+ const encodedValueByName = getAllSearchParams_encoded(url);
99
+
100
+ const value_encoded = encodedValueByName[name];
101
+
102
+ if (value_encoded === undefined) {
103
+ return {
104
+ wasPresent: false
105
+ };
106
+ }
107
+
108
+ const url_withoutTheParam = addOrUpdateOrRemoveSearchParam_encoded({
109
+ url,
110
+ name,
111
+ value_encoded: undefined
112
+ });
113
+
114
+ return {
115
+ wasPresent: true,
116
+ value: decodeSearchParamValue(value_encoded),
117
+ url_withoutTheParam
118
+ };
119
+ }
120
+
121
+ export function getAllSearchParams(url: string): Record<string, string> {
122
+ const encodedValueByName = getAllSearchParams_encoded(url);
123
+
124
+ return Object.fromEntries(
125
+ Object.entries(encodedValueByName).map(([name, value_encoded]) => [
126
+ name,
127
+ decodeSearchParamValue(value_encoded)
128
+ ])
129
+ );
130
+ }
@@ -0,0 +1,19 @@
1
+ export declare function addOrUpdateSearchParam(params: {
2
+ url: string;
3
+ name: string;
4
+ value: string;
5
+ encodeMethod: "encodeURIComponent" | "www-form";
6
+ }): string;
7
+ export declare function getSearchParam(params: {
8
+ url: string;
9
+ name: string;
10
+ }): {
11
+ wasPresent: true;
12
+ value: string;
13
+ url_withoutTheParam: string;
14
+ } | {
15
+ wasPresent: false;
16
+ value?: never;
17
+ url_withoutTheParam?: never;
18
+ };
19
+ export declare function getAllSearchParams(url: string): Record<string, string>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.addOrUpdateSearchParam = addOrUpdateSearchParam;
20
+ exports.getSearchParam = getSearchParam;
21
+ exports.getAllSearchParams = getAllSearchParams;
22
+ function getAllSearchParams_encoded(url) {
23
+ var search;
24
+ {
25
+ var _a = __read(url.split("#"), 1), url_withoutHash = _a[0];
26
+ search = url_withoutHash.split("?")[1];
27
+ }
28
+ if (search === undefined) {
29
+ return {};
30
+ }
31
+ return Object.fromEntries(search.split("&").map(function (part) {
32
+ var _a = __read(part.split("="), 2), name = _a[0], value_encoded = _a[1];
33
+ return [name, value_encoded];
34
+ }));
35
+ }
36
+ function addOrUpdateOrRemoveSearchParam_encoded(params) {
37
+ var url = params.url, name = params.name, value_encoded = params.value_encoded;
38
+ var value_encodedByName = getAllSearchParams_encoded(url);
39
+ if (value_encoded === undefined) {
40
+ delete value_encodedByName[name];
41
+ }
42
+ else {
43
+ value_encodedByName[name] = value_encoded;
44
+ }
45
+ var search;
46
+ update_search: {
47
+ if (Object.keys(value_encodedByName).length === 0) {
48
+ search = "";
49
+ break update_search;
50
+ }
51
+ else {
52
+ search =
53
+ "?" +
54
+ Object.entries(value_encodedByName)
55
+ .map(function (_a) {
56
+ var _b = __read(_a, 2), name = _b[0], value_encoded = _b[1];
57
+ return "".concat(name, "=").concat(value_encoded);
58
+ })
59
+ .join("&");
60
+ }
61
+ }
62
+ var _a = __read(url.split("#"), 2), url_withoutHash = _a[0], hash = _a[1];
63
+ var _b = __read(url_withoutHash.split("?"), 1), url_withoutHash_withoutSearch = _b[0];
64
+ return "".concat(url_withoutHash_withoutSearch).concat(search).concat(hash ? "#" + hash : "");
65
+ }
66
+ function addOrUpdateSearchParam(params) {
67
+ var url = params.url, name = params.name, value = params.value, encodeMethod = params.encodeMethod;
68
+ var value_encoded = encodeURIComponent(value);
69
+ if (encodeMethod === "www-form") {
70
+ value_encoded = value_encoded.replace(/%20/g, "+");
71
+ }
72
+ return addOrUpdateOrRemoveSearchParam_encoded({
73
+ url: url,
74
+ name: name,
75
+ value_encoded: value_encoded
76
+ });
77
+ }
78
+ function decodeSearchParamValue(value_encoded) {
79
+ return decodeURIComponent(value_encoded.replace(/\+/g, "%20"));
80
+ }
81
+ function getSearchParam(params) {
82
+ var url = params.url, name = params.name;
83
+ var encodedValueByName = getAllSearchParams_encoded(url);
84
+ var value_encoded = encodedValueByName[name];
85
+ if (value_encoded === undefined) {
86
+ return {
87
+ wasPresent: false
88
+ };
89
+ }
90
+ var url_withoutTheParam = addOrUpdateOrRemoveSearchParam_encoded({
91
+ url: url,
92
+ name: name,
93
+ value_encoded: undefined
94
+ });
95
+ return {
96
+ wasPresent: true,
97
+ value: decodeSearchParamValue(value_encoded),
98
+ url_withoutTheParam: url_withoutTheParam
99
+ };
100
+ }
101
+ function getAllSearchParams(url) {
102
+ var encodedValueByName = getAllSearchParams_encoded(url);
103
+ return Object.fromEntries(Object.entries(encodedValueByName).map(function (_a) {
104
+ var _b = __read(_a, 2), name = _b[0], value_encoded = _b[1];
105
+ return [
106
+ name,
107
+ decodeSearchParamValue(value_encoded)
108
+ ];
109
+ }));
110
+ }
111
+ //# sourceMappingURL=urlSearchParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlSearchParams.js","sourceRoot":"","sources":["../src/tools/urlSearchParams.ts"],"names":[],"mappings":"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"}