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

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/index.d.ts CHANGED
@@ -15,7 +15,7 @@ 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> = {
@@ -42,46 +42,34 @@ type AppRoleData = {
42
42
  };
43
43
  test: void;
44
44
  };
45
- interface Auth {
46
- subject: Subject;
47
- permissions: Permissions;
48
- }
49
- interface Subject {
50
- id: string;
51
- email: string;
52
- roles: string[];
53
- }
54
- interface Permissions {
55
- [key: string]: string[];
56
- }
57
45
  interface HookEventMap {
58
46
  "start": [];
59
47
  "install": [];
60
48
  }
61
49
 
62
- interface FindQuery<T extends Record = Record> {
50
+ interface FindQuery<T extends Record$1 = Record$1> {
63
51
  limit(limit: number): this;
64
52
  offset(offset: number): this;
65
53
  sort(sort: Sorting): this;
66
54
  exec(): Promise<T[]>;
67
55
  }
68
- interface FindOneQuery<T extends Record = Record> {
56
+ interface FindOneQuery<T extends Record$1 = Record$1> {
69
57
  offset(offset: number): this;
70
58
  sort(sort: Sorting): this;
71
59
  exec(): Promise<T | undefined>;
72
60
  }
73
61
 
74
62
  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'> {
63
+ type InsertReturnType<T extends Record$1, R extends InsertReturnMode> = R extends 'insertedIds' ? string[] : R extends 'documents' ? T[] : never;
64
+ interface InsertQuery<T extends Record$1 = Record$1, R extends InsertReturnMode = 'insertedIds'> {
77
65
  return(mode: 'insertedIds'): InsertQuery<T, 'insertedIds'>;
78
66
  return(mode: 'documents'): InsertQuery<T, 'documents'>;
79
67
  return(mode: InsertReturnMode): InsertQuery<T, typeof mode>;
80
68
  exec(): Promise<InsertReturnType<T, R>>;
81
69
  }
82
70
  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'> {
71
+ type InsertOneReturnType<T extends Record$1, R extends InsertOneReturnMode> = R extends 'insertedId' ? string : R extends 'document' ? T : never;
72
+ interface InsertOneQuery<T extends Record$1 = Record$1, R extends InsertOneReturnMode = 'insertedId'> {
85
73
  return(mode: 'insertedId'): InsertOneQuery<T, 'insertedId'>;
86
74
  return(mode: 'document'): InsertOneQuery<T, 'document'>;
87
75
  return(mode: InsertOneReturnMode): InsertOneQuery<T, typeof mode>;
@@ -90,7 +78,7 @@ interface InsertOneQuery<T extends Record = Record, R extends InsertOneReturnMod
90
78
 
91
79
  type UpdateReturnMode = 'affectedRows' | 'oldDocuments' | 'newDocuments';
92
80
  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'> {
81
+ interface UpdateQuery<T extends Record$1 = Record$1, R extends UpdateReturnMode = 'affectedRows'> {
94
82
  limit(limit: number): this;
95
83
  offset(offset: number): this;
96
84
  sort(sort: Sorting): this;
@@ -102,7 +90,7 @@ interface UpdateQuery<T extends Record = Record, R extends UpdateReturnMode = 'a
102
90
  }
103
91
  type UpdateOneReturnMode = 'success' | 'oldDocument' | 'newDocument';
104
92
  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'> {
93
+ interface UpdateOneQuery<T extends Record$1 = Record$1, R extends UpdateOneReturnMode = 'success'> {
106
94
  offset(offset: number): this;
107
95
  sort(sort: Sorting): this;
108
96
  return(mode: 'success'): UpdateOneQuery<T, 'success'>;
@@ -114,7 +102,7 @@ interface UpdateOneQuery<T extends Record = Record, R extends UpdateOneReturnMod
114
102
 
115
103
  type RemoveReturnMode = 'affectedRows' | 'documents';
116
104
  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'> {
105
+ interface RemoveQuery<T extends Record$1 = Record$1, R extends RemoveReturnMode = 'affectedRows'> {
118
106
  limit(limit: number): this;
119
107
  offset(offset: number): this;
120
108
  sort(sort: Sorting): this;
@@ -125,7 +113,7 @@ interface RemoveQuery<T extends Record = Record, R extends RemoveReturnMode = 'a
125
113
  }
126
114
  type RemoveOneReturnMode = 'success' | 'document';
127
115
  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'> {
116
+ interface RemoveOneQuery<T extends Record$1 = Record$1, R extends RemoveOneReturnMode = 'success'> {
129
117
  offset(offset: number): this;
130
118
  sort(sort: Sorting): this;
131
119
  return(mode: 'success'): RemoveOneQuery<T, 'success'>;
@@ -134,16 +122,16 @@ interface RemoveOneQuery<T extends Record = Record, R extends RemoveOneReturnMod
134
122
  exec(): Promise<RemoveOneReturnType<T, R>>;
135
123
  }
136
124
 
137
- interface Entity<T extends object = Record<string, unknown>> {
125
+ interface Entity<T extends object = Record$1<string, unknown>> {
138
126
  get name(): string;
139
- find(query: Record): FindQuery<T>;
140
- findOne(query: Record): FindOneQuery<T>;
127
+ find(query?: Record$1): FindQuery<T>;
128
+ findOne(query?: Record$1): FindOneQuery<T>;
141
129
  insert(docs: T[]): InsertQuery<T>;
142
130
  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>;
131
+ update(query: Record$1, update: Record$1): UpdateQuery<T>;
132
+ updateOne(query: Record$1, update: Record$1): UpdateOneQuery<T>;
133
+ remove(query: Record$1): RemoveQuery<T>;
134
+ removeOne(query: Record$1): RemoveOneQuery<T>;
147
135
  }
148
136
  interface Sorting {
149
137
  [field: string]: 'asc' | 'desc';
@@ -174,6 +162,8 @@ interface Artifacts {
174
162
  delete(key: string): void;
175
163
  }
176
164
 
165
+ type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
166
+ type RequestHandler = (this: App, req: Request, res: ResponseBuilder) => void | Promise<void>;
177
167
  interface Router {
178
168
  scope(path: string): Router;
179
169
  route(method: Method, path: string, handler: RequestHandler, options?: RouteOptions): Router;
@@ -189,38 +179,39 @@ interface RouteOptions {
189
179
  authenticated?: boolean;
190
180
  visibility?: Visibility;
191
181
  }
192
- type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
193
- type RequestHandler = (this: App, req: Request, res: Response) => void | Promise<void>;
194
182
  interface Request {
195
183
  get artifacts(): Artifacts;
196
184
  get method(): Method;
197
- withMethod(method: Method): Request;
198
185
  get url(): URL;
199
- withUrl(url: string | URL): Request;
200
- header(name: string): string | undefined;
201
- withHeader(name: string, value: string): Request;
186
+ get params(): Record<string, string>;
202
187
  get headers(): Headers;
203
- withHeaders(headers: HeadersInit): Request;
204
188
  body(): Promise<Uint8Array>;
205
- withBody(bytes: Uint8Array): Request;
206
189
  text(): Promise<string>;
207
- withText(text: string): Request;
208
190
  json<T>(): Promise<T>;
209
- withJson<T>(json: T): Request;
191
+ }
192
+ interface RequestBuilder {
193
+ method(method: Method): RequestBuilder;
194
+ url(url: string | URL): RequestBuilder;
195
+ header(name: string, value: string): RequestBuilder;
196
+ headers(headers: HeadersInit): RequestBuilder;
197
+ body(bytes: Uint8Array): RequestBuilder;
198
+ text(text: string): RequestBuilder;
199
+ json<T>(json: T): RequestBuilder;
210
200
  }
211
201
  interface Response {
212
202
  get status(): number;
213
- withStatus(status: number): Response;
214
- header(name: string): string | undefined;
215
- withHeader(name: string, value: string): Response;
216
203
  get headers(): Headers;
217
- withHeaders(headers: HeadersInit): Response;
218
204
  body(): Promise<Uint8Array>;
219
- withBody(bytes: Uint8Array): Response;
220
205
  text(): Promise<string>;
221
- withText(text: string): Response;
222
206
  json<T>(): Promise<T>;
223
- withJson<T>(json: T): Response;
207
+ }
208
+ interface ResponseBuilder {
209
+ status(status: number): ResponseBuilder;
210
+ header(name: string, value: string): ResponseBuilder;
211
+ headers(headers: HeadersInit): ResponseBuilder;
212
+ body(bytes: Uint8Array): ResponseBuilder;
213
+ text(text: string): ResponseBuilder;
214
+ json<T>(json: T): ResponseBuilder;
224
215
  }
225
216
 
226
217
  interface RPC {
@@ -231,7 +222,7 @@ interface RPC {
231
222
  patch(url: string): Call;
232
223
  delete(url: string): Call;
233
224
  }
234
- interface Call extends Request {
225
+ interface Call extends RequestBuilder {
235
226
  send(): Promise<Response>;
236
227
  }
237
228
 
@@ -270,4 +261,4 @@ interface AppBuilder {
270
261
  subscribe(pattern: string, handler: EventHandler): AppBuilder;
271
262
  }
272
263
 
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 };
264
+ export { type App, type AppBuilder, type Artifacts, type EntryPoint, type Providers, _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 p={encode(r){return e.encode(r)},decode(r){return e.decode(r)}};export{p as cbor};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
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.2",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -12,6 +12,22 @@
12
12
  },
13
13
  "./globals": {
14
14
  "types": "./dist/globals.d.ts"
15
+ },
16
+ "./entity": {
17
+ "types": "./dist/entity.d.ts",
18
+ "import": "./dist/entity.js"
19
+ },
20
+ "./http": {
21
+ "types": "./dist/http.d.ts",
22
+ "import": "./dist/http.js"
23
+ },
24
+ "./rpc": {
25
+ "types": "./dist/rpc.d.ts",
26
+ "import": "./dist/rpc.js"
27
+ },
28
+ "./types": {
29
+ "types": "./dist/types.d.ts",
30
+ "import": "./dist/types.js"
15
31
  }
16
32
  },
17
33
  "publishConfig": {
@@ -32,4 +48,4 @@
32
48
  "devDependencies": {
33
49
  "tsup": "^8.5.1"
34
50
  }
35
- }
51
+ }