@thunderid/nextjs 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{SessionManager-CmqWChPm.js → SessionManager-CRaYjvAo.js} +32 -32
- package/dist/{cache-CxW8LP5j.js → cache-4fytrYS0.js} +114 -114
- package/dist/cjs/{SessionManager-RFfauUwH.js → SessionManager-DzRABsA2.js} +32 -32
- package/dist/cjs/{cache-TPlce_OL.js → cache-CD8ivAdf.js} +114 -114
- package/dist/cjs/{dynamic-rendering-L2d7BrDx.js → dynamic-rendering-pr2V7b6q.js} +32 -32
- package/dist/cjs/{getAccessToken-Cse753Fb.js → getAccessToken-BqOlkz2I.js} +2 -2
- package/dist/cjs/{getSessionId-CTcwNOBu.js → getSessionId-Ds_Ms78c.js} +2 -2
- package/dist/cjs/getSessionId-_aI8yBQp.js +5 -0
- package/dist/cjs/index.cjs +6 -6
- package/dist/cjs/index2.cjs +5 -5
- package/dist/cjs/middleware.cjs +135 -131
- package/dist/cjs/{segment-oJYpzazg.js → segment-ChvbqN01.js} +3 -3
- package/dist/cjs/{server-DhPu4EWA.js → server-BPUUa7u4.js} +148 -173
- package/dist/{dynamic-rendering-qQ5hSvc6.js → dynamic-rendering-Dg_MPBOn.js} +32 -32
- package/dist/{getAccessToken-tip3mkrS.js → getAccessToken-phAFc2I5.js} +2 -2
- package/dist/{getSessionId-CgVEEnja.js → getSessionId-BnKaT16N.js} +2 -2
- package/dist/getSessionId-D5XFhakK.js +5 -0
- package/dist/index.js +6 -6
- package/dist/index2.js +5 -5
- package/dist/middleware.js +135 -131
- package/dist/{segment-BliKCoQf.js → segment-C4UDivcl.js} +3 -3
- package/dist/{server-BUTC5fQO.js → server-D_1r_yfp.js} +144 -175
- package/dist/types/ThunderIDNextClient.d.ts +5 -47
- package/dist/types/ThunderIDNextClient.d.ts.map +1 -1
- package/dist/types/constants/sessionConstants.d.ts +3 -3
- package/dist/types/server/ThunderIDProvider.d.ts +1 -1
- package/dist/types/server/getClient.d.ts +27 -0
- package/dist/types/server/getClient.d.ts.map +1 -0
- package/dist/types/server/middleware/thunderIDMiddleware.d.ts +2 -2
- package/dist/types/utils/SessionManager.d.ts +2 -2
- package/dist/types/utils/decorateConfigWithNextEnv.d.ts.map +1 -1
- package/dist/types/utils/handleRefreshToken.d.ts +2 -2
- package/dist/types/utils/handleRefreshToken.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/getSessionId-0NYmTSk-.js +0 -5
- package/dist/getSessionId-dhNlHUsz.js +0 -5
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as require_static_generation_bailout, c as require_invariant_error, d as require_cookies$1, f as __commonJS, h as __require, i as require_dynamic_rendering_utils, l as require_work_async_storage_external, o as require_hooks_server_context, s as require_work_unit_async_storage_external, t as require_dynamic_rendering, u as require_async_local_storage } from "./dynamic-rendering-
|
|
1
|
+
import { a as require_static_generation_bailout, c as require_invariant_error, d as require_cookies$1, f as __commonJS, h as __require, i as require_dynamic_rendering_utils, l as require_work_async_storage_external, o as require_hooks_server_context, s as require_work_unit_async_storage_external, t as require_dynamic_rendering, u as require_async_local_storage } from "./dynamic-rendering-Dg_MPBOn.js";
|
|
2
2
|
import { CookieConfig, ThunderIDRuntimeError } from "@thunderid/node";
|
|
3
3
|
import { SignJWT, compactVerify, jwtVerify } from "jose";
|
|
4
4
|
|
|
5
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
6
|
-
var require_reflect = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
5
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js
|
|
6
|
+
var require_reflect = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js": ((exports) => {
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
Object.defineProperty(exports, "ReflectAdapter", {
|
|
9
9
|
enumerable: true,
|
|
@@ -30,8 +30,8 @@ var require_reflect = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/nex
|
|
|
30
30
|
}) });
|
|
31
31
|
|
|
32
32
|
//#endregion
|
|
33
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
34
|
-
var require_request_cookies = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
33
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js
|
|
34
|
+
var require_request_cookies = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js": ((exports) => {
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
function _export$2(target, all) {
|
|
37
37
|
for (var name in all) Object.defineProperty(target, name, {
|
|
@@ -188,8 +188,8 @@ var require_request_cookies = /* @__PURE__ */ __commonJS({ "../../node_modules/.
|
|
|
188
188
|
}) });
|
|
189
189
|
|
|
190
190
|
//#endregion
|
|
191
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
192
|
-
var require_create_deduped_by_callsite_server_error_logger = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
191
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js
|
|
192
|
+
var require_create_deduped_by_callsite_server_error_logger = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js": ((exports) => {
|
|
193
193
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
194
194
|
Object.defineProperty(exports, "createDedupedByCallsiteServerErrorLoggerDev", {
|
|
195
195
|
enumerable: true,
|
|
@@ -250,8 +250,8 @@ var require_create_deduped_by_callsite_server_error_logger = /* @__PURE__ */ __c
|
|
|
250
250
|
}) });
|
|
251
251
|
|
|
252
252
|
//#endregion
|
|
253
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
254
|
-
var require_after_task_async_storage_instance = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
253
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js
|
|
254
|
+
var require_after_task_async_storage_instance = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js": ((exports) => {
|
|
255
255
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
256
256
|
Object.defineProperty(exports, "afterTaskAsyncStorageInstance", {
|
|
257
257
|
enumerable: true,
|
|
@@ -263,8 +263,8 @@ var require_after_task_async_storage_instance = /* @__PURE__ */ __commonJS({ "..
|
|
|
263
263
|
}) });
|
|
264
264
|
|
|
265
265
|
//#endregion
|
|
266
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
267
|
-
var require_after_task_async_storage_external = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
266
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js
|
|
267
|
+
var require_after_task_async_storage_external = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js": ((exports) => {
|
|
268
268
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
269
269
|
Object.defineProperty(exports, "afterTaskAsyncStorage", {
|
|
270
270
|
enumerable: true,
|
|
@@ -276,8 +276,8 @@ var require_after_task_async_storage_external = /* @__PURE__ */ __commonJS({ "..
|
|
|
276
276
|
}) });
|
|
277
277
|
|
|
278
278
|
//#endregion
|
|
279
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
280
|
-
var require_utils = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
279
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/utils.js
|
|
280
|
+
var require_utils = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/utils.js": ((exports) => {
|
|
281
281
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
282
282
|
function _export$1(target, all) {
|
|
283
283
|
for (var name in all) Object.defineProperty(target, name, {
|
|
@@ -332,8 +332,8 @@ var require_utils = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@
|
|
|
332
332
|
}) });
|
|
333
333
|
|
|
334
334
|
//#endregion
|
|
335
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
336
|
-
var require_cookies = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
335
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/cookies.js
|
|
336
|
+
var require_cookies = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/cookies.js": ((exports) => {
|
|
337
337
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
338
338
|
Object.defineProperty(exports, "cookies", {
|
|
339
339
|
enumerable: true,
|
|
@@ -607,8 +607,8 @@ var require_cookies = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/nex
|
|
|
607
607
|
}) });
|
|
608
608
|
|
|
609
609
|
//#endregion
|
|
610
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
611
|
-
var require_headers$2 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
610
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.js
|
|
611
|
+
var require_headers$2 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.js": ((exports) => {
|
|
612
612
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
613
613
|
function _export(target, all) {
|
|
614
614
|
for (var name in all) Object.defineProperty(target, name, {
|
|
@@ -740,8 +740,8 @@ var require_headers$2 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/n
|
|
|
740
740
|
}) });
|
|
741
741
|
|
|
742
742
|
//#endregion
|
|
743
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
744
|
-
var require_headers$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
743
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/headers.js
|
|
744
|
+
var require_headers$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/headers.js": ((exports) => {
|
|
745
745
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
746
746
|
Object.defineProperty(exports, "headers", {
|
|
747
747
|
enumerable: true,
|
|
@@ -985,8 +985,8 @@ var require_headers$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/n
|
|
|
985
985
|
}) });
|
|
986
986
|
|
|
987
987
|
//#endregion
|
|
988
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
989
|
-
var require_draft_mode = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
988
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/draft-mode.js
|
|
989
|
+
var require_draft_mode = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/dist/server/request/draft-mode.js": ((exports) => {
|
|
990
990
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
991
991
|
Object.defineProperty(exports, "draftMode", {
|
|
992
992
|
enumerable: true,
|
|
@@ -1204,8 +1204,8 @@ var require_draft_mode = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/
|
|
|
1204
1204
|
}) });
|
|
1205
1205
|
|
|
1206
1206
|
//#endregion
|
|
1207
|
-
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
1208
|
-
var require_headers = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.
|
|
1207
|
+
//#region ../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/headers.js
|
|
1208
|
+
var require_headers = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.3__react@19.2.3_sass@1.98.0/node_modules/next/headers.js": ((exports, module) => {
|
|
1209
1209
|
module.exports.cookies = require_cookies().cookies;
|
|
1210
1210
|
module.exports.headers = require_headers$1().headers;
|
|
1211
1211
|
module.exports.draftMode = require_draft_mode().draftMode;
|
|
@@ -1219,10 +1219,10 @@ var require_headers = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/nex
|
|
|
1219
1219
|
* Used when no explicit session cookie expiry is configured. The session cookie
|
|
1220
1220
|
* lifetime can be overridden in two ways (evaluated in this order):
|
|
1221
1221
|
*
|
|
1222
|
-
* 1. `
|
|
1222
|
+
* 1. `sessionCookie.expiryTime` in `ThunderIDNodeConfig` — set programmatically
|
|
1223
1223
|
* when initialising the SDK.
|
|
1224
|
-
* 2. `
|
|
1225
|
-
* (e.g. `
|
|
1224
|
+
* 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable — set in `.env`
|
|
1225
|
+
* (e.g. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME=86400`).
|
|
1226
1226
|
* 3. This constant — applied when neither of the above is present.
|
|
1227
1227
|
*
|
|
1228
1228
|
* Two independent expiry bounds apply to the session and they are generally
|
|
@@ -1250,10 +1250,10 @@ var SessionManager = class {
|
|
|
1250
1250
|
* Throws error in production if not set
|
|
1251
1251
|
*/
|
|
1252
1252
|
static getSecret() {
|
|
1253
|
-
const secret = process.env["
|
|
1253
|
+
const secret = process.env["THUNDERID_SECRET"];
|
|
1254
1254
|
if (!secret) {
|
|
1255
|
-
if (process.env["NODE_ENV"] === "production") throw new ThunderIDRuntimeError("
|
|
1256
|
-
console.warn("Using default secret for development. Set
|
|
1255
|
+
if (process.env["NODE_ENV"] === "production") throw new ThunderIDRuntimeError("THUNDERID_SECRET environment variable is required in production", "session-secret-required", "nextjs", "Set the THUNDERID_SECRET environment variable with a secure random string");
|
|
1256
|
+
console.warn("Using default secret for development. Set THUNDERID_SECRET for production!");
|
|
1257
1257
|
return new TextEncoder().encode("development-secret-not-for-production");
|
|
1258
1258
|
}
|
|
1259
1259
|
return new TextEncoder().encode(secret);
|
|
@@ -1272,13 +1272,13 @@ var SessionManager = class {
|
|
|
1272
1272
|
* Resolve the session cookie expiry time in seconds.
|
|
1273
1273
|
*
|
|
1274
1274
|
* Resolution order (first defined value wins):
|
|
1275
|
-
* 1. `configuredExpiry` — value from `ThunderIDNodeConfig.
|
|
1276
|
-
* 2. `
|
|
1275
|
+
* 1. `configuredExpiry` — value from `ThunderIDNodeConfig.sessionCookie?.expiryTime`
|
|
1276
|
+
* 2. `THUNDERID_SESSION_COOKIE_EXPIRY_TIME` environment variable
|
|
1277
1277
|
* 3. `DEFAULT_SESSION_COOKIE_EXPIRY_TIME` (24 hours)
|
|
1278
1278
|
*/
|
|
1279
1279
|
static resolveSessionCookieExpiry(configuredExpiry) {
|
|
1280
1280
|
if (configuredExpiry != null && configuredExpiry > 0) return configuredExpiry;
|
|
1281
|
-
const envValue = process.env["
|
|
1281
|
+
const envValue = process.env["THUNDERID_SESSION_COOKIE_EXPIRY_TIME"];
|
|
1282
1282
|
if (envValue) {
|
|
1283
1283
|
const parsed = parseInt(envValue, 10);
|
|
1284
1284
|
if (!Number.isNaN(parsed) && parsed > 0) return parsed;
|