@m1cro/server-sdk 0.1.0 → 0.1.1-beta.3

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 CHANGED
@@ -7,7 +7,4 @@ declare global {
7
7
  interface Console extends console.Console {
8
8
  logLevel: LogLevel;
9
9
  }
10
- interface Request {
11
- artifacts?: any;
12
- }
13
10
  }
package/dist/index.d.ts CHANGED
@@ -15,13 +15,13 @@ interface Argon2Options {
15
15
  outputLen?: number;
16
16
  }
17
17
 
18
- type Record<K extends string | number | symbol = string, V = any> = {
18
+ type Record$1<K extends string | number | symbol = string, V = any> = {
19
19
  [key in K]: V;
20
20
  };
21
21
  type Variant<K extends PropertyKey, T extends object> = {
22
- [P in keyof T]: ({
22
+ [P in keyof T]: {
23
23
  [Q in K]: P;
24
- } & T[P]) extends infer U ? {
24
+ } & T[P] extends infer U ? {
25
25
  [Q in keyof U]: U[Q];
26
26
  } : never;
27
27
  }[keyof T];
@@ -35,7 +35,7 @@ interface AppId {
35
35
  namespace: string;
36
36
  app: string;
37
37
  }
38
- type AppRole = Variant<"type", AppRoleData>;
38
+ type AppRole = Variant<'type', AppRoleData>;
39
39
  type AppRoleData = {
40
40
  provider: {
41
41
  group: string;
@@ -55,33 +55,33 @@ interface Permissions {
55
55
  [key: string]: string[];
56
56
  }
57
57
  interface HookEventMap {
58
- "start": [];
59
- "install": [];
58
+ start: [];
59
+ install: [];
60
60
  }
61
61
 
62
- interface FindQuery<T extends Record = Record> {
62
+ interface FindQuery<T extends Record$1 = Record$1> {
63
63
  limit(limit: number): this;
64
64
  offset(offset: number): this;
65
65
  sort(sort: Sorting): this;
66
66
  exec(): Promise<T[]>;
67
67
  }
68
- interface FindOneQuery<T extends Record = Record> {
68
+ interface FindOneQuery<T extends Record$1 = Record$1> {
69
69
  offset(offset: number): this;
70
70
  sort(sort: Sorting): this;
71
71
  exec(): Promise<T | undefined>;
72
72
  }
73
73
 
74
74
  type InsertReturnMode = 'insertedIds' | 'documents';
75
- type InsertReturnType<T extends Record, R extends InsertReturnMode> = R extends 'insertedIds' ? string[] : R extends 'documents' ? T[] : never;
76
- interface InsertQuery<T extends Record = Record, R extends InsertReturnMode = 'insertedIds'> {
75
+ type InsertReturnType<T extends Record$1, R extends InsertReturnMode> = R extends 'insertedIds' ? string[] : R extends 'documents' ? T[] : never;
76
+ interface InsertQuery<T extends Record$1 = Record$1, R extends InsertReturnMode = 'insertedIds'> {
77
77
  return(mode: 'insertedIds'): InsertQuery<T, 'insertedIds'>;
78
78
  return(mode: 'documents'): InsertQuery<T, 'documents'>;
79
79
  return(mode: InsertReturnMode): InsertQuery<T, typeof mode>;
80
80
  exec(): Promise<InsertReturnType<T, R>>;
81
81
  }
82
82
  type InsertOneReturnMode = 'insertedId' | 'document';
83
- type InsertOneReturnType<T extends Record, R extends InsertOneReturnMode> = R extends 'insertedId' ? string : R extends 'document' ? T : never;
84
- interface InsertOneQuery<T extends Record = Record, R extends InsertOneReturnMode = 'insertedId'> {
83
+ type InsertOneReturnType<T extends Record$1, R extends InsertOneReturnMode> = R extends 'insertedId' ? string : R extends 'document' ? T : never;
84
+ interface InsertOneQuery<T extends Record$1 = Record$1, R extends InsertOneReturnMode = 'insertedId'> {
85
85
  return(mode: 'insertedId'): InsertOneQuery<T, 'insertedId'>;
86
86
  return(mode: 'document'): InsertOneQuery<T, 'document'>;
87
87
  return(mode: InsertOneReturnMode): InsertOneQuery<T, typeof mode>;
@@ -90,7 +90,7 @@ interface InsertOneQuery<T extends Record = Record, R extends InsertOneReturnMod
90
90
 
91
91
  type UpdateReturnMode = 'affectedRows' | 'oldDocuments' | 'newDocuments';
92
92
  type UpdateReturnType<T, R extends UpdateReturnMode> = R extends 'affectedRows' ? bigint : R extends 'oldDocuments' | 'newDocuments' ? T[] : never;
93
- interface UpdateQuery<T extends Record = Record, R extends UpdateReturnMode = 'affectedRows'> {
93
+ interface UpdateQuery<T extends Record$1 = Record$1, R extends UpdateReturnMode = 'affectedRows'> {
94
94
  limit(limit: number): this;
95
95
  offset(offset: number): this;
96
96
  sort(sort: Sorting): this;
@@ -101,8 +101,8 @@ interface UpdateQuery<T extends Record = Record, R extends UpdateReturnMode = 'a
101
101
  exec(): Promise<UpdateReturnType<T, R>>;
102
102
  }
103
103
  type UpdateOneReturnMode = 'success' | 'oldDocument' | 'newDocument';
104
- type UpdateOneReturnType<T, R extends UpdateOneReturnMode> = R extends 'success' ? boolean : R extends 'oldDocument' | 'newDocument' ? (T | undefined) : never;
105
- interface UpdateOneQuery<T extends Record = Record, R extends UpdateOneReturnMode = 'success'> {
104
+ type UpdateOneReturnType<T, R extends UpdateOneReturnMode> = R extends 'success' ? boolean : R extends 'oldDocument' | 'newDocument' ? T | undefined : never;
105
+ interface UpdateOneQuery<T extends Record$1 = Record$1, R extends UpdateOneReturnMode = 'success'> {
106
106
  offset(offset: number): this;
107
107
  sort(sort: Sorting): this;
108
108
  return(mode: 'success'): UpdateOneQuery<T, 'success'>;
@@ -114,7 +114,7 @@ interface UpdateOneQuery<T extends Record = Record, R extends UpdateOneReturnMod
114
114
 
115
115
  type RemoveReturnMode = 'affectedRows' | 'documents';
116
116
  type RemoveReturnType<T, R extends RemoveReturnMode> = R extends 'affectedRows' ? bigint : R extends 'documents' ? T[] : never;
117
- interface RemoveQuery<T extends Record = Record, R extends RemoveReturnMode = 'affectedRows'> {
117
+ interface RemoveQuery<T extends Record$1 = Record$1, R extends RemoveReturnMode = 'affectedRows'> {
118
118
  limit(limit: number): this;
119
119
  offset(offset: number): this;
120
120
  sort(sort: Sorting): this;
@@ -124,8 +124,8 @@ interface RemoveQuery<T extends Record = Record, R extends RemoveReturnMode = 'a
124
124
  exec(): Promise<RemoveReturnType<T, R>>;
125
125
  }
126
126
  type RemoveOneReturnMode = 'success' | 'document';
127
- type RemoveOneReturnType<T, R extends RemoveOneReturnMode> = R extends 'success' ? boolean : R extends 'document' ? (T | undefined) : never;
128
- interface RemoveOneQuery<T extends Record = Record, R extends RemoveOneReturnMode = 'success'> {
127
+ type RemoveOneReturnType<T, R extends RemoveOneReturnMode> = R extends 'success' ? boolean : R extends 'document' ? T | undefined : never;
128
+ interface RemoveOneQuery<T extends Record$1 = Record$1, R extends RemoveOneReturnMode = 'success'> {
129
129
  offset(offset: number): this;
130
130
  sort(sort: Sorting): this;
131
131
  return(mode: 'success'): RemoveOneQuery<T, 'success'>;
@@ -134,46 +134,58 @@ interface RemoveOneQuery<T extends Record = Record, R extends RemoveOneReturnMod
134
134
  exec(): Promise<RemoveOneReturnType<T, R>>;
135
135
  }
136
136
 
137
- interface Entity<T extends object = Record<string, unknown>> {
137
+ interface Entity<T extends object = Record$1<string, unknown>> {
138
138
  get name(): string;
139
- find(query: Record): FindQuery<T>;
140
- findOne(query: Record): FindOneQuery<T>;
139
+ find(query?: Record$1): FindQuery<T>;
140
+ findOne(query?: Record$1): FindOneQuery<T>;
141
141
  insert(docs: T[]): InsertQuery<T>;
142
142
  insertOne(doc: T): InsertOneQuery<T>;
143
- update(query: Record, update: Record): UpdateQuery<T>;
144
- updateOne(query: Record, update: Record): UpdateOneQuery<T>;
145
- remove(query: Record): RemoveQuery<T>;
146
- removeOne(query: Record): RemoveOneQuery<T>;
143
+ update(query: Record$1, update: Record$1): UpdateQuery<T>;
144
+ updateOne(query: Record$1, update: Record$1): UpdateOneQuery<T>;
145
+ remove(query: Record$1): RemoveQuery<T>;
146
+ removeOne(query: Record$1): RemoveOneQuery<T>;
147
147
  }
148
148
  interface Sorting {
149
149
  [field: string]: 'asc' | 'desc';
150
150
  }
151
151
 
152
- interface SetOptions {
153
- ttl?: number;
154
- existenceCheck?: "nx" | "xx";
155
- }
156
- interface KeyValueStore {
157
- get<T>(key: string): Promise<T>;
158
- getDel<T>(key: string): Promise<T>;
159
- set<T>(key: string, value: T, options?: SetOptions): Promise<void>;
160
- delete(key: string): Promise<void>;
161
- }
162
-
163
- interface Providers {
164
- list(group: string): Provider[];
165
- }
166
- interface Provider {
167
- group: string;
168
- app: AppId;
169
- }
170
-
171
152
  interface Artifacts {
172
153
  get<T>(key: string): T | undefined;
173
154
  set<T>(key: string, value: T): void;
174
155
  delete(key: string): void;
175
156
  }
176
157
 
158
+ type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
159
+ declare const enum StatusCode {
160
+ Continue = 100,
161
+ SwitchingProtocols = 101,
162
+ Processing = 102,
163
+ EarlyHints = 103,
164
+ OK = 200,
165
+ Created = 201,
166
+ Accepted = 202,
167
+ NoContent = 204,
168
+ BadRequest = 400,
169
+ Unauthorized = 401,
170
+ Forbidden = 403,
171
+ NotFound = 404,
172
+ MethodNotAllowed = 405,
173
+ NotAcceptable = 406,
174
+ ProxyAuthenticationRequired = 407,
175
+ RequestTimeout = 408,
176
+ Conflict = 409,
177
+ Gone = 410,
178
+ InternalServerError = 500,
179
+ NotImplemented = 501,
180
+ BadGateway = 502,
181
+ ServiceUnavailable = 503,
182
+ GatewayTimeout = 504,
183
+ HTTPVersionNotSupported = 505,
184
+ VariantAlsoNegotiates = 506,
185
+ InsufficientStorage = 507
186
+ }
187
+ type RequestHandler = (this: App, req: Request, res: ResponseBuilder) => void | Promise<void>;
188
+ type Middleware = (this: App, req: Request, res: ResponseBuilder, next: () => Promise<void>) => void | Promise<void>;
177
189
  interface Router {
178
190
  scope(path: string): Router;
179
191
  route(method: Method, path: string, handler: RequestHandler, options?: RouteOptions): Router;
@@ -189,38 +201,58 @@ interface RouteOptions {
189
201
  authenticated?: boolean;
190
202
  visibility?: Visibility;
191
203
  }
192
- type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
193
- type RequestHandler = (this: App, req: Request, res: Response) => void | Promise<void>;
194
204
  interface Request {
195
205
  get artifacts(): Artifacts;
196
206
  get method(): Method;
197
- withMethod(method: Method): Request;
198
207
  get url(): URL;
199
- withUrl(url: string | URL): Request;
200
- header(name: string): string | undefined;
201
- withHeader(name: string, value: string): Request;
208
+ get params(): Record<string, string>;
202
209
  get headers(): Headers;
203
- withHeaders(headers: HeadersInit): Request;
204
210
  body(): Promise<Uint8Array>;
205
- withBody(bytes: Uint8Array): Request;
206
211
  text(): Promise<string>;
207
- withText(text: string): Request;
208
212
  json<T>(): Promise<T>;
209
- withJson<T>(json: T): Request;
213
+ }
214
+ interface RequestBuilder {
215
+ method(method: Method): RequestBuilder;
216
+ url(url: string | URL): RequestBuilder;
217
+ header(name: string, value: string): RequestBuilder;
218
+ headers(headers: HeadersInit): RequestBuilder;
219
+ body(bytes: Uint8Array): RequestBuilder;
220
+ text(text: string): RequestBuilder;
221
+ json<T>(json: T): RequestBuilder;
210
222
  }
211
223
  interface Response {
212
224
  get status(): number;
213
- withStatus(status: number): Response;
214
- header(name: string): string | undefined;
215
- withHeader(name: string, value: string): Response;
216
225
  get headers(): Headers;
217
- withHeaders(headers: HeadersInit): Response;
218
226
  body(): Promise<Uint8Array>;
219
- withBody(bytes: Uint8Array): Response;
220
227
  text(): Promise<string>;
221
- withText(text: string): Response;
222
228
  json<T>(): Promise<T>;
223
- withJson<T>(json: T): Response;
229
+ }
230
+ interface ResponseBuilder {
231
+ status(status: number): ResponseBuilder;
232
+ header(name: string, value: string): ResponseBuilder;
233
+ headers(headers: HeadersInit): ResponseBuilder;
234
+ body(bytes: Uint8Array): ResponseBuilder;
235
+ text(text: string): ResponseBuilder;
236
+ json<T>(json: T): ResponseBuilder;
237
+ }
238
+
239
+ interface SetOptions {
240
+ ttl?: number;
241
+ existenceCheck?: 'nx' | 'xx';
242
+ }
243
+ interface KeyValueStore {
244
+ get<T>(key: string): Promise<T>;
245
+ getDel<T>(key: string): Promise<T>;
246
+ set<T>(key: string, value: T, options?: SetOptions): Promise<void>;
247
+ delete(key: string): Promise<void>;
248
+ }
249
+
250
+ interface Providers {
251
+ list(group: string): Provider[];
252
+ }
253
+ interface Provider {
254
+ group: string;
255
+ app: AppId;
224
256
  }
225
257
 
226
258
  interface RPC {
@@ -231,7 +263,7 @@ interface RPC {
231
263
  patch(url: string): Call;
232
264
  delete(url: string): Call;
233
265
  }
234
- interface Call extends Request {
266
+ interface Call extends RequestBuilder {
235
267
  send(): Promise<Response>;
236
268
  }
237
269
 
@@ -239,6 +271,12 @@ interface SSE {
239
271
  push<T>(event: T, targets: string[]): Promise<void>;
240
272
  }
241
273
 
274
+ declare const _default: {
275
+ encode<T>(data: T): Uint8Array;
276
+ decode<T>(data: Uint8Array): T;
277
+ };
278
+
279
+ type EntryPoint = (builder: AppBuilder) => unknown;
242
280
  interface App {
243
281
  get tenant(): Tenant;
244
282
  get providers(): Providers;
@@ -251,13 +289,6 @@ interface App {
251
289
  entity<T extends object>(name: string): Entity<T>;
252
290
  publish<T extends object>(event: string, payload: T, visibility?: Visibility[]): void;
253
291
  }
254
-
255
- declare const _default: {
256
- encode<T>(data: T): Uint8Array;
257
- decode<T>(data: Uint8Array): T;
258
- };
259
-
260
- type EntryPoint = (builder: AppBuilder) => unknown;
261
292
  interface AppBuilder {
262
293
  on<K extends keyof HookEventMap>(type: K, listener: (this: App, ...args: HookEventMap[K]) => unknown): AppBuilder;
263
294
  role(role: AppRole): AppBuilder;
@@ -270,4 +301,4 @@ interface AppBuilder {
270
301
  subscribe(pattern: string, handler: EventHandler): AppBuilder;
271
302
  }
272
303
 
273
- export { type App, type AppBuilder, type AppId, type AppRole, type Artifacts, type Auth, type Entity, type EntryPoint, type Providers, type Request, type RequestHandler, type Response, type RouteOptions, type Router, type Tenant, _default as cbor };
304
+ export { type App, type AppBuilder, type AppId, type AppRole, type Artifacts, type Auth, type Entity, type EntryPoint, type Method, type Middleware, type Providers, type Request, type RequestBuilder, type RequestHandler, type Response, type ResponseBuilder, type RouteOptions, type Router, StatusCode, type Tenant, _default as cbor };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import*as e from'cbor2';var t={encode(p){return e.encode(p)},decode(p){return e.decode(p)}};export{t as cbor};//# sourceMappingURL=index.js.map
1
+ import*as e from'cbor2';var r={encode(t){return e.encode(t)},decode(t){return e.decode(t)}};export{r as cbor};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cbor.ts"],"names":["cbor_default","data"],"mappings":"wBAEA,IAAOA,CAAAA,CAAQ,CACX,MAAA,CAAUC,CAAAA,CAAqB,CAC3B,OAAa,CAAA,CAAA,MAAA,CAAOA,CAAI,CAC5B,CAAA,CACA,OAAUA,CAAAA,CAAqB,CAC3B,OAAa,CAAA,CAAA,MAAA,CAAOA,CAAI,CAC5B,CACJ","file":"index.js","sourcesContent":["import * as cbor2 from \"cbor2\";\n\nexport default {\n encode<T>(data: T): Uint8Array {\n return cbor2.encode(data);\n },\n decode<T>(data: Uint8Array): T {\n return cbor2.decode(data);\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/cbor.ts"],"names":["cbor_default","data"],"mappings":"wBAEA,IAAOA,CAAAA,CAAQ,CACb,MAAA,CAAUC,CAAAA,CAAqB,CAC7B,OAAa,CAAA,CAAA,MAAA,CAAOA,CAAI,CAC1B,CAAA,CACA,OAAUA,CAAAA,CAAqB,CAC7B,OAAa,CAAA,CAAA,MAAA,CAAOA,CAAI,CAC1B,CACF","file":"index.js","sourcesContent":["import * as cbor2 from 'cbor2';\n\nexport default {\n encode<T>(data: T): Uint8Array {\n return cbor2.encode(data);\n },\n decode<T>(data: Uint8Array): T {\n return cbor2.decode(data);\n },\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m1cro/server-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1-beta.3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -32,4 +32,4 @@
32
32
  "devDependencies": {
33
33
  "tsup": "^8.5.1"
34
34
  }
35
- }
35
+ }