encore.dev 1.45.2 → 1.45.4
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/api/mod.ts +22 -1
- package/dist/api/mod.d.ts +11 -0
- package/dist/api/mod.js +20 -1
- package/dist/api/mod.js.map +1 -1
- package/dist/internal/appinit/mod.d.ts +2 -1
- package/dist/internal/appinit/mod.js +23 -6
- package/dist/internal/appinit/mod.js.map +1 -1
- package/dist/internal/reqtrack/mod.js +1 -1
- package/dist/internal/runtime/mod.js +0 -2
- package/dist/internal/runtime/mod.js.map +1 -1
- package/dist/internal/runtime/napi/napi.cjs +1 -1
- package/dist/internal/runtime/napi/napi.d.cts +6 -2
- package/dist/pubsub/mod.d.ts +58 -1
- package/dist/pubsub/topic.d.ts +1 -1
- package/dist/req_meta.d.ts +4 -0
- package/dist/req_meta.js +2 -1
- package/dist/req_meta.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/validate/mod.d.ts +9 -9
- package/internal/appinit/mod.ts +25 -5
- package/internal/reqtrack/mod.ts +1 -1
- package/internal/runtime/mod.ts +0 -2
- package/internal/runtime/napi/napi.cjs +1 -1
- package/internal/runtime/napi/napi.d.cts +6 -2
- package/package.json +1 -1
- package/pubsub/mod.ts +66 -1
- package/pubsub/topic.ts +1 -1
- package/req_meta.ts +7 -1
- package/validate/mod.ts +9 -9
- package/dist/pubsub/attributes.d.ts +0 -59
- package/dist/pubsub/attributes.js +0 -2
- package/dist/pubsub/attributes.js.map +0 -1
- package/pubsub/attributes.ts +0 -66
package/api/mod.ts
CHANGED
|
@@ -300,6 +300,7 @@ export class MiddlewareRequest {
|
|
|
300
300
|
private _stream?: IterableStream | IterableSocket | Sink;
|
|
301
301
|
private _rawReq?: RawRequest;
|
|
302
302
|
private _rawResp?: RawResponse;
|
|
303
|
+
private _data?: Record<string, any>;
|
|
303
304
|
|
|
304
305
|
constructor(
|
|
305
306
|
stream?: IterableStream | IterableSocket | Sink,
|
|
@@ -339,6 +340,17 @@ export class MiddlewareRequest {
|
|
|
339
340
|
public get rawResponse(): RawResponse | undefined {
|
|
340
341
|
return this._rawResp;
|
|
341
342
|
}
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* data can be used to pass data from middlewares to the handler.
|
|
346
|
+
* The data will be available via `currentRequest()`
|
|
347
|
+
*/
|
|
348
|
+
public get data(): Record<string, any> {
|
|
349
|
+
if (this._data === undefined) {
|
|
350
|
+
this._data = {};
|
|
351
|
+
}
|
|
352
|
+
return this._data;
|
|
353
|
+
}
|
|
342
354
|
}
|
|
343
355
|
|
|
344
356
|
export class ResponseHeader {
|
|
@@ -379,6 +391,7 @@ export class HandlerResponse {
|
|
|
379
391
|
payload: any;
|
|
380
392
|
|
|
381
393
|
private _headers?: ResponseHeader;
|
|
394
|
+
private _status?: number;
|
|
382
395
|
|
|
383
396
|
constructor(payload: any) {
|
|
384
397
|
this.payload = payload;
|
|
@@ -397,13 +410,21 @@ export class HandlerResponse {
|
|
|
397
410
|
return this._headers;
|
|
398
411
|
}
|
|
399
412
|
|
|
413
|
+
/**
|
|
414
|
+
* Override the http status code for successful requests for typed endpoints.
|
|
415
|
+
*/
|
|
416
|
+
public set status(s: number) {
|
|
417
|
+
this._status = s;
|
|
418
|
+
}
|
|
419
|
+
|
|
400
420
|
/**
|
|
401
421
|
* __internalToResponse converts a response to the internal representation
|
|
402
422
|
*/
|
|
403
423
|
__internalToResponse(): InternalHandlerResponse {
|
|
404
424
|
return {
|
|
405
425
|
payload: this.payload,
|
|
406
|
-
extraHeaders: this._headers?.headers
|
|
426
|
+
extraHeaders: this._headers?.headers,
|
|
427
|
+
status: this._status
|
|
407
428
|
};
|
|
408
429
|
}
|
|
409
430
|
}
|
package/dist/api/mod.d.ts
CHANGED
|
@@ -181,6 +181,7 @@ export declare class MiddlewareRequest {
|
|
|
181
181
|
private _stream?;
|
|
182
182
|
private _rawReq?;
|
|
183
183
|
private _rawResp?;
|
|
184
|
+
private _data?;
|
|
184
185
|
constructor(stream?: IterableStream | IterableSocket | Sink, rawReq?: RawRequest, rawResp?: RawResponse);
|
|
185
186
|
/**
|
|
186
187
|
* requestMeta is set when the handler is a typed handler or a stream handler.
|
|
@@ -199,6 +200,11 @@ export declare class MiddlewareRequest {
|
|
|
199
200
|
* rawResponse is set when the handler is a raw request handler.
|
|
200
201
|
*/
|
|
201
202
|
get rawResponse(): RawResponse | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* data can be used to pass data from middlewares to the handler.
|
|
205
|
+
* The data will be available via `currentRequest()`
|
|
206
|
+
*/
|
|
207
|
+
get data(): Record<string, any>;
|
|
202
208
|
}
|
|
203
209
|
export declare class ResponseHeader {
|
|
204
210
|
headers: Record<string, string | string[]>;
|
|
@@ -221,6 +227,7 @@ export declare class HandlerResponse {
|
|
|
221
227
|
*/
|
|
222
228
|
payload: any;
|
|
223
229
|
private _headers?;
|
|
230
|
+
private _status?;
|
|
224
231
|
constructor(payload: any);
|
|
225
232
|
/**
|
|
226
233
|
* header can be used by middlewares to set headers to the
|
|
@@ -228,6 +235,10 @@ export declare class HandlerResponse {
|
|
|
228
235
|
* see MiddlewareRequest.rawResponse.
|
|
229
236
|
*/
|
|
230
237
|
get header(): ResponseHeader;
|
|
238
|
+
/**
|
|
239
|
+
* Override the http status code for successful requests for typed endpoints.
|
|
240
|
+
*/
|
|
241
|
+
set status(s: number);
|
|
231
242
|
/**
|
|
232
243
|
* __internalToResponse converts a response to the internal representation
|
|
233
244
|
*/
|
package/dist/api/mod.js
CHANGED
|
@@ -33,6 +33,7 @@ export class MiddlewareRequest {
|
|
|
33
33
|
_stream;
|
|
34
34
|
_rawReq;
|
|
35
35
|
_rawResp;
|
|
36
|
+
_data;
|
|
36
37
|
constructor(stream, rawReq, rawResp) {
|
|
37
38
|
this._stream = stream;
|
|
38
39
|
this._rawReq = rawReq;
|
|
@@ -63,6 +64,16 @@ export class MiddlewareRequest {
|
|
|
63
64
|
get rawResponse() {
|
|
64
65
|
return this._rawResp;
|
|
65
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* data can be used to pass data from middlewares to the handler.
|
|
69
|
+
* The data will be available via `currentRequest()`
|
|
70
|
+
*/
|
|
71
|
+
get data() {
|
|
72
|
+
if (this._data === undefined) {
|
|
73
|
+
this._data = {};
|
|
74
|
+
}
|
|
75
|
+
return this._data;
|
|
76
|
+
}
|
|
66
77
|
}
|
|
67
78
|
export class ResponseHeader {
|
|
68
79
|
headers;
|
|
@@ -97,6 +108,7 @@ export class HandlerResponse {
|
|
|
97
108
|
*/
|
|
98
109
|
payload;
|
|
99
110
|
_headers;
|
|
111
|
+
_status;
|
|
100
112
|
constructor(payload) {
|
|
101
113
|
this.payload = payload;
|
|
102
114
|
}
|
|
@@ -111,13 +123,20 @@ export class HandlerResponse {
|
|
|
111
123
|
}
|
|
112
124
|
return this._headers;
|
|
113
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Override the http status code for successful requests for typed endpoints.
|
|
128
|
+
*/
|
|
129
|
+
set status(s) {
|
|
130
|
+
this._status = s;
|
|
131
|
+
}
|
|
114
132
|
/**
|
|
115
133
|
* __internalToResponse converts a response to the internal representation
|
|
116
134
|
*/
|
|
117
135
|
__internalToResponse() {
|
|
118
136
|
return {
|
|
119
137
|
payload: this.payload,
|
|
120
|
-
extraHeaders: this._headers?.headers
|
|
138
|
+
extraHeaders: this._headers?.headers,
|
|
139
|
+
status: this._status
|
|
121
140
|
};
|
|
122
141
|
}
|
|
123
142
|
}
|
package/dist/api/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../api/mod.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAGpB,OAAO,EAAe,cAAc,EAAE,MAAM,QAAQ,CAAC;AAKrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAmHpE,MAAM,UAAU,GAAG,CAAC,OAAmB,EAAE,EAAO;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAID,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,OAAmB,EAAE,EAAc;IACxD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AA+CF,SAAS,WAAW,CAAC,OAAsB,EAAE,EAAO;IAClD,OAAO,EAAE,CAAC;AACZ,CAAC;AAcD,SAAS,QAAQ,CAAC,OAAsB,EAAE,EAAO;IAC/C,OAAO,EAAE,CAAC;AACZ,CAAC;AAUD,SAAS,SAAS,CAAC,OAAsB,EAAE,EAAO;IAChD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;AAC9B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACxB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;AA4C1B,MAAM,OAAO,YAAY;IACP,OAAO,CAAgB;IAEvC,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,GAAG,CAAC,MAAM,GAAG,SAAS,YAAY,CAAC,OAAsB;IACvD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AA+BF,MAAM,OAAO,iBAAiB;IACpB,QAAQ,CAAe;IACvB,OAAO,CAA0C;IACjD,OAAO,CAAc;IACrB,QAAQ,CAAe;
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../api/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export type Handler = {
|
|
|
9
9
|
export declare function registerHandlers(handlers: Handler[]): void;
|
|
10
10
|
export declare function registerTestHandler(handler: Handler): void;
|
|
11
11
|
export declare function registerGateways(gateways: Gateway[]): void;
|
|
12
|
-
export declare function run(): Promise<void>;
|
|
12
|
+
export declare function run(entrypoint: string): Promise<void>;
|
|
13
13
|
interface EndpointOptions {
|
|
14
14
|
expose: boolean;
|
|
15
15
|
auth: boolean;
|
|
@@ -19,5 +19,6 @@ interface EndpointOptions {
|
|
|
19
19
|
export interface InternalHandlerResponse {
|
|
20
20
|
payload: any;
|
|
21
21
|
extraHeaders?: Record<string, string | string[]>;
|
|
22
|
+
status?: number;
|
|
22
23
|
}
|
|
23
24
|
export {};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { isMainThread, Worker } from "node:worker_threads";
|
|
1
2
|
import { MiddlewareRequest, HandlerResponse } from "../../api/mod.js";
|
|
2
3
|
import { IterableSocket, IterableStream, Sink } from "../../api/stream.js";
|
|
3
4
|
import { RawRequest, RawResponse } from "../api/node_http.js";
|
|
4
5
|
import { setCurrentRequest } from "../reqtrack/mod.js";
|
|
5
6
|
import * as runtime from "../runtime/mod.js";
|
|
7
|
+
import { fileURLToPath } from "node:url";
|
|
6
8
|
export function registerHandlers(handlers) {
|
|
7
9
|
runtime.RT.registerHandlers(handlers.map((h) => transformHandler(h)));
|
|
8
10
|
}
|
|
@@ -13,15 +15,30 @@ export function registerGateways(gateways) {
|
|
|
13
15
|
// This function exists to ensure gateways are imported and executed.
|
|
14
16
|
// It intentionally doesn't need to do anything.
|
|
15
17
|
}
|
|
16
|
-
export async function run() {
|
|
17
|
-
|
|
18
|
+
export async function run(entrypoint) {
|
|
19
|
+
if (isMainThread) {
|
|
20
|
+
const extraWorkers = runtime.RT.numWorkerThreads() - 1;
|
|
21
|
+
if (extraWorkers > 0) {
|
|
22
|
+
const path = fileURLToPath(entrypoint);
|
|
23
|
+
for (let i = 0; i < extraWorkers; i++) {
|
|
24
|
+
new Worker(path);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return runtime.RT.runForever();
|
|
28
|
+
}
|
|
29
|
+
// This is a worker thread. The runtime is already initialized, so block forever.
|
|
30
|
+
await new Promise(() => { });
|
|
18
31
|
}
|
|
19
32
|
// recursively calls all middlewares
|
|
20
|
-
async function invokeMiddlewareChain(req, chain, handler) {
|
|
33
|
+
async function invokeMiddlewareChain(curReq, req, chain, handler) {
|
|
21
34
|
const execute = async (index, req) => {
|
|
22
35
|
const currentMiddleware = chain.at(index);
|
|
23
36
|
// no more middlewares, execute the handler
|
|
24
37
|
if (currentMiddleware === undefined) {
|
|
38
|
+
const mwData = req.data;
|
|
39
|
+
if (mwData !== undefined) {
|
|
40
|
+
curReq.middlewareData = mwData;
|
|
41
|
+
}
|
|
25
42
|
return new HandlerResponse(await handler());
|
|
26
43
|
}
|
|
27
44
|
// execute current middleware
|
|
@@ -90,7 +107,7 @@ function transformHandler(h) {
|
|
|
90
107
|
: h.apiRoute.handler(streamArg);
|
|
91
108
|
};
|
|
92
109
|
const mwRequest = new MiddlewareRequest(streamArg, undefined, undefined);
|
|
93
|
-
return invokeMiddlewareChain(mwRequest, middlewares, handler);
|
|
110
|
+
return invokeMiddlewareChain(req, mwRequest, middlewares, handler);
|
|
94
111
|
}
|
|
95
112
|
};
|
|
96
113
|
}
|
|
@@ -108,7 +125,7 @@ function transformHandler(h) {
|
|
|
108
125
|
return h.apiRoute.handler(rawReq, rawResp);
|
|
109
126
|
};
|
|
110
127
|
const mwRequest = new MiddlewareRequest(undefined, rawReq, rawResp);
|
|
111
|
-
return invokeMiddlewareChain(mwRequest, middlewares, handler);
|
|
128
|
+
return invokeMiddlewareChain(req, mwRequest, middlewares, handler);
|
|
112
129
|
}
|
|
113
130
|
};
|
|
114
131
|
}
|
|
@@ -127,7 +144,7 @@ function transformHandler(h) {
|
|
|
127
144
|
: h.apiRoute.handler();
|
|
128
145
|
};
|
|
129
146
|
const mwRequest = new MiddlewareRequest(undefined, undefined, undefined);
|
|
130
|
-
return invokeMiddlewareChain(mwRequest, middlewares, handler);
|
|
147
|
+
return invokeMiddlewareChain(req, mwRequest, middlewares, handler);
|
|
131
148
|
}
|
|
132
149
|
};
|
|
133
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/appinit/mod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/appinit/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { isMainThread } from "node:worker_threads";
|
|
2
1
|
import { Runtime } from "./napi/napi.cjs";
|
|
3
2
|
export * from "./napi/napi.cjs";
|
|
4
3
|
const testMode = process.env.NODE_ENV === "test";
|
|
5
4
|
export const RT = new Runtime({
|
|
6
5
|
testMode,
|
|
7
|
-
isWorker: !isMainThread && !testMode,
|
|
8
6
|
});
|
|
9
7
|
//# sourceMappingURL=mod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/runtime/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/runtime/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,cAAc,iBAAiB,CAAC;AAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AAEjD,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC;IAC5B,QAAQ;CACT,CAAC,CAAC"}
|
|
@@ -153,7 +153,7 @@ export class Logger {
|
|
|
153
153
|
* Returns a new logger with the given fields added to the context
|
|
154
154
|
* that the logger will use when emitting logs as extra fields
|
|
155
155
|
*/
|
|
156
|
-
with(fields: Record<string, unknown>):
|
|
156
|
+
with(fields: Record<string, unknown>): Logger
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
export class ObjectAttrs {
|
|
@@ -244,11 +244,15 @@ export class Runtime {
|
|
|
244
244
|
/** Returns the git commit hash used to build the Encore runtime */
|
|
245
245
|
static buildCommit(): string
|
|
246
246
|
appMeta(): AppMeta
|
|
247
|
+
/**
|
|
248
|
+
* Reports the total number of worker threads,
|
|
249
|
+
* including the main thread.
|
|
250
|
+
*/
|
|
251
|
+
numWorkerThreads(): number
|
|
247
252
|
}
|
|
248
253
|
|
|
249
254
|
export interface RuntimeOptions {
|
|
250
255
|
testMode?: boolean
|
|
251
|
-
isWorker?: boolean
|
|
252
256
|
}
|
|
253
257
|
|
|
254
258
|
export class Secret {
|
package/dist/pubsub/mod.d.ts
CHANGED
|
@@ -2,4 +2,61 @@ export { Topic } from "./topic.js";
|
|
|
2
2
|
export type { TopicConfig, DeliveryGuarantee } from "./topic.js";
|
|
3
3
|
export { Subscription } from "./subscription.js";
|
|
4
4
|
export type { SubscriptionConfig } from "./subscription.js";
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Attribute represents a field on a message that should be sent
|
|
7
|
+
* as an attribute in a PubSub message, rather than in the message
|
|
8
|
+
* body.
|
|
9
|
+
*
|
|
10
|
+
* This is useful for ordering messages, or for filtering messages
|
|
11
|
+
* on a subscription - otherwise you should not use this.
|
|
12
|
+
*
|
|
13
|
+
* To create attributes on a message, use the `Attribute` type:
|
|
14
|
+
* type Message = {
|
|
15
|
+
* user_id: Attribute<number>;
|
|
16
|
+
* name: string;
|
|
17
|
+
* };
|
|
18
|
+
*
|
|
19
|
+
* const msg: Message = {
|
|
20
|
+
* user_id: 123,
|
|
21
|
+
* name: "John Doe",
|
|
22
|
+
* };
|
|
23
|
+
*
|
|
24
|
+
* The union of brandedAttribute is simply used to help the TypeScript compiler
|
|
25
|
+
* understand that the type is an attribute and allow the AttributesOf type
|
|
26
|
+
* to extract the keys of said type.
|
|
27
|
+
*/
|
|
28
|
+
export type Attribute<T extends string | number | boolean> = T | brandedAttribute<T>;
|
|
29
|
+
/**
|
|
30
|
+
* AttributesOf is a helper type to extract all keys from an object
|
|
31
|
+
* who's type is an Attribute type.
|
|
32
|
+
*
|
|
33
|
+
* For example:
|
|
34
|
+
* type Message = {
|
|
35
|
+
* user_id: Attribute<number>;
|
|
36
|
+
* name: string;
|
|
37
|
+
* age: Attribute<number>;
|
|
38
|
+
* };
|
|
39
|
+
*
|
|
40
|
+
* type MessageAttributes = AttributesOf<Message>; // "user_id" | "age"
|
|
41
|
+
*/
|
|
42
|
+
export type AttributesOf<T extends object> = keyof {
|
|
43
|
+
[Key in keyof T as Extract<T[Key], allBrandedTypes> extends never ? never : Key]: never;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* supportedAttributeTypes is a union of all primitive types that are supported as attributes
|
|
47
|
+
*/
|
|
48
|
+
type supportedAttributeTypes = string | number | boolean;
|
|
49
|
+
/**
|
|
50
|
+
* brandedAttribute is a helper type to brand a type as an attribute
|
|
51
|
+
* which is distinct from the base type. It is a compile time only
|
|
52
|
+
* type and has no runtime representation.
|
|
53
|
+
*/
|
|
54
|
+
type brandedAttribute<T> = T & {
|
|
55
|
+
readonly __attributeBrand: unique symbol;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* allBrandedTypes is a helper type to create a union of all branded supported attribute types
|
|
59
|
+
*
|
|
60
|
+
* The result of this is: brandedAttribute<string> | brandedAttribute<number> | brandedAttribute<boolean>
|
|
61
|
+
*/
|
|
62
|
+
type allBrandedTypes<Union = supportedAttributeTypes> = Union extends supportedAttributeTypes ? brandedAttribute<Union> : never;
|
package/dist/pubsub/topic.d.ts
CHANGED
package/dist/req_meta.d.ts
CHANGED
|
@@ -50,6 +50,10 @@ export interface APICallMeta {
|
|
|
50
50
|
* request data.
|
|
51
51
|
*/
|
|
52
52
|
parsedPayload?: Record<string, any>;
|
|
53
|
+
/**
|
|
54
|
+
* Contains values set in middlewares via `MiddlewareRequest.data`.
|
|
55
|
+
*/
|
|
56
|
+
middlewareData?: Record<string, any>;
|
|
53
57
|
}
|
|
54
58
|
/** Describes a Pub/Sub message being processed. */
|
|
55
59
|
export interface PubSubMessageMeta {
|
package/dist/req_meta.js
CHANGED
|
@@ -29,7 +29,8 @@ export function currentRequest() {
|
|
|
29
29
|
pathAndQuery: meta.apiCall.pathAndQuery,
|
|
30
30
|
pathParams: meta.apiCall.pathParams ?? {},
|
|
31
31
|
parsedPayload: meta.apiCall.parsedPayload,
|
|
32
|
-
headers: meta.apiCall.headers
|
|
32
|
+
headers: meta.apiCall.headers,
|
|
33
|
+
middlewareData: req.middlewareData
|
|
33
34
|
};
|
|
34
35
|
return { ...base, ...api };
|
|
35
36
|
}
|
package/dist/req_meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"req_meta.js","sourceRoot":"","sources":["../req_meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"req_meta.js","sourceRoot":"","sources":["../req_meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAoJ5D;;;;;;GAMG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAExB,MAAM,IAAI,GAAoB;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,GAAG,GAAgB;YACvB,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE;gBACH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;gBACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ;gBACnC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;gBACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;aACpC;YACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAgB;YACrC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;YACzC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,cAAc,EAAG,GAAW,CAAC,cAAc;SAC5C,CAAC;QACF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;IAC7B,CAAC;SAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAsB;YAC7B,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;YACnC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;YAC/B,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;YAC7C,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;YAChC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe;YACnD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa;SAChD,CAAC;QACF,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../internal/runtime/napi/napi.d.cts","../internal/runtime/mod.ts","../app_meta.ts","../internal/reqtrack/mod.ts","../req_meta.ts","../mod.ts","../api/error.ts","../auth/mod.ts","../api/gateway.ts","../api/stream.ts","../internal/api/node_http.ts","../internal/appinit/mod.ts","../api/mod.ts","../internal/utils/constraints.ts","../config/secrets.ts","../config/mod.ts","../internal/types/mod.ts","../cron/mod.ts","../internal/api/mod.ts","../internal/auth/mod.ts","../internal/codegen/api.ts","../internal/codegen/appinit.ts","../internal/codegen/auth.ts","../log/mod.ts","../pubsub/attributes.ts","../pubsub/topic.ts","../pubsub/subscription.ts","../pubsub/mod.ts","../service/mod.ts","../storage/objects/error.ts","../storage/objects/refs.ts","../storage/objects/bucket.ts","../storage/objects/mod.ts","../storage/sqldb/database.ts","../storage/sqldb/mod.ts","../validate/mod.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"30e738034ee440e1169fa35616ba9a35a895d5a1c2635ee7d2f8d3b8badffb65",{"version":"e11fa6d10e4091c1e8c499253c80f2d162f493990c0f1a35db564a02affb7b56","signature":"cbdc3c62359f81de1fbfb1baf2f699990f36fe76dc3cf5e1defca9436cc09324"},{"version":"22c41cd969a3f3e8792047767157fd978e5bebf3d5edfe28263a60f094ea8960","signature":"f7a13afa5e66557c8b6fec4b7740e45c9ee0d0a3bdfc2419eeb21c9a214ab9b9"},{"version":"2f9d6c356517121fffa5c54a200fb8fd9b35a3a4339ec3a69ada6b90087c4479","signature":"0755afeffaa749b0a9d242ad328b06c1aa243dd7b10a5d38e13419150792c362"},{"version":"5c2912d2c82c3ced0d4ae19d6480487bcf09f9a124e5ddd45a1b3a134fa66ddb","signature":"cac2ecb20b5161247bdc9097bf71976bee015ff2e8bb9b00d64b2a0dff0620bd"},{"version":"76a8bc704b721e967c752b55bebb16f3a2922cdb86e652c0c82759f5cb3771da","signature":"6167410fcb897c61d6300d81d28f4fee3a1fc8e6ebbcd5c7fe9512fc5f061807"},{"version":"617f1365fe604e85dbee1041c4934d88784dcbfd8777dbcd0e347d7839a58270","signature":"733cbad424aa2dc04c2834d17a1e224182f9abcf355bf06f84972aa71e7cf88c"},{"version":"a9cb80f47f8ce54e616d903da3861ed87b4cc2db54369f3229305923a8d01e9e","signature":"e8b08e8437d7f449a1020c78f523c80edca47d2a7bec765cf8adee01b1b9f4b9"},{"version":"13f690099f433bbd91d6e5af8df80005df0ac3e0c96dc632898ba11bdeef49ba","signature":"b462e4f1ebcae75c287fe499122527a25b1f04c5349f842158c005d758bde646"},{"version":"42635a6318ca25c0163c248e3ada7d04587a63fb8d041d1a4997ceca3f7c0668","signature":"721a28764abcb39316ef5df74ced9bbc981f21d1f865b55660fe3cfca1693822"},{"version":"483cbcd6c7ab7d449e6e130bbd314af689d893c28421bc6f4005d72fbea8ba1e","signature":"b44e1fa2517dcd005974748e4dc03c6be792f3566b794b9262e3da72062b0d74"},{"version":"3af8f285fefdf3fe7568f0619aa4da5ab0c3ba6b2e85359946c6fd083c3d0679","signature":"842e8adf4621b8caa3a6fbfed1a34ae7c6dcecec858e46529d866ca0cbdb9c67"},{"version":"ac9eaf91c1065d17da739808a25845957ee51a2f0c84b4400c8547e8b96e20b6","signature":"f225221335cd6deb28418955270d8bbc1a64e5a3805f313feb2b1e03b4283bfa"},{"version":"dac2ecb2e2edf2f279c46f49b05e7dab73fb427a72f662cb24d7e06556087db7","signature":"89c544a3aa54a88d90bb7db6e318542d661fc79035b98700d2b7fe5d87bf7edb"},{"version":"c2358758c15d37b0f88a8ecf8cf38deb1fa45995871d2ecda2219ce8e365d2e2","signature":"d6557e5b8c49c27f990d378acb3a64cbd6291d1c97984d9d14510df1038f5d5b"},"68fe5d7ce4b0073cb450767c70847f6bd7ef0e6b099b26effd7651410fcc6206",{"version":"00018aadf3bf8aac3b94d086c07d837b006af7389fab4f52bba73083bdd02c51","signature":"15b3437374aea37541f405e45622294bc2e2631b749920676ae90a8a38ee0bce"},{"version":"d236effd859fb8663d2802ac5b16a8675645585380448c35a2b9297011db0186","signature":"f2582ae9e2b63ad8a9615655f2c136e1652436f177885cbf874d82a8c74f1d29"},{"version":"0144a40fd18f8ec246f120c1cc7e769ece97212a97b718e15e7f643d16c10fe8","signature":"5a51e785a9a472cad391424aef04ff8c1b68c965f5ee7574ab8cb2eed826e09f"},{"version":"65067ae33d9b54a877897cf19c04d11bbc642d23d5f9bddaacb6145b12b47252","signature":"484d6b91ba6f61784cbe40df3a8d4c894a8a6d9322147565c397c161d8b5e547"},"330fec351a0c9604ceaa9b098f5524875fae13b26e92a1f44555e67d12f87d35",{"version":"21c37ec4d5400f8d087cf808bc3fbeef1a332aa04a9ef3f6eff4de5addb9835b","signature":"017c1fe5d55daa40564b838ab60cea5e3981e494c20233bb1acc67276d1fb325"},{"version":"e8bf991b3662116671e3430bf519baaace5f6fff3da3fd8d0172ad28a31bc004","signature":"0bb4ce4d165639c83303131ec16c347188ae475335e48a4f0f0c5b09e19bebc7"},{"version":"99a7a53582f2a44381cfbd285fd0457e18116e4185fe93a8679b31a7253ae445","signature":"702197a1307efc488d7c2eed452627d3bfb63810e69e4dd7cecac4e289049e45"},{"version":"7752070ba7feb1db9554d53d98a6a88c7a33c8887d39e9fdcb0717f11efc3f55","signature":"8d4915d71b6ade8d068774cf77299cc76e597a63fb4ba7e055edde453edbf1eb"},{"version":"d73f514e65026f8431e3765a977f3ce2bd100b52a865677f28644972e200cafc","signature":"e470537b83f7ea9796f4088c419e5b95023b979b191030d1aefa742f3fbb1672"},{"version":"cb3393ffd4b953e1cb0fb2864e10c9dad9fb5a6343934ab0d1d034d0a8c09b0e","signature":"0c85004226ac441a92d4362392ee26d2de029799313b538cd7fab4304deae5f0"},{"version":"884eb991175ce17f8419fd6d4c380e8f1f3d1da8877d3820cddeecc2bfbc8c91","signature":"8605b99a002c3a7bbdf60d90193f3a1c62a5bdba0a940c812250a815162fbbb9"},{"version":"a437c68abc20686d0bc8cd7361b2c09fbe585ca0418a9caf9fae790f671e6001","signature":"320f693234a4a555bc4e9d95c6b635654d7f45509e0cba2a80399f159561ebbe"},{"version":"2e3ef79a9f913d0dd0c4e735ce917cc5e7b5f53b872642b6edc95d7c5fd4a436","signature":"d98413de84e40984b80541bd5f0444620fbf904859de5c06d5a0ea1540d5b741"},{"version":"338fc1986e022737ab89cb6efc3595acddd55b72c5b61cdf33851f461c6e6a42","signature":"2db3341caec90099ddab00329907bd2a26bf84235fd87c297ecb52808aa88a4b"},{"version":"edf15318ae9530d1765b459e072156543fa212e28e5572bb594f1214f80881bc","signature":"93e157f825a3b613d3aba05b90ccbd10b191fae12f9c33301e6fa17eaea36574"},"49bad97b9729c46c310cfe916fb2e22241910e7e9446678c2707d0b339d0bc97",{"version":"44265bd5fa5310617c25d3e53d23a46f1e9c8105b3c6d4146a4a91da793212b2","signature":"6d35581f1238ffab73b7f405ab7191e69f7130b4441691ebf73c305927d3a9e0"},"21a0fc92666d4ffe9628ad155124bdcbafc6bef107dff77349604ec9fd8c178b",{"version":"70fd95aea939e97c313c82fd0ab1556a3c820177869c64531038aab9fc929fca","signature":"ddc563f3a5f1a20f4aea98e92c26c65aa4c239e3bd71e3e66093a92a088d23cb"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[58,93]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"module":7,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"fileIdsList":[[59,61,65],[63,64,66,67,68,69,70,145],[59],[72],[59,71],[74],[59,61,64],[59,145,150,160],[59,61,66,67,68,70],[61],[76],[69],[77],[59,129],[58,176],[59,61],[60,62],[94],[129],[130,135,163],[131,142,143,150,160,171],[131,132,142,150],[133,172],[134,135,143,151],[135,160,168],[136,138,142,150],[129,137],[138,139],[142],[140,142],[129,142],[142,143,144,160,171],[142,143,144,157,160,163],[127,130,176],[138,142,145,150,160,171],[142,143,145,146,150,160,168,171],[145,147,160,168,171],[94,95,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[142,148],[149,171,176],[138,142,150,160],[151],[152],[129,153],[154,170,176],[155],[156],[142,157,158],[157,159,172,174],[130,142,160,161,162,163],[130,160,162],[160,161],[163],[164],[129,160],[142,166,167],[166,167],[135,150,160,168],[169],[150,170],[130,145,156,171],[135,172],[160,173],[149,174],[175],[130,135,142,144,153,160,171,174,176],[160,177],[104,108,171],[104,160,171],[99],[101,104,168,171],[150,168],[179],[99,179],[101,104,150,171],[96,97,100,103,130,142,160,171],[96,102],[100,104,130,163,171,179],[130,179],[120,130,179],[98,99,179],[104],[98,99,100,101,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126],[104,111,112],[102,104,112,113],[103],[96,99,104],[104,108,112,113],[108],[102,104,107,171],[96,101,102,104,108,111],[130,160],[99,104,120,130,176,179],[82,83,84],[59,61,74,83],[59,61,82],[70],[59,61,71,87,88],[87,88,89],[89],[59,61,71],[91],[65],[71],[59,66,70],[58],[74,83],[82],[59,71,88]],"referencedMap":[[66,1],[70,2],[67,3],[60,3],[73,4],[72,5],[75,6],[76,7],[68,8],[69,9],[77,10],[78,11],[79,12],[80,13],[61,14],[59,15],[81,16],[63,17],[94,18],[95,18],[129,19],[130,20],[131,21],[132,22],[133,23],[134,24],[135,25],[136,26],[137,27],[138,28],[139,28],[141,29],[140,30],[142,31],[143,32],[144,33],[128,34],[145,35],[146,36],[147,37],[179,38],[148,39],[149,40],[150,41],[151,42],[152,43],[153,44],[154,45],[155,46],[156,47],[157,48],[158,48],[159,49],[160,50],[162,51],[161,52],[163,53],[164,54],[165,55],[166,56],[167,57],[168,58],[169,59],[170,60],[171,61],[172,62],[173,63],[174,64],[175,65],[176,66],[177,67],[111,68],[118,69],[110,68],[125,70],[102,71],[101,72],[124,73],[119,74],[122,75],[104,76],[103,77],[99,78],[98,79],[121,80],[100,81],[105,82],[109,82],[127,83],[126,82],[113,84],[114,85],[116,86],[112,87],[115,88],[120,73],[107,89],[108,90],[117,91],[97,92],[123,93],[85,94],[84,95],[83,96],[62,10],[86,97],[89,98],[87,3],[90,99],[88,100],[91,101],[92,102]],"exportedModulesMap":[[66,103],[70,2],[67,3],[73,4],[72,104],[75,6],[68,8],[69,105],[78,11],[79,12],[80,13],[61,3],[59,106],[81,3],[63,17],[94,18],[95,18],[129,19],[130,20],[131,21],[132,22],[133,23],[134,24],[135,25],[136,26],[137,27],[138,28],[139,28],[141,29],[140,30],[142,31],[143,32],[144,33],[128,34],[145,35],[146,36],[147,37],[179,38],[148,39],[149,40],[150,41],[151,42],[152,43],[153,44],[154,45],[155,46],[156,47],[157,48],[158,48],[159,49],[160,50],[162,51],[161,52],[163,53],[164,54],[165,55],[166,56],[167,57],[168,58],[169,59],[170,60],[171,61],[172,62],[173,63],[174,64],[175,65],[176,66],[177,67],[111,68],[118,69],[110,68],[125,70],[102,71],[101,72],[124,73],[119,74],[122,75],[104,76],[103,77],[99,78],[98,79],[121,80],[100,81],[105,82],[109,82],[127,83],[126,82],[113,84],[114,85],[116,86],[112,87],[115,88],[120,73],[107,89],[108,90],[117,91],[97,92],[123,93],[85,94],[84,107],[83,108],[86,97],[89,109],[87,3],[90,99],[88,100],[91,5],[92,102]],"semanticDiagnosticsPerFile":[64,66,70,67,60,65,73,72,75,76,68,69,77,78,79,80,61,59,58,74,71,81,63,94,95,129,130,131,132,133,134,135,136,137,138,139,141,140,142,143,144,128,178,145,146,147,179,148,149,150,151,152,153,154,155,156,157,158,159,160,162,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,111,118,110,125,102,101,124,119,122,104,103,99,98,121,100,105,106,109,96,127,126,113,114,116,112,115,120,107,108,117,97,123,82,85,84,83,62,86,89,87,90,88,91,92,93],"latestChangedDtsFile":"./validate/mod.d.ts"},"version":"5.3.3"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../internal/runtime/napi/napi.d.cts","../internal/runtime/mod.ts","../app_meta.ts","../internal/reqtrack/mod.ts","../req_meta.ts","../mod.ts","../api/error.ts","../auth/mod.ts","../api/gateway.ts","../api/stream.ts","../internal/api/node_http.ts","../internal/appinit/mod.ts","../api/mod.ts","../internal/utils/constraints.ts","../config/secrets.ts","../config/mod.ts","../internal/types/mod.ts","../cron/mod.ts","../internal/api/mod.ts","../internal/auth/mod.ts","../internal/codegen/api.ts","../internal/codegen/appinit.ts","../internal/codegen/auth.ts","../log/mod.ts","../pubsub/topic.ts","../pubsub/subscription.ts","../pubsub/mod.ts","../service/mod.ts","../storage/objects/error.ts","../storage/objects/refs.ts","../storage/objects/bucket.ts","../storage/objects/mod.ts","../storage/sqldb/database.ts","../storage/sqldb/mod.ts","../validate/mod.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"af5ef528c09490b956960aa1a94517f805f40c192e24b45754b1ef6e90956e33",{"version":"b29cdf4ae72c30b2ff554160827c71e1679fe83e90a29042748b0d8103039a08","signature":"cbdc3c62359f81de1fbfb1baf2f699990f36fe76dc3cf5e1defca9436cc09324"},{"version":"22c41cd969a3f3e8792047767157fd978e5bebf3d5edfe28263a60f094ea8960","signature":"f7a13afa5e66557c8b6fec4b7740e45c9ee0d0a3bdfc2419eeb21c9a214ab9b9"},{"version":"1bf6c4fd8ff6f28adbc87ae80e9b3fd70a6b0f30e030c06858ea7da901df6279","signature":"0755afeffaa749b0a9d242ad328b06c1aa243dd7b10a5d38e13419150792c362"},{"version":"4264414c639ead0180eb4e562917166cac3614108cc7aae5fd298f570308ef96","signature":"6303fc0c688c7eb8ba977928e26b0c361b3ff7c673be4c1cab862016c823a1ed"},{"version":"76a8bc704b721e967c752b55bebb16f3a2922cdb86e652c0c82759f5cb3771da","signature":"6167410fcb897c61d6300d81d28f4fee3a1fc8e6ebbcd5c7fe9512fc5f061807"},{"version":"617f1365fe604e85dbee1041c4934d88784dcbfd8777dbcd0e347d7839a58270","signature":"733cbad424aa2dc04c2834d17a1e224182f9abcf355bf06f84972aa71e7cf88c"},{"version":"a9cb80f47f8ce54e616d903da3861ed87b4cc2db54369f3229305923a8d01e9e","signature":"e8b08e8437d7f449a1020c78f523c80edca47d2a7bec765cf8adee01b1b9f4b9"},{"version":"13f690099f433bbd91d6e5af8df80005df0ac3e0c96dc632898ba11bdeef49ba","signature":"b462e4f1ebcae75c287fe499122527a25b1f04c5349f842158c005d758bde646"},{"version":"42635a6318ca25c0163c248e3ada7d04587a63fb8d041d1a4997ceca3f7c0668","signature":"721a28764abcb39316ef5df74ced9bbc981f21d1f865b55660fe3cfca1693822"},{"version":"483cbcd6c7ab7d449e6e130bbd314af689d893c28421bc6f4005d72fbea8ba1e","signature":"b44e1fa2517dcd005974748e4dc03c6be792f3566b794b9262e3da72062b0d74"},{"version":"0112a83dd6a321c42cc226dfd194f5a4d6afe435d548f14dec075ef9068c880a","signature":"ac2bc4182477839a7ba45349d6d990fb2be3a81f30eeca5b15d0e325e77484b4"},{"version":"e2cf492ed9d59f9e4dbe5568984d4bd8dc9f5d3fc465897d880df888fa2d0be6","signature":"18394544b88fbc6476d7936296224ed799c11cf250902917fead2c4fc03d1a24"},{"version":"dac2ecb2e2edf2f279c46f49b05e7dab73fb427a72f662cb24d7e06556087db7","signature":"89c544a3aa54a88d90bb7db6e318542d661fc79035b98700d2b7fe5d87bf7edb"},{"version":"c2358758c15d37b0f88a8ecf8cf38deb1fa45995871d2ecda2219ce8e365d2e2","signature":"d6557e5b8c49c27f990d378acb3a64cbd6291d1c97984d9d14510df1038f5d5b"},"68fe5d7ce4b0073cb450767c70847f6bd7ef0e6b099b26effd7651410fcc6206",{"version":"00018aadf3bf8aac3b94d086c07d837b006af7389fab4f52bba73083bdd02c51","signature":"15b3437374aea37541f405e45622294bc2e2631b749920676ae90a8a38ee0bce"},{"version":"d236effd859fb8663d2802ac5b16a8675645585380448c35a2b9297011db0186","signature":"f2582ae9e2b63ad8a9615655f2c136e1652436f177885cbf874d82a8c74f1d29"},{"version":"0144a40fd18f8ec246f120c1cc7e769ece97212a97b718e15e7f643d16c10fe8","signature":"5a51e785a9a472cad391424aef04ff8c1b68c965f5ee7574ab8cb2eed826e09f"},{"version":"65067ae33d9b54a877897cf19c04d11bbc642d23d5f9bddaacb6145b12b47252","signature":"484d6b91ba6f61784cbe40df3a8d4c894a8a6d9322147565c397c161d8b5e547"},"330fec351a0c9604ceaa9b098f5524875fae13b26e92a1f44555e67d12f87d35",{"version":"21c37ec4d5400f8d087cf808bc3fbeef1a332aa04a9ef3f6eff4de5addb9835b","signature":"017c1fe5d55daa40564b838ab60cea5e3981e494c20233bb1acc67276d1fb325"},{"version":"e8bf991b3662116671e3430bf519baaace5f6fff3da3fd8d0172ad28a31bc004","signature":"0bb4ce4d165639c83303131ec16c347188ae475335e48a4f0f0c5b09e19bebc7"},{"version":"99a7a53582f2a44381cfbd285fd0457e18116e4185fe93a8679b31a7253ae445","signature":"702197a1307efc488d7c2eed452627d3bfb63810e69e4dd7cecac4e289049e45"},{"version":"dbf57db930e4dbfd01de4fd5f4dd0e6a55ca8dd514da30338625f614bbeaeafb","signature":"44b947165ca58aaf83768a8e94b945478b41dfcdc825c6b8ef800cf6f2ece30c"},{"version":"cb3393ffd4b953e1cb0fb2864e10c9dad9fb5a6343934ab0d1d034d0a8c09b0e","signature":"0c85004226ac441a92d4362392ee26d2de029799313b538cd7fab4304deae5f0"},{"version":"d410d646a90393a2dae45c38a2f35a856729a2a0203ae36d8f5f2d81aade1cd3","signature":"c487a86e6b75c14a6ed499f45d75414dcc956efbc92e3f5897d3c92a4338db77"},{"version":"a437c68abc20686d0bc8cd7361b2c09fbe585ca0418a9caf9fae790f671e6001","signature":"320f693234a4a555bc4e9d95c6b635654d7f45509e0cba2a80399f159561ebbe"},{"version":"2e3ef79a9f913d0dd0c4e735ce917cc5e7b5f53b872642b6edc95d7c5fd4a436","signature":"d98413de84e40984b80541bd5f0444620fbf904859de5c06d5a0ea1540d5b741"},{"version":"338fc1986e022737ab89cb6efc3595acddd55b72c5b61cdf33851f461c6e6a42","signature":"2db3341caec90099ddab00329907bd2a26bf84235fd87c297ecb52808aa88a4b"},{"version":"edf15318ae9530d1765b459e072156543fa212e28e5572bb594f1214f80881bc","signature":"93e157f825a3b613d3aba05b90ccbd10b191fae12f9c33301e6fa17eaea36574"},"49bad97b9729c46c310cfe916fb2e22241910e7e9446678c2707d0b339d0bc97",{"version":"44265bd5fa5310617c25d3e53d23a46f1e9c8105b3c6d4146a4a91da793212b2","signature":"6d35581f1238ffab73b7f405ab7191e69f7130b4441691ebf73c305927d3a9e0"},"21a0fc92666d4ffe9628ad155124bdcbafc6bef107dff77349604ec9fd8c178b",{"version":"3f91f7f42589831057c4a2371d8ee9d03330e22429def4965237abc26f204e3b","signature":"cf3e528b3814b219e2370197c67689b02099fc6f8df0740266e61a50fa03fcbc"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[58,92]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"module":7,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"fileIdsList":[[59,61,65],[63,64,66,67,68,69,70,144],[59],[72],[59,71],[74],[59,61,64],[59,144,149,159],[59,61,66,67,68,70,170,175],[61],[76],[69],[77],[59,128],[58],[59,61],[60,62],[93],[128],[129,134,162],[130,141,142,149,159,170],[130,131,141,149],[132,171],[133,134,142,150],[134,159,167],[135,137,141,149],[128,136],[137,138],[141],[139,141],[128,141],[141,142,143,159,170],[141,142,143,156,159,162],[126,129,175],[137,141,144,149,159,170],[141,142,144,145,149,159,167,170],[144,146,159,167,170],[93,94,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[141,147],[148,170,175],[137,141,149,159],[150],[151],[128,152],[153,169,175],[154],[155],[141,156,157],[156,158,171,173],[129,141,159,160,161,162],[129,159,161],[159,160],[162],[163],[128,159],[141,165,166],[165,166],[134,149,159,167],[168],[149,169],[129,144,155,170],[134,171],[159,172],[148,173],[174],[129,134,141,143,152,159,170,173,175],[159,176],[103,107,170],[103,159,170],[98],[100,103,167,170],[149,167],[178],[98,178],[100,103,149,170],[95,96,99,102,129,141,159,170],[95,101],[99,103,129,162,170,178],[129,178],[119,129,178],[97,98,178],[103],[97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125],[103,110,111],[101,103,111,112],[102],[95,98,103],[103,107,111,112],[107],[101,103,106,170],[95,100,101,103,107,110],[129,159],[98,103,119,129,175,178],[82,83],[59,61,74,82],[59,61,84],[70],[59,61,71,86,87],[86,87,88],[88],[59,61,71],[90],[65],[71],[59,66,70],[74,82],[84],[59,71,87]],"referencedMap":[[66,1],[70,2],[67,3],[60,3],[73,4],[72,5],[75,6],[76,7],[68,8],[69,9],[77,10],[78,11],[79,12],[80,13],[61,14],[59,15],[81,16],[63,17],[93,18],[94,18],[128,19],[129,20],[130,21],[131,22],[132,23],[133,24],[134,25],[135,26],[136,27],[137,28],[138,28],[140,29],[139,30],[141,31],[142,32],[143,33],[127,34],[144,35],[145,36],[146,37],[178,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,48],[158,49],[159,50],[161,51],[160,52],[162,53],[163,54],[164,55],[165,56],[166,57],[167,58],[168,59],[169,60],[170,61],[171,62],[172,63],[173,64],[174,65],[175,66],[176,67],[110,68],[117,69],[109,68],[124,70],[101,71],[100,72],[123,73],[118,74],[121,75],[103,76],[102,77],[98,78],[97,79],[120,80],[99,81],[104,82],[108,82],[126,83],[125,82],[112,84],[113,85],[115,86],[111,87],[114,88],[119,73],[106,89],[107,90],[116,91],[96,92],[122,93],[84,94],[83,95],[82,96],[62,10],[85,97],[88,98],[86,3],[89,99],[87,100],[90,101],[91,102]],"exportedModulesMap":[[66,103],[70,2],[67,3],[73,4],[72,104],[75,6],[68,8],[69,105],[78,11],[79,12],[80,13],[61,3],[59,15],[81,3],[63,17],[93,18],[94,18],[128,19],[129,20],[130,21],[131,22],[132,23],[133,24],[134,25],[135,26],[136,27],[137,28],[138,28],[140,29],[139,30],[141,31],[142,32],[143,33],[127,34],[144,35],[145,36],[146,37],[178,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,48],[158,49],[159,50],[161,51],[160,52],[162,53],[163,54],[164,55],[165,56],[166,57],[167,58],[168,59],[169,60],[170,61],[171,62],[172,63],[173,64],[174,65],[175,66],[176,67],[110,68],[117,69],[109,68],[124,70],[101,71],[100,72],[123,73],[118,74],[121,75],[103,76],[102,77],[98,78],[97,79],[120,80],[99,81],[104,82],[108,82],[126,83],[125,82],[112,84],[113,85],[115,86],[111,87],[114,88],[119,73],[106,89],[107,90],[116,91],[96,92],[122,93],[84,94],[83,106],[82,107],[85,97],[88,108],[86,3],[89,99],[87,100],[90,5],[91,102]],"semanticDiagnosticsPerFile":[64,66,70,67,60,65,73,72,75,76,68,69,77,78,79,80,61,59,58,74,71,81,63,93,94,128,129,130,131,132,133,134,135,136,137,138,140,139,141,142,143,127,177,144,145,146,178,147,148,149,150,151,152,153,154,155,156,157,158,159,161,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,56,57,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,48,9,49,50,51,54,52,53,1,55,110,117,109,124,101,100,123,118,121,103,102,98,97,120,99,104,105,108,95,126,125,112,113,115,111,114,119,106,107,116,96,122,84,83,82,62,85,88,86,89,87,90,91,92],"latestChangedDtsFile":"./validate/mod.d.ts"},"version":"5.3.3"}
|
package/dist/validate/mod.d.ts
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
declare const __validate: unique symbol;
|
|
2
2
|
export type Min<N extends number> = {
|
|
3
|
-
[__validate]
|
|
3
|
+
[__validate]?: {
|
|
4
4
|
minValue: N;
|
|
5
5
|
};
|
|
6
6
|
};
|
|
7
7
|
export type Max<N extends number> = {
|
|
8
|
-
[__validate]
|
|
8
|
+
[__validate]?: {
|
|
9
9
|
maxValue: N;
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
export type MinLen<N extends number> = {
|
|
13
|
-
[__validate]
|
|
13
|
+
[__validate]?: {
|
|
14
14
|
minLen: N;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
17
|
export type MaxLen<N extends number> = {
|
|
18
|
-
[__validate]
|
|
18
|
+
[__validate]?: {
|
|
19
19
|
maxLen: N;
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
export type MatchesRegexp<S extends string> = {
|
|
23
|
-
[__validate]
|
|
23
|
+
[__validate]?: {
|
|
24
24
|
matchesRegexp: S;
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
export type StartsWith<S extends string> = {
|
|
28
|
-
[__validate]
|
|
28
|
+
[__validate]?: {
|
|
29
29
|
startsWith: S;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
export type EndsWith<S extends string> = {
|
|
33
|
-
[__validate]
|
|
33
|
+
[__validate]?: {
|
|
34
34
|
endsWith: S;
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
37
|
export type IsEmail = {
|
|
38
|
-
[__validate]
|
|
38
|
+
[__validate]?: {
|
|
39
39
|
isEmail: true;
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
42
|
export type IsURL = {
|
|
43
|
-
[__validate]
|
|
43
|
+
[__validate]?: {
|
|
44
44
|
isURL: true;
|
|
45
45
|
};
|
|
46
46
|
};
|
package/internal/appinit/mod.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { isMainThread, Worker } from "node:worker_threads";
|
|
1
2
|
import { Gateway } from "../../api/gateway";
|
|
2
3
|
import { Middleware, MiddlewareRequest, HandlerResponse } from "../../api/mod";
|
|
3
4
|
import { IterableSocket, IterableStream, Sink } from "../../api/stream";
|
|
4
5
|
import { RawRequest, RawResponse } from "../api/node_http";
|
|
5
6
|
import { setCurrentRequest } from "../reqtrack/mod";
|
|
6
7
|
import * as runtime from "../runtime/mod";
|
|
8
|
+
import { fileURLToPath } from "node:url";
|
|
7
9
|
|
|
8
10
|
export type Handler = {
|
|
9
11
|
apiRoute: runtime.ApiRoute;
|
|
@@ -24,8 +26,20 @@ export function registerGateways(gateways: Gateway[]) {
|
|
|
24
26
|
// It intentionally doesn't need to do anything.
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
export async function run() {
|
|
28
|
-
|
|
29
|
+
export async function run(entrypoint: string) {
|
|
30
|
+
if (isMainThread) {
|
|
31
|
+
const extraWorkers = runtime.RT.numWorkerThreads() - 1;
|
|
32
|
+
if (extraWorkers > 0) {
|
|
33
|
+
const path = fileURLToPath(entrypoint);
|
|
34
|
+
for (let i = 0; i < extraWorkers; i++) {
|
|
35
|
+
new Worker(path);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return runtime.RT.runForever();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// This is a worker thread. The runtime is already initialized, so block forever.
|
|
42
|
+
await new Promise(() => {});
|
|
29
43
|
}
|
|
30
44
|
|
|
31
45
|
interface EndpointOptions {
|
|
@@ -38,10 +52,12 @@ interface EndpointOptions {
|
|
|
38
52
|
export interface InternalHandlerResponse {
|
|
39
53
|
payload: any;
|
|
40
54
|
extraHeaders?: Record<string, string | string[]>;
|
|
55
|
+
status?: number;
|
|
41
56
|
}
|
|
42
57
|
|
|
43
58
|
// recursively calls all middlewares
|
|
44
59
|
async function invokeMiddlewareChain(
|
|
60
|
+
curReq: runtime.Request,
|
|
45
61
|
req: MiddlewareRequest,
|
|
46
62
|
chain: Middleware[],
|
|
47
63
|
handler: () => Promise<any>
|
|
@@ -54,6 +70,10 @@ async function invokeMiddlewareChain(
|
|
|
54
70
|
|
|
55
71
|
// no more middlewares, execute the handler
|
|
56
72
|
if (currentMiddleware === undefined) {
|
|
73
|
+
const mwData = req.data;
|
|
74
|
+
if (mwData !== undefined) {
|
|
75
|
+
(curReq as any).middlewareData = mwData;
|
|
76
|
+
}
|
|
57
77
|
return new HandlerResponse(await handler());
|
|
58
78
|
}
|
|
59
79
|
|
|
@@ -158,7 +178,7 @@ function transformHandler(h: Handler): runtime.ApiRoute {
|
|
|
158
178
|
undefined,
|
|
159
179
|
undefined
|
|
160
180
|
);
|
|
161
|
-
return invokeMiddlewareChain(mwRequest, middlewares, handler);
|
|
181
|
+
return invokeMiddlewareChain(req, mwRequest, middlewares, handler);
|
|
162
182
|
}
|
|
163
183
|
};
|
|
164
184
|
}
|
|
@@ -185,7 +205,7 @@ function transformHandler(h: Handler): runtime.ApiRoute {
|
|
|
185
205
|
};
|
|
186
206
|
|
|
187
207
|
const mwRequest = new MiddlewareRequest(undefined, rawReq, rawResp);
|
|
188
|
-
return invokeMiddlewareChain(mwRequest, middlewares, handler);
|
|
208
|
+
return invokeMiddlewareChain(req, mwRequest, middlewares, handler);
|
|
189
209
|
}
|
|
190
210
|
};
|
|
191
211
|
}
|
|
@@ -210,7 +230,7 @@ function transformHandler(h: Handler): runtime.ApiRoute {
|
|
|
210
230
|
};
|
|
211
231
|
|
|
212
232
|
const mwRequest = new MiddlewareRequest(undefined, undefined, undefined);
|
|
213
|
-
return invokeMiddlewareChain(mwRequest, middlewares, handler);
|
|
233
|
+
return invokeMiddlewareChain(req, mwRequest, middlewares, handler);
|
|
214
234
|
}
|
|
215
235
|
};
|
|
216
236
|
}
|
package/internal/reqtrack/mod.ts
CHANGED
package/internal/runtime/mod.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { isMainThread } from "node:worker_threads";
|
|
2
1
|
import { Runtime } from "./napi/napi.cjs";
|
|
3
2
|
|
|
4
3
|
export * from "./napi/napi.cjs";
|
|
@@ -7,5 +6,4 @@ const testMode = process.env.NODE_ENV === "test";
|
|
|
7
6
|
|
|
8
7
|
export const RT = new Runtime({
|
|
9
8
|
testMode,
|
|
10
|
-
isWorker: !isMainThread && !testMode,
|
|
11
9
|
});
|
|
@@ -153,7 +153,7 @@ export class Logger {
|
|
|
153
153
|
* Returns a new logger with the given fields added to the context
|
|
154
154
|
* that the logger will use when emitting logs as extra fields
|
|
155
155
|
*/
|
|
156
|
-
with(fields: Record<string, unknown>):
|
|
156
|
+
with(fields: Record<string, unknown>): Logger
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
export class ObjectAttrs {
|
|
@@ -244,11 +244,15 @@ export class Runtime {
|
|
|
244
244
|
/** Returns the git commit hash used to build the Encore runtime */
|
|
245
245
|
static buildCommit(): string
|
|
246
246
|
appMeta(): AppMeta
|
|
247
|
+
/**
|
|
248
|
+
* Reports the total number of worker threads,
|
|
249
|
+
* including the main thread.
|
|
250
|
+
*/
|
|
251
|
+
numWorkerThreads(): number
|
|
247
252
|
}
|
|
248
253
|
|
|
249
254
|
export interface RuntimeOptions {
|
|
250
255
|
testMode?: boolean
|
|
251
|
-
isWorker?: boolean
|
|
252
256
|
}
|
|
253
257
|
|
|
254
258
|
export class Secret {
|
package/package.json
CHANGED
package/pubsub/mod.ts
CHANGED
|
@@ -4,4 +4,69 @@ export type { TopicConfig, DeliveryGuarantee } from "./topic";
|
|
|
4
4
|
export { Subscription } from "./subscription";
|
|
5
5
|
export type { SubscriptionConfig } from "./subscription";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Attribute represents a field on a message that should be sent
|
|
9
|
+
* as an attribute in a PubSub message, rather than in the message
|
|
10
|
+
* body.
|
|
11
|
+
*
|
|
12
|
+
* This is useful for ordering messages, or for filtering messages
|
|
13
|
+
* on a subscription - otherwise you should not use this.
|
|
14
|
+
*
|
|
15
|
+
* To create attributes on a message, use the `Attribute` type:
|
|
16
|
+
* type Message = {
|
|
17
|
+
* user_id: Attribute<number>;
|
|
18
|
+
* name: string;
|
|
19
|
+
* };
|
|
20
|
+
*
|
|
21
|
+
* const msg: Message = {
|
|
22
|
+
* user_id: 123,
|
|
23
|
+
* name: "John Doe",
|
|
24
|
+
* };
|
|
25
|
+
*
|
|
26
|
+
* The union of brandedAttribute is simply used to help the TypeScript compiler
|
|
27
|
+
* understand that the type is an attribute and allow the AttributesOf type
|
|
28
|
+
* to extract the keys of said type.
|
|
29
|
+
*/
|
|
30
|
+
export type Attribute<T extends string | number | boolean> =
|
|
31
|
+
| T
|
|
32
|
+
| brandedAttribute<T>;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* AttributesOf is a helper type to extract all keys from an object
|
|
36
|
+
* who's type is an Attribute type.
|
|
37
|
+
*
|
|
38
|
+
* For example:
|
|
39
|
+
* type Message = {
|
|
40
|
+
* user_id: Attribute<number>;
|
|
41
|
+
* name: string;
|
|
42
|
+
* age: Attribute<number>;
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* type MessageAttributes = AttributesOf<Message>; // "user_id" | "age"
|
|
46
|
+
*/
|
|
47
|
+
export type AttributesOf<T extends object> = keyof {
|
|
48
|
+
[Key in keyof // for (const Key in T)
|
|
49
|
+
T as Extract<T[Key], allBrandedTypes> extends never // if (typeof T[Key] !== oneof(allBrandedTypes))
|
|
50
|
+
? never // drop the key
|
|
51
|
+
: Key]: never; // else keep the key
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* supportedAttributeTypes is a union of all primitive types that are supported as attributes
|
|
56
|
+
*/
|
|
57
|
+
type supportedAttributeTypes = string | number | boolean;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* brandedAttribute is a helper type to brand a type as an attribute
|
|
61
|
+
* which is distinct from the base type. It is a compile time only
|
|
62
|
+
* type and has no runtime representation.
|
|
63
|
+
*/
|
|
64
|
+
type brandedAttribute<T> = T & { readonly __attributeBrand: unique symbol };
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* allBrandedTypes is a helper type to create a union of all branded supported attribute types
|
|
68
|
+
*
|
|
69
|
+
* The result of this is: brandedAttribute<string> | brandedAttribute<number> | brandedAttribute<boolean>
|
|
70
|
+
*/
|
|
71
|
+
type allBrandedTypes<Union = supportedAttributeTypes> =
|
|
72
|
+
Union extends supportedAttributeTypes ? brandedAttribute<Union> : never;
|
package/pubsub/topic.ts
CHANGED
package/req_meta.ts
CHANGED
|
@@ -73,6 +73,11 @@ export interface APICallMeta {
|
|
|
73
73
|
* request data.
|
|
74
74
|
*/
|
|
75
75
|
parsedPayload?: Record<string, any>;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Contains values set in middlewares via `MiddlewareRequest.data`.
|
|
79
|
+
*/
|
|
80
|
+
middlewareData?: Record<string, any>;
|
|
76
81
|
}
|
|
77
82
|
|
|
78
83
|
/** Describes a Pub/Sub message being processed. */
|
|
@@ -173,7 +178,8 @@ export function currentRequest(): RequestMeta | undefined {
|
|
|
173
178
|
pathAndQuery: meta.apiCall.pathAndQuery,
|
|
174
179
|
pathParams: meta.apiCall.pathParams ?? {},
|
|
175
180
|
parsedPayload: meta.apiCall.parsedPayload,
|
|
176
|
-
headers: meta.apiCall.headers
|
|
181
|
+
headers: meta.apiCall.headers,
|
|
182
|
+
middlewareData: (req as any).middlewareData
|
|
177
183
|
};
|
|
178
184
|
return { ...base, ...api };
|
|
179
185
|
} else if (meta.pubsubMessage) {
|
package/validate/mod.ts
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
1
|
declare const __validate: unique symbol;
|
|
2
2
|
|
|
3
3
|
export type Min<N extends number> = {
|
|
4
|
-
[__validate]
|
|
4
|
+
[__validate]?: {
|
|
5
5
|
minValue: N;
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export type Max<N extends number> = {
|
|
10
|
-
[__validate]
|
|
10
|
+
[__validate]?: {
|
|
11
11
|
maxValue: N;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
export type MinLen<N extends number> = {
|
|
16
|
-
[__validate]
|
|
16
|
+
[__validate]?: {
|
|
17
17
|
minLen: N;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export type MaxLen<N extends number> = {
|
|
22
|
-
[__validate]
|
|
22
|
+
[__validate]?: {
|
|
23
23
|
maxLen: N;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export type MatchesRegexp<S extends string> = {
|
|
28
|
-
[__validate]
|
|
28
|
+
[__validate]?: {
|
|
29
29
|
matchesRegexp: S;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
export type StartsWith<S extends string> = {
|
|
34
|
-
[__validate]
|
|
34
|
+
[__validate]?: {
|
|
35
35
|
startsWith: S;
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export type EndsWith<S extends string> = {
|
|
40
|
-
[__validate]
|
|
40
|
+
[__validate]?: {
|
|
41
41
|
endsWith: S;
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
export type IsEmail = {
|
|
46
|
-
[__validate]
|
|
46
|
+
[__validate]?: {
|
|
47
47
|
isEmail: true;
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export type IsURL = {
|
|
52
|
-
[__validate]
|
|
52
|
+
[__validate]?: {
|
|
53
53
|
isURL: true;
|
|
54
54
|
};
|
|
55
55
|
};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attribute represents a field on a message that should be sent
|
|
3
|
-
* as an attribute in a PubSub message, rather than in the message
|
|
4
|
-
* body.
|
|
5
|
-
*
|
|
6
|
-
* This is useful for ordering messages, or for filtering messages
|
|
7
|
-
* on a subscription - otherwise you should not use this.
|
|
8
|
-
*
|
|
9
|
-
* To create attributes on a message, use the `Attribute` type:
|
|
10
|
-
* type Message = {
|
|
11
|
-
* user_id: Attribute<number>;
|
|
12
|
-
* name: string;
|
|
13
|
-
* };
|
|
14
|
-
*
|
|
15
|
-
* const msg: Message = {
|
|
16
|
-
* user_id: 123,
|
|
17
|
-
* name: "John Doe",
|
|
18
|
-
* };
|
|
19
|
-
*
|
|
20
|
-
* The union of brandedAttribute is simply used to help the TypeScript compiler
|
|
21
|
-
* understand that the type is an attribute and allow the AttributesOf type
|
|
22
|
-
* to extract the keys of said type.
|
|
23
|
-
*/
|
|
24
|
-
export type Attribute<T extends string | number | boolean> = T | brandedAttribute<T>;
|
|
25
|
-
/**
|
|
26
|
-
* AttributesOf is a helper type to extract all keys from an object
|
|
27
|
-
* who's type is an Attribute type.
|
|
28
|
-
*
|
|
29
|
-
* For example:
|
|
30
|
-
* type Message = {
|
|
31
|
-
* user_id: Attribute<number>;
|
|
32
|
-
* name: string;
|
|
33
|
-
* age: Attribute<number>;
|
|
34
|
-
* };
|
|
35
|
-
*
|
|
36
|
-
* type MessageAttributes = AttributesOf<Message>; // "user_id" | "age"
|
|
37
|
-
*/
|
|
38
|
-
export type AttributesOf<T extends object> = keyof {
|
|
39
|
-
[Key in keyof T as Extract<T[Key], allBrandedTypes> extends never ? never : Key]: never;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* supportedAttributeTypes is a union of all primitive types that are supported as attributes
|
|
43
|
-
*/
|
|
44
|
-
type supportedAttributeTypes = string | number | boolean;
|
|
45
|
-
/**
|
|
46
|
-
* brandedAttribute is a helper type to brand a type as an attribute
|
|
47
|
-
* which is distinct from the base type. It is a compile time only
|
|
48
|
-
* type and has no runtime representation.
|
|
49
|
-
*/
|
|
50
|
-
type brandedAttribute<T> = T & {
|
|
51
|
-
readonly __attributeBrand: unique symbol;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* allBrandedTypes is a helper type to create a union of all branded supported attribute types
|
|
55
|
-
*
|
|
56
|
-
* The result of this is: brandedAttribute<string> | brandedAttribute<number> | brandedAttribute<boolean>
|
|
57
|
-
*/
|
|
58
|
-
type allBrandedTypes<Union = supportedAttributeTypes> = Union extends supportedAttributeTypes ? brandedAttribute<Union> : never;
|
|
59
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../pubsub/attributes.ts"],"names":[],"mappings":""}
|
package/pubsub/attributes.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attribute represents a field on a message that should be sent
|
|
3
|
-
* as an attribute in a PubSub message, rather than in the message
|
|
4
|
-
* body.
|
|
5
|
-
*
|
|
6
|
-
* This is useful for ordering messages, or for filtering messages
|
|
7
|
-
* on a subscription - otherwise you should not use this.
|
|
8
|
-
*
|
|
9
|
-
* To create attributes on a message, use the `Attribute` type:
|
|
10
|
-
* type Message = {
|
|
11
|
-
* user_id: Attribute<number>;
|
|
12
|
-
* name: string;
|
|
13
|
-
* };
|
|
14
|
-
*
|
|
15
|
-
* const msg: Message = {
|
|
16
|
-
* user_id: 123,
|
|
17
|
-
* name: "John Doe",
|
|
18
|
-
* };
|
|
19
|
-
*
|
|
20
|
-
* The union of brandedAttribute is simply used to help the TypeScript compiler
|
|
21
|
-
* understand that the type is an attribute and allow the AttributesOf type
|
|
22
|
-
* to extract the keys of said type.
|
|
23
|
-
*/
|
|
24
|
-
export type Attribute<T extends string | number | boolean> =
|
|
25
|
-
| T
|
|
26
|
-
| brandedAttribute<T>;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* AttributesOf is a helper type to extract all keys from an object
|
|
30
|
-
* who's type is an Attribute type.
|
|
31
|
-
*
|
|
32
|
-
* For example:
|
|
33
|
-
* type Message = {
|
|
34
|
-
* user_id: Attribute<number>;
|
|
35
|
-
* name: string;
|
|
36
|
-
* age: Attribute<number>;
|
|
37
|
-
* };
|
|
38
|
-
*
|
|
39
|
-
* type MessageAttributes = AttributesOf<Message>; // "user_id" | "age"
|
|
40
|
-
*/
|
|
41
|
-
export type AttributesOf<T extends object> = keyof {
|
|
42
|
-
[Key in keyof // for (const Key in T)
|
|
43
|
-
T as Extract<T[Key], allBrandedTypes> extends never // if (typeof T[Key] !== oneof(allBrandedTypes))
|
|
44
|
-
? never // drop the key
|
|
45
|
-
: Key]: never; // else keep the key
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* supportedAttributeTypes is a union of all primitive types that are supported as attributes
|
|
50
|
-
*/
|
|
51
|
-
type supportedAttributeTypes = string | number | boolean;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* brandedAttribute is a helper type to brand a type as an attribute
|
|
55
|
-
* which is distinct from the base type. It is a compile time only
|
|
56
|
-
* type and has no runtime representation.
|
|
57
|
-
*/
|
|
58
|
-
type brandedAttribute<T> = T & { readonly __attributeBrand: unique symbol };
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* allBrandedTypes is a helper type to create a union of all branded supported attribute types
|
|
62
|
-
*
|
|
63
|
-
* The result of this is: brandedAttribute<string> | brandedAttribute<number> | brandedAttribute<boolean>
|
|
64
|
-
*/
|
|
65
|
-
type allBrandedTypes<Union = supportedAttributeTypes> =
|
|
66
|
-
Union extends supportedAttributeTypes ? brandedAttribute<Union> : never;
|