This commit is contained in:
2023-08-06 12:58:53 +00:00
parent 1d751ea045
commit a1502ebc16
4 changed files with 58 additions and 37 deletions
+2
View File
@@ -3,9 +3,11 @@ import type { APINamespaceType } from "../defs";
import { LoginByID } from "./LoginByID";
import { LoginByToken } from "./LoginByToken";
import { ReqNonce } from "./ReqNonce";
import { test } from "./test";
export const Login = {
LoginByID,
LoginByToken,
ReqNonce,
test,
} satisfies APINamespaceType<typeof structure.Login>;
+18
View File
@@ -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
View File
@@ -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 function GET<
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): EmptyGetAPICallT<ResultType, ErrorType>
export function GET<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicGetAPICallT<ArgType, ResultType, ErrorType>;
export function GET<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicGetAPICallT<ArgType, ResultType, ErrorType> | EmptyGetAPICallT<ResultType, ErrorType> {
return Object.assign(
fakeGET,
@@ -156,18 +156,18 @@ export function GET<
}
export function POST<
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): EmptyPostAPICallT<ResultType, ErrorType>
export function POST<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicPostAPICallT<ArgType, ResultType, ErrorType>;
export function POST<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicPostAPICallT<ArgType, ResultType, ErrorType> | EmptyPostAPICallT<ResultType, ErrorType> {
return Object.assign(
fakePOST,
@@ -176,18 +176,18 @@ export function POST<
}
export function PUT<
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): EmptyPutAPICallT<ResultType, ErrorType>
export function PUT<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicPutAPICallT<ArgType, ResultType, ErrorType>;
export function PUT<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicPutAPICallT<ArgType, ResultType, ErrorType> | EmptyPutAPICallT<ResultType, ErrorType> {
return Object.assign(
fakePUT,
@@ -196,18 +196,18 @@ export function PUT<
}
export function DELETE<
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): EmptyDeleteAPICallT<ResultType, ErrorType>
export function DELETE<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicDeleteAPICallT<ArgType, ResultType, ErrorType>;
export function DELETE<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicDeleteAPICallT<ArgType, ResultType, ErrorType> | EmptyDeleteAPICallT<ResultType, ErrorType> {
return Object.assign(
fakeDELETE,
@@ -216,18 +216,18 @@ export function DELETE<
}
export function PATCH<
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): EmptyPatchAPICallT<ResultType, ErrorType>
export function PATCH<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicPatchAPICallT<ArgType, ResultType, ErrorType>;
export function PATCH<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicPatchAPICallT<ArgType, ResultType, ErrorType> | EmptyPatchAPICallT<ResultType, ErrorType> {
return Object.assign(
fakePATCH,
@@ -236,18 +236,18 @@ export function PATCH<
}
export function HEAD<
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): EmptyHeadAPICallT<ResultType, ErrorType>
export function HEAD<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicHeadAPICallT<ArgType, ResultType, ErrorType>;
export function HEAD<
ArgType extends RawArgType,
ResultType extends ValidResponse,
ErrorType extends InvalidResponse,
ResultType extends ValidResponse = ValidResponse,
ErrorType extends InvalidResponse = InvalidResponse,
>(): BasicHeadAPICallT<ArgType, ResultType, ErrorType> | EmptyHeadAPICallT<ResultType, ErrorType> {
return Object.assign(
fakeHEAD,
+2 -1
View File
@@ -40,6 +40,7 @@ export const structure = {
hashedToken: string,
token_id: number,
}, AutoLoginResponse, AutoLoginFailed>(),
ReqNonce: GET<AutoLoginNonceResponse, AutoLoginFailed>()
ReqNonce: GET<AutoLoginNonceResponse, AutoLoginFailed>(),
test: GET<{result: true, hello:'world'}>(),
},
} satisfies DefAPINamespace;