@m1cro/server-sdk 0.1.1-beta.10 → 0.1.1-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/globals.d.ts +2 -3
- package/dist/index.d.ts +60 -292
- package/dist/index.js +1 -1
- package/dist/log-CxqFFE_w.d.ts +357 -0
- package/package.json +4 -1
package/dist/globals.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import { B as Bridge, L as LogLevel } from './log-CxqFFE_w.js';
|
|
1
2
|
import * as console from 'node:console';
|
|
2
|
-
|
|
3
|
-
declare const logLevels: readonly ["trace", "debug", "info", "warn", "error", "none"];
|
|
4
|
-
type LogLevel = (typeof logLevels)[number];
|
|
3
|
+
import 'cookie';
|
|
5
4
|
|
|
6
5
|
declare global {
|
|
7
6
|
var Bridge: Bridge;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,306 +1,74 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { F as FindQuery, a as FindOneQuery, I as InsertQuery, b as InsertOneQuery, U as UpdateQuery, c as UpdateOneQuery, R as RemoveQuery, d as RemoveOneQuery, e as Router, H as HookEventMap, A as AppRole, E as EventHandler } from './log-CxqFFE_w.js';
|
|
2
|
+
export { f as AppId, g as Artifacts, h as Auth, B as Bridge, i as Entity, L as LogLevel, M as Method, j as Middleware, N as Namespace, P as Provider, k as Providers, l as Request, m as RequestBuilder, n as RequestHandler, o as Response, p as ResponseBuilder, q as RouteOptions, S as StatusCode, r as Subject, T as Tenant, V as Visibility } from './log-CxqFFE_w.js';
|
|
3
|
+
import 'cookie';
|
|
3
4
|
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
type Variant<K extends PropertyKey, T extends object> = {
|
|
8
|
-
[P in keyof T]: {
|
|
9
|
-
[Q in K]: P;
|
|
10
|
-
} & T[P] extends infer U ? {
|
|
11
|
-
[Q in keyof U]: U[Q];
|
|
12
|
-
} : never;
|
|
13
|
-
}[keyof T];
|
|
14
|
-
type EventHandler = <T>(event: string, data: T) => void | Promise<void>;
|
|
15
|
-
type Visibility = 'private' | 'platform' | 'vendor' | 'public';
|
|
16
|
-
interface Tenant {
|
|
5
|
+
type Filter = Record<string, unknown>;
|
|
6
|
+
type Sorting = Record<string, 'asc' | 'desc'>;
|
|
7
|
+
type GeneratedFields = {
|
|
17
8
|
id: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
interface AppId {
|
|
21
|
-
get name(): string;
|
|
22
|
-
get namespace(): Namespace;
|
|
23
|
-
toString(separator?: string): string;
|
|
24
|
-
}
|
|
25
|
-
declare const AppId: {
|
|
26
|
-
parse(input: string): AppId;
|
|
9
|
+
createdAt: number;
|
|
10
|
+
updatedAt: number;
|
|
27
11
|
};
|
|
28
|
-
type
|
|
29
|
-
|
|
12
|
+
type ReservedKeys = keyof GeneratedFields;
|
|
13
|
+
type HydratedDocument<S extends EntitySchema<any>> = Omit<InferInterface<S>, ReservedKeys> & GeneratedFields;
|
|
14
|
+
type InsertDocument<S extends EntitySchema<any>> = Omit<InferInterface<S>, ReservedKeys> & Partial<GeneratedFields>;
|
|
15
|
+
type ScalarConstructor = StringConstructor | NumberConstructor | BooleanConstructor | DateConstructor;
|
|
16
|
+
type FieldSpec = ScalarConstructor | {
|
|
17
|
+
type: ScalarConstructor;
|
|
18
|
+
required?: boolean;
|
|
30
19
|
};
|
|
31
|
-
type
|
|
32
|
-
type
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
type SchemaDefinition = Record<string, FieldSpec>;
|
|
21
|
+
type ConstructorToType<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends DateConstructor ? number : never;
|
|
22
|
+
type FieldType<F> = F extends {
|
|
23
|
+
type: infer C;
|
|
24
|
+
} ? ConstructorToType<C> : F extends ScalarConstructor ? ConstructorToType<F> : never;
|
|
25
|
+
type IsRequired<F> = F extends {
|
|
26
|
+
required: true;
|
|
27
|
+
} ? true : false;
|
|
28
|
+
type RequiredKeys<Def extends SchemaDefinition> = {
|
|
29
|
+
[K in keyof Def]-?: IsRequired<Def[K]> extends true ? K : never;
|
|
30
|
+
}[keyof Def];
|
|
31
|
+
type OptionalKeys<Def extends SchemaDefinition> = Exclude<keyof Def, RequiredKeys<Def>>;
|
|
32
|
+
type InferSchema<Def extends SchemaDefinition> = {
|
|
33
|
+
[K in RequiredKeys<Def>]: FieldType<Def[K]>;
|
|
34
|
+
} & {
|
|
35
|
+
[K in OptionalKeys<Def>]?: FieldType<Def[K]>;
|
|
37
36
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
permissions: Permissions;
|
|
41
|
-
}
|
|
42
|
-
interface Subject {
|
|
43
|
-
id: string;
|
|
44
|
-
email: string;
|
|
45
|
-
roles: string[];
|
|
46
|
-
}
|
|
47
|
-
interface Permissions {
|
|
48
|
-
[key: string]: string[];
|
|
49
|
-
}
|
|
50
|
-
interface HookEventMap {
|
|
51
|
-
start: [];
|
|
52
|
-
install: [];
|
|
53
|
-
}
|
|
37
|
+
type InferInterface<S extends EntitySchema<any>> = InferSchema<S['definition']>;
|
|
38
|
+
type AssertNoReservedKeys<Def extends SchemaDefinition> = Extract<keyof Def, ReservedKeys> extends never ? Def : never;
|
|
54
39
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
sort(sort: Sorting): this;
|
|
40
|
+
declare class EntitySchema<Def extends SchemaDefinition = SchemaDefinition> {
|
|
41
|
+
readonly definition: Def;
|
|
42
|
+
constructor(definition: Def);
|
|
59
43
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
44
|
+
declare function entitySchema<const Def extends SchemaDefinition>(def: AssertNoReservedKeys<Def>): EntitySchema<Def>;
|
|
45
|
+
declare class CompiledSchema {
|
|
46
|
+
constructor(schema: EntitySchema);
|
|
47
|
+
get shape(): unknown;
|
|
63
48
|
}
|
|
64
49
|
|
|
65
|
-
|
|
66
|
-
type InsertReturnType<T extends Record$1, R extends InsertReturnMode> = R extends 'insertedIds' ? string[] : R extends 'documents' ? T[] : never;
|
|
67
|
-
interface InsertQuery<T extends Record$1 = Record$1, R extends InsertReturnMode = 'insertedIds'> extends PromiseLike<InsertReturnType<T, R>> {
|
|
68
|
-
return(mode: 'insertedIds'): InsertQuery<T, 'insertedIds'>;
|
|
69
|
-
return(mode: 'documents'): InsertQuery<T, 'documents'>;
|
|
70
|
-
return(mode: InsertReturnMode): InsertQuery<T, typeof mode>;
|
|
71
|
-
}
|
|
72
|
-
type InsertOneReturnMode = 'insertedId' | 'document';
|
|
73
|
-
type InsertOneReturnType<T extends Record$1, R extends InsertOneReturnMode> = R extends 'insertedId' ? string : R extends 'document' ? T : never;
|
|
74
|
-
interface InsertOneQuery<T extends Record$1 = Record$1, R extends InsertOneReturnMode = 'insertedId'> extends PromiseLike<InsertOneReturnType<T, R>> {
|
|
75
|
-
return(mode: 'insertedId'): InsertOneQuery<T, 'insertedId'>;
|
|
76
|
-
return(mode: 'document'): InsertOneQuery<T, 'document'>;
|
|
77
|
-
return(mode: InsertOneReturnMode): InsertOneQuery<T, typeof mode>;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
type UpdateReturnMode = 'affectedRows' | 'oldDocuments' | 'newDocuments';
|
|
81
|
-
type UpdateReturnType<T, R extends UpdateReturnMode> = R extends 'affectedRows' ? bigint : R extends 'oldDocuments' | 'newDocuments' ? T[] : never;
|
|
82
|
-
interface UpdateQuery<T extends Record$1 = Record$1, R extends UpdateReturnMode = 'affectedRows'> extends PromiseLike<UpdateReturnType<T, R>> {
|
|
83
|
-
limit(limit: number): this;
|
|
84
|
-
offset(offset: number): this;
|
|
85
|
-
sort(sort: Sorting): this;
|
|
86
|
-
return(mode: 'affectedRows'): UpdateQuery<T, 'affectedRows'>;
|
|
87
|
-
return(mode: 'oldDocuments'): UpdateQuery<T, 'oldDocuments'>;
|
|
88
|
-
return(mode: 'newDocuments'): UpdateQuery<T, 'newDocuments'>;
|
|
89
|
-
return(mode: UpdateReturnMode): UpdateQuery<T, typeof mode>;
|
|
90
|
-
}
|
|
91
|
-
type UpdateOneReturnMode = 'success' | 'oldDocument' | 'newDocument';
|
|
92
|
-
type UpdateOneReturnType<T, R extends UpdateOneReturnMode> = R extends 'success' ? boolean : R extends 'oldDocument' | 'newDocument' ? T | undefined : never;
|
|
93
|
-
interface UpdateOneQuery<T extends Record$1 = Record$1, R extends UpdateOneReturnMode = 'success'> extends PromiseLike<UpdateOneReturnType<T, R>> {
|
|
94
|
-
offset(offset: number): this;
|
|
95
|
-
sort(sort: Sorting): this;
|
|
96
|
-
upsert(upsert: boolean): this;
|
|
97
|
-
return(mode: 'success'): UpdateOneQuery<T, 'success'>;
|
|
98
|
-
return(mode: 'oldDocument'): UpdateOneQuery<T, 'oldDocument'>;
|
|
99
|
-
return(mode: 'newDocument'): UpdateOneQuery<T, 'newDocument'>;
|
|
100
|
-
return(mode: UpdateOneReturnMode): UpdateOneQuery<T, typeof mode>;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
type RemoveReturnMode = 'affectedRows' | 'documents';
|
|
104
|
-
type RemoveReturnType<T, R extends RemoveReturnMode> = R extends 'affectedRows' ? bigint : R extends 'documents' ? T[] : never;
|
|
105
|
-
interface RemoveQuery<T extends Record$1 = Record$1, R extends RemoveReturnMode = 'affectedRows'> extends PromiseLike<RemoveReturnType<T, R>> {
|
|
106
|
-
limit(limit: number): this;
|
|
107
|
-
offset(offset: number): this;
|
|
108
|
-
sort(sort: Sorting): this;
|
|
109
|
-
return(mode: 'affectedRows'): RemoveQuery<T, 'affectedRows'>;
|
|
110
|
-
return(mode: 'documents'): RemoveQuery<T, 'documents'>;
|
|
111
|
-
return(mode: RemoveReturnMode): RemoveQuery<T, typeof mode>;
|
|
112
|
-
}
|
|
113
|
-
type RemoveOneReturnMode = 'success' | 'document';
|
|
114
|
-
type RemoveOneReturnType<T, R extends RemoveOneReturnMode> = R extends 'success' ? boolean : R extends 'document' ? T | undefined : never;
|
|
115
|
-
interface RemoveOneQuery<T extends Record$1 = Record$1, R extends RemoveOneReturnMode = 'success'> extends PromiseLike<RemoveOneReturnType<T, R>> {
|
|
116
|
-
offset(offset: number): this;
|
|
117
|
-
sort(sort: Sorting): this;
|
|
118
|
-
return(mode: 'success'): RemoveOneQuery<T, 'success'>;
|
|
119
|
-
return(mode: 'document'): RemoveOneQuery<T, 'document'>;
|
|
120
|
-
return(mode: RemoveOneReturnMode): RemoveOneQuery<T, typeof mode>;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
interface Entity<T extends object = Record$1<string, unknown>> {
|
|
50
|
+
interface EntityModelRegistration {
|
|
124
51
|
get name(): string;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
insertOne(doc: T): InsertOneQuery<T>;
|
|
129
|
-
update(query: Record$1, update: Record$1): UpdateQuery<T>;
|
|
130
|
-
updateOne(query: Record$1, update: Record$1): UpdateOneQuery<T>;
|
|
131
|
-
remove(query: Record$1): RemoveQuery<T>;
|
|
132
|
-
removeOne(query: Record$1): RemoveOneQuery<T>;
|
|
133
|
-
}
|
|
134
|
-
interface Sorting {
|
|
135
|
-
[field: string]: 'asc' | 'desc';
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
interface Artifacts {
|
|
139
|
-
get<T>(key: string): T | undefined;
|
|
140
|
-
set<T>(key: string, value: T): void;
|
|
141
|
-
delete(key: string): void;
|
|
142
|
-
get auth(): Auth | undefined;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
146
|
-
declare enum StatusCode {
|
|
147
|
-
Continue = 100,
|
|
148
|
-
SwitchingProtocols = 101,
|
|
149
|
-
Processing = 102,
|
|
150
|
-
EarlyHints = 103,
|
|
151
|
-
OK = 200,
|
|
152
|
-
Created = 201,
|
|
153
|
-
Accepted = 202,
|
|
154
|
-
NonAuthoritativeInformation = 203,
|
|
155
|
-
NoContent = 204,
|
|
156
|
-
ResetContent = 205,
|
|
157
|
-
PartialContent = 206,
|
|
158
|
-
MultiStatus = 207,
|
|
159
|
-
AlreadyReported = 208,
|
|
160
|
-
IMUsed = 226,
|
|
161
|
-
MultipleChoices = 300,
|
|
162
|
-
MovedPermanently = 301,
|
|
163
|
-
Found = 302,
|
|
164
|
-
SeeOther = 303,
|
|
165
|
-
NotModified = 304,
|
|
166
|
-
UseProxy = 305,
|
|
167
|
-
TemporaryRedirect = 307,
|
|
168
|
-
PermanentRedirect = 308,
|
|
169
|
-
BadRequest = 400,
|
|
170
|
-
Unauthorized = 401,
|
|
171
|
-
PaymentRequired = 402,
|
|
172
|
-
Forbidden = 403,
|
|
173
|
-
NotFound = 404,
|
|
174
|
-
MethodNotAllowed = 405,
|
|
175
|
-
NotAcceptable = 406,
|
|
176
|
-
ProxyAuthenticationRequired = 407,
|
|
177
|
-
RequestTimeout = 408,
|
|
178
|
-
Conflict = 409,
|
|
179
|
-
Gone = 410,
|
|
180
|
-
LengthRequired = 411,
|
|
181
|
-
PreconditionFailed = 412,
|
|
182
|
-
ContentTooLarge = 413,
|
|
183
|
-
URITooLong = 414,
|
|
184
|
-
UnsupportedMediaType = 415,
|
|
185
|
-
RangeNotSatisfiable = 416,
|
|
186
|
-
ExpectationFailed = 417,
|
|
187
|
-
ImATeapot = 418,
|
|
188
|
-
MisdirectedRequest = 421,
|
|
189
|
-
UnprocessableEntity = 422,
|
|
190
|
-
Locked = 423,
|
|
191
|
-
FailedDependency = 424,
|
|
192
|
-
TooEarly = 425,
|
|
193
|
-
UpgradeRequired = 426,
|
|
194
|
-
PreconditionRequired = 428,
|
|
195
|
-
TooManyRequests = 429,
|
|
196
|
-
RequestHeaderFieldsTooLarge = 431,
|
|
197
|
-
UnavailableForLegalReasons = 451,
|
|
198
|
-
InternalServerError = 500,
|
|
199
|
-
NotImplemented = 501,
|
|
200
|
-
BadGateway = 502,
|
|
201
|
-
ServiceUnavailable = 503,
|
|
202
|
-
GatewayTimeout = 504,
|
|
203
|
-
HTTPVersionNotSupported = 505,
|
|
204
|
-
VariantAlsoNegotiates = 506,
|
|
205
|
-
InsufficientStorage = 507,
|
|
206
|
-
LoopDetected = 508,
|
|
207
|
-
NotExtended = 510,
|
|
208
|
-
NetworkAuthenticationRequired = 511
|
|
209
|
-
}
|
|
210
|
-
type RequestHandler = (req: Request, res: ResponseBuilder) => void | Promise<void>;
|
|
211
|
-
type Middleware = (req: Request, res: ResponseBuilder, next: () => Promise<void>) => void | Promise<void>;
|
|
212
|
-
interface Router {
|
|
213
|
-
scope(path: string): Router;
|
|
214
|
-
route(method: Method, path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
215
|
-
middleware(handler: Middleware, options?: MiddlewareOptions): Router;
|
|
216
|
-
get(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
217
|
-
post(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
218
|
-
put(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
219
|
-
patch(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
220
|
-
delete(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
221
|
-
}
|
|
222
|
-
interface RouteOptions {
|
|
223
|
-
timeoutMs?: number;
|
|
224
|
-
permissions?: string[];
|
|
225
|
-
authenticated?: boolean;
|
|
226
|
-
visibility?: Visibility;
|
|
227
|
-
}
|
|
228
|
-
interface MiddlewareOptions {
|
|
229
|
-
path?: string;
|
|
230
|
-
priority?: number;
|
|
231
|
-
}
|
|
232
|
-
interface Request {
|
|
233
|
-
get artifacts(): Artifacts;
|
|
234
|
-
get method(): Method;
|
|
235
|
-
get url(): URL;
|
|
236
|
-
get params(): Record<string, string>;
|
|
237
|
-
get headers(): Headers;
|
|
238
|
-
cookie(name: string): string | undefined;
|
|
239
|
-
body(): Promise<Uint8Array>;
|
|
240
|
-
text(): Promise<string>;
|
|
241
|
-
json<T>(): Promise<T>;
|
|
242
|
-
}
|
|
243
|
-
interface RequestBuilder {
|
|
244
|
-
method(method: Method): this;
|
|
245
|
-
url(url: string | URL): this;
|
|
246
|
-
header(name: string, value: string): this;
|
|
247
|
-
headers(headers: HeadersInit): this;
|
|
248
|
-
cookie(name: string, value: string): this;
|
|
249
|
-
body(bytes: Uint8Array): this;
|
|
250
|
-
text(text: string): this;
|
|
251
|
-
json<T>(json: T): this;
|
|
252
|
-
}
|
|
253
|
-
interface Response {
|
|
254
|
-
get status(): number;
|
|
255
|
-
get headers(): Headers;
|
|
256
|
-
cookie(name: string): SetCookie | undefined;
|
|
257
|
-
body(): Promise<Uint8Array>;
|
|
258
|
-
text(): Promise<string>;
|
|
259
|
-
json<T>(): Promise<T>;
|
|
260
|
-
}
|
|
261
|
-
interface ResponseBuilder {
|
|
262
|
-
status(status: number): this;
|
|
263
|
-
header(name: string, value: string): this;
|
|
264
|
-
headers(headers: HeadersInit): this;
|
|
265
|
-
cookie(name: string, value?: string, options?: SetCookieOptions): this;
|
|
266
|
-
body(bytes: Uint8Array): this;
|
|
267
|
-
text(text: string): this;
|
|
268
|
-
json<T>(json: T): this;
|
|
269
|
-
}
|
|
270
|
-
interface SetCookieOptions {
|
|
271
|
-
encode?: (s: string) => string;
|
|
272
|
-
maxAge?: number;
|
|
273
|
-
expires?: Date;
|
|
274
|
-
domain?: string;
|
|
275
|
-
path?: string;
|
|
276
|
-
httpOnly?: boolean;
|
|
277
|
-
secure?: boolean;
|
|
278
|
-
partitioned?: boolean;
|
|
279
|
-
priority?: 'low' | 'medium' | 'high';
|
|
280
|
-
sameSite?: boolean | 'lax' | 'strict' | 'none';
|
|
52
|
+
get schema(): {
|
|
53
|
+
get shape(): unknown;
|
|
54
|
+
};
|
|
281
55
|
}
|
|
282
|
-
|
|
283
|
-
|
|
56
|
+
declare class EntityModel<S extends EntitySchema<any>> implements EntityModelRegistration {
|
|
57
|
+
readonly name: string;
|
|
58
|
+
readonly schemaDef: S;
|
|
59
|
+
schema: CompiledSchema;
|
|
60
|
+
constructor(name: string, schemaDef: S);
|
|
61
|
+
private entity;
|
|
62
|
+
find(filter?: Filter): FindQuery<HydratedDocument<S>>;
|
|
63
|
+
findOne(filter?: Filter): FindOneQuery<HydratedDocument<S>>;
|
|
64
|
+
insert(docs: InsertDocument<S>[]): InsertQuery<InsertDocument<S>, 'insertedIds'>;
|
|
65
|
+
insertOne(doc: InsertDocument<S>): InsertOneQuery<InsertDocument<S>, 'insertedId'>;
|
|
66
|
+
update(filter: Filter, update: Record<string, unknown>): UpdateQuery<InferInterface<S>, 'affectedRows'>;
|
|
67
|
+
updateOne(filter: Filter, update: Record<string, unknown>): UpdateOneQuery<InferInterface<S>, 'success'>;
|
|
68
|
+
remove(filter: Filter): RemoveQuery<InferInterface<S>, 'affectedRows'>;
|
|
69
|
+
removeOne(filter: Filter): RemoveOneQuery<InferInterface<S>, 'success'>;
|
|
284
70
|
}
|
|
285
71
|
|
|
286
|
-
interface Providers {
|
|
287
|
-
list(group: string): Provider[];
|
|
288
|
-
}
|
|
289
|
-
interface Provider {
|
|
290
|
-
get app(): AppId;
|
|
291
|
-
get group(): string;
|
|
292
|
-
get id(): string;
|
|
293
|
-
call(path: string, method: Method): Call;
|
|
294
|
-
get(path: string): Call;
|
|
295
|
-
post(path: string): Call;
|
|
296
|
-
put(path: string): Call;
|
|
297
|
-
patch(path: string): Call;
|
|
298
|
-
delete(path: string): Call;
|
|
299
|
-
}
|
|
300
|
-
declare const Provider: {
|
|
301
|
-
fromId(id: string): Provider;
|
|
302
|
-
};
|
|
303
|
-
|
|
304
72
|
type EntryPoint = (app: App) => unknown;
|
|
305
73
|
interface App {
|
|
306
74
|
get router(): Router;
|
|
@@ -310,7 +78,7 @@ interface App {
|
|
|
310
78
|
capabilities(capabilities: {
|
|
311
79
|
[app: string]: string[];
|
|
312
80
|
}): App;
|
|
313
|
-
entity(
|
|
81
|
+
entity(model: EntityModelRegistration): App;
|
|
314
82
|
subscribe(pattern: string, handler: EventHandler): App;
|
|
315
83
|
}
|
|
316
84
|
|
|
@@ -538,4 +306,4 @@ declare namespace error {
|
|
|
538
306
|
export { error_BadGateway as BadGateway, error_BadRequest as BadRequest, error_Base as Base, error_Conflict as Conflict, error_ContentTooLarge as ContentTooLarge, error_ExpectationFailed as ExpectationFailed, error_FailedDependency as FailedDependency, error_Forbidden as Forbidden, error_GatewayTimeout as GatewayTimeout, error_Gone as Gone, error_HTTPVersionNotSupported as HTTPVersionNotSupported, error_ImATeapot as ImATeapot, error_InsufficientStorage as InsufficientStorage, error_InternalServerError as InternalServerError, error_LengthRequired as LengthRequired, error_Locked as Locked, error_LoopDetected as LoopDetected, error_MethodNotAllowed as MethodNotAllowed, error_MisdirectedRequest as MisdirectedRequest, error_NetworkAuthenticationRequired as NetworkAuthenticationRequired, error_NotAcceptable as NotAcceptable, error_NotExtended as NotExtended, error_NotFound as NotFound, error_NotImplemented as NotImplemented, error_PaymentRequired as PaymentRequired, error_PreconditionFailed as PreconditionFailed, error_PreconditionRequired as PreconditionRequired, error_ProxyAuthenticationRequired as ProxyAuthenticationRequired, error_RangeNotSatisfiable as RangeNotSatisfiable, error_RequestHeaderFieldsTooLarge as RequestHeaderFieldsTooLarge, error_RequestTimeout as RequestTimeout, error_ServiceUnavailable as ServiceUnavailable, error_TooEarly as TooEarly, error_TooManyRequests as TooManyRequests, error_URITooLong as URITooLong, error_Unauthorized as Unauthorized, error_UnavailableForLegalReasons as UnavailableForLegalReasons, error_UnprocessableEntity as UnprocessableEntity, error_UnsupportedMediaType as UnsupportedMediaType, error_UpgradeRequired as UpgradeRequired, error_VariantAlsoNegotiates as VariantAlsoNegotiates };
|
|
539
307
|
}
|
|
540
308
|
|
|
541
|
-
export { type App,
|
|
309
|
+
export { type App, AppRole, EntityModel, EntitySchema, type EntryPoint, EventHandler, type Filter, type HydratedDocument, type InferInterface, type InferSchema, type InsertDocument, Router, type Sorting, _default as cbor, entitySchema, error };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as o from'cbor2';var
|
|
1
|
+
import*as o from'cbor2';var S=Object.defineProperty;var C=(r,t)=>{for(var s in t)S(r,s,{get:t[s],enumerable:true});};var ee={encode(r){return o.encode(r)},decode(r){return o.decode(r)}};var c=class{constructor(t){this.definition=t;}};function te(r){return new c(r)}var i=class{constructor(t){}get shape(){return {}}};var a=class{constructor(t,s){this.name=t;this.schemaDef=s;this.schema=new i(s);}schema;entity(){return globalThis.Bridge.entity(this.name)}find(t){return this.entity().find(t)}findOne(t){return this.entity().findOne(t)}insert(t){return this.entity().insert(t)}insertOne(t){return this.entity().insertOne(t)}update(t,s){return this.entity().update(t,s)}updateOne(t,s){return this.entity().updateOne(t,s)}remove(t){return this.entity().remove(t)}removeOne(t){return this.entity().removeOne(t)}};var $={};C($,{BadGateway:()=>V,BadRequest:()=>l,Base:()=>n,Conflict:()=>v,ContentTooLarge:()=>P,ExpectationFailed:()=>O,FailedDependency:()=>H,Forbidden:()=>g,GatewayTimeout:()=>G,Gone:()=>I,HTTPVersionNotSupported:()=>z,ImATeapot:()=>D,InsufficientStorage:()=>W,InternalServerError:()=>L,LengthRequired:()=>b,Locked:()=>w,LoopDetected:()=>X,MethodNotAllowed:()=>y,MisdirectedRequest:()=>M,NetworkAuthenticationRequired:()=>Z,NotAcceptable:()=>f,NotExtended:()=>Y,NotFound:()=>x,NotImplemented:()=>B,PaymentRequired:()=>m,PreconditionFailed:()=>_,PreconditionRequired:()=>F,ProxyAuthenticationRequired:()=>h,RangeNotSatisfiable:()=>T,RequestHeaderFieldsTooLarge:()=>N,RequestTimeout:()=>R,ServiceUnavailable:()=>K,TooEarly:()=>U,TooManyRequests:()=>Q,URITooLong:()=>q,Unauthorized:()=>u,UnavailableForLegalReasons:()=>j,UnprocessableEntity:()=>k,UnsupportedMediaType:()=>A,UpgradeRequired:()=>E,VariantAlsoNegotiates:()=>J});var d=(e=>(e[e.Continue=100]="Continue",e[e.SwitchingProtocols=101]="SwitchingProtocols",e[e.Processing=102]="Processing",e[e.EarlyHints=103]="EarlyHints",e[e.OK=200]="OK",e[e.Created=201]="Created",e[e.Accepted=202]="Accepted",e[e.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",e[e.NoContent=204]="NoContent",e[e.ResetContent=205]="ResetContent",e[e.PartialContent=206]="PartialContent",e[e.MultiStatus=207]="MultiStatus",e[e.AlreadyReported=208]="AlreadyReported",e[e.IMUsed=226]="IMUsed",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.Found=302]="Found",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.LengthRequired=411]="LengthRequired",e[e.PreconditionFailed=412]="PreconditionFailed",e[e.ContentTooLarge=413]="ContentTooLarge",e[e.URITooLong=414]="URITooLong",e[e.UnsupportedMediaType=415]="UnsupportedMediaType",e[e.RangeNotSatisfiable=416]="RangeNotSatisfiable",e[e.ExpectationFailed=417]="ExpectationFailed",e[e.ImATeapot=418]="ImATeapot",e[e.MisdirectedRequest=421]="MisdirectedRequest",e[e.UnprocessableEntity=422]="UnprocessableEntity",e[e.Locked=423]="Locked",e[e.FailedDependency=424]="FailedDependency",e[e.TooEarly=425]="TooEarly",e[e.UpgradeRequired=426]="UpgradeRequired",e[e.PreconditionRequired=428]="PreconditionRequired",e[e.TooManyRequests=429]="TooManyRequests",e[e.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",e[e.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout",e[e.HTTPVersionNotSupported=505]="HTTPVersionNotSupported",e[e.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",e[e.InsufficientStorage=507]="InsufficientStorage",e[e.LoopDetected=508]="LoopDetected",e[e.NotExtended=510]="NotExtended",e[e.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",e))(d||{});var n=class extends Error{constructor(s){super(s.msg);this.payload=s;}status(s){return this.payload.status=s,this}code(s){return this.payload.code=s,this}msg(s){return this.payload.msg=s,this}},l=class extends n{constructor(t){super({status:400,code:"bad_request",msg:t});}},u=class extends n{constructor(t){super({status:401,code:"unauthorized",msg:t});}},m=class extends n{constructor(t){super({status:402,code:"payment_required",msg:t});}},g=class extends n{constructor(t){super({status:403,code:"forbidden",msg:t});}},x=class extends n{constructor(t){super({status:404,code:"not_found",msg:t});}},y=class extends n{constructor(t){super({status:405,code:"method_not_allowed",msg:t});}},f=class extends n{constructor(t){super({status:406,code:"not_acceptable",msg:t});}},h=class extends n{constructor(t){super({status:407,code:"proxy_authentication_required",msg:t});}},R=class extends n{constructor(t){super({status:408,code:"request_timeout",msg:t});}},v=class extends n{constructor(t){super({status:409,code:"conflict",msg:t});}},I=class extends n{constructor(t){super({status:410,code:"gone",msg:t});}},b=class extends n{constructor(t){super({status:411,code:"length_required",msg:t});}},_=class extends n{constructor(t){super({status:412,code:"precondition_failed",msg:t});}},P=class extends n{constructor(t){super({status:413,code:"content_too_large",msg:t});}},q=class extends n{constructor(t){super({status:414,code:"uri_too_long",msg:t});}},A=class extends n{constructor(t){super({status:415,code:"unsupported_media_type",msg:t});}},T=class extends n{constructor(t){super({status:416,code:"range_not_satisfiable",msg:t});}},O=class extends n{constructor(t){super({status:417,code:"expectation_failed",msg:t});}},D=class extends n{constructor(t){super({status:418,code:"im_a_teapot",msg:t});}},M=class extends n{constructor(t){super({status:421,code:"misdirected_request",msg:t});}},k=class extends n{constructor(t){super({status:422,code:"unprocessable_entity",msg:t});}},w=class extends n{constructor(t){super({status:423,code:"locked",msg:t});}},H=class extends n{constructor(t){super({status:424,code:"failed_dependency",msg:t});}},U=class extends n{constructor(t){super({status:425,code:"too_early",msg:t});}},E=class extends n{constructor(t){super({status:426,code:"upgrade_required",msg:t});}},F=class extends n{constructor(t){super({status:428,code:"precondition_required",msg:t});}},Q=class extends n{constructor(t){super({status:429,code:"too_many_requests",msg:t});}},N=class extends n{constructor(t){super({status:431,code:"request_header_fields_too_large",msg:t});}},j=class extends n{constructor(t){super({status:451,code:"unavailable_for_legal_reasons",msg:t});}},L=class extends n{constructor(t){super({status:500,code:"internal_server_error",msg:t});}},B=class extends n{constructor(t){super({status:501,code:"not_implemented",msg:t});}},V=class extends n{constructor(t){super({status:502,code:"bad_gateway",msg:t});}},K=class extends n{constructor(t){super({status:503,code:"service_unavailable",msg:t});}},G=class extends n{constructor(t){super({status:504,code:"gateway_timeout",msg:t});}},z=class extends n{constructor(t){super({status:505,code:"http_version_not_supported",msg:t});}},J=class extends n{constructor(t){super({status:506,code:"variant_also_negotiates",msg:t});}},W=class extends n{constructor(t){super({status:507,code:"insufficient_storage",msg:t});}},X=class extends n{constructor(t){super({status:508,code:"loop_detected",msg:t});}},Y=class extends n{constructor(t){super({status:510,code:"not_extended",msg:t});}},Z=class extends n{constructor(t){super({status:511,code:"network_authentication_required",msg:t});}};var p={get instance(){return globalThis.__M1CRO__.internals}};var re={fromId(r){return p.instance.providerFromId(r)}};var ne={parse(r){return p.instance.parseAppId(r)}};export{ne as AppId,a as EntityModel,re as Provider,d as StatusCode,ee as cbor,te as entitySchema,$ as error};
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { SetCookie } from 'cookie';
|
|
2
|
+
|
|
3
|
+
type Record$1<K extends string | number | symbol = string, V = any> = {
|
|
4
|
+
[key in K]: V;
|
|
5
|
+
};
|
|
6
|
+
type Variant<K extends PropertyKey, T extends object> = {
|
|
7
|
+
[P in keyof T]: {
|
|
8
|
+
[Q in K]: P;
|
|
9
|
+
} & T[P] extends infer U ? {
|
|
10
|
+
[Q in keyof U]: U[Q];
|
|
11
|
+
} : never;
|
|
12
|
+
}[keyof T];
|
|
13
|
+
type EventHandler = <T>(event: string, data: T) => void | Promise<void>;
|
|
14
|
+
type Visibility = 'private' | 'platform' | 'vendor' | 'public';
|
|
15
|
+
interface Tenant {
|
|
16
|
+
id: string;
|
|
17
|
+
host: string;
|
|
18
|
+
}
|
|
19
|
+
interface AppId {
|
|
20
|
+
get name(): string;
|
|
21
|
+
get namespace(): Namespace;
|
|
22
|
+
toString(separator?: string): string;
|
|
23
|
+
}
|
|
24
|
+
declare const AppId: {
|
|
25
|
+
parse(input: string): AppId;
|
|
26
|
+
};
|
|
27
|
+
type Namespace = 'system' | 'platform' | {
|
|
28
|
+
vendor: string;
|
|
29
|
+
};
|
|
30
|
+
type AppRole = Variant<'type', AppRoleData>;
|
|
31
|
+
type AppRoleData = {
|
|
32
|
+
provider: {
|
|
33
|
+
group: string;
|
|
34
|
+
};
|
|
35
|
+
test: void;
|
|
36
|
+
};
|
|
37
|
+
interface Auth {
|
|
38
|
+
subject: Subject;
|
|
39
|
+
permissions: Permissions;
|
|
40
|
+
}
|
|
41
|
+
interface Subject {
|
|
42
|
+
id: string;
|
|
43
|
+
email: string;
|
|
44
|
+
roles: string[];
|
|
45
|
+
}
|
|
46
|
+
interface Permissions {
|
|
47
|
+
[key: string]: string[];
|
|
48
|
+
}
|
|
49
|
+
interface HookEventMap {
|
|
50
|
+
start: [];
|
|
51
|
+
install: [];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
type InsertReturnMode = 'insertedIds' | 'documents';
|
|
55
|
+
type InsertReturnType<T extends Record$1, R extends InsertReturnMode> = R extends 'insertedIds' ? string[] : R extends 'documents' ? T[] : never;
|
|
56
|
+
interface InsertQuery<T extends Record$1 = Record$1, R extends InsertReturnMode = 'insertedIds'> extends PromiseLike<InsertReturnType<T, R>> {
|
|
57
|
+
return(mode: 'insertedIds'): InsertQuery<T, 'insertedIds'>;
|
|
58
|
+
return(mode: 'documents'): InsertQuery<T, 'documents'>;
|
|
59
|
+
return(mode: InsertReturnMode): InsertQuery<T, typeof mode>;
|
|
60
|
+
}
|
|
61
|
+
type InsertOneReturnMode = 'insertedId' | 'document';
|
|
62
|
+
type InsertOneReturnType<T extends Record$1, R extends InsertOneReturnMode> = R extends 'insertedId' ? string : R extends 'document' ? T : never;
|
|
63
|
+
interface InsertOneQuery<T extends Record$1 = Record$1, R extends InsertOneReturnMode = 'insertedId'> extends PromiseLike<InsertOneReturnType<T, R>> {
|
|
64
|
+
return(mode: 'insertedId'): InsertOneQuery<T, 'insertedId'>;
|
|
65
|
+
return(mode: 'document'): InsertOneQuery<T, 'document'>;
|
|
66
|
+
return(mode: InsertOneReturnMode): InsertOneQuery<T, typeof mode>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
type UpdateReturnMode = 'affectedRows' | 'oldDocuments' | 'newDocuments';
|
|
70
|
+
type UpdateReturnType<T, R extends UpdateReturnMode> = R extends 'affectedRows' ? bigint : R extends 'oldDocuments' | 'newDocuments' ? T[] : never;
|
|
71
|
+
interface UpdateQuery<T extends Record$1 = Record$1, R extends UpdateReturnMode = 'affectedRows'> extends PromiseLike<UpdateReturnType<T, R>> {
|
|
72
|
+
limit(limit: number): this;
|
|
73
|
+
offset(offset: number): this;
|
|
74
|
+
sort(sort: Sorting): this;
|
|
75
|
+
return(mode: 'affectedRows'): UpdateQuery<T, 'affectedRows'>;
|
|
76
|
+
return(mode: 'oldDocuments'): UpdateQuery<T, 'oldDocuments'>;
|
|
77
|
+
return(mode: 'newDocuments'): UpdateQuery<T, 'newDocuments'>;
|
|
78
|
+
return(mode: UpdateReturnMode): UpdateQuery<T, typeof mode>;
|
|
79
|
+
}
|
|
80
|
+
type UpdateOneReturnMode = 'success' | 'oldDocument' | 'newDocument';
|
|
81
|
+
type UpdateOneReturnType<T, R extends UpdateOneReturnMode> = R extends 'success' ? boolean : R extends 'oldDocument' | 'newDocument' ? T | undefined : never;
|
|
82
|
+
interface UpdateOneQuery<T extends Record$1 = Record$1, R extends UpdateOneReturnMode = 'success'> extends PromiseLike<UpdateOneReturnType<T, R>> {
|
|
83
|
+
offset(offset: number): this;
|
|
84
|
+
sort(sort: Sorting): this;
|
|
85
|
+
upsert(upsert: boolean): this;
|
|
86
|
+
return(mode: 'success'): UpdateOneQuery<T, 'success'>;
|
|
87
|
+
return(mode: 'oldDocument'): UpdateOneQuery<T, 'oldDocument'>;
|
|
88
|
+
return(mode: 'newDocument'): UpdateOneQuery<T, 'newDocument'>;
|
|
89
|
+
return(mode: UpdateOneReturnMode): UpdateOneQuery<T, typeof mode>;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type RemoveReturnMode = 'affectedRows' | 'documents';
|
|
93
|
+
type RemoveReturnType<T, R extends RemoveReturnMode> = R extends 'affectedRows' ? bigint : R extends 'documents' ? T[] : never;
|
|
94
|
+
interface RemoveQuery<T extends Record$1 = Record$1, R extends RemoveReturnMode = 'affectedRows'> extends PromiseLike<RemoveReturnType<T, R>> {
|
|
95
|
+
limit(limit: number): this;
|
|
96
|
+
offset(offset: number): this;
|
|
97
|
+
sort(sort: Sorting): this;
|
|
98
|
+
return(mode: 'affectedRows'): RemoveQuery<T, 'affectedRows'>;
|
|
99
|
+
return(mode: 'documents'): RemoveQuery<T, 'documents'>;
|
|
100
|
+
return(mode: RemoveReturnMode): RemoveQuery<T, typeof mode>;
|
|
101
|
+
}
|
|
102
|
+
type RemoveOneReturnMode = 'success' | 'document';
|
|
103
|
+
type RemoveOneReturnType<T, R extends RemoveOneReturnMode> = R extends 'success' ? boolean : R extends 'document' ? T | undefined : never;
|
|
104
|
+
interface RemoveOneQuery<T extends Record$1 = Record$1, R extends RemoveOneReturnMode = 'success'> extends PromiseLike<RemoveOneReturnType<T, R>> {
|
|
105
|
+
offset(offset: number): this;
|
|
106
|
+
sort(sort: Sorting): this;
|
|
107
|
+
return(mode: 'success'): RemoveOneQuery<T, 'success'>;
|
|
108
|
+
return(mode: 'document'): RemoveOneQuery<T, 'document'>;
|
|
109
|
+
return(mode: RemoveOneReturnMode): RemoveOneQuery<T, typeof mode>;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
interface Entity<T extends object = Record$1<string, unknown>> {
|
|
113
|
+
get name(): string;
|
|
114
|
+
find(query?: Record$1): FindQuery<T>;
|
|
115
|
+
findOne(query?: Record$1): FindOneQuery<T>;
|
|
116
|
+
insert(docs: T[]): InsertQuery<T>;
|
|
117
|
+
insertOne(doc: T): InsertOneQuery<T>;
|
|
118
|
+
update(query: Record$1, update: Record$1): UpdateQuery<T>;
|
|
119
|
+
updateOne(query: Record$1, update: Record$1): UpdateOneQuery<T>;
|
|
120
|
+
remove(query: Record$1): RemoveQuery<T>;
|
|
121
|
+
removeOne(query: Record$1): RemoveOneQuery<T>;
|
|
122
|
+
}
|
|
123
|
+
interface Sorting {
|
|
124
|
+
[field: string]: 'asc' | 'desc';
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
interface FindQuery<T extends Record$1 = Record$1> extends PromiseLike<T[]> {
|
|
128
|
+
limit(limit: number): this;
|
|
129
|
+
offset(offset: number): this;
|
|
130
|
+
sort(sort: Sorting): this;
|
|
131
|
+
}
|
|
132
|
+
interface FindOneQuery<T extends Record$1 = Record$1> extends PromiseLike<T | undefined> {
|
|
133
|
+
offset(offset: number): this;
|
|
134
|
+
sort(sort: Sorting): this;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
interface Artifacts {
|
|
138
|
+
get<T>(key: string): T | undefined;
|
|
139
|
+
set<T>(key: string, value: T): void;
|
|
140
|
+
delete(key: string): void;
|
|
141
|
+
get auth(): Auth | undefined;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
145
|
+
declare enum StatusCode {
|
|
146
|
+
Continue = 100,
|
|
147
|
+
SwitchingProtocols = 101,
|
|
148
|
+
Processing = 102,
|
|
149
|
+
EarlyHints = 103,
|
|
150
|
+
OK = 200,
|
|
151
|
+
Created = 201,
|
|
152
|
+
Accepted = 202,
|
|
153
|
+
NonAuthoritativeInformation = 203,
|
|
154
|
+
NoContent = 204,
|
|
155
|
+
ResetContent = 205,
|
|
156
|
+
PartialContent = 206,
|
|
157
|
+
MultiStatus = 207,
|
|
158
|
+
AlreadyReported = 208,
|
|
159
|
+
IMUsed = 226,
|
|
160
|
+
MultipleChoices = 300,
|
|
161
|
+
MovedPermanently = 301,
|
|
162
|
+
Found = 302,
|
|
163
|
+
SeeOther = 303,
|
|
164
|
+
NotModified = 304,
|
|
165
|
+
UseProxy = 305,
|
|
166
|
+
TemporaryRedirect = 307,
|
|
167
|
+
PermanentRedirect = 308,
|
|
168
|
+
BadRequest = 400,
|
|
169
|
+
Unauthorized = 401,
|
|
170
|
+
PaymentRequired = 402,
|
|
171
|
+
Forbidden = 403,
|
|
172
|
+
NotFound = 404,
|
|
173
|
+
MethodNotAllowed = 405,
|
|
174
|
+
NotAcceptable = 406,
|
|
175
|
+
ProxyAuthenticationRequired = 407,
|
|
176
|
+
RequestTimeout = 408,
|
|
177
|
+
Conflict = 409,
|
|
178
|
+
Gone = 410,
|
|
179
|
+
LengthRequired = 411,
|
|
180
|
+
PreconditionFailed = 412,
|
|
181
|
+
ContentTooLarge = 413,
|
|
182
|
+
URITooLong = 414,
|
|
183
|
+
UnsupportedMediaType = 415,
|
|
184
|
+
RangeNotSatisfiable = 416,
|
|
185
|
+
ExpectationFailed = 417,
|
|
186
|
+
ImATeapot = 418,
|
|
187
|
+
MisdirectedRequest = 421,
|
|
188
|
+
UnprocessableEntity = 422,
|
|
189
|
+
Locked = 423,
|
|
190
|
+
FailedDependency = 424,
|
|
191
|
+
TooEarly = 425,
|
|
192
|
+
UpgradeRequired = 426,
|
|
193
|
+
PreconditionRequired = 428,
|
|
194
|
+
TooManyRequests = 429,
|
|
195
|
+
RequestHeaderFieldsTooLarge = 431,
|
|
196
|
+
UnavailableForLegalReasons = 451,
|
|
197
|
+
InternalServerError = 500,
|
|
198
|
+
NotImplemented = 501,
|
|
199
|
+
BadGateway = 502,
|
|
200
|
+
ServiceUnavailable = 503,
|
|
201
|
+
GatewayTimeout = 504,
|
|
202
|
+
HTTPVersionNotSupported = 505,
|
|
203
|
+
VariantAlsoNegotiates = 506,
|
|
204
|
+
InsufficientStorage = 507,
|
|
205
|
+
LoopDetected = 508,
|
|
206
|
+
NotExtended = 510,
|
|
207
|
+
NetworkAuthenticationRequired = 511
|
|
208
|
+
}
|
|
209
|
+
type RequestHandler = (req: Request, res: ResponseBuilder) => void | Promise<void>;
|
|
210
|
+
type Middleware = (req: Request, res: ResponseBuilder, next: () => Promise<void>) => void | Promise<void>;
|
|
211
|
+
interface Router {
|
|
212
|
+
scope(path: string): Router;
|
|
213
|
+
route(method: Method, path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
214
|
+
middleware(handler: Middleware, options?: MiddlewareOptions): Router;
|
|
215
|
+
get(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
216
|
+
post(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
217
|
+
put(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
218
|
+
patch(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
219
|
+
delete(path: string, handler: RequestHandler, options?: RouteOptions): Router;
|
|
220
|
+
}
|
|
221
|
+
interface RouteOptions {
|
|
222
|
+
timeoutMs?: number;
|
|
223
|
+
permissions?: string[];
|
|
224
|
+
authenticated?: boolean;
|
|
225
|
+
visibility?: Visibility;
|
|
226
|
+
}
|
|
227
|
+
interface MiddlewareOptions {
|
|
228
|
+
path?: string;
|
|
229
|
+
priority?: number;
|
|
230
|
+
}
|
|
231
|
+
interface Request {
|
|
232
|
+
get artifacts(): Artifacts;
|
|
233
|
+
get method(): Method;
|
|
234
|
+
get url(): URL;
|
|
235
|
+
get params(): Record<string, string>;
|
|
236
|
+
get headers(): Headers;
|
|
237
|
+
cookie(name: string): string | undefined;
|
|
238
|
+
body(): Promise<Uint8Array>;
|
|
239
|
+
text(): Promise<string>;
|
|
240
|
+
json<T>(): Promise<T>;
|
|
241
|
+
}
|
|
242
|
+
interface RequestBuilder {
|
|
243
|
+
method(method: Method): this;
|
|
244
|
+
url(url: string | URL): this;
|
|
245
|
+
header(name: string, value: string): this;
|
|
246
|
+
headers(headers: HeadersInit): this;
|
|
247
|
+
cookie(name: string, value: string): this;
|
|
248
|
+
body(bytes: Uint8Array): this;
|
|
249
|
+
text(text: string): this;
|
|
250
|
+
json<T>(json: T): this;
|
|
251
|
+
}
|
|
252
|
+
interface Response {
|
|
253
|
+
get status(): number;
|
|
254
|
+
get headers(): Headers;
|
|
255
|
+
cookie(name: string): SetCookie | undefined;
|
|
256
|
+
body(): Promise<Uint8Array>;
|
|
257
|
+
text(): Promise<string>;
|
|
258
|
+
json<T>(): Promise<T>;
|
|
259
|
+
}
|
|
260
|
+
interface ResponseBuilder {
|
|
261
|
+
status(status: number): this;
|
|
262
|
+
header(name: string, value: string): this;
|
|
263
|
+
headers(headers: HeadersInit): this;
|
|
264
|
+
cookie(name: string, value?: string, options?: SetCookieOptions): this;
|
|
265
|
+
body(bytes: Uint8Array): this;
|
|
266
|
+
text(text: string): this;
|
|
267
|
+
json<T>(json: T): this;
|
|
268
|
+
}
|
|
269
|
+
interface SetCookieOptions {
|
|
270
|
+
encode?: (s: string) => string;
|
|
271
|
+
maxAge?: number;
|
|
272
|
+
expires?: Date;
|
|
273
|
+
domain?: string;
|
|
274
|
+
path?: string;
|
|
275
|
+
httpOnly?: boolean;
|
|
276
|
+
secure?: boolean;
|
|
277
|
+
partitioned?: boolean;
|
|
278
|
+
priority?: 'low' | 'medium' | 'high';
|
|
279
|
+
sameSite?: boolean | 'lax' | 'strict' | 'none';
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
interface Crypto {
|
|
283
|
+
deriveKey(seed: string, length: number): Uint8Array;
|
|
284
|
+
aesGcmEncrypt<T>(data: T): Uint8Array;
|
|
285
|
+
aesGcmDecrypt<T>(data: Uint8Array): T;
|
|
286
|
+
argon2Hash(algorithm: Argon2Algorithm, password: string, options?: Argon2Options): string;
|
|
287
|
+
argon2Verify(algorithm: Argon2Algorithm, password: string, hash: string, options?: Argon2Options): boolean;
|
|
288
|
+
}
|
|
289
|
+
type Argon2Algorithm = 'argon2d' | 'argon2i' | 'argon2id';
|
|
290
|
+
interface Argon2Options {
|
|
291
|
+
mCost?: number;
|
|
292
|
+
tCost?: number;
|
|
293
|
+
pCost?: number;
|
|
294
|
+
outputLen?: number;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
interface SetOptions {
|
|
298
|
+
ttl?: number;
|
|
299
|
+
existenceCheck?: 'nx' | 'xx';
|
|
300
|
+
}
|
|
301
|
+
interface KeyValueStore {
|
|
302
|
+
get<T>(key: string): Promise<T>;
|
|
303
|
+
getDel<T>(key: string): Promise<T>;
|
|
304
|
+
set<T>(key: string, value: T, options?: SetOptions): Promise<void>;
|
|
305
|
+
delete(key: string): Promise<void>;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
interface RPC {
|
|
309
|
+
call(url: string, method: Method): Call;
|
|
310
|
+
get(url: string): Call;
|
|
311
|
+
post(url: string): Call;
|
|
312
|
+
put(url: string): Call;
|
|
313
|
+
patch(url: string): Call;
|
|
314
|
+
delete(url: string): Call;
|
|
315
|
+
}
|
|
316
|
+
interface Call extends RequestBuilder, PromiseLike<Response> {
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
interface Providers {
|
|
320
|
+
list(group: string): Provider[];
|
|
321
|
+
}
|
|
322
|
+
interface Provider {
|
|
323
|
+
get app(): AppId;
|
|
324
|
+
get group(): string;
|
|
325
|
+
get id(): string;
|
|
326
|
+
call(path: string, method: Method): Call;
|
|
327
|
+
get(path: string): Call;
|
|
328
|
+
post(path: string): Call;
|
|
329
|
+
put(path: string): Call;
|
|
330
|
+
patch(path: string): Call;
|
|
331
|
+
delete(path: string): Call;
|
|
332
|
+
}
|
|
333
|
+
declare const Provider: {
|
|
334
|
+
fromId(id: string): Provider;
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
interface SSE {
|
|
338
|
+
push<T>(event: T, targets: string[]): Promise<void>;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
interface Bridge {
|
|
342
|
+
get tenant(): Tenant;
|
|
343
|
+
get providers(): Providers;
|
|
344
|
+
settings<T>(): T | undefined;
|
|
345
|
+
crd<T>(key: string): T | undefined;
|
|
346
|
+
get rpc(): RPC;
|
|
347
|
+
get kv(): KeyValueStore;
|
|
348
|
+
get sse(): SSE;
|
|
349
|
+
get crypto(): Crypto;
|
|
350
|
+
entity<T extends object>(name: string): Entity<T>;
|
|
351
|
+
publish<T extends object>(event: string, payload: T, visibility?: Visibility[]): void;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
declare const logLevels: readonly ["trace", "debug", "info", "warn", "error", "none"];
|
|
355
|
+
type LogLevel = (typeof logLevels)[number];
|
|
356
|
+
|
|
357
|
+
export { type AppRole as A, type Bridge as B, type EventHandler as E, type FindQuery as F, type HookEventMap as H, type InsertQuery as I, type LogLevel as L, type Method as M, type Namespace as N, Provider as P, type RemoveQuery as R, StatusCode as S, type Tenant as T, type UpdateQuery as U, type Visibility as V, type FindOneQuery as a, type InsertOneQuery as b, type UpdateOneQuery as c, type RemoveOneQuery as d, type Router as e, AppId as f, type Artifacts as g, type Auth as h, type Entity as i, type Middleware as j, type Providers as k, type Request as l, type RequestBuilder as m, type RequestHandler as n, type Response as o, type ResponseBuilder as p, type RouteOptions as q, type Subject as r };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m1cro/server-sdk",
|
|
3
|
-
"version": "0.1.1-beta.
|
|
3
|
+
"version": "0.1.1-beta.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./globals": {
|
|
14
|
+
"types": "./dist/globals.d.ts"
|
|
12
15
|
}
|
|
13
16
|
},
|
|
14
17
|
"publishConfig": {
|