diff --git a/CHANGELOG.md b/CHANGELOG.md index 95271af3d..93af276ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] +### Adds + +- Support for h3 freamwork. + ## [9.2.3] - 2022-06-03 - Changes `getUserMetadata` to return `any` type for metadata so that it's easier to use. diff --git a/add-ts-no-check.js b/add-ts-no-check.js index 4a256e98f..0edd5f5c8 100644 --- a/add-ts-no-check.js +++ b/add-ts-no-check.js @@ -8,7 +8,7 @@ glob(__dirname + "/lib/**/*.d.ts", (err, files) => { let lines = contents.split("\n"); let newContents = `// @ts-nocheck`; for (line of lines) { - if (line.match(/\/\/\/\ \ | undefined diff --git a/lib/build/framework/constants.d.ts b/lib/build/framework/constants.d.ts index eb751247f..831d39575 100644 --- a/lib/build/framework/constants.d.ts +++ b/lib/build/framework/constants.d.ts @@ -1,2 +1 @@ -// @ts-nocheck export declare const COOKIE_HEADER = "Set-Cookie"; diff --git a/lib/build/framework/express/framework.d.ts b/lib/build/framework/express/framework.d.ts index ba1865f51..28f91f4d6 100644 --- a/lib/build/framework/express/framework.d.ts +++ b/lib/build/framework/express/framework.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { Request, Response, NextFunction } from "express"; import type { HTTPMethod } from "../../types"; import { BaseRequest } from "../request"; diff --git a/lib/build/framework/express/index.d.ts b/lib/build/framework/express/index.d.ts index 9bf873aa2..d4dc8eb85 100644 --- a/lib/build/framework/express/index.d.ts +++ b/lib/build/framework/express/index.d.ts @@ -1,4 +1,4 @@ -// @ts-nocheck +/// export type { SessionRequest } from "./framework"; export declare const middleware: () => ( req: import("express").Request, diff --git a/lib/build/framework/fastify/framework.d.ts b/lib/build/framework/fastify/framework.d.ts index a57cc3efa..3e308824d 100644 --- a/lib/build/framework/fastify/framework.d.ts +++ b/lib/build/framework/fastify/framework.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck /// import type { FastifyRequest as OriginalFastifyRequest, FastifyReply, FastifyPluginCallback } from "fastify"; import type { HTTPMethod } from "../../types"; diff --git a/lib/build/framework/fastify/index.d.ts b/lib/build/framework/fastify/index.d.ts index 3cca3a1a2..fd681c6cf 100644 --- a/lib/build/framework/fastify/index.d.ts +++ b/lib/build/framework/fastify/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck /// export type { SessionRequest } from "./framework"; export declare const plugin: import("fastify").FastifyPluginCallback, import("http").Server>; diff --git a/lib/build/framework/h3/framework.d.ts b/lib/build/framework/h3/framework.d.ts new file mode 100644 index 000000000..e775a2a66 --- /dev/null +++ b/lib/build/framework/h3/framework.d.ts @@ -0,0 +1,51 @@ +/// +import { H3Event } from "h3"; +import type { IncomingMessage, ServerResponse } from "http"; +import { SessionContainerInterface } from "../../recipe/session/types"; +import { BaseRequest } from "../request"; +import { BaseResponse } from "../response"; +import { Framework } from "../types"; +export declare class H3Request extends BaseRequest { + private request; + constructor(request: IncomingMessage); + getCookieValue: (key: string) => string | undefined; + getFormData: () => Promise; + getMethod: () => import("../../types").HTTPMethod; + getHeaderValue: (key: string) => string | undefined; + getOriginalURL: () => string; + getKeyValueFromQuery: (key: string) => string | undefined; + getJSONBody: () => Promise; +} +export declare class H3ResponseTokens extends BaseResponse { + private response; + private statusCode; + constructor(response: ServerResponse); + sendHTMLResponse: (html: string) => void; + setHeader: (key: string, value: string, allowDuplicateKey: boolean) => void; + setCookie: ( + key: string, + value: string, + domain: string | undefined, + secure: boolean, + httpOnly: boolean, + expires: number, + path: string, + sameSite: "strict" | "lax" | "none" + ) => void; + setStatusCode: (statusCode: number) => void; + sendJSONResponse: (content: any) => void; +} +export interface SessionRequest extends IncomingMessage { + session?: SessionContainerInterface; +} +export declare const middlware: () => ( + req: IncomingMessage, + res: ServerResponse, + next: (err?: Error | undefined) => any +) => Promise; +export declare const errorHandler: () => (event: H3Event, errorPlain: Error, statusCode: number) => Promise; +export interface H3Framework extends Framework { + middlware: () => (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any) => Promise; + errorHandler: () => (event: H3Event, errorPlain: Error, statusCode: number) => Promise; +} +export declare const H3Wrapper: H3Framework; diff --git a/lib/build/framework/h3/framework.js b/lib/build/framework/h3/framework.js new file mode 100644 index 000000000..09d148c15 --- /dev/null +++ b/lib/build/framework/h3/framework.js @@ -0,0 +1,185 @@ +"use strict"; +var __awaiter = + (this && this.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; +Object.defineProperty(exports, "__esModule", { value: true }); +const h3_1 = require("h3"); +const supertokens_1 = require("../../supertokens"); +const utils_1 = require("../../utils"); +const request_1 = require("../request"); +const response_1 = require("../response"); +const utils_2 = require("../utils"); +class H3Request extends request_1.BaseRequest { + constructor(request) { + super(); + this.getCookieValue = (key) => { + return utils_2.getCookieValueFromIncomingMessage(this.request, key); + }; + this.getFormData = () => + __awaiter(this, void 0, void 0, function* () { + return utils_2.useRawBody(this.request); + }); + this.getMethod = () => { + return utils_1.normaliseHttpMethod(this.request.method); + }; + this.getHeaderValue = (key) => { + return utils_2.getHeaderValueFromIncomingMessage(this.request, key); + }; + this.getOriginalURL = () => { + return this.request.url; + }; + this.getKeyValueFromQuery = (key) => { + let path = this.request.url || "/"; + const queryIndex = path.lastIndexOf("?"); + if (queryIndex > -1) { + const queryArray = path.substring(queryIndex + 1, path.length).split("&"); + const index = queryArray.findIndex((el) => el.includes(key)); + if (index === -1) return undefined; + const value = queryArray[index].split("=")[1]; + if (value === undefined || typeof value !== "string") { + return undefined; + } + return value; + } else { + return undefined; + } + }; + this.getJSONBody = () => + __awaiter(this, void 0, void 0, function* () { + return yield utils_2.useBody(this.request); + }); + this.original = request; + this.request = request; + } +} +exports.H3Request = H3Request; +class H3ResponseTokens extends response_1.BaseResponse { + constructor(response) { + super(); + this.sendHTMLResponse = (html) => { + if (this.response.writable) { + this.response.setHeader("Content-Type", "text/html"); + this.response.statusCode = this.statusCode; + this.response.end(html); + } + }; + this.setHeader = (key, value, allowDuplicateKey) => { + try { + const allheaders = this.response.getHeaders(); + let existingValue = allheaders[key]; + // we have the this.response.header for compatibility with nextJS + if (existingValue === undefined) { + this.response.setHeader(key, value); + } else if (allowDuplicateKey) { + this.response.setHeader(key, existingValue + ", " + value); + } else { + // we overwrite the current one with the new one + this.response.setHeader(key, value); + } + } catch (err) { + throw new Error("Error while setting header with key: " + key + " and value: " + value); + } + }; + this.setCookie = (key, value, domain, secure, httpOnly, expires, path, sameSite) => { + utils_2.setCookieForServerResponse( + this.response, + key, + value, + domain, + secure, + httpOnly, + expires, + path, + sameSite + ); + }; + this.setStatusCode = (statusCode) => { + if (this.response.writable) { + this.statusCode = statusCode; + } + }; + this.sendJSONResponse = (content) => { + if (this.response.writable) { + content = JSON.stringify(content); + this.response.setHeader("Content-Type", "application/json"); + this.response.statusCode = this.statusCode; + this.response.end(content, "utf-8"); + } + }; + this.original = response; + this.response = response; + this.statusCode = 200; + } +} +exports.H3ResponseTokens = H3ResponseTokens; +exports.middlware = () => { + return (req, res, next) => + __awaiter(void 0, void 0, void 0, function* () { + let supertokens; + const request = new H3Request(req); + const response = new H3ResponseTokens(res); + try { + supertokens = supertokens_1.default.getInstanceOrThrowError(); + const result = yield supertokens.middleware(request, response); + if (!result) { + return next(); + } + } catch (err) { + if (supertokens) { + try { + yield supertokens.errorHandler(err, request, response); + } catch (_a) { + next(err); + } + } else { + next(err); + } + } + }); +}; +exports.errorHandler = () => { + return (event, errorPlain, statusCode) => + __awaiter(void 0, void 0, void 0, function* () { + const error = h3_1.createError(errorPlain); + error.statusCode = statusCode; + h3_1.sendError(event, error); + }); +}; +exports.H3Wrapper = { + middlware: exports.middlware, + errorHandler: exports.errorHandler, + wrapRequest: (unwrapped) => { + return new H3Request(unwrapped.req); + }, + wrapResponse: (unwrapped) => { + return new H3ResponseTokens(unwrapped.res); + }, +}; diff --git a/lib/build/framework/h3/index.d.ts b/lib/build/framework/h3/index.d.ts new file mode 100644 index 000000000..dae4850e7 --- /dev/null +++ b/lib/build/framework/h3/index.d.ts @@ -0,0 +1,14 @@ +/// +export type { SessionRequest } from "./framework"; +export declare const middleware: () => ( + req: import("http").IncomingMessage, + res: import("http").ServerResponse, + next: (err?: Error | undefined) => any +) => Promise; +export declare const errorHandler: () => ( + event: import("h3").H3Event, + errorPlain: Error, + statusCode: number +) => Promise; +export declare const wrapRequest: (unwrapped: any) => import("..").BaseRequest; +export declare const wrapResponse: (unwrapped: any) => import("..").BaseResponse; diff --git a/lib/build/framework/h3/index.js b/lib/build/framework/h3/index.js new file mode 100644 index 000000000..fa25d0f02 --- /dev/null +++ b/lib/build/framework/h3/index.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const framework_1 = require("./framework"); +exports.middleware = framework_1.H3Wrapper.middlware; +exports.errorHandler = framework_1.H3Wrapper.errorHandler; +exports.wrapRequest = framework_1.H3Wrapper.wrapRequest; +exports.wrapResponse = framework_1.H3Wrapper.wrapResponse; diff --git a/lib/build/framework/h3/types.d.ts b/lib/build/framework/h3/types.d.ts new file mode 100644 index 000000000..ef9d271bf --- /dev/null +++ b/lib/build/framework/h3/types.d.ts @@ -0,0 +1,6 @@ +/// +import { ServerResponse, IncomingMessage } from "http"; +export interface Event { + res: ServerResponse; + req: IncomingMessage; +} diff --git a/lib/build/framework/h3/types.js b/lib/build/framework/h3/types.js new file mode 100644 index 000000000..c8ad2e549 --- /dev/null +++ b/lib/build/framework/h3/types.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/lib/build/framework/hapi/framework.d.ts b/lib/build/framework/hapi/framework.d.ts index a49deac96..4486ebac5 100644 --- a/lib/build/framework/hapi/framework.d.ts +++ b/lib/build/framework/hapi/framework.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { Request, ResponseToolkit, Plugin, ResponseObject } from "@hapi/hapi"; import type { HTTPMethod } from "../../types"; import { BaseRequest } from "../request"; diff --git a/lib/build/framework/hapi/index.d.ts b/lib/build/framework/hapi/index.d.ts index ea293f69b..fb09d5b15 100644 --- a/lib/build/framework/hapi/index.d.ts +++ b/lib/build/framework/hapi/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export type { SessionRequest } from "./framework"; export declare const plugin: import("@hapi/hapi").Plugin<{}>; export declare const wrapRequest: (unwrapped: any) => import("..").BaseRequest; diff --git a/lib/build/framework/index.d.ts b/lib/build/framework/index.d.ts index 8fd8891ce..4ad55393c 100644 --- a/lib/build/framework/index.d.ts +++ b/lib/build/framework/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export { BaseRequest } from "./request"; export { BaseResponse } from "./response"; import * as expressFramework from "./express"; @@ -7,6 +6,7 @@ import * as hapiFramework from "./hapi"; import * as loopbackFramework from "./loopback"; import * as koaFramework from "./koa"; import * as awsLambdaFramework from "./awsLambda"; +import * as h3Framework from "./h3"; declare const _default: { express: typeof expressFramework; fastify: typeof fastifyFramework; @@ -14,6 +14,7 @@ declare const _default: { loopback: typeof loopbackFramework; koa: typeof koaFramework; awsLambda: typeof awsLambdaFramework; + h3: typeof h3Framework; }; export default _default; export declare let express: typeof expressFramework; @@ -22,3 +23,4 @@ export declare let hapi: typeof hapiFramework; export declare let loopback: typeof loopbackFramework; export declare let koa: typeof koaFramework; export declare let awsLambda: typeof awsLambdaFramework; +export declare let h3: typeof h3Framework; diff --git a/lib/build/framework/index.js b/lib/build/framework/index.js index de9aa84e2..222e80db6 100644 --- a/lib/build/framework/index.js +++ b/lib/build/framework/index.js @@ -24,6 +24,7 @@ const hapiFramework = require("./hapi"); const loopbackFramework = require("./loopback"); const koaFramework = require("./koa"); const awsLambdaFramework = require("./awsLambda"); +const h3Framework = require("./h3"); exports.default = { express: expressFramework, fastify: fastifyFramework, @@ -31,6 +32,7 @@ exports.default = { loopback: loopbackFramework, koa: koaFramework, awsLambda: awsLambdaFramework, + h3: h3Framework, }; exports.express = expressFramework; exports.fastify = fastifyFramework; @@ -38,3 +40,4 @@ exports.hapi = hapiFramework; exports.loopback = loopbackFramework; exports.koa = koaFramework; exports.awsLambda = awsLambdaFramework; +exports.h3 = h3Framework; diff --git a/lib/build/framework/koa/framework.d.ts b/lib/build/framework/koa/framework.d.ts index 36fa51dec..b24d57872 100644 --- a/lib/build/framework/koa/framework.d.ts +++ b/lib/build/framework/koa/framework.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { Context, Next } from "koa"; import type { HTTPMethod } from "../../types"; import { BaseRequest } from "../request"; diff --git a/lib/build/framework/koa/index.d.ts b/lib/build/framework/koa/index.d.ts index 1d6395964..3e440bb7a 100644 --- a/lib/build/framework/koa/index.d.ts +++ b/lib/build/framework/koa/index.d.ts @@ -1,4 +1,5 @@ -// @ts-nocheck +/// +/// export type { SessionContext } from "./framework"; export declare const middleware: () => (ctx: import("koa").Context, next: import("koa").Next) => Promise; export declare const wrapRequest: (unwrapped: any) => import("..").BaseRequest; diff --git a/lib/build/framework/loopback/framework.d.ts b/lib/build/framework/loopback/framework.d.ts index ae474aa56..22718e646 100644 --- a/lib/build/framework/loopback/framework.d.ts +++ b/lib/build/framework/loopback/framework.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { MiddlewareContext, Response, Middleware } from "@loopback/rest"; import { SessionContainerInterface } from "../../recipe/session/types"; import { HTTPMethod } from "../../types"; diff --git a/lib/build/framework/loopback/index.d.ts b/lib/build/framework/loopback/index.d.ts index 4074a2fd5..89ccde4f4 100644 --- a/lib/build/framework/loopback/index.d.ts +++ b/lib/build/framework/loopback/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export type { SessionContext } from "./framework"; export declare const middleware: import("@loopback/rest").Middleware; export declare const wrapRequest: (unwrapped: any) => import("..").BaseRequest; diff --git a/lib/build/framework/request.d.ts b/lib/build/framework/request.d.ts index 17513cb35..a79bc1471 100644 --- a/lib/build/framework/request.d.ts +++ b/lib/build/framework/request.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { HTTPMethod } from "../types"; export declare abstract class BaseRequest { wrapperUsed: boolean; diff --git a/lib/build/framework/response.d.ts b/lib/build/framework/response.d.ts index f09730a92..b94d17627 100644 --- a/lib/build/framework/response.d.ts +++ b/lib/build/framework/response.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare abstract class BaseResponse { wrapperUsed: boolean; original: any; diff --git a/lib/build/framework/types.d.ts b/lib/build/framework/types.d.ts index f685b5e0a..954d4fcc9 100644 --- a/lib/build/framework/types.d.ts +++ b/lib/build/framework/types.d.ts @@ -1,5 +1,4 @@ -// @ts-nocheck -export declare type TypeFramework = "express" | "fastify" | "hapi" | "loopback" | "koa" | "awsLambda"; +export declare type TypeFramework = "express" | "fastify" | "hapi" | "loopback" | "koa" | "awsLambda" | "h3"; import { BaseRequest, BaseResponse } from "."; export declare let SchemaFramework: { type: string; diff --git a/lib/build/framework/types.js b/lib/build/framework/types.js index e3e7797ed..a635dfe9f 100644 --- a/lib/build/framework/types.js +++ b/lib/build/framework/types.js @@ -2,5 +2,5 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.SchemaFramework = { type: "string", - enum: ["express", "fastify", "hapi", "loopback", "koa", "awsLambda"], + enum: ["express", "fastify", "hapi", "loopback", "koa", "awsLambda", "h3"], }; diff --git a/lib/build/framework/utils.d.ts b/lib/build/framework/utils.d.ts index 1fafc184f..9118f2037 100644 --- a/lib/build/framework/utils.d.ts +++ b/lib/build/framework/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck /// import type { Request, Response } from "express"; import type { IncomingMessage } from "http"; @@ -24,6 +23,8 @@ export declare function setHeaderForExpressLikeResponse( value: string, allowDuplicateKey: boolean ): void; +export declare function useRawBody(req: IncomingMessage): Promise; +export declare function useBody(req: IncomingMessage): Promise; /** * * @param res diff --git a/lib/build/framework/utils.js b/lib/build/framework/utils.js index f78cbdedd..47bc938ea 100644 --- a/lib/build/framework/utils.js +++ b/lib/build/framework/utils.js @@ -50,6 +50,7 @@ const body_parser_1 = require("body-parser"); const http_1 = require("http"); const error_1 = require("../error"); const constants_1 = require("./constants"); +const destr_1 = require("destr"); function getCookieValueFromHeaders(headers, key) { if (headers === undefined || headers === null) { return undefined; @@ -237,6 +238,41 @@ function setHeaderForExpressLikeResponse(res, key, value, allowDuplicateKey) { } } exports.setHeaderForExpressLikeResponse = setHeaderForExpressLikeResponse; +function useRawBody(req) { + const RawBodySymbol = Symbol("h3RawBody"); + if (RawBodySymbol in this.request) { + const promise = Promise.resolve(req[RawBodySymbol]); + return promise.then((buff) => buff.toString("utf-8")); + } + if ("body" in req) { + return Promise.resolve(this.request.body); + } + const promise = (req[RawBodySymbol] = new Promise((resolve, reject) => { + const bodyData = []; + req.on("error", (err) => reject(err)) + .on("data", (chunk) => { + bodyData.push(chunk); + }) + .on("end", () => { + resolve(Buffer.concat(bodyData)); + }); + })); + return promise.then((buff) => buff.toString("utf-8")); +} +exports.useRawBody = useRawBody; +function useBody(req) { + return __awaiter(this, void 0, void 0, function* () { + const ParsedBodySymbol = Symbol("h3RawBody"); + if (ParsedBodySymbol in req) { + return req[ParsedBodySymbol]; + } + const body = yield useRawBody(req); + const json = destr_1.default(body); + req[ParsedBodySymbol] = json; + return json; + }); +} +exports.useBody = useBody; /** * * @param res diff --git a/lib/build/index.d.ts b/lib/build/index.d.ts index 40c6340dd..68d94be5d 100644 --- a/lib/build/index.d.ts +++ b/lib/build/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import SuperTokens from "./supertokens"; import SuperTokensError from "./error"; export default class SuperTokensWrapper { diff --git a/lib/build/logger.d.ts b/lib/build/logger.d.ts index 1a3a6aef6..3edf34fdc 100644 --- a/lib/build/logger.d.ts +++ b/lib/build/logger.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck declare function logDebugMessage(message: string): void; export { logDebugMessage }; diff --git a/lib/build/nextjs.d.ts b/lib/build/nextjs.d.ts index 195a81422..e04d3c068 100644 --- a/lib/build/nextjs.d.ts +++ b/lib/build/nextjs.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export default class NextJS { static superTokensNextWrapper( middleware: (next: (middlewareError?: any) => void) => Promise, diff --git a/lib/build/normalisedURLDomain.d.ts b/lib/build/normalisedURLDomain.d.ts index b75c15d4b..a5ad011c6 100644 --- a/lib/build/normalisedURLDomain.d.ts +++ b/lib/build/normalisedURLDomain.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export default class NormalisedURLDomain { private value; constructor(url: string); diff --git a/lib/build/normalisedURLPath.d.ts b/lib/build/normalisedURLPath.d.ts index db7787bb4..41e4ee331 100644 --- a/lib/build/normalisedURLPath.d.ts +++ b/lib/build/normalisedURLPath.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export default class NormalisedURLPath { private value; constructor(url: string); diff --git a/lib/build/processState.d.ts b/lib/build/processState.d.ts index aa2d9a2a8..1a226f8c5 100644 --- a/lib/build/processState.d.ts +++ b/lib/build/processState.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare enum PROCESS_STATE { CALLING_SERVICE_IN_VERIFY = 0, CALLING_SERVICE_IN_GET_HANDSHAKE_INFO = 1, diff --git a/lib/build/querier.d.ts b/lib/build/querier.d.ts index 791b32e0a..0a211ea06 100644 --- a/lib/build/querier.d.ts +++ b/lib/build/querier.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import NormalisedURLDomain from "./normalisedURLDomain"; import NormalisedURLPath from "./normalisedURLPath"; export declare class Querier { diff --git a/lib/build/recipe/emailpassword/api/emailExists.d.ts b/lib/build/recipe/emailpassword/api/emailExists.d.ts index 74f301a87..e0f0ae4d8 100644 --- a/lib/build/recipe/emailpassword/api/emailExists.d.ts +++ b/lib/build/recipe/emailpassword/api/emailExists.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function emailExists(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/emailpassword/api/generatePasswordResetToken.d.ts b/lib/build/recipe/emailpassword/api/generatePasswordResetToken.d.ts index 866cf3c64..3e0bfbb08 100644 --- a/lib/build/recipe/emailpassword/api/generatePasswordResetToken.d.ts +++ b/lib/build/recipe/emailpassword/api/generatePasswordResetToken.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function generatePasswordResetToken( apiImplementation: APIInterface, diff --git a/lib/build/recipe/emailpassword/api/implementation.d.ts b/lib/build/recipe/emailpassword/api/implementation.d.ts index 402db9918..a1619b2fd 100644 --- a/lib/build/recipe/emailpassword/api/implementation.d.ts +++ b/lib/build/recipe/emailpassword/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../"; export default function getAPIImplementation(): APIInterface; diff --git a/lib/build/recipe/emailpassword/api/passwordReset.d.ts b/lib/build/recipe/emailpassword/api/passwordReset.d.ts index 4b5e6641c..b3eff0ec7 100644 --- a/lib/build/recipe/emailpassword/api/passwordReset.d.ts +++ b/lib/build/recipe/emailpassword/api/passwordReset.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function passwordReset(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/emailpassword/api/signin.d.ts b/lib/build/recipe/emailpassword/api/signin.d.ts index 6ca49c1fc..73c69f7c8 100644 --- a/lib/build/recipe/emailpassword/api/signin.d.ts +++ b/lib/build/recipe/emailpassword/api/signin.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function signInAPI(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/emailpassword/api/signup.d.ts b/lib/build/recipe/emailpassword/api/signup.d.ts index bd1fa2e88..939be43a2 100644 --- a/lib/build/recipe/emailpassword/api/signup.d.ts +++ b/lib/build/recipe/emailpassword/api/signup.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function signUpAPI(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/emailpassword/api/utils.d.ts b/lib/build/recipe/emailpassword/api/utils.d.ts index 5579f71cc..055c33ac0 100644 --- a/lib/build/recipe/emailpassword/api/utils.d.ts +++ b/lib/build/recipe/emailpassword/api/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedFormField } from "../types"; export declare function validateFormFieldsOrThrowError( configFormFields: NormalisedFormField[], diff --git a/lib/build/recipe/emailpassword/constants.d.ts b/lib/build/recipe/emailpassword/constants.d.ts index 9b58b697a..98af9478d 100644 --- a/lib/build/recipe/emailpassword/constants.d.ts +++ b/lib/build/recipe/emailpassword/constants.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare const FORM_FIELD_PASSWORD_ID = "password"; export declare const FORM_FIELD_EMAIL_ID = "email"; export declare const SIGN_UP_API = "/signup"; diff --git a/lib/build/recipe/emailpassword/error.d.ts b/lib/build/recipe/emailpassword/error.d.ts index d4dc2cf9b..e55ae7b3f 100644 --- a/lib/build/recipe/emailpassword/error.d.ts +++ b/lib/build/recipe/emailpassword/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class SessionError extends STError { static FIELD_ERROR: "FIELD_ERROR"; diff --git a/lib/build/recipe/emailpassword/index.d.ts b/lib/build/recipe/emailpassword/index.d.ts index aa7589815..cc6f13f47 100644 --- a/lib/build/recipe/emailpassword/index.d.ts +++ b/lib/build/recipe/emailpassword/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import SuperTokensError from "./error"; import { RecipeInterface, User, APIOptions, APIInterface } from "./types"; diff --git a/lib/build/recipe/emailpassword/passwordResetFunctions.d.ts b/lib/build/recipe/emailpassword/passwordResetFunctions.d.ts index 43f375d8a..f75771b52 100644 --- a/lib/build/recipe/emailpassword/passwordResetFunctions.d.ts +++ b/lib/build/recipe/emailpassword/passwordResetFunctions.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { User } from "./types"; import { NormalisedAppinfo } from "../../types"; export declare function getResetPasswordURL(appInfo: NormalisedAppinfo): (_: User) => Promise; diff --git a/lib/build/recipe/emailpassword/recipe.d.ts b/lib/build/recipe/emailpassword/recipe.d.ts index 2e1355acd..23dcf8309 100644 --- a/lib/build/recipe/emailpassword/recipe.d.ts +++ b/lib/build/recipe/emailpassword/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { TypeInput, TypeNormalisedInput, RecipeInterface, APIInterface } from "./types"; import { NormalisedAppinfo, APIHandled, RecipeListFunction, HTTPMethod } from "../../types"; diff --git a/lib/build/recipe/emailpassword/recipeImplementation.d.ts b/lib/build/recipe/emailpassword/recipeImplementation.d.ts index 86bf78a27..8a3a26d7c 100644 --- a/lib/build/recipe/emailpassword/recipeImplementation.d.ts +++ b/lib/build/recipe/emailpassword/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "./types"; import { Querier } from "../../querier"; export default function getRecipeInterface(querier: Querier): RecipeInterface; diff --git a/lib/build/recipe/emailpassword/types.d.ts b/lib/build/recipe/emailpassword/types.d.ts index fce33bd12..f2d7ad2ea 100644 --- a/lib/build/recipe/emailpassword/types.d.ts +++ b/lib/build/recipe/emailpassword/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface as EmailVerificationRecipeInterface, APIInterface as EmailVerificationAPIInterface, diff --git a/lib/build/recipe/emailpassword/utils.d.ts b/lib/build/recipe/emailpassword/utils.d.ts index 590ced94b..14fa3d4b6 100644 --- a/lib/build/recipe/emailpassword/utils.d.ts +++ b/lib/build/recipe/emailpassword/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import { TypeInput, TypeNormalisedInput, NormalisedFormField, TypeInputFormField } from "./types"; import { NormalisedAppinfo } from "../../types"; diff --git a/lib/build/recipe/emailverification/api/emailVerify.d.ts b/lib/build/recipe/emailverification/api/emailVerify.d.ts index bd6b5b6c4..3504f8e34 100644 --- a/lib/build/recipe/emailverification/api/emailVerify.d.ts +++ b/lib/build/recipe/emailverification/api/emailVerify.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function emailVerify(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/emailverification/api/generateEmailVerifyToken.d.ts b/lib/build/recipe/emailverification/api/generateEmailVerifyToken.d.ts index 0bea1d2c2..fb90e6d31 100644 --- a/lib/build/recipe/emailverification/api/generateEmailVerifyToken.d.ts +++ b/lib/build/recipe/emailverification/api/generateEmailVerifyToken.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function generateEmailVerifyToken( apiImplementation: APIInterface, diff --git a/lib/build/recipe/emailverification/api/implementation.d.ts b/lib/build/recipe/emailverification/api/implementation.d.ts index dd40e7025..b3c21a436 100644 --- a/lib/build/recipe/emailverification/api/implementation.d.ts +++ b/lib/build/recipe/emailverification/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../"; export default function getAPIInterface(): APIInterface; diff --git a/lib/build/recipe/emailverification/constants.d.ts b/lib/build/recipe/emailverification/constants.d.ts index 7d50fa860..ebc1e0937 100644 --- a/lib/build/recipe/emailverification/constants.d.ts +++ b/lib/build/recipe/emailverification/constants.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck export declare const GENERATE_EMAIL_VERIFY_TOKEN_API = "/user/email/verify/token"; export declare const EMAIL_VERIFY_API = "/user/email/verify"; diff --git a/lib/build/recipe/emailverification/emailVerificationFunctions.d.ts b/lib/build/recipe/emailverification/emailVerificationFunctions.d.ts index 5f9117973..bc6bd6cc7 100644 --- a/lib/build/recipe/emailverification/emailVerificationFunctions.d.ts +++ b/lib/build/recipe/emailverification/emailVerificationFunctions.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { User } from "./types"; import { NormalisedAppinfo } from "../../types"; export declare function getEmailVerificationURL(appInfo: NormalisedAppinfo): (_: User) => Promise; diff --git a/lib/build/recipe/emailverification/error.d.ts b/lib/build/recipe/emailverification/error.d.ts index 486758b61..2eab0a85f 100644 --- a/lib/build/recipe/emailverification/error.d.ts +++ b/lib/build/recipe/emailverification/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class SessionError extends STError { constructor(options: { type: "BAD_INPUT_ERROR"; message: string }); diff --git a/lib/build/recipe/emailverification/index.d.ts b/lib/build/recipe/emailverification/index.d.ts index 0b3c90113..32b0d1313 100644 --- a/lib/build/recipe/emailverification/index.d.ts +++ b/lib/build/recipe/emailverification/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import SuperTokensError from "./error"; import { RecipeInterface, APIOptions, APIInterface, User } from "./types"; diff --git a/lib/build/recipe/emailverification/recipe.d.ts b/lib/build/recipe/emailverification/recipe.d.ts index 685c1e4a2..ec8314c02 100644 --- a/lib/build/recipe/emailverification/recipe.d.ts +++ b/lib/build/recipe/emailverification/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { TypeInput, TypeNormalisedInput, RecipeInterface, APIInterface } from "./types"; import { NormalisedAppinfo, APIHandled, RecipeListFunction, HTTPMethod } from "../../types"; diff --git a/lib/build/recipe/emailverification/recipeImplementation.d.ts b/lib/build/recipe/emailverification/recipeImplementation.d.ts index 6a2182ed3..d6ed6101f 100644 --- a/lib/build/recipe/emailverification/recipeImplementation.d.ts +++ b/lib/build/recipe/emailverification/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "./"; import { Querier } from "../../querier"; export default function getRecipeInterface(querier: Querier): RecipeInterface; diff --git a/lib/build/recipe/emailverification/types.d.ts b/lib/build/recipe/emailverification/types.d.ts index 3d8e50f1b..922a0ef57 100644 --- a/lib/build/recipe/emailverification/types.d.ts +++ b/lib/build/recipe/emailverification/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { BaseRequest, BaseResponse } from "../../framework"; import OverrideableBuilder from "supertokens-js-override"; export declare type TypeInput = { diff --git a/lib/build/recipe/emailverification/utils.d.ts b/lib/build/recipe/emailverification/utils.d.ts index 488e181a2..1219cbcbc 100644 --- a/lib/build/recipe/emailverification/utils.d.ts +++ b/lib/build/recipe/emailverification/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import { TypeInput, TypeNormalisedInput } from "./types"; import { NormalisedAppinfo } from "../../types"; diff --git a/lib/build/recipe/jwt/api/getJWKS.d.ts b/lib/build/recipe/jwt/api/getJWKS.d.ts index 7b983911b..ac9271746 100644 --- a/lib/build/recipe/jwt/api/getJWKS.d.ts +++ b/lib/build/recipe/jwt/api/getJWKS.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../types"; export default function getJWKS(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/jwt/api/implementation.d.ts b/lib/build/recipe/jwt/api/implementation.d.ts index 0218549fa..75c1214f2 100644 --- a/lib/build/recipe/jwt/api/implementation.d.ts +++ b/lib/build/recipe/jwt/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../types"; export default function getAPIImplementation(): APIInterface; diff --git a/lib/build/recipe/jwt/constants.d.ts b/lib/build/recipe/jwt/constants.d.ts index 719f84e81..298c59b58 100644 --- a/lib/build/recipe/jwt/constants.d.ts +++ b/lib/build/recipe/jwt/constants.d.ts @@ -1,2 +1 @@ -// @ts-nocheck export declare const GET_JWKS_API = "/jwt/jwks.json"; diff --git a/lib/build/recipe/jwt/index.d.ts b/lib/build/recipe/jwt/index.d.ts index 274bd280b..7bc4880c9 100644 --- a/lib/build/recipe/jwt/index.d.ts +++ b/lib/build/recipe/jwt/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import { APIInterface, RecipeInterface, APIOptions, JsonWebKey } from "./types"; export default class Wrapper { diff --git a/lib/build/recipe/jwt/recipe.d.ts b/lib/build/recipe/jwt/recipe.d.ts index 714362caa..1c3cd5664 100644 --- a/lib/build/recipe/jwt/recipe.d.ts +++ b/lib/build/recipe/jwt/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import error from "../../error"; import { BaseRequest, BaseResponse } from "../../framework"; import NormalisedURLPath from "../../normalisedURLPath"; diff --git a/lib/build/recipe/jwt/recipeImplementation.d.ts b/lib/build/recipe/jwt/recipeImplementation.d.ts index 5109fbcb1..198e4d95f 100644 --- a/lib/build/recipe/jwt/recipeImplementation.d.ts +++ b/lib/build/recipe/jwt/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { Querier } from "../../querier"; import { NormalisedAppinfo } from "../../types"; import { RecipeInterface, TypeNormalisedInput } from "./types"; diff --git a/lib/build/recipe/jwt/types.d.ts b/lib/build/recipe/jwt/types.d.ts index 48465c3db..e4f292890 100644 --- a/lib/build/recipe/jwt/types.d.ts +++ b/lib/build/recipe/jwt/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { BaseRequest, BaseResponse } from "../../framework"; import OverrideableBuilder from "supertokens-js-override"; export declare type JsonWebKey = { diff --git a/lib/build/recipe/jwt/utils.d.ts b/lib/build/recipe/jwt/utils.d.ts index 4025b1b44..e368bc539 100644 --- a/lib/build/recipe/jwt/utils.d.ts +++ b/lib/build/recipe/jwt/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedAppinfo } from "../../types"; import Recipe from "./recipe"; import { TypeInput, TypeNormalisedInput } from "./types"; diff --git a/lib/build/recipe/openid/api/getOpenIdDiscoveryConfiguration.d.ts b/lib/build/recipe/openid/api/getOpenIdDiscoveryConfiguration.d.ts index e1cd1cd3b..1bdb0fcdb 100644 --- a/lib/build/recipe/openid/api/getOpenIdDiscoveryConfiguration.d.ts +++ b/lib/build/recipe/openid/api/getOpenIdDiscoveryConfiguration.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../types"; export default function getOpenIdDiscoveryConfiguration( apiImplementation: APIInterface, diff --git a/lib/build/recipe/openid/api/implementation.d.ts b/lib/build/recipe/openid/api/implementation.d.ts index 0218549fa..75c1214f2 100644 --- a/lib/build/recipe/openid/api/implementation.d.ts +++ b/lib/build/recipe/openid/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../types"; export default function getAPIImplementation(): APIInterface; diff --git a/lib/build/recipe/openid/constants.d.ts b/lib/build/recipe/openid/constants.d.ts index 241a857f7..410727137 100644 --- a/lib/build/recipe/openid/constants.d.ts +++ b/lib/build/recipe/openid/constants.d.ts @@ -1,2 +1 @@ -// @ts-nocheck export declare const GET_DISCOVERY_CONFIG_URL = "/.well-known/openid-configuration"; diff --git a/lib/build/recipe/openid/index.d.ts b/lib/build/recipe/openid/index.d.ts index c84226a59..5eddbb0ef 100644 --- a/lib/build/recipe/openid/index.d.ts +++ b/lib/build/recipe/openid/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import OpenIdRecipe from "./recipe"; export default class OpenIdRecipeWrapper { static init: typeof OpenIdRecipe.init; diff --git a/lib/build/recipe/openid/recipe.d.ts b/lib/build/recipe/openid/recipe.d.ts index 0de7ecdc7..e6431dc5e 100644 --- a/lib/build/recipe/openid/recipe.d.ts +++ b/lib/build/recipe/openid/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; import { BaseRequest, BaseResponse } from "../../framework"; import normalisedURLPath from "../../normalisedURLPath"; diff --git a/lib/build/recipe/openid/recipeImplementation.d.ts b/lib/build/recipe/openid/recipeImplementation.d.ts index d4698099c..4136ac535 100644 --- a/lib/build/recipe/openid/recipeImplementation.d.ts +++ b/lib/build/recipe/openid/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface, TypeNormalisedInput } from "./types"; import { RecipeInterface as JWTRecipeInterface } from "../jwt/types"; export default function getRecipeInterface( diff --git a/lib/build/recipe/openid/types.d.ts b/lib/build/recipe/openid/types.d.ts index 46d7e48ea..b80a59079 100644 --- a/lib/build/recipe/openid/types.d.ts +++ b/lib/build/recipe/openid/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import OverrideableBuilder from "supertokens-js-override"; import { BaseRequest, BaseResponse } from "../../framework"; import NormalisedURLDomain from "../../normalisedURLDomain"; diff --git a/lib/build/recipe/openid/utils.d.ts b/lib/build/recipe/openid/utils.d.ts index 6b5abd280..79c8d178d 100644 --- a/lib/build/recipe/openid/utils.d.ts +++ b/lib/build/recipe/openid/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedAppinfo } from "../../types"; import { TypeInput, TypeNormalisedInput } from "./types"; export declare function validateAndNormaliseUserInput( diff --git a/lib/build/recipe/passwordless/api/consumeCode.d.ts b/lib/build/recipe/passwordless/api/consumeCode.d.ts index 0f21b8d73..9163dc48d 100644 --- a/lib/build/recipe/passwordless/api/consumeCode.d.ts +++ b/lib/build/recipe/passwordless/api/consumeCode.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from ".."; export default function consumeCode(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/passwordless/api/createCode.d.ts b/lib/build/recipe/passwordless/api/createCode.d.ts index d72ea96e0..45f20a34f 100644 --- a/lib/build/recipe/passwordless/api/createCode.d.ts +++ b/lib/build/recipe/passwordless/api/createCode.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from ".."; export default function createCode(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/passwordless/api/emailExists.d.ts b/lib/build/recipe/passwordless/api/emailExists.d.ts index 74f301a87..e0f0ae4d8 100644 --- a/lib/build/recipe/passwordless/api/emailExists.d.ts +++ b/lib/build/recipe/passwordless/api/emailExists.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function emailExists(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/passwordless/api/implementation.d.ts b/lib/build/recipe/passwordless/api/implementation.d.ts index 402db9918..a1619b2fd 100644 --- a/lib/build/recipe/passwordless/api/implementation.d.ts +++ b/lib/build/recipe/passwordless/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../"; export default function getAPIImplementation(): APIInterface; diff --git a/lib/build/recipe/passwordless/api/phoneNumberExists.d.ts b/lib/build/recipe/passwordless/api/phoneNumberExists.d.ts index 9416f0cda..45f1a72ff 100644 --- a/lib/build/recipe/passwordless/api/phoneNumberExists.d.ts +++ b/lib/build/recipe/passwordless/api/phoneNumberExists.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from ".."; export default function phoneNumberExists(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/passwordless/api/resendCode.d.ts b/lib/build/recipe/passwordless/api/resendCode.d.ts index ad4629bb6..80b411dd8 100644 --- a/lib/build/recipe/passwordless/api/resendCode.d.ts +++ b/lib/build/recipe/passwordless/api/resendCode.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from ".."; export default function resendCode(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/passwordless/constants.d.ts b/lib/build/recipe/passwordless/constants.d.ts index f7438a00e..02bb019f4 100644 --- a/lib/build/recipe/passwordless/constants.d.ts +++ b/lib/build/recipe/passwordless/constants.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare const CREATE_CODE_API = "/signinup/code"; export declare const RESEND_CODE_API = "/signinup/code/resend"; export declare const CONSUME_CODE_API = "/signinup/code/consume"; diff --git a/lib/build/recipe/passwordless/error.d.ts b/lib/build/recipe/passwordless/error.d.ts index 486758b61..2eab0a85f 100644 --- a/lib/build/recipe/passwordless/error.d.ts +++ b/lib/build/recipe/passwordless/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class SessionError extends STError { constructor(options: { type: "BAD_INPUT_ERROR"; message: string }); diff --git a/lib/build/recipe/passwordless/index.d.ts b/lib/build/recipe/passwordless/index.d.ts index d312d041a..7796a61cd 100644 --- a/lib/build/recipe/passwordless/index.d.ts +++ b/lib/build/recipe/passwordless/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import SuperTokensError from "./error"; import { RecipeInterface, User, APIOptions, APIInterface } from "./types"; diff --git a/lib/build/recipe/passwordless/recipe.d.ts b/lib/build/recipe/passwordless/recipe.d.ts index b63528e17..918518665 100644 --- a/lib/build/recipe/passwordless/recipe.d.ts +++ b/lib/build/recipe/passwordless/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { TypeInput, TypeNormalisedInput, RecipeInterface, APIInterface } from "./types"; import { NormalisedAppinfo, APIHandled, RecipeListFunction, HTTPMethod } from "../../types"; diff --git a/lib/build/recipe/passwordless/recipeImplementation.d.ts b/lib/build/recipe/passwordless/recipeImplementation.d.ts index 86bf78a27..8a3a26d7c 100644 --- a/lib/build/recipe/passwordless/recipeImplementation.d.ts +++ b/lib/build/recipe/passwordless/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "./types"; import { Querier } from "../../querier"; export default function getRecipeInterface(querier: Querier): RecipeInterface; diff --git a/lib/build/recipe/passwordless/types.d.ts b/lib/build/recipe/passwordless/types.d.ts index 9ede59083..e4bc0d4ea 100644 --- a/lib/build/recipe/passwordless/types.d.ts +++ b/lib/build/recipe/passwordless/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { BaseRequest, BaseResponse } from "../../framework"; import OverrideableBuilder from "supertokens-js-override"; import { SessionContainerInterface } from "../session/types"; diff --git a/lib/build/recipe/passwordless/utils.d.ts b/lib/build/recipe/passwordless/utils.d.ts index 488e181a2..1219cbcbc 100644 --- a/lib/build/recipe/passwordless/utils.d.ts +++ b/lib/build/recipe/passwordless/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import { TypeInput, TypeNormalisedInput } from "./types"; import { NormalisedAppinfo } from "../../types"; diff --git a/lib/build/recipe/session/accessToken.d.ts b/lib/build/recipe/session/accessToken.d.ts index e40021bb8..3aa8315e6 100644 --- a/lib/build/recipe/session/accessToken.d.ts +++ b/lib/build/recipe/session/accessToken.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare function getInfoFromAccessToken( token: string, jwtSigningPublicKey: string, diff --git a/lib/build/recipe/session/api/implementation.d.ts b/lib/build/recipe/session/api/implementation.d.ts index dd40e7025..b3c21a436 100644 --- a/lib/build/recipe/session/api/implementation.d.ts +++ b/lib/build/recipe/session/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../"; export default function getAPIInterface(): APIInterface; diff --git a/lib/build/recipe/session/api/refresh.d.ts b/lib/build/recipe/session/api/refresh.d.ts index 6b4746e67..a24161ed0 100644 --- a/lib/build/recipe/session/api/refresh.d.ts +++ b/lib/build/recipe/session/api/refresh.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function handleRefreshAPI(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/session/api/signout.d.ts b/lib/build/recipe/session/api/signout.d.ts index 0e1d985d3..93bd2141e 100644 --- a/lib/build/recipe/session/api/signout.d.ts +++ b/lib/build/recipe/session/api/signout.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function signOutAPI(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/session/constants.d.ts b/lib/build/recipe/session/constants.d.ts index 82a2b430c..4b327324d 100644 --- a/lib/build/recipe/session/constants.d.ts +++ b/lib/build/recipe/session/constants.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck export declare const REFRESH_API_PATH = "/session/refresh"; export declare const SIGNOUT_API_PATH = "/signout"; diff --git a/lib/build/recipe/session/cookieAndHeaders.d.ts b/lib/build/recipe/session/cookieAndHeaders.d.ts index 7bd9547b6..5101ab168 100644 --- a/lib/build/recipe/session/cookieAndHeaders.d.ts +++ b/lib/build/recipe/session/cookieAndHeaders.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { BaseRequest, BaseResponse } from "../../framework"; import { TypeNormalisedInput } from "./types"; /** diff --git a/lib/build/recipe/session/error.d.ts b/lib/build/recipe/session/error.d.ts index 7f2868e10..6bb2fe866 100644 --- a/lib/build/recipe/session/error.d.ts +++ b/lib/build/recipe/session/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class SessionError extends STError { static UNAUTHORISED: "UNAUTHORISED"; diff --git a/lib/build/recipe/session/faunadb/constants.d.ts b/lib/build/recipe/session/faunadb/constants.d.ts index 5866986e1..91c164f3d 100644 --- a/lib/build/recipe/session/faunadb/constants.d.ts +++ b/lib/build/recipe/session/faunadb/constants.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck export declare const FAUNADB_TOKEN_TIME_LAG_MILLI: number; export declare const FAUNADB_SESSION_KEY = "faunadbToken"; diff --git a/lib/build/recipe/session/faunadb/index.d.ts b/lib/build/recipe/session/faunadb/index.d.ts index ad4b0fa84..9d4df0e1b 100644 --- a/lib/build/recipe/session/faunadb/index.d.ts +++ b/lib/build/recipe/session/faunadb/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import OriginalRecipeImplementation from "./recipeImplementation"; import { Session } from "./types"; export default OriginalRecipeImplementation; diff --git a/lib/build/recipe/session/faunadb/recipeImplementation.d.ts b/lib/build/recipe/session/faunadb/recipeImplementation.d.ts index 723584c3b..e09f182b7 100644 --- a/lib/build/recipe/session/faunadb/recipeImplementation.d.ts +++ b/lib/build/recipe/session/faunadb/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { VerifySessionOptions, RecipeInterface } from "../"; import * as faunadb from "faunadb"; import type { Session as FaunaDBSessionContainer } from "./types"; diff --git a/lib/build/recipe/session/faunadb/types.d.ts b/lib/build/recipe/session/faunadb/types.d.ts index a04bbfbdd..6afb4b410 100644 --- a/lib/build/recipe/session/faunadb/types.d.ts +++ b/lib/build/recipe/session/faunadb/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { SessionContainer } from "../"; export declare type Session = SessionContainer & { getFaunadbToken: (userContext?: any) => Promise; diff --git a/lib/build/recipe/session/framework/awsLambda.d.ts b/lib/build/recipe/session/framework/awsLambda.d.ts index 2b5f88975..90ed03730 100644 --- a/lib/build/recipe/session/framework/awsLambda.d.ts +++ b/lib/build/recipe/session/framework/awsLambda.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { Handler } from "aws-lambda"; import { VerifySessionOptions } from ".."; export declare function verifySession(handler: Handler, verifySessionOptions?: VerifySessionOptions): Handler; diff --git a/lib/build/recipe/session/framework/express.d.ts b/lib/build/recipe/session/framework/express.d.ts index bcb0bf234..b8623860f 100644 --- a/lib/build/recipe/session/framework/express.d.ts +++ b/lib/build/recipe/session/framework/express.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { VerifySessionOptions } from ".."; import type { SessionRequest } from "../../../framework/express/framework"; import type { NextFunction, Response } from "express"; diff --git a/lib/build/recipe/session/framework/fastify.d.ts b/lib/build/recipe/session/framework/fastify.d.ts index 6d8e9fe45..cfba856bc 100644 --- a/lib/build/recipe/session/framework/fastify.d.ts +++ b/lib/build/recipe/session/framework/fastify.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck /// import { VerifySessionOptions } from ".."; import { SessionRequest } from "../../../framework/fastify/framework"; diff --git a/lib/build/recipe/session/framework/h3.d.ts b/lib/build/recipe/session/framework/h3.d.ts new file mode 100644 index 000000000..4ef9a68f2 --- /dev/null +++ b/lib/build/recipe/session/framework/h3.d.ts @@ -0,0 +1,7 @@ +/// +import type { VerifySessionOptions } from "../types"; +import type { SessionRequest } from "../../../framework/h3"; +import { ServerResponse } from "http"; +export declare function verifySession( + options?: VerifySessionOptions +): (req: SessionRequest, res: ServerResponse, next: (err?: Error | undefined) => any) => Promise; diff --git a/lib/build/recipe/session/framework/h3.js b/lib/build/recipe/session/framework/h3.js new file mode 100644 index 000000000..e5a0d2968 --- /dev/null +++ b/lib/build/recipe/session/framework/h3.js @@ -0,0 +1,56 @@ +"use strict"; +var __awaiter = + (this && this.__awaiter) || + function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P + ? value + : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; +Object.defineProperty(exports, "__esModule", { value: true }); +const recipe_1 = require("../recipe"); +const framework_1 = require("../../../framework/h3/framework"); +const supertokens_1 = require("../../../supertokens"); +function verifySession(options) { + return (req, res, next) => + __awaiter(this, void 0, void 0, function* () { + const request = new framework_1.H3Request(req); + const response = new framework_1.H3ResponseTokens(res); + try { + const sessionRecipe = recipe_1.default.getInstanceOrThrowError(); + req.session = yield sessionRecipe.verifySession(options, request, response); + next(); + } catch (err) { + try { + const supertokens = supertokens_1.default.getInstanceOrThrowError(); + yield supertokens.errorHandler(err, request, response); + } catch (err) { + next(err); + } + } + }); +} +exports.verifySession = verifySession; diff --git a/lib/build/recipe/session/framework/hapi.d.ts b/lib/build/recipe/session/framework/hapi.d.ts index 0181a9012..8f00dad02 100644 --- a/lib/build/recipe/session/framework/hapi.d.ts +++ b/lib/build/recipe/session/framework/hapi.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { VerifySessionOptions } from ".."; import { ResponseToolkit } from "@hapi/hapi"; import { SessionRequest } from "../../../framework/hapi/framework"; diff --git a/lib/build/recipe/session/framework/index.d.ts b/lib/build/recipe/session/framework/index.d.ts index dfba9d1f7..c54549cd2 100644 --- a/lib/build/recipe/session/framework/index.d.ts +++ b/lib/build/recipe/session/framework/index.d.ts @@ -1,10 +1,10 @@ -// @ts-nocheck import * as expressFramework from "./express"; import * as fastifyFramework from "./fastify"; import * as hapiFramework from "./hapi"; import * as loopbackFramework from "./loopback"; import * as koaFramework from "./koa"; import * as awsLambdaFramework from "./awsLambda"; +import * as h3Framework from "./h3"; declare const _default: { express: typeof expressFramework; fastify: typeof fastifyFramework; @@ -12,6 +12,7 @@ declare const _default: { loopback: typeof loopbackFramework; koa: typeof koaFramework; awsLambda: typeof awsLambdaFramework; + h3: typeof h3Framework; }; export default _default; export declare let express: typeof expressFramework; @@ -20,3 +21,4 @@ export declare let hapi: typeof hapiFramework; export declare let loopback: typeof loopbackFramework; export declare let koa: typeof koaFramework; export declare let awsLambda: typeof awsLambdaFramework; +export declare let h3: typeof h3Framework; diff --git a/lib/build/recipe/session/framework/index.js b/lib/build/recipe/session/framework/index.js index 0f0ccf5cd..6bee76f22 100644 --- a/lib/build/recipe/session/framework/index.js +++ b/lib/build/recipe/session/framework/index.js @@ -20,6 +20,7 @@ const hapiFramework = require("./hapi"); const loopbackFramework = require("./loopback"); const koaFramework = require("./koa"); const awsLambdaFramework = require("./awsLambda"); +const h3Framework = require("./h3"); exports.default = { express: expressFramework, fastify: fastifyFramework, @@ -27,6 +28,7 @@ exports.default = { loopback: loopbackFramework, koa: koaFramework, awsLambda: awsLambdaFramework, + h3: h3Framework, }; exports.express = expressFramework; exports.fastify = fastifyFramework; @@ -34,3 +36,4 @@ exports.hapi = hapiFramework; exports.loopback = loopbackFramework; exports.koa = koaFramework; exports.awsLambda = awsLambdaFramework; +exports.h3 = h3Framework; diff --git a/lib/build/recipe/session/framework/koa.d.ts b/lib/build/recipe/session/framework/koa.d.ts index 9e23ae80b..e961a524b 100644 --- a/lib/build/recipe/session/framework/koa.d.ts +++ b/lib/build/recipe/session/framework/koa.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { VerifySessionOptions } from ".."; import type { Next } from "koa"; import type { SessionContext } from "../../../framework/koa/framework"; diff --git a/lib/build/recipe/session/framework/loopback.d.ts b/lib/build/recipe/session/framework/loopback.d.ts index ee251753d..32a45a77f 100644 --- a/lib/build/recipe/session/framework/loopback.d.ts +++ b/lib/build/recipe/session/framework/loopback.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { VerifySessionOptions } from ".."; import { InterceptorOrKey } from "@loopback/core"; export declare function verifySession(options?: VerifySessionOptions): InterceptorOrKey; diff --git a/lib/build/recipe/session/index.d.ts b/lib/build/recipe/session/index.d.ts index 952e846f3..99faaec05 100644 --- a/lib/build/recipe/session/index.d.ts +++ b/lib/build/recipe/session/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import SuperTokensError from "./error"; import { VerifySessionOptions, diff --git a/lib/build/recipe/session/jwt.d.ts b/lib/build/recipe/session/jwt.d.ts index 04e1066e4..656c61266 100644 --- a/lib/build/recipe/session/jwt.d.ts +++ b/lib/build/recipe/session/jwt.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare function verifyJWTAndGetPayload( jwt: string, jwtSigningPublicKey: string diff --git a/lib/build/recipe/session/recipe.d.ts b/lib/build/recipe/session/recipe.d.ts index 02c1df910..e08cc0182 100644 --- a/lib/build/recipe/session/recipe.d.ts +++ b/lib/build/recipe/session/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { TypeInput, TypeNormalisedInput, RecipeInterface, APIInterface, VerifySessionOptions } from "./types"; import STError from "./error"; diff --git a/lib/build/recipe/session/recipeImplementation.d.ts b/lib/build/recipe/session/recipeImplementation.d.ts index 6c54641d8..3f7980b4b 100644 --- a/lib/build/recipe/session/recipeImplementation.d.ts +++ b/lib/build/recipe/session/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface, TypeNormalisedInput, KeyInfo, AntiCsrfType } from "./types"; import { Querier } from "../../querier"; export declare class HandshakeInfo { diff --git a/lib/build/recipe/session/sessionClass.d.ts b/lib/build/recipe/session/sessionClass.d.ts index 11fd84103..f7704e9d0 100644 --- a/lib/build/recipe/session/sessionClass.d.ts +++ b/lib/build/recipe/session/sessionClass.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { BaseResponse } from "../../framework"; import { SessionContainerInterface } from "./types"; import { Helpers } from "./recipeImplementation"; diff --git a/lib/build/recipe/session/sessionFunctions.d.ts b/lib/build/recipe/session/sessionFunctions.d.ts index 3e5458f9a..079e7864e 100644 --- a/lib/build/recipe/session/sessionFunctions.d.ts +++ b/lib/build/recipe/session/sessionFunctions.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { CreateOrRefreshAPIResponse, SessionInformation } from "./types"; import { Helpers } from "./recipeImplementation"; /** diff --git a/lib/build/recipe/session/types.d.ts b/lib/build/recipe/session/types.d.ts index 5afa5169d..96c4e7a54 100644 --- a/lib/build/recipe/session/types.d.ts +++ b/lib/build/recipe/session/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { BaseRequest, BaseResponse } from "../../framework"; import NormalisedURLPath from "../../normalisedURLPath"; import { RecipeInterface as JWTRecipeInterface, APIInterface as JWTAPIInterface } from "../jwt/types"; diff --git a/lib/build/recipe/session/utils.d.ts b/lib/build/recipe/session/utils.d.ts index a13680795..ff00cc684 100644 --- a/lib/build/recipe/session/utils.d.ts +++ b/lib/build/recipe/session/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { CreateOrRefreshAPIResponse, TypeInput, TypeNormalisedInput } from "./types"; import SessionRecipe from "./recipe"; import { NormalisedAppinfo } from "../../types"; diff --git a/lib/build/recipe/session/with-jwt/constants.d.ts b/lib/build/recipe/session/with-jwt/constants.d.ts index 324030f7b..5260dd27a 100644 --- a/lib/build/recipe/session/with-jwt/constants.d.ts +++ b/lib/build/recipe/session/with-jwt/constants.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck export declare const ACCESS_TOKEN_PAYLOAD_JWT_PROPERTY_NAME_KEY = "_jwtPName"; export declare const JWT_RESERVED_KEY_USE_ERROR_MESSAGE: string; diff --git a/lib/build/recipe/session/with-jwt/index.d.ts b/lib/build/recipe/session/with-jwt/index.d.ts index f8ccc90af..3e972865f 100644 --- a/lib/build/recipe/session/with-jwt/index.d.ts +++ b/lib/build/recipe/session/with-jwt/index.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import OriginalImplementation from "./recipeImplementation"; export default OriginalImplementation; diff --git a/lib/build/recipe/session/with-jwt/recipeImplementation.d.ts b/lib/build/recipe/session/with-jwt/recipeImplementation.d.ts index debe5ce4b..d089224ea 100644 --- a/lib/build/recipe/session/with-jwt/recipeImplementation.d.ts +++ b/lib/build/recipe/session/with-jwt/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../"; import { RecipeInterface as OpenIdRecipeInterface } from "../../openid/types"; import { TypeNormalisedInput } from "../types"; diff --git a/lib/build/recipe/session/with-jwt/sessionClass.d.ts b/lib/build/recipe/session/with-jwt/sessionClass.d.ts index 6912ae928..945666439 100644 --- a/lib/build/recipe/session/with-jwt/sessionClass.d.ts +++ b/lib/build/recipe/session/with-jwt/sessionClass.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface as OpenIdRecipeInterface } from "../../openid/types"; import { SessionContainerInterface } from "../types"; export default class SessionClassWithJWT implements SessionContainerInterface { diff --git a/lib/build/recipe/session/with-jwt/utils.d.ts b/lib/build/recipe/session/with-jwt/utils.d.ts index 3a4b54185..7d716db8d 100644 --- a/lib/build/recipe/session/with-jwt/utils.d.ts +++ b/lib/build/recipe/session/with-jwt/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface as OpenIdRecipeInterface } from "../../openid/types"; export declare function addJWTToAccessTokenPayload({ accessTokenPayload, diff --git a/lib/build/recipe/thirdparty/api/appleRedirect.d.ts b/lib/build/recipe/thirdparty/api/appleRedirect.d.ts index df930a9a1..177615549 100644 --- a/lib/build/recipe/thirdparty/api/appleRedirect.d.ts +++ b/lib/build/recipe/thirdparty/api/appleRedirect.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function appleRedirectHandler(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/thirdparty/api/authorisationUrl.d.ts b/lib/build/recipe/thirdparty/api/authorisationUrl.d.ts index 5603eb9c1..068abfe81 100644 --- a/lib/build/recipe/thirdparty/api/authorisationUrl.d.ts +++ b/lib/build/recipe/thirdparty/api/authorisationUrl.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function authorisationUrlAPI(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/thirdparty/api/implementation.d.ts b/lib/build/recipe/thirdparty/api/implementation.d.ts index a594ecb37..d88ce94d8 100644 --- a/lib/build/recipe/thirdparty/api/implementation.d.ts +++ b/lib/build/recipe/thirdparty/api/implementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface } from "../"; export default function getAPIInterface(): APIInterface; export declare function getActualClientIdFromDevelopmentClientId(client_id: string): string; diff --git a/lib/build/recipe/thirdparty/api/signinup.d.ts b/lib/build/recipe/thirdparty/api/signinup.d.ts index b8fc4501c..93a9bd803 100644 --- a/lib/build/recipe/thirdparty/api/signinup.d.ts +++ b/lib/build/recipe/thirdparty/api/signinup.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface, APIOptions } from "../"; export default function signInUpAPI(apiImplementation: APIInterface, options: APIOptions): Promise; diff --git a/lib/build/recipe/thirdparty/constants.d.ts b/lib/build/recipe/thirdparty/constants.d.ts index e2235e1bf..809ae0592 100644 --- a/lib/build/recipe/thirdparty/constants.d.ts +++ b/lib/build/recipe/thirdparty/constants.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck export declare const AUTHORISATION_API = "/authorisationurl"; export declare const SIGN_IN_UP_API = "/signinup"; export declare const APPLE_REDIRECT_HANDLER = "/callback/apple"; diff --git a/lib/build/recipe/thirdparty/error.d.ts b/lib/build/recipe/thirdparty/error.d.ts index cc9e34552..248cddbeb 100644 --- a/lib/build/recipe/thirdparty/error.d.ts +++ b/lib/build/recipe/thirdparty/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class ThirdPartyError extends STError { constructor(options: { type: "BAD_INPUT_ERROR"; message: string }); diff --git a/lib/build/recipe/thirdparty/index.d.ts b/lib/build/recipe/thirdparty/index.d.ts index b96ce5525..60e47e5ee 100644 --- a/lib/build/recipe/thirdparty/index.d.ts +++ b/lib/build/recipe/thirdparty/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import SuperTokensError from "./error"; import { RecipeInterface, User, APIInterface, APIOptions, TypeProvider } from "./types"; diff --git a/lib/build/recipe/thirdparty/providers/activeDirectory.d.ts b/lib/build/recipe/thirdparty/providers/activeDirectory.d.ts index f6617924f..e69de29bb 100644 --- a/lib/build/recipe/thirdparty/providers/activeDirectory.d.ts +++ b/lib/build/recipe/thirdparty/providers/activeDirectory.d.ts @@ -1 +0,0 @@ -// @ts-nocheck diff --git a/lib/build/recipe/thirdparty/providers/apple.d.ts b/lib/build/recipe/thirdparty/providers/apple.d.ts index 5370e2111..897f6e5f7 100644 --- a/lib/build/recipe/thirdparty/providers/apple.d.ts +++ b/lib/build/recipe/thirdparty/providers/apple.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider } from "../types"; declare type TypeThirdPartyProviderAppleConfig = { clientId: string; diff --git a/lib/build/recipe/thirdparty/providers/discord.d.ts b/lib/build/recipe/thirdparty/providers/discord.d.ts index 926e9d737..2f39d56aa 100644 --- a/lib/build/recipe/thirdparty/providers/discord.d.ts +++ b/lib/build/recipe/thirdparty/providers/discord.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider } from "../types"; declare type TypeThirdPartyProviderDiscordConfig = { clientId: string; diff --git a/lib/build/recipe/thirdparty/providers/facebook.d.ts b/lib/build/recipe/thirdparty/providers/facebook.d.ts index 71b678eee..02d3c5d91 100644 --- a/lib/build/recipe/thirdparty/providers/facebook.d.ts +++ b/lib/build/recipe/thirdparty/providers/facebook.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider } from "../types"; declare type TypeThirdPartyProviderFacebookConfig = { clientId: string; diff --git a/lib/build/recipe/thirdparty/providers/github.d.ts b/lib/build/recipe/thirdparty/providers/github.d.ts index 105f3adae..17d76dc22 100644 --- a/lib/build/recipe/thirdparty/providers/github.d.ts +++ b/lib/build/recipe/thirdparty/providers/github.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider } from "../types"; declare type TypeThirdPartyProviderGithubConfig = { clientId: string; diff --git a/lib/build/recipe/thirdparty/providers/google.d.ts b/lib/build/recipe/thirdparty/providers/google.d.ts index 4baaaccce..f3e23cada 100644 --- a/lib/build/recipe/thirdparty/providers/google.d.ts +++ b/lib/build/recipe/thirdparty/providers/google.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider } from "../types"; declare type TypeThirdPartyProviderGoogleConfig = { clientId: string; diff --git a/lib/build/recipe/thirdparty/providers/googleWorkspaces.d.ts b/lib/build/recipe/thirdparty/providers/googleWorkspaces.d.ts index cf313c6ac..fbd94579e 100644 --- a/lib/build/recipe/thirdparty/providers/googleWorkspaces.d.ts +++ b/lib/build/recipe/thirdparty/providers/googleWorkspaces.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider } from "../types"; declare type TypeThirdPartyProviderGoogleWorkspacesConfig = { clientId: string; diff --git a/lib/build/recipe/thirdparty/providers/index.d.ts b/lib/build/recipe/thirdparty/providers/index.d.ts index f1c5f5501..0c0096be4 100644 --- a/lib/build/recipe/thirdparty/providers/index.d.ts +++ b/lib/build/recipe/thirdparty/providers/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import ProviderGoogle from "./google"; import ProviderFacebook from "./facebook"; import ProviderGithub from "./github"; diff --git a/lib/build/recipe/thirdparty/providers/okta.d.ts b/lib/build/recipe/thirdparty/providers/okta.d.ts index f6617924f..e69de29bb 100644 --- a/lib/build/recipe/thirdparty/providers/okta.d.ts +++ b/lib/build/recipe/thirdparty/providers/okta.d.ts @@ -1 +0,0 @@ -// @ts-nocheck diff --git a/lib/build/recipe/thirdparty/providers/utils.d.ts b/lib/build/recipe/thirdparty/providers/utils.d.ts index 51573e0d8..268e9b912 100644 --- a/lib/build/recipe/thirdparty/providers/utils.d.ts +++ b/lib/build/recipe/thirdparty/providers/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import * as jwt from "jsonwebtoken"; export declare function verifyIdTokenFromJWKSEndpoint( idToken: string, diff --git a/lib/build/recipe/thirdparty/recipe.d.ts b/lib/build/recipe/thirdparty/recipe.d.ts index 50bf15fd1..f3f80c86f 100644 --- a/lib/build/recipe/thirdparty/recipe.d.ts +++ b/lib/build/recipe/thirdparty/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { NormalisedAppinfo, APIHandled, RecipeListFunction, HTTPMethod } from "../../types"; import { TypeInput, TypeNormalisedInput, TypeProvider, RecipeInterface, APIInterface } from "./types"; diff --git a/lib/build/recipe/thirdparty/recipeImplementation.d.ts b/lib/build/recipe/thirdparty/recipeImplementation.d.ts index 7d1180bfb..8db107c07 100644 --- a/lib/build/recipe/thirdparty/recipeImplementation.d.ts +++ b/lib/build/recipe/thirdparty/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "./types"; import { Querier } from "../../querier"; export default function getRecipeImplementation(querier: Querier): RecipeInterface; diff --git a/lib/build/recipe/thirdparty/types.d.ts b/lib/build/recipe/thirdparty/types.d.ts index e3787815c..b4d49680f 100644 --- a/lib/build/recipe/thirdparty/types.d.ts +++ b/lib/build/recipe/thirdparty/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface as EmailVerificationRecipeInterface, APIInterface as EmailVerificationAPIInterface, diff --git a/lib/build/recipe/thirdparty/utils.d.ts b/lib/build/recipe/thirdparty/utils.d.ts index 828d15afd..e628b8f72 100644 --- a/lib/build/recipe/thirdparty/utils.d.ts +++ b/lib/build/recipe/thirdparty/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedAppinfo } from "../../types"; import Recipe from "./recipe"; import { TypeProvider } from "./types"; diff --git a/lib/build/recipe/thirdpartyemailpassword/api/emailPasswordAPIImplementation.d.ts b/lib/build/recipe/thirdpartyemailpassword/api/emailPasswordAPIImplementation.d.ts index 74122e450..3a64abf0d 100644 --- a/lib/build/recipe/thirdpartyemailpassword/api/emailPasswordAPIImplementation.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/api/emailPasswordAPIImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface } from "../../emailpassword"; import { APIInterface as ThirdPartyEmailPasswordAPIInterface } from "../"; export default function getIterfaceImpl(apiImplmentation: ThirdPartyEmailPasswordAPIInterface): APIInterface; diff --git a/lib/build/recipe/thirdpartyemailpassword/api/implementation.d.ts b/lib/build/recipe/thirdpartyemailpassword/api/implementation.d.ts index 402db9918..a1619b2fd 100644 --- a/lib/build/recipe/thirdpartyemailpassword/api/implementation.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../"; export default function getAPIImplementation(): APIInterface; diff --git a/lib/build/recipe/thirdpartyemailpassword/api/thirdPartyAPIImplementation.d.ts b/lib/build/recipe/thirdpartyemailpassword/api/thirdPartyAPIImplementation.d.ts index b0827c889..7143eeaef 100644 --- a/lib/build/recipe/thirdpartyemailpassword/api/thirdPartyAPIImplementation.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/api/thirdPartyAPIImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface } from "../../thirdparty"; import { APIInterface as ThirdPartyEmailPasswordAPIInterface } from "../"; export default function getIterfaceImpl(apiImplmentation: ThirdPartyEmailPasswordAPIInterface): APIInterface; diff --git a/lib/build/recipe/thirdpartyemailpassword/error.d.ts b/lib/build/recipe/thirdpartyemailpassword/error.d.ts index 1d9c33665..56d432191 100644 --- a/lib/build/recipe/thirdpartyemailpassword/error.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class ThirdPartyEmailPasswordError extends STError { constructor(options: { type: "BAD_INPUT_ERROR"; message: string }); diff --git a/lib/build/recipe/thirdpartyemailpassword/index.d.ts b/lib/build/recipe/thirdpartyemailpassword/index.d.ts index f5c7d34a3..c9746be87 100644 --- a/lib/build/recipe/thirdpartyemailpassword/index.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import SuperTokensError from "./error"; import { RecipeInterface, User, APIInterface, EmailPasswordAPIOptions, ThirdPartyAPIOptions } from "./types"; diff --git a/lib/build/recipe/thirdpartyemailpassword/recipe.d.ts b/lib/build/recipe/thirdpartyemailpassword/recipe.d.ts index d358bea66..ff6f8d340 100644 --- a/lib/build/recipe/thirdpartyemailpassword/recipe.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { NormalisedAppinfo, APIHandled, RecipeListFunction, HTTPMethod } from "../../types"; import EmailVerificationRecipe from "../emailverification/recipe"; diff --git a/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/emailPasswordRecipeImplementation.d.ts b/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/emailPasswordRecipeImplementation.d.ts index 26119b84e..919de07f8 100644 --- a/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/emailPasswordRecipeImplementation.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/emailPasswordRecipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../../emailpassword/types"; import { RecipeInterface as ThirdPartyEmailPasswordRecipeInterface } from "../types"; export default function getRecipeInterface(recipeInterface: ThirdPartyEmailPasswordRecipeInterface): RecipeInterface; diff --git a/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/index.d.ts b/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/index.d.ts index d24f05e67..601b0f21c 100644 --- a/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/index.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../types"; import { Querier } from "../../../querier"; export default function getRecipeInterface(emailPasswordQuerier: Querier, thirdPartyQuerier?: Querier): RecipeInterface; diff --git a/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/thirdPartyRecipeImplementation.d.ts b/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/thirdPartyRecipeImplementation.d.ts index fc596f02a..2ede71963 100644 --- a/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/thirdPartyRecipeImplementation.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/recipeImplementation/thirdPartyRecipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../../thirdparty/types"; import { RecipeInterface as ThirdPartyEmailPasswordRecipeInterface } from "../types"; export default function getRecipeInterface(recipeInterface: ThirdPartyEmailPasswordRecipeInterface): RecipeInterface; diff --git a/lib/build/recipe/thirdpartyemailpassword/types.d.ts b/lib/build/recipe/thirdpartyemailpassword/types.d.ts index 43efd9a15..c63f302eb 100644 --- a/lib/build/recipe/thirdpartyemailpassword/types.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider, APIOptions as ThirdPartyAPIOptionsOriginal } from "../thirdparty/types"; import { TypeInput as TypeInputEmailVerification } from "../emailverification/types"; import { diff --git a/lib/build/recipe/thirdpartyemailpassword/utils.d.ts b/lib/build/recipe/thirdpartyemailpassword/utils.d.ts index 60b02c8b9..56c6f7b41 100644 --- a/lib/build/recipe/thirdpartyemailpassword/utils.d.ts +++ b/lib/build/recipe/thirdpartyemailpassword/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedAppinfo } from "../../types"; import { TypeInput, TypeNormalisedInput } from "./types"; import Recipe from "./recipe"; diff --git a/lib/build/recipe/thirdpartypasswordless/api/implementation.d.ts b/lib/build/recipe/thirdpartypasswordless/api/implementation.d.ts index 0218549fa..75c1214f2 100644 --- a/lib/build/recipe/thirdpartypasswordless/api/implementation.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/api/implementation.d.ts @@ -1,3 +1,2 @@ -// @ts-nocheck import { APIInterface } from "../types"; export default function getAPIImplementation(): APIInterface; diff --git a/lib/build/recipe/thirdpartypasswordless/api/passwordlessAPIImplementation.d.ts b/lib/build/recipe/thirdpartypasswordless/api/passwordlessAPIImplementation.d.ts index e37fd1b22..2f1494c18 100644 --- a/lib/build/recipe/thirdpartypasswordless/api/passwordlessAPIImplementation.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/api/passwordlessAPIImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface } from "../../passwordless"; import { APIInterface as ThirdPartyPasswordlessAPIInterface } from "../types"; export default function getIterfaceImpl(apiImplmentation: ThirdPartyPasswordlessAPIInterface): APIInterface; diff --git a/lib/build/recipe/thirdpartypasswordless/api/thirdPartyAPIImplementation.d.ts b/lib/build/recipe/thirdpartypasswordless/api/thirdPartyAPIImplementation.d.ts index 11fc459c9..a61dbd963 100644 --- a/lib/build/recipe/thirdpartypasswordless/api/thirdPartyAPIImplementation.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/api/thirdPartyAPIImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { APIInterface } from "../../thirdparty"; import { APIInterface as ThirdPartyPasswordlessAPIInterface } from "../types"; export default function getIterfaceImpl(apiImplmentation: ThirdPartyPasswordlessAPIInterface): APIInterface; diff --git a/lib/build/recipe/thirdpartypasswordless/error.d.ts b/lib/build/recipe/thirdpartypasswordless/error.d.ts index 1d9c33665..56d432191 100644 --- a/lib/build/recipe/thirdpartypasswordless/error.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/error.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "../../error"; export default class ThirdPartyEmailPasswordError extends STError { constructor(options: { type: "BAD_INPUT_ERROR"; message: string }); diff --git a/lib/build/recipe/thirdpartypasswordless/index.d.ts b/lib/build/recipe/thirdpartypasswordless/index.d.ts index d1d371cd1..02d55d83f 100644 --- a/lib/build/recipe/thirdpartypasswordless/index.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import SuperTokensError from "./error"; import { RecipeInterface, User, APIInterface, PasswordlessAPIOptions, ThirdPartyAPIOptions } from "./types"; diff --git a/lib/build/recipe/thirdpartypasswordless/recipe.d.ts b/lib/build/recipe/thirdpartypasswordless/recipe.d.ts index d2a66e48c..a60588e9b 100644 --- a/lib/build/recipe/thirdpartypasswordless/recipe.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "../../recipeModule"; import { NormalisedAppinfo, APIHandled, RecipeListFunction, HTTPMethod } from "../../types"; import EmailVerificationRecipe from "../emailverification/recipe"; diff --git a/lib/build/recipe/thirdpartypasswordless/recipeImplementation/index.d.ts b/lib/build/recipe/thirdpartypasswordless/recipeImplementation/index.d.ts index d2d6c2bc2..eb5a8e6a8 100644 --- a/lib/build/recipe/thirdpartypasswordless/recipeImplementation/index.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/recipeImplementation/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../types"; import { Querier } from "../../../querier"; export default function getRecipeInterface(passwordlessQuerier: Querier, thirdPartyQuerier?: Querier): RecipeInterface; diff --git a/lib/build/recipe/thirdpartypasswordless/recipeImplementation/passwordlessRecipeImplementation.d.ts b/lib/build/recipe/thirdpartypasswordless/recipeImplementation/passwordlessRecipeImplementation.d.ts index aafe44945..c61eaeb4e 100644 --- a/lib/build/recipe/thirdpartypasswordless/recipeImplementation/passwordlessRecipeImplementation.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/recipeImplementation/passwordlessRecipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../../passwordless/types"; import { RecipeInterface as ThirdPartyPasswordlessRecipeInterface } from "../types"; export default function getRecipeInterface(recipeInterface: ThirdPartyPasswordlessRecipeInterface): RecipeInterface; diff --git a/lib/build/recipe/thirdpartypasswordless/recipeImplementation/thirdPartyRecipeImplementation.d.ts b/lib/build/recipe/thirdpartypasswordless/recipeImplementation/thirdPartyRecipeImplementation.d.ts index b93917947..283d09f72 100644 --- a/lib/build/recipe/thirdpartypasswordless/recipeImplementation/thirdPartyRecipeImplementation.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/recipeImplementation/thirdPartyRecipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "../../thirdparty/types"; import { RecipeInterface as ThirdPartyPasswordlessRecipeInterface } from "../types"; export default function getRecipeInterface(recipeInterface: ThirdPartyPasswordlessRecipeInterface): RecipeInterface; diff --git a/lib/build/recipe/thirdpartypasswordless/types.d.ts b/lib/build/recipe/thirdpartypasswordless/types.d.ts index 23422e04c..26d7d970d 100644 --- a/lib/build/recipe/thirdpartypasswordless/types.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeProvider, APIOptions as ThirdPartyAPIOptionsOriginal } from "../thirdparty/types"; import { TypeInput as TypeInputEmailVerification } from "../emailverification/types"; import { diff --git a/lib/build/recipe/thirdpartypasswordless/utils.d.ts b/lib/build/recipe/thirdpartypasswordless/utils.d.ts index 2cf4314fd..dc2cedfca 100644 --- a/lib/build/recipe/thirdpartypasswordless/utils.d.ts +++ b/lib/build/recipe/thirdpartypasswordless/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedAppinfo } from "../../types"; import { TypeInput, TypeNormalisedInput } from "./types"; import Recipe from "./recipe"; diff --git a/lib/build/recipe/usermetadata/index.d.ts b/lib/build/recipe/usermetadata/index.d.ts index ea8fe3d49..626ba65e5 100644 --- a/lib/build/recipe/usermetadata/index.d.ts +++ b/lib/build/recipe/usermetadata/index.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import Recipe from "./recipe"; import { RecipeInterface, JSONObject } from "./types"; export default class Wrapper { diff --git a/lib/build/recipe/usermetadata/recipe.d.ts b/lib/build/recipe/usermetadata/recipe.d.ts index bbce8012b..3c8759b7e 100644 --- a/lib/build/recipe/usermetadata/recipe.d.ts +++ b/lib/build/recipe/usermetadata/recipe.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import error from "../../error"; import { BaseRequest, BaseResponse } from "../../framework"; import normalisedURLPath from "../../normalisedURLPath"; diff --git a/lib/build/recipe/usermetadata/recipeImplementation.d.ts b/lib/build/recipe/usermetadata/recipeImplementation.d.ts index 0c838d977..1bf5d18f5 100644 --- a/lib/build/recipe/usermetadata/recipeImplementation.d.ts +++ b/lib/build/recipe/usermetadata/recipeImplementation.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { RecipeInterface } from "."; import { Querier } from "../../querier"; export default function getRecipeInterface(querier: Querier): RecipeInterface; diff --git a/lib/build/recipe/usermetadata/types.d.ts b/lib/build/recipe/usermetadata/types.d.ts index f357d4d9b..b85aa7e12 100644 --- a/lib/build/recipe/usermetadata/types.d.ts +++ b/lib/build/recipe/usermetadata/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import OverrideableBuilder from "supertokens-js-override"; export declare type JSONPrimitive = string | number | boolean | null; export declare type JSONArray = Array; diff --git a/lib/build/recipe/usermetadata/utils.d.ts b/lib/build/recipe/usermetadata/utils.d.ts index 4025b1b44..e368bc539 100644 --- a/lib/build/recipe/usermetadata/utils.d.ts +++ b/lib/build/recipe/usermetadata/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { NormalisedAppinfo } from "../../types"; import Recipe from "./recipe"; import { TypeInput, TypeNormalisedInput } from "./types"; diff --git a/lib/build/recipeModule.d.ts b/lib/build/recipeModule.d.ts index aef4fd4c8..269a2eb18 100644 --- a/lib/build/recipeModule.d.ts +++ b/lib/build/recipeModule.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import STError from "./error"; import { NormalisedAppinfo, APIHandled, HTTPMethod } from "./types"; import NormalisedURLPath from "./normalisedURLPath"; diff --git a/lib/build/supertokens.d.ts b/lib/build/supertokens.d.ts index 3f1e59888..7f6c05b84 100644 --- a/lib/build/supertokens.d.ts +++ b/lib/build/supertokens.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import { TypeInput, NormalisedAppinfo, HTTPMethod } from "./types"; import RecipeModule from "./recipeModule"; import NormalisedURLPath from "./normalisedURLPath"; diff --git a/lib/build/types.d.ts b/lib/build/types.d.ts index cc5a4f57e..6735488d1 100644 --- a/lib/build/types.d.ts +++ b/lib/build/types.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import RecipeModule from "./recipeModule"; import NormalisedURLDomain from "./normalisedURLDomain"; import NormalisedURLPath from "./normalisedURLPath"; diff --git a/lib/build/utils.d.ts b/lib/build/utils.d.ts index 592cc8c43..6850b2ef7 100644 --- a/lib/build/utils.d.ts +++ b/lib/build/utils.d.ts @@ -1,4 +1,3 @@ -// @ts-nocheck import type { AppInfo, NormalisedAppinfo, HTTPMethod } from "./types"; import type { BaseRequest, BaseResponse } from "./framework"; export declare function getLargestVersionFromIntersection(v1: string[], v2: string[]): string | undefined; diff --git a/lib/ts/framework/h3/framework.ts b/lib/ts/framework/h3/framework.ts new file mode 100644 index 000000000..e6df8218b --- /dev/null +++ b/lib/ts/framework/h3/framework.ts @@ -0,0 +1,172 @@ +import { createError, H3Event, sendError } from "h3"; +import type { IncomingMessage, ServerResponse } from "http"; +import { SessionContainerInterface } from "../../recipe/session/types"; +import SuperTokens from "../../supertokens"; +import { normaliseHttpMethod } from "../../utils"; +import { BaseRequest } from "../request"; +import { BaseResponse } from "../response"; +import { Framework } from "../types"; +import { + getCookieValueFromIncomingMessage, + getHeaderValueFromIncomingMessage, + useBody, + useRawBody, + setCookieForServerResponse, +} from "../utils"; + +export class H3Request extends BaseRequest { + private request: IncomingMessage; + constructor(request: IncomingMessage) { + super(); + this.original = request; + this.request = request; + } + getCookieValue = (key: string) => { + return getCookieValueFromIncomingMessage(this.request, key); + }; + getFormData = async (): Promise => { + return useRawBody(this.request); + }; + getMethod = () => { + return normaliseHttpMethod(this.request.method!); + }; + getHeaderValue = (key: string) => { + return getHeaderValueFromIncomingMessage(this.request, key); + }; + getOriginalURL = () => { + return this.request.url!; + }; + getKeyValueFromQuery = (key: string) => { + let path = this.request.url || "/"; + const queryIndex = path.lastIndexOf("?"); + if (queryIndex > -1) { + const queryArray = path.substring(queryIndex + 1, path.length).split("&"); + const index = queryArray.findIndex((el) => el.includes(key)); + if (index === -1) return undefined; + const value = queryArray[index].split("=")[1]; + if (value === undefined || typeof value !== "string") { + return undefined; + } + return value; + } else { + return undefined; + } + }; + getJSONBody = async () => { + return await useBody(this.request); + }; +} + +export class H3ResponseTokens extends BaseResponse { + private response: ServerResponse; + private statusCode: number; + constructor(response: ServerResponse) { + super(); + this.original = response; + this.response = response; + this.statusCode = 200; + } + + sendHTMLResponse = (html: string) => { + if (this.response.writable) { + this.response.setHeader("Content-Type", "text/html"); + this.response.statusCode = this.statusCode; + this.response.end(html); + } + }; + setHeader = (key: string, value: string, allowDuplicateKey: boolean) => { + try { + const allheaders = this.response.getHeaders(); + let existingValue = allheaders[key]; + + // we have the this.response.header for compatibility with nextJS + if (existingValue === undefined) { + this.response.setHeader(key, value); + } else if (allowDuplicateKey) { + this.response.setHeader(key, existingValue + ", " + value); + } else { + // we overwrite the current one with the new one + this.response.setHeader(key, value); + } + } catch (err) { + throw new Error("Error while setting header with key: " + key + " and value: " + value); + } + }; + setCookie = ( + key: string, + value: string, + domain: string | undefined, + secure: boolean, + httpOnly: boolean, + expires: number, + path: string, + sameSite: "strict" | "lax" | "none" + ) => { + setCookieForServerResponse(this.response, key, value, domain, secure, httpOnly, expires, path, sameSite); + }; + setStatusCode = (statusCode: number) => { + if (this.response.writable) { + this.statusCode = statusCode; + } + }; + sendJSONResponse = (content: any) => { + if (this.response.writable) { + content = JSON.stringify(content); + this.response.setHeader("Content-Type", "application/json"); + this.response.statusCode = this.statusCode; + this.response.end(content, "utf-8"); + } + }; +} +export interface SessionRequest extends IncomingMessage { + session?: SessionContainerInterface; +} + +export const middlware = () => { + return async (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any) => { + let supertokens; + const request = new H3Request(req); + const response = new H3ResponseTokens(res); + try { + supertokens = SuperTokens.getInstanceOrThrowError(); + const result = await supertokens.middleware(request, response); + if (!result) { + return next(); + } + } catch (err) { + if (supertokens) { + try { + await supertokens.errorHandler(err, request, response); + } catch { + next(err); + } + } else { + next(err); + } + } + }; +}; + +export const errorHandler = () => { + return async (event: H3Event, errorPlain: Error, statusCode: number) => { + const error = createError(errorPlain); + error.statusCode = statusCode; + sendError(event, error); + }; +}; + +export interface H3Framework extends Framework { + middlware: () => (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any) => Promise; + errorHandler: () => (event: H3Event, errorPlain: Error, statusCode: number) => Promise; +} + +export const H3Wrapper: H3Framework = { + middlware, + errorHandler, + wrapRequest: (unwrapped) => { + return new H3Request(unwrapped.req); + }, + wrapResponse: (unwrapped) => { + return new H3ResponseTokens(unwrapped.res); + }, +}; diff --git a/lib/ts/framework/h3/index.ts b/lib/ts/framework/h3/index.ts new file mode 100644 index 000000000..5dcc5a938 --- /dev/null +++ b/lib/ts/framework/h3/index.ts @@ -0,0 +1,7 @@ +import { H3Wrapper } from "./framework"; +export type { SessionRequest } from "./framework"; + +export const middleware = H3Wrapper.middlware; +export const errorHandler = H3Wrapper.errorHandler; +export const wrapRequest = H3Wrapper.wrapRequest; +export const wrapResponse = H3Wrapper.wrapResponse; diff --git a/lib/ts/framework/index.ts b/lib/ts/framework/index.ts index 3d38c264a..e83df0391 100644 --- a/lib/ts/framework/index.ts +++ b/lib/ts/framework/index.ts @@ -21,6 +21,7 @@ import * as hapiFramework from "./hapi"; import * as loopbackFramework from "./loopback"; import * as koaFramework from "./koa"; import * as awsLambdaFramework from "./awsLambda"; +import * as h3Framework from "./h3"; export default { express: expressFramework, @@ -29,6 +30,7 @@ export default { loopback: loopbackFramework, koa: koaFramework, awsLambda: awsLambdaFramework, + h3: h3Framework, }; export let express = expressFramework; @@ -37,3 +39,4 @@ export let hapi = hapiFramework; export let loopback = loopbackFramework; export let koa = koaFramework; export let awsLambda = awsLambdaFramework; +export let h3 = h3Framework; diff --git a/lib/ts/framework/types.ts b/lib/ts/framework/types.ts index 5707c65d5..505adc5e4 100644 --- a/lib/ts/framework/types.ts +++ b/lib/ts/framework/types.ts @@ -12,12 +12,12 @@ * License for the specific language governing permissions and limitations * under the License. */ -export type TypeFramework = "express" | "fastify" | "hapi" | "loopback" | "koa" | "awsLambda"; +export type TypeFramework = "express" | "fastify" | "hapi" | "loopback" | "koa" | "awsLambda" | "h3"; import { BaseRequest, BaseResponse } from "."; export let SchemaFramework = { type: "string", - enum: ["express", "fastify", "hapi", "loopback", "koa", "awsLambda"], + enum: ["express", "fastify", "hapi", "loopback", "koa", "awsLambda", "h3"], }; export interface Framework { diff --git a/lib/ts/framework/utils.ts b/lib/ts/framework/utils.ts index 8f7e6f7d8..ab45d2aa4 100644 --- a/lib/ts/framework/utils.ts +++ b/lib/ts/framework/utils.ts @@ -22,6 +22,7 @@ import STError from "../error"; import type { HTTPMethod } from "../types"; import { NextApiRequest } from "next"; import { COOKIE_HEADER } from "./constants"; +import destr from "destr"; export function getCookieValueFromHeaders(headers: any, key: string): string | undefined { if (headers === undefined || headers === null) { @@ -223,6 +224,42 @@ export function setHeaderForExpressLikeResponse(res: Response, key: string, valu } } +export function useRawBody(req: IncomingMessage): Promise { + const RawBodySymbol = Symbol("h3RawBody"); + if (RawBodySymbol in this.request) { + const promise = Promise.resolve((req as any)[RawBodySymbol]); + return promise.then((buff) => buff.toString("utf-8")); + } + if ("body" in req) { + return Promise.resolve((this.request as any).body); + } + + const promise = ((req as any)[RawBodySymbol] = new Promise((resolve, reject) => { + const bodyData: any[] = []; + req.on("error", (err) => reject(err)) + .on("data", (chunk) => { + bodyData.push(chunk); + }) + .on("end", () => { + resolve(Buffer.concat(bodyData)); + }); + })); + + return promise.then((buff) => buff.toString("utf-8")); +} + +export async function useBody(req: IncomingMessage): Promise { + const ParsedBodySymbol = Symbol("h3RawBody"); + if (ParsedBodySymbol in req) { + return (req as any)[ParsedBodySymbol]; + } + + const body = (await useRawBody(req)) as string; + + const json = destr(body); + (req as any)[ParsedBodySymbol] = json; + return json; +} /** * * @param res diff --git a/lib/ts/recipe/session/framework/h3.ts b/lib/ts/recipe/session/framework/h3.ts new file mode 100644 index 000000000..9431f0015 --- /dev/null +++ b/lib/ts/recipe/session/framework/h3.ts @@ -0,0 +1,25 @@ +import Session from "../recipe"; +import type { VerifySessionOptions } from "../types"; +import { H3Request, H3ResponseTokens } from "../../../framework/h3/framework"; +import type { SessionRequest } from "../../../framework/h3"; +import SuperTokens from "../../../supertokens"; +import { ServerResponse } from "http"; + +export function verifySession(options?: VerifySessionOptions) { + return async (req: SessionRequest, res: ServerResponse, next: (err?: Error) => any) => { + const request = new H3Request(req); + const response = new H3ResponseTokens(res); + try { + const sessionRecipe = Session.getInstanceOrThrowError(); + req.session = await sessionRecipe.verifySession(options, request, response); + next(); + } catch (err) { + try { + const supertokens = SuperTokens.getInstanceOrThrowError(); + await supertokens.errorHandler(err, request, response); + } catch (err) { + next(err); + } + } + }; +} diff --git a/lib/ts/recipe/session/framework/index.ts b/lib/ts/recipe/session/framework/index.ts index c984f7879..5cd93c271 100644 --- a/lib/ts/recipe/session/framework/index.ts +++ b/lib/ts/recipe/session/framework/index.ts @@ -18,6 +18,7 @@ import * as hapiFramework from "./hapi"; import * as loopbackFramework from "./loopback"; import * as koaFramework from "./koa"; import * as awsLambdaFramework from "./awsLambda"; +import * as h3Framework from "./h3"; export default { express: expressFramework, @@ -26,6 +27,7 @@ export default { loopback: loopbackFramework, koa: koaFramework, awsLambda: awsLambdaFramework, + h3: h3Framework, }; export let express = expressFramework; @@ -34,3 +36,4 @@ export let hapi = hapiFramework; export let loopback = loopbackFramework; export let koa = koaFramework; export let awsLambda = awsLambdaFramework; +export let h3 = h3Framework; diff --git a/package-lock.json b/package-lock.json index 2c12367cb..30d9c2353 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "supertokens-node", - "version": "9.1.2", + "version": "9.2.0", "license": "Apache-2.0", "dependencies": { "axios": "0.21.4", @@ -14,6 +14,8 @@ "co-body": "6.1.0", "cookie": "0.4.0", "debug": "^4.3.3", + "destr": "^1.1.1", + "h3": "^0.7.6", "jsonwebtoken": "^8.5.1", "jwks-rsa": "^2.0.5", "libphonenumber-js": "^1.9.44", @@ -2857,6 +2859,11 @@ "node": ">= 0.6" } }, + "node_modules/cookie-es": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-0.5.0.tgz", + "integrity": "sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==" + }, "node_modules/cookie-parser": { "version": "1.4.6", "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", @@ -3185,6 +3192,11 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/destr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.1.tgz", + "integrity": "sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==" + }, "node_modules/destroy": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.1.0.tgz", @@ -4110,6 +4122,17 @@ "node": ">=4.x" } }, + "node_modules/h3": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/h3/-/h3-0.7.6.tgz", + "integrity": "sha512-OoxDWBBpGNAStSVCOQagN+3EKRbCSgwQKFIeu4p4XvsLvd4L9KaQV6GDY5H8ZDYHsWfnsx4KTa2eFwSw530jnQ==", + "dependencies": { + "cookie-es": "^0.5.0", + "destr": "^1.1.1", + "radix3": "^0.1.1", + "ufo": "^0.8.3" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -7194,6 +7217,11 @@ "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", "dev": true }, + "node_modules/radix3": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-0.1.1.tgz", + "integrity": "sha512-9Np01fn+penHvC05A9EkRpyObPMS0ht3t1UP6KlnQPCfTNzArmEZW/+t2SLsDtPcZyXPDbYCGWA8dSQqWaVwQQ==" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -8428,6 +8456,11 @@ "node": ">=4.2.0" } }, + "node_modules/ufo": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-0.8.3.tgz", + "integrity": "sha512-AIkk06G21y/P+NCatfU+1qldCmI0XCszZLn8AkuKotffF3eqCvlce0KuwM7ZemLE/my0GSYADOAeM5zDYWMB+A==" + }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -11705,6 +11738,11 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, + "cookie-es": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-0.5.0.tgz", + "integrity": "sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==" + }, "cookie-parser": { "version": "1.4.6", "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", @@ -11971,6 +12009,11 @@ "minimalistic-assert": "^1.0.0" } }, + "destr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.1.tgz", + "integrity": "sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==" + }, "destroy": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.1.0.tgz", @@ -12709,6 +12752,17 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, + "h3": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/h3/-/h3-0.7.6.tgz", + "integrity": "sha512-OoxDWBBpGNAStSVCOQagN+3EKRbCSgwQKFIeu4p4XvsLvd4L9KaQV6GDY5H8ZDYHsWfnsx4KTa2eFwSw530jnQ==", + "requires": { + "cookie-es": "^0.5.0", + "destr": "^1.1.1", + "radix3": "^0.1.1", + "ufo": "^0.8.3" + } + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -15152,6 +15206,11 @@ "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", "dev": true }, + "radix3": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-0.1.1.tgz", + "integrity": "sha512-9Np01fn+penHvC05A9EkRpyObPMS0ht3t1UP6KlnQPCfTNzArmEZW/+t2SLsDtPcZyXPDbYCGWA8dSQqWaVwQQ==" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -16176,6 +16235,11 @@ "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", "dev": true }, + "ufo": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-0.8.3.tgz", + "integrity": "sha512-AIkk06G21y/P+NCatfU+1qldCmI0XCszZLn8AkuKotffF3eqCvlce0KuwM7ZemLE/my0GSYADOAeM5zDYWMB+A==" + }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", diff --git a/package.json b/package.json index 40a4afb58..9967b560a 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,8 @@ "co-body": "6.1.0", "cookie": "0.4.0", "debug": "^4.3.3", + "destr": "^1.1.1", + "h3": "^0.7.6", "jsonwebtoken": "^8.5.1", "jwks-rsa": "^2.0.5", "libphonenumber-js": "^1.9.44", @@ -70,6 +72,7 @@ "glob": "7.1.7", "koa": "^2.13.3", "lambda-tester": "^4.0.1", + "loopback-datasource-juggler": "^4.26.0", "mocha": "6.1.4", "next": "11.1.3", "nock": "11.7.0", @@ -79,8 +82,7 @@ "react": "^17.0.2", "supertest": "4.0.2", "typedoc": "^0.22.5", - "typescript": "3.8.3", - "loopback-datasource-juggler": "^4.26.0" + "typescript": "3.8.3" }, "browser": { "fs": false diff --git a/recipe/session/framework/h3/index.d.ts b/recipe/session/framework/h3/index.d.ts new file mode 100644 index 000000000..b76888d1e --- /dev/null +++ b/recipe/session/framework/h3/index.d.ts @@ -0,0 +1,3 @@ +export * from "../../../../lib/build/recipe/session/framework/h3"; +import * as _default from "../../../../lib/build/recipe/session/framework/h3"; +export default _default; diff --git a/recipe/session/framework/h3/index.js b/recipe/session/framework/h3/index.js new file mode 100644 index 000000000..06fb4c8b7 --- /dev/null +++ b/recipe/session/framework/h3/index.js @@ -0,0 +1,6 @@ +"use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +exports.__esModule = true; +__export(require("../../../../lib/build/recipe/session/framework/h3"));