tspace-spear
Version:
tspace-spear is a lightweight, high-performance API framework for Node.js that leverages the native HTTP server and supports uWebSockets.js (C++) for maximum speed and efficiency.
302 lines (301 loc) • 7.66 kB
TypeScript
export declare const appRoutes: {
"/cats": {
GET: {
params: undefined;
query: {
id: number;
name: string;
};
body: undefined;
files: undefined;
response: {
message: string;
query: {
id: number;
name: string;
};
cats: {
id: number;
name: string;
age: number;
}[];
};
};
POST: {
params: undefined;
query: undefined;
body: {
name: string;
age: number;
};
files: undefined;
response: {
message: string;
cat: {
name: string;
age: number;
id: number;
};
};
};
};
"/cats/:id": {
GET: {
params: {
id: number;
};
query: undefined;
body: undefined;
files: undefined;
response: {
message: string;
cat: {
id: number;
name: string;
age: number;
};
};
};
PUT: {
params: {
id: number;
};
query: undefined;
body: {
name: string;
age: number;
};
files: undefined;
response: {
message: string;
cat: {
id: number;
name: string;
age: number;
};
};
};
PATCH: {
params: {
id: number;
};
query: undefined;
body: {
name: string;
age: number;
};
files: undefined;
response: {
message: string;
cat: {
id: number;
name: string;
age: number;
};
};
};
DELETE: {
params: {
id: number;
};
query: undefined;
body: undefined;
files: undefined;
response: {
message: string;
deleted: boolean;
};
};
};
"/cats/upload": {
POST: {
params: undefined;
query: undefined;
body: undefined;
files: {
image: {
size: number;
sizes: {
bytes: number;
kb: number;
mb: number;
gb: number;
};
tempFilePath: string;
tempFileName: string;
mimetype: string;
extension: string;
name: string;
}[];
};
response: {
message: string;
image: {
size: number;
sizes: {
bytes: number;
kb: number;
mb: number;
gb: number;
};
tempFilePath: string;
tempFileName: string;
mimetype: string;
extension: string;
name: string;
};
};
};
};
};
export interface AppRoutes {
"/cats": {
GET: {
params: never;
query: {
id?: string;
name?: string;
};
body: never;
files: never;
response: {
message: string;
query: {
id?: string;
name?: string;
};
cats: {
id: number;
name: string;
age: number;
}[];
};
};
POST: {
params: never;
query: never;
body: {
name: string;
age: number;
};
files: never;
response: {
message: string;
cat: {
name: string;
age: number;
id: number;
};
};
};
};
"/cats/:id": {
GET: {
params: {
id: number;
};
query: never;
body: never;
files: never;
response: {
message: string;
cat: {
id: number;
name: string;
age: number;
};
};
};
PUT: {
params: {
id: number;
};
query: never;
body: {
name?: string;
age?: number;
};
files: never;
response: {
message: string;
cat: {
id: number;
name: string;
age: number;
};
};
};
PATCH: {
params: {
id: number;
};
query: never;
body: {
name?: string;
age?: number;
};
files: never;
response: {
message: string;
cat: {
id: number;
name: string;
age: number;
};
};
};
DELETE: {
params: {
id: number;
};
query: never;
body: never;
files: never;
response: {
message: string;
deleted: boolean;
};
};
};
"/cats/upload": {
POST: {
params: never;
query: never;
body: never;
files: {
image: {
size: number;
sizes: {
bytes: number;
kb: number;
mb: number;
gb: number;
};
tempFilePath: string;
tempFileName: string;
mimetype: string;
extension: string;
name: string;
}[];
};
response: {
message: string;
image: {
size: number;
sizes: {
bytes: number;
kb: number;
mb: number;
gb: number;
};
tempFilePath: string;
tempFileName: string;
mimetype: string;
extension: string;
name: string;
};
};
};
};
}
export type AppRoute = keyof AppRoutes;