test api
This commit is contained in:
@@ -3,9 +3,11 @@ import type { APINamespaceType } from "../defs";
|
|||||||
import { LoginByID } from "./LoginByID";
|
import { LoginByID } from "./LoginByID";
|
||||||
import { LoginByToken } from "./LoginByToken";
|
import { LoginByToken } from "./LoginByToken";
|
||||||
import { ReqNonce } from "./ReqNonce";
|
import { ReqNonce } from "./ReqNonce";
|
||||||
|
import { test } from "./test";
|
||||||
|
|
||||||
export const Login = {
|
export const Login = {
|
||||||
LoginByID,
|
LoginByID,
|
||||||
LoginByToken,
|
LoginByToken,
|
||||||
ReqNonce,
|
ReqNonce,
|
||||||
|
test,
|
||||||
} satisfies APINamespaceType<typeof structure.Login>;
|
} satisfies APINamespaceType<typeof structure.Login>;
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import { GET } from "../defs";
|
||||||
|
import type { structure } from "../../apiStructure/sammoRootAPI";
|
||||||
|
import type { ExtractError, ExtractQuery, ExtractResponse } from "../../apiStructure/defs";
|
||||||
|
|
||||||
|
type BaseAPI = typeof structure.Login.test;
|
||||||
|
type RType = ExtractResponse<BaseAPI>;
|
||||||
|
type EType = ExtractError<BaseAPI>;
|
||||||
|
type QType = ExtractQuery<BaseAPI>;
|
||||||
|
|
||||||
|
export class test extends GET<RType, EType, QType>{
|
||||||
|
protected ReqNonce = Symbol("ReqNonce");//TODO: remove this
|
||||||
|
protected override async api(query: QType): Promise<RType | EType | true> {
|
||||||
|
return {
|
||||||
|
hello: "world",
|
||||||
|
result: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+36
-36
@@ -136,18 +136,18 @@ export type HeadAPICallT<
|
|||||||
export type APITail = ReturnType<typeof GET> | ReturnType<typeof POST> | ReturnType<typeof PUT> | ReturnType<typeof DELETE> | ReturnType<typeof PATCH> | ReturnType<typeof HEAD>;
|
export type APITail = ReturnType<typeof GET> | ReturnType<typeof POST> | ReturnType<typeof PUT> | ReturnType<typeof DELETE> | ReturnType<typeof PATCH> | ReturnType<typeof HEAD>;
|
||||||
|
|
||||||
export function GET<
|
export function GET<
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): EmptyGetAPICallT<ResultType, ErrorType>
|
>(): EmptyGetAPICallT<ResultType, ErrorType>
|
||||||
export function GET<
|
export function GET<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicGetAPICallT<ArgType, ResultType, ErrorType>;
|
>(): BasicGetAPICallT<ArgType, ResultType, ErrorType>;
|
||||||
export function GET<
|
export function GET<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicGetAPICallT<ArgType, ResultType, ErrorType> | EmptyGetAPICallT<ResultType, ErrorType> {
|
>(): BasicGetAPICallT<ArgType, ResultType, ErrorType> | EmptyGetAPICallT<ResultType, ErrorType> {
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
fakeGET,
|
fakeGET,
|
||||||
@@ -156,18 +156,18 @@ export function GET<
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function POST<
|
export function POST<
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): EmptyPostAPICallT<ResultType, ErrorType>
|
>(): EmptyPostAPICallT<ResultType, ErrorType>
|
||||||
export function POST<
|
export function POST<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicPostAPICallT<ArgType, ResultType, ErrorType>;
|
>(): BasicPostAPICallT<ArgType, ResultType, ErrorType>;
|
||||||
export function POST<
|
export function POST<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicPostAPICallT<ArgType, ResultType, ErrorType> | EmptyPostAPICallT<ResultType, ErrorType> {
|
>(): BasicPostAPICallT<ArgType, ResultType, ErrorType> | EmptyPostAPICallT<ResultType, ErrorType> {
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
fakePOST,
|
fakePOST,
|
||||||
@@ -176,18 +176,18 @@ export function POST<
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function PUT<
|
export function PUT<
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): EmptyPutAPICallT<ResultType, ErrorType>
|
>(): EmptyPutAPICallT<ResultType, ErrorType>
|
||||||
export function PUT<
|
export function PUT<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicPutAPICallT<ArgType, ResultType, ErrorType>;
|
>(): BasicPutAPICallT<ArgType, ResultType, ErrorType>;
|
||||||
export function PUT<
|
export function PUT<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicPutAPICallT<ArgType, ResultType, ErrorType> | EmptyPutAPICallT<ResultType, ErrorType> {
|
>(): BasicPutAPICallT<ArgType, ResultType, ErrorType> | EmptyPutAPICallT<ResultType, ErrorType> {
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
fakePUT,
|
fakePUT,
|
||||||
@@ -196,18 +196,18 @@ export function PUT<
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function DELETE<
|
export function DELETE<
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): EmptyDeleteAPICallT<ResultType, ErrorType>
|
>(): EmptyDeleteAPICallT<ResultType, ErrorType>
|
||||||
export function DELETE<
|
export function DELETE<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicDeleteAPICallT<ArgType, ResultType, ErrorType>;
|
>(): BasicDeleteAPICallT<ArgType, ResultType, ErrorType>;
|
||||||
export function DELETE<
|
export function DELETE<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicDeleteAPICallT<ArgType, ResultType, ErrorType> | EmptyDeleteAPICallT<ResultType, ErrorType> {
|
>(): BasicDeleteAPICallT<ArgType, ResultType, ErrorType> | EmptyDeleteAPICallT<ResultType, ErrorType> {
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
fakeDELETE,
|
fakeDELETE,
|
||||||
@@ -216,18 +216,18 @@ export function DELETE<
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function PATCH<
|
export function PATCH<
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): EmptyPatchAPICallT<ResultType, ErrorType>
|
>(): EmptyPatchAPICallT<ResultType, ErrorType>
|
||||||
export function PATCH<
|
export function PATCH<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicPatchAPICallT<ArgType, ResultType, ErrorType>;
|
>(): BasicPatchAPICallT<ArgType, ResultType, ErrorType>;
|
||||||
export function PATCH<
|
export function PATCH<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicPatchAPICallT<ArgType, ResultType, ErrorType> | EmptyPatchAPICallT<ResultType, ErrorType> {
|
>(): BasicPatchAPICallT<ArgType, ResultType, ErrorType> | EmptyPatchAPICallT<ResultType, ErrorType> {
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
fakePATCH,
|
fakePATCH,
|
||||||
@@ -236,18 +236,18 @@ export function PATCH<
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function HEAD<
|
export function HEAD<
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): EmptyHeadAPICallT<ResultType, ErrorType>
|
>(): EmptyHeadAPICallT<ResultType, ErrorType>
|
||||||
export function HEAD<
|
export function HEAD<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicHeadAPICallT<ArgType, ResultType, ErrorType>;
|
>(): BasicHeadAPICallT<ArgType, ResultType, ErrorType>;
|
||||||
export function HEAD<
|
export function HEAD<
|
||||||
ArgType extends RawArgType,
|
ArgType extends RawArgType,
|
||||||
ResultType extends ValidResponse,
|
ResultType extends ValidResponse = ValidResponse,
|
||||||
ErrorType extends InvalidResponse,
|
ErrorType extends InvalidResponse = InvalidResponse,
|
||||||
>(): BasicHeadAPICallT<ArgType, ResultType, ErrorType> | EmptyHeadAPICallT<ResultType, ErrorType> {
|
>(): BasicHeadAPICallT<ArgType, ResultType, ErrorType> | EmptyHeadAPICallT<ResultType, ErrorType> {
|
||||||
return Object.assign(
|
return Object.assign(
|
||||||
fakeHEAD,
|
fakeHEAD,
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const structure = {
|
|||||||
hashedToken: string,
|
hashedToken: string,
|
||||||
token_id: number,
|
token_id: number,
|
||||||
}, AutoLoginResponse, AutoLoginFailed>(),
|
}, AutoLoginResponse, AutoLoginFailed>(),
|
||||||
ReqNonce: GET<AutoLoginNonceResponse, AutoLoginFailed>()
|
ReqNonce: GET<AutoLoginNonceResponse, AutoLoginFailed>(),
|
||||||
|
test: GET<{result: true, hello:'world'}>(),
|
||||||
},
|
},
|
||||||
} satisfies DefAPINamespace;
|
} satisfies DefAPINamespace;
|
||||||
Reference in New Issue
Block a user