@oakbun/logger 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +63 -0
- package/package.json +5 -5
- package/dist/core/src/adapter/mysql.d.ts +0 -21
- package/dist/core/src/adapter/mysql.d.ts.map +0 -1
- package/dist/core/src/adapter/postgres.d.ts +0 -16
- package/dist/core/src/adapter/postgres.d.ts.map +0 -1
- package/dist/core/src/adapter/resolve.d.ts +0 -16
- package/dist/core/src/adapter/resolve.d.ts.map +0 -1
- package/dist/core/src/adapter/sqlite.d.ts +0 -17
- package/dist/core/src/adapter/sqlite.d.ts.map +0 -1
- package/dist/core/src/adapter/types.d.ts +0 -29
- package/dist/core/src/adapter/types.d.ts.map +0 -1
- package/dist/core/src/app/audit-wiring.d.ts +0 -6
- package/dist/core/src/app/audit-wiring.d.ts.map +0 -1
- package/dist/core/src/app/body-size-limit.d.ts +0 -29
- package/dist/core/src/app/body-size-limit.d.ts.map +0 -1
- package/dist/core/src/app/compression.d.ts +0 -25
- package/dist/core/src/app/compression.d.ts.map +0 -1
- package/dist/core/src/app/cookies.d.ts +0 -17
- package/dist/core/src/app/cookies.d.ts.map +0 -1
- package/dist/core/src/app/cors.d.ts +0 -65
- package/dist/core/src/app/cors.d.ts.map +0 -1
- package/dist/core/src/app/csrf.d.ts +0 -52
- package/dist/core/src/app/csrf.d.ts.map +0 -1
- package/dist/core/src/app/health.d.ts +0 -36
- package/dist/core/src/app/health.d.ts.map +0 -1
- package/dist/core/src/app/index.d.ts +0 -282
- package/dist/core/src/app/index.d.ts.map +0 -1
- package/dist/core/src/app/logger.d.ts +0 -4
- package/dist/core/src/app/logger.d.ts.map +0 -1
- package/dist/core/src/app/middleware.d.ts +0 -20
- package/dist/core/src/app/middleware.d.ts.map +0 -1
- package/dist/core/src/app/module.d.ts +0 -273
- package/dist/core/src/app/module.d.ts.map +0 -1
- package/dist/core/src/app/plugin.d.ts +0 -112
- package/dist/core/src/app/plugin.d.ts.map +0 -1
- package/dist/core/src/app/rate-limit.d.ts +0 -76
- package/dist/core/src/app/rate-limit.d.ts.map +0 -1
- package/dist/core/src/app/request-id.d.ts +0 -52
- package/dist/core/src/app/request-id.d.ts.map +0 -1
- package/dist/core/src/app/router.d.ts +0 -6
- package/dist/core/src/app/router.d.ts.map +0 -1
- package/dist/core/src/app/scalar.d.ts +0 -40
- package/dist/core/src/app/scalar.d.ts.map +0 -1
- package/dist/core/src/app/secure-headers.d.ts +0 -48
- package/dist/core/src/app/secure-headers.d.ts.map +0 -1
- package/dist/core/src/app/system-ctx.d.ts +0 -3
- package/dist/core/src/app/system-ctx.d.ts.map +0 -1
- package/dist/core/src/app/types.d.ts +0 -277
- package/dist/core/src/app/types.d.ts.map +0 -1
- package/dist/core/src/cli/config/types.d.ts +0 -31
- package/dist/core/src/cli/config/types.d.ts.map +0 -1
- package/dist/core/src/cli/index.d.ts +0 -3
- package/dist/core/src/cli/index.d.ts.map +0 -1
- package/dist/core/src/client/error.d.ts +0 -8
- package/dist/core/src/client/error.d.ts.map +0 -1
- package/dist/core/src/client/index.d.ts +0 -33
- package/dist/core/src/client/index.d.ts.map +0 -1
- package/dist/core/src/client/proxy.d.ts +0 -88
- package/dist/core/src/client/proxy.d.ts.map +0 -1
- package/dist/core/src/client/test-client.d.ts +0 -30
- package/dist/core/src/client/test-client.d.ts.map +0 -1
- package/dist/core/src/cron/index.d.ts +0 -73
- package/dist/core/src/cron/index.d.ts.map +0 -1
- package/dist/core/src/db/index.d.ts +0 -281
- package/dist/core/src/db/index.d.ts.map +0 -1
- package/dist/core/src/db/migrations/diff.d.ts +0 -5
- package/dist/core/src/db/migrations/diff.d.ts.map +0 -1
- package/dist/core/src/db/migrations/generator.d.ts +0 -26
- package/dist/core/src/db/migrations/generator.d.ts.map +0 -1
- package/dist/core/src/db/migrations/index.d.ts +0 -9
- package/dist/core/src/db/migrations/index.d.ts.map +0 -1
- package/dist/core/src/db/migrations/introspect.d.ts +0 -8
- package/dist/core/src/db/migrations/introspect.d.ts.map +0 -1
- package/dist/core/src/db/migrations/migrator.d.ts +0 -10
- package/dist/core/src/db/migrations/migrator.d.ts.map +0 -1
- package/dist/core/src/db/migrations/runner.d.ts +0 -7
- package/dist/core/src/db/migrations/runner.d.ts.map +0 -1
- package/dist/core/src/db/migrations/tracker.d.ts +0 -7
- package/dist/core/src/db/migrations/tracker.d.ts.map +0 -1
- package/dist/core/src/db/migrations/types.d.ts +0 -70
- package/dist/core/src/db/migrations/types.d.ts.map +0 -1
- package/dist/core/src/db/sql.d.ts +0 -148
- package/dist/core/src/db/sql.d.ts.map +0 -1
- package/dist/core/src/errors/index.d.ts +0 -30
- package/dist/core/src/errors/index.d.ts.map +0 -1
- package/dist/core/src/events/handler.d.ts +0 -42
- package/dist/core/src/events/handler.d.ts.map +0 -1
- package/dist/core/src/events/index.d.ts +0 -48
- package/dist/core/src/events/index.d.ts.map +0 -1
- package/dist/core/src/hooks/executor.d.ts +0 -20
- package/dist/core/src/hooks/executor.d.ts.map +0 -1
- package/dist/core/src/hooks/types.d.ts +0 -10
- package/dist/core/src/hooks/types.d.ts.map +0 -1
- package/dist/core/src/index.d.ts +0 -83
- package/dist/core/src/index.d.ts.map +0 -1
- package/dist/core/src/model/index.d.ts +0 -24
- package/dist/core/src/model/index.d.ts.map +0 -1
- package/dist/core/src/openapi/generator.d.ts +0 -58
- package/dist/core/src/openapi/generator.d.ts.map +0 -1
- package/dist/core/src/openapi/zod-to-schema.d.ts +0 -4
- package/dist/core/src/openapi/zod-to-schema.d.ts.map +0 -1
- package/dist/core/src/resource/errors.d.ts +0 -2
- package/dist/core/src/resource/errors.d.ts.map +0 -1
- package/dist/core/src/resource/index.d.ts +0 -98
- package/dist/core/src/resource/index.d.ts.map +0 -1
- package/dist/core/src/resource/zod-table.d.ts +0 -6
- package/dist/core/src/resource/zod-table.d.ts.map +0 -1
- package/dist/core/src/schema/audit.d.ts +0 -25
- package/dist/core/src/schema/audit.d.ts.map +0 -1
- package/dist/core/src/schema/column.d.ts +0 -31
- package/dist/core/src/schema/column.d.ts.map +0 -1
- package/dist/core/src/schema/table.d.ts +0 -68
- package/dist/core/src/schema/table.d.ts.map +0 -1
- package/dist/core/src/service/index.d.ts +0 -27
- package/dist/core/src/service/index.d.ts.map +0 -1
- package/dist/logger/src/colors.d.ts +0 -20
- package/dist/logger/src/colors.d.ts.map +0 -1
- package/dist/logger/src/formatter.d.ts +0 -3
- package/dist/logger/src/formatter.d.ts.map +0 -1
- package/dist/logger/src/index.d.ts +0 -11
- package/dist/logger/src/index.d.ts.map +0 -1
- package/dist/logger/src/masker.d.ts +0 -2
- package/dist/logger/src/masker.d.ts.map +0 -1
- package/dist/logger/src/plugin.d.ts +0 -6
- package/dist/logger/src/plugin.d.ts.map +0 -1
- package/dist/logger/src/tree.d.ts +0 -12
- package/dist/logger/src/tree.d.ts.map +0 -1
- package/dist/logger/src/types.d.ts +0 -17
- package/dist/logger/src/types.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../core/src/app/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export interface VelnConfig {
|
|
2
|
-
features?: string;
|
|
3
|
-
schema?: string;
|
|
4
|
-
tables?: string;
|
|
5
|
-
migrations?: string;
|
|
6
|
-
commands?: string;
|
|
7
|
-
}
|
|
8
|
-
export interface CommandOption {
|
|
9
|
-
flag: string;
|
|
10
|
-
description: string;
|
|
11
|
-
default?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface CommandDef {
|
|
14
|
-
_name: string;
|
|
15
|
-
_description: string;
|
|
16
|
-
_options: CommandOption[];
|
|
17
|
-
_action: (args: Record<string, string>) => Promise<void> | void;
|
|
18
|
-
}
|
|
19
|
-
declare class CommandBuilder {
|
|
20
|
-
private readonly _name;
|
|
21
|
-
private _desc;
|
|
22
|
-
private _opts;
|
|
23
|
-
constructor(_name: string);
|
|
24
|
-
description(desc: string): this;
|
|
25
|
-
option(flag: string, description: string, defaultValue?: string): this;
|
|
26
|
-
action(fn: (args: Record<string, string>) => Promise<void> | void): CommandDef;
|
|
27
|
-
}
|
|
28
|
-
export declare function defineConfig(config: VelnConfig): VelnConfig;
|
|
29
|
-
export declare function defineCommand(name: string): CommandBuilder;
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../core/src/cli/config/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAI,MAAM,CAAA;IACnB,MAAM,CAAC,EAAM,MAAM,CAAA;IACnB,MAAM,CAAC,EAAM,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAI,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAS,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAK,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAS,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAM,aAAa,EAAE,CAAA;IAC7B,OAAO,EAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrE;AAED,cAAM,cAAc;IAIN,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAsB;gBAEN,KAAK,EAAE,MAAM;IAE1C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,UAAU;CAQ/E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAE1D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../core/src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC5D,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ZodIssue } from 'zod';
|
|
2
|
-
export declare class VelnClientError extends Error {
|
|
3
|
-
readonly status: number;
|
|
4
|
-
readonly code: string;
|
|
5
|
-
readonly issues?: ZodIssue[];
|
|
6
|
-
constructor(status: number, code: string, message: string, issues?: ZodIssue[]);
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../core/src/client/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,MAAM,EAAG,MAAM;IACxB,QAAQ,CAAC,IAAI,EAAK,MAAM;IAExB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE;gBAHnB,MAAM,EAAG,MAAM,EACf,IAAI,EAAK,MAAM,EACxB,OAAO,EAAW,MAAM,EACf,MAAM,CAAC,EAAE,QAAQ,EAAE;CAK/B"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export { createProxyClient, createModuleClient, pathToClientKey } from './proxy';
|
|
2
|
-
export type { ClientResult, InferProxyClient, ProxyClientOptions } from './proxy';
|
|
3
|
-
export { createTestClient } from './test-client';
|
|
4
|
-
export type { TestClientOptions } from './test-client';
|
|
5
|
-
import type { RouteMap, RouteEntry } from '../app/types';
|
|
6
|
-
import type { ZodTypeAny } from 'zod';
|
|
7
|
-
export { VelnClientError } from './error';
|
|
8
|
-
type RouteResponse<TEntry extends RouteEntry> = TEntry['response'] extends ZodTypeAny ? import('zod').infer<TEntry['response']> : unknown;
|
|
9
|
-
type RouteBody<TEntry extends RouteEntry> = TEntry['body'] extends ZodTypeAny ? import('zod').infer<TEntry['body']> : never;
|
|
10
|
-
type RouteParams<TEntry extends RouteEntry> = TEntry['params'] extends ZodTypeAny ? import('zod').infer<TEntry['params']> : never;
|
|
11
|
-
type RouteQuery<TEntry extends RouteEntry> = TEntry['query'] extends ZodTypeAny ? import('zod').infer<TEntry['query']> : never;
|
|
12
|
-
type ClientOptions<TEntry extends RouteEntry> = {
|
|
13
|
-
params?: RouteParams<TEntry>;
|
|
14
|
-
query?: RouteQuery<TEntry>;
|
|
15
|
-
body?: RouteBody<TEntry>;
|
|
16
|
-
headers?: Record<string, string>;
|
|
17
|
-
};
|
|
18
|
-
type StripMethod<M extends string, K extends string> = K extends `${M} ${infer P}` ? P : never;
|
|
19
|
-
type VelnClient<TRoutes extends RouteMap> = {
|
|
20
|
-
get<P extends StripMethod<'GET', Extract<keyof TRoutes, `GET /${string}`>>>(path: P, options?: ClientOptions<TRoutes[`GET ${P}`]>): Promise<RouteResponse<TRoutes[`GET ${P}`]>>;
|
|
21
|
-
post<P extends StripMethod<'POST', Extract<keyof TRoutes, `POST /${string}`>>>(path: P, options?: ClientOptions<TRoutes[`POST ${P}`]>): Promise<RouteResponse<TRoutes[`POST ${P}`]>>;
|
|
22
|
-
put<P extends StripMethod<'PUT', Extract<keyof TRoutes, `PUT /${string}`>>>(path: P, options?: ClientOptions<TRoutes[`PUT ${P}`]>): Promise<RouteResponse<TRoutes[`PUT ${P}`]>>;
|
|
23
|
-
patch<P extends StripMethod<'PATCH', Extract<keyof TRoutes, `PATCH /${string}`>>>(path: P, options?: ClientOptions<TRoutes[`PATCH ${P}`]>): Promise<RouteResponse<TRoutes[`PATCH ${P}`]>>;
|
|
24
|
-
delete<P extends StripMethod<'DELETE', Extract<keyof TRoutes, `DELETE /${string}`>>>(path: P, options?: ClientOptions<TRoutes[`DELETE ${P}`]>): Promise<RouteResponse<TRoutes[`DELETE ${P}`]>>;
|
|
25
|
-
};
|
|
26
|
-
type ExtractRoutes<TApp> = TApp extends {
|
|
27
|
-
readonly _routes: infer R;
|
|
28
|
-
} ? R : never;
|
|
29
|
-
type FetchFn = (input: Request) => Promise<Response>;
|
|
30
|
-
export declare function createClient<TApp>(baseUrl: string, options?: {
|
|
31
|
-
fetch?: FetchFn;
|
|
32
|
-
}): VelnClient<ExtractRoutes<TApp> extends RouteMap ? ExtractRoutes<TApp> : Record<never, never>>;
|
|
33
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../core/src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import type { RouteMap, RouteEntry } from '../app/types';
|
|
2
|
-
import type { ZodTypeAny } from 'zod';
|
|
3
|
-
import { VelnClientError } from './error';
|
|
4
|
-
type RouteResponseType<TEntry extends RouteEntry> = TEntry['response'] extends ZodTypeAny ? import('zod').infer<TEntry['response']> : unknown;
|
|
5
|
-
export type ClientResult<T> = {
|
|
6
|
-
ok: true;
|
|
7
|
-
data: T;
|
|
8
|
-
status: number;
|
|
9
|
-
} | {
|
|
10
|
-
ok: false;
|
|
11
|
-
error: VelnClientError;
|
|
12
|
-
status: number;
|
|
13
|
-
code: string;
|
|
14
|
-
message: string;
|
|
15
|
-
};
|
|
16
|
-
export declare function pathToClientKey(prefix: string): string;
|
|
17
|
-
type SuffixAfterPrefix<K extends string, TPrefix extends string> = K extends `${infer _Method} ${TPrefix}${infer Suffix}` ? Suffix : never;
|
|
18
|
-
type MethodOf<K extends string> = K extends `GET ${string}` ? 'get' : K extends `POST ${string}` ? 'post' : K extends `PATCH ${string}` ? 'patch' : K extends `DELETE ${string}` ? 'delete' : K extends `PUT ${string}` ? 'put' : never;
|
|
19
|
-
type HasBody<TEntry extends RouteEntry> = [
|
|
20
|
-
TEntry['body']
|
|
21
|
-
] extends [never] ? false : [
|
|
22
|
-
TEntry['body']
|
|
23
|
-
] extends [ZodTypeAny] ? true : false;
|
|
24
|
-
type MethodEntry<TRoutes extends RouteMap, K extends keyof TRoutes & string, TPrefix extends string> = HasBody<TRoutes[K] & RouteEntry> extends true ? (...args: [
|
|
25
|
-
body: import('zod').infer<TRoutes[K]['body'] & ZodTypeAny>,
|
|
26
|
-
options?: {
|
|
27
|
-
headers?: Record<string, string>;
|
|
28
|
-
query?: Record<string, string>;
|
|
29
|
-
}
|
|
30
|
-
]) => Promise<ClientResult<RouteResponseType<TRoutes[K] & RouteEntry>>> : SuffixAfterPrefix<K, TPrefix> extends `/${':'}${string}` | `${string}/${':'}${string}` ? (...args: [
|
|
31
|
-
id: number | string,
|
|
32
|
-
options?: {
|
|
33
|
-
headers?: Record<string, string>;
|
|
34
|
-
query?: Record<string, string>;
|
|
35
|
-
}
|
|
36
|
-
]) => Promise<ClientResult<RouteResponseType<TRoutes[K] & RouteEntry>>> : (options?: {
|
|
37
|
-
headers?: Record<string, string>;
|
|
38
|
-
query?: Record<string, string>;
|
|
39
|
-
}) => Promise<ClientResult<RouteResponseType<TRoutes[K] & RouteEntry>>>;
|
|
40
|
-
type Capitalize1<S extends string> = S extends `${infer F}${infer R}` ? `${Uppercase<F>}${R}` : S;
|
|
41
|
-
type SegmentToKey<S extends string> = S extends `:${infer Param}` ? `By${Capitalize1<Param>}` : Capitalize1<S>;
|
|
42
|
-
type SuffixToCamel<S extends string> = S extends `${infer Head}/${infer Tail}` ? `${SegmentToKey<Head>}${SuffixToCamel<Tail>}` : SegmentToKey<S>;
|
|
43
|
-
type CustomMethodName<TMethod extends string, S extends string> = `${Lowercase<TMethod>}${Capitalize1<SuffixToCamel<S>>}`;
|
|
44
|
-
type RouteMethodName<TMethod extends string, TSuffix extends string> = TSuffix extends `/${infer S}` ? RouteMethodNameInner<TMethod, S> : RouteMethodNameInner<TMethod, TSuffix>;
|
|
45
|
-
type RouteMethodNameInner<TMethod extends string, S extends string> = S extends '' | '/' ? TMethod extends 'get' ? 'index' : TMethod extends 'post' ? 'store' : CustomMethodName<TMethod, S> : S extends `:${infer _P}` ? _P extends `${string}/${string}` ? CustomMethodName<TMethod, S> : TMethod extends 'get' ? 'show' : TMethod extends 'patch' ? 'update' : TMethod extends 'delete' ? 'destroy' : CustomMethodName<TMethod, S> : CustomMethodName<TMethod, S>;
|
|
46
|
-
type ModuleClient<TRoutes extends RouteMap, TPrefix extends string> = {
|
|
47
|
-
[K in ModuleRouteKeys<TRoutes, TPrefix> as RouteMethodName<MethodOf<K>, SuffixAfterPrefix<K, TPrefix>>]: MethodEntry<TRoutes, K & keyof TRoutes & string, TPrefix>;
|
|
48
|
-
};
|
|
49
|
-
type ModuleRouteKeys<TRoutes extends RouteMap, TPrefix extends string> = {
|
|
50
|
-
[K in keyof TRoutes & string]: TRoutes[K] extends {
|
|
51
|
-
_prefix: TPrefix;
|
|
52
|
-
} ? K : never;
|
|
53
|
-
}[keyof TRoutes & string];
|
|
54
|
-
type PathToClientKey<S extends string> = S extends `/${infer Rest}` ? PathToClientKey<Rest> : PathSegmentsToKey<S>;
|
|
55
|
-
type PathSegmentsToKey<S extends string> = S extends `${infer Head}/${infer Tail}` ? `${Head}${Capitalize<PathSegmentsToKey<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${Head}${Capitalize<PathSegmentsToKey<Tail>>}` : S;
|
|
56
|
-
export type InferProxyClient<TApp> = TApp extends {
|
|
57
|
-
readonly _routes: infer R;
|
|
58
|
-
readonly _prefixes: infer P;
|
|
59
|
-
} ? R extends RouteMap ? [P] extends [string] ? ProxyClientFromRoutes<R, P> : Record<string, never> : Record<string, never> : Record<string, never>;
|
|
60
|
-
type ProxyClientFromRoutes<TRoutes extends RouteMap, TPrefixes extends string> = {
|
|
61
|
-
[P in TPrefixes as PathToClientKey<P>]: ModuleClient<TRoutes, P>;
|
|
62
|
-
};
|
|
63
|
-
export interface ProxyClientOptions {
|
|
64
|
-
fetch?: (input: Request) => Promise<Response>;
|
|
65
|
-
headers?: Record<string, string>;
|
|
66
|
-
throws?: boolean;
|
|
67
|
-
}
|
|
68
|
-
export declare function createProxyClient<TApp extends {
|
|
69
|
-
routes: Array<{
|
|
70
|
-
method: string;
|
|
71
|
-
path: string;
|
|
72
|
-
_module?: {
|
|
73
|
-
prefix: string;
|
|
74
|
-
} | null;
|
|
75
|
-
}>;
|
|
76
|
-
}>(app: TApp, baseUrl: string, options?: ProxyClientOptions): InferProxyClient<TApp>;
|
|
77
|
-
export declare function createModuleClient<TModule extends {
|
|
78
|
-
routes: Array<{
|
|
79
|
-
method: string;
|
|
80
|
-
path: string;
|
|
81
|
-
_module?: {
|
|
82
|
-
prefix: string;
|
|
83
|
-
} | null;
|
|
84
|
-
}>;
|
|
85
|
-
prefix: string;
|
|
86
|
-
}>(module: TModule, baseUrl: string, options?: ProxyClientOptions): Record<string, (...args: unknown[]) => Promise<ClientResult<unknown>>>;
|
|
87
|
-
export {};
|
|
88
|
-
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../../core/src/client/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKzC,KAAK,iBAAiB,CAAC,MAAM,SAAS,UAAU,IAC9C,MAAM,CAAC,UAAU,CAAC,SAAS,UAAU,GAAG,OAAO,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAA;AAG3F,MAAM,MAAM,YAAY,CAAC,CAAC,IACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAG,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAIxF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQtD;AAkDD,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAC7D,CAAC,SAAS,GAAG,MAAM,OAAO,IAAI,OAAO,GAAG,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAA;AAGzE,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAC5B,CAAC,SAAS,OAAO,MAAM,EAAE,GAAM,KAAK,GACpC,CAAC,SAAS,QAAQ,MAAM,EAAE,GAAK,MAAM,GACrC,CAAC,SAAS,SAAS,MAAM,EAAE,GAAI,OAAO,GACtC,CAAC,SAAS,UAAU,MAAM,EAAE,GAAG,QAAQ,GACvC,CAAC,SAAS,OAAO,MAAM,EAAE,GAAM,KAAK,GACpC,KAAK,CAAA;AAMP,KAAK,OAAO,CAAC,MAAM,SAAS,UAAU,IACpC;IAAC,MAAM,CAAC,MAAM,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GACxC;IAAC,MAAM,CAAC,MAAM,CAAC;CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEtD,KAAK,WAAW,CAAC,OAAO,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,SAAS,MAAM,IACjG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,IAAI,GACzC,CACE,GAAG,IAAI,EAAE;IACP,IAAI,EAAE,OAAO,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IAC1D,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;CAC/E,KACE,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GACtE,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,GAAG,GAAG,MAAM,EAAE,GACpF,CACE,GAAG,IAAI,EAAE;IACP,EAAE,EAAE,MAAM,GAAG,MAAM;IACnB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;CAC/E,KACE,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GACtE,CACE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KAC3E,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;AAU9E,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;AAIjG,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAChC,CAAC,SAAS,IAAI,MAAM,KAAK,EAAE,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAM1E,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IACjC,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACnC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,GAC7C,YAAY,CAAC,CAAC,CAAC,CAAA;AAGrB,KAAK,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAC5D,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEzD,KAAK,eAAe,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAEjE,OAAO,SAAS,IAAI,MAAM,CAAC,EAAE,GACzB,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,GAChC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAE5C,KAAK,oBAAoB,CAAC,OAAO,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAEhE,CAAC,SAAS,EAAE,GAAG,GAAG,GACd,OAAO,SAAS,KAAK,GAAM,OAAO,GAClC,OAAO,SAAS,MAAM,GAAK,OAAO,GAClC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAE9B,CAAC,SAAS,IAAI,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GACzD,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAC5B,OAAO,SAAS,KAAK,GAAM,MAAM,GACjC,OAAO,SAAS,OAAO,GAAI,QAAQ,GACnC,OAAO,SAAS,QAAQ,GAAG,SAAS,GACpC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAE9B,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAGhC,KAAK,YAAY,CAAC,OAAO,SAAS,QAAQ,EAAE,OAAO,SAAS,MAAM,IAAI;KACnE,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IACrC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAC1D,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;CAC7D,CAAA;AAMD,KAAK,eAAe,CAAC,OAAO,SAAS,QAAQ,EAAE,OAAO,SAAS,MAAM,IAAI;KACtE,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACnF,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAA;AAKzB,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAEnC,CAAC,SAAS,IAAI,MAAM,IAAI,EAAE,GACtB,eAAe,CAAC,IAAI,CAAC,GACrB,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAG1B,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IACrC,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACnC,GAAG,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,GAC/C,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACrC,GAAG,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,GAC/C,CAAC,CAAA;AAGT,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAC/B,IAAI,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;CAAE,GACnE,CAAC,SAAS,QAAQ,GAChB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAClB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAK3B,KAAK,qBAAqB,CAAC,OAAO,SAAS,QAAQ,EAAE,SAAS,SAAS,MAAM,IAAI;KAC9E,CAAC,IAAI,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;CACjE,CAAA;AAID,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAG,OAAO,CAAA;CAClB;AA6GD,wBAAgB,iBAAiB,CAAC,IAAI,SAAS;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAAE,EACrI,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,gBAAgB,CAAC,IAAI,CAAC,CA6BxB;AAID,wBAAgB,kBAAkB,CAAC,OAAO,SAAS;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzJ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAsBxE"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { InferProxyClient, ProxyClientOptions } from './proxy';
|
|
2
|
-
export interface TestClientOptions extends Omit<ProxyClientOptions, 'fetch'> {
|
|
3
|
-
/** Base URL for constructing request URLs. Defaults to 'http://localhost'. */
|
|
4
|
-
baseUrl?: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* createTestClient — type-safe test client that calls app.fetch() directly.
|
|
8
|
-
*
|
|
9
|
-
* Identical API to createProxyClient but requires no running HTTP server.
|
|
10
|
-
* Returns InferProxyClient<TApp> — the same fully-typed client as the production proxy.
|
|
11
|
-
*
|
|
12
|
-
* Usage:
|
|
13
|
-
* const client = createTestClient(app)
|
|
14
|
-
* const result = await client.apiUsers.index()
|
|
15
|
-
* expect(result.ok).toBe(true)
|
|
16
|
-
*
|
|
17
|
-
* app.fetch() needs a valid URL to parse pathname/query from,
|
|
18
|
-
* so requests are constructed as 'http://localhost/path' by default.
|
|
19
|
-
*/
|
|
20
|
-
export declare function createTestClient<TApp extends {
|
|
21
|
-
fetch: (req: Request) => Promise<Response>;
|
|
22
|
-
routes: Array<{
|
|
23
|
-
method: string;
|
|
24
|
-
path: string;
|
|
25
|
-
_module?: {
|
|
26
|
-
prefix: string;
|
|
27
|
-
} | null;
|
|
28
|
-
}>;
|
|
29
|
-
}>(app: TApp, options?: TestClientOptions): InferProxyClient<TApp>;
|
|
30
|
-
//# sourceMappingURL=test-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-client.d.ts","sourceRoot":"","sources":["../../../../../core/src/client/test-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEnE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC1E,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,SAAS;IACX,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CACrF,EAED,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,EAAE,iBAAiB,GAC1B,gBAAgB,CAAC,IAAI,CAAC,CAMxB"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { BoundVelnDB } from '../db/index';
|
|
2
|
-
import type { ServiceDef } from '../service/index';
|
|
3
|
-
import type { Logger, LogOptions } from '../app/types';
|
|
4
|
-
export interface CronCtx {
|
|
5
|
-
db: BoundVelnDB;
|
|
6
|
-
[key: string]: unknown;
|
|
7
|
-
}
|
|
8
|
-
export type { LogLevel } from '../app/logger';
|
|
9
|
-
export declare function resolveExpression(expr: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* CronLockAdapter — prevents duplicate job execution across multiple instances.
|
|
12
|
-
*
|
|
13
|
-
* Default: NoOpCronLockAdapter (always acquires — suitable for single-instance deployments)
|
|
14
|
-
*
|
|
15
|
-
* For multi-instance deployments, implement this interface with Redis SET NX EX
|
|
16
|
-
* or a similar distributed lock mechanism.
|
|
17
|
-
*
|
|
18
|
-
* WARNING: TTL must exceed the maximum expected job duration.
|
|
19
|
-
* Consider implementing a lock heartbeat for long-running jobs.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* createApp({ cronLock: new RedisCronLockAdapter(redisClient) })
|
|
23
|
-
*/
|
|
24
|
-
export interface CronLockAdapter {
|
|
25
|
-
acquire(jobName: string, ttlMs: number): Promise<boolean>;
|
|
26
|
-
release(jobName: string): Promise<void>;
|
|
27
|
-
}
|
|
28
|
-
export declare class NoOpCronLockAdapter implements CronLockAdapter {
|
|
29
|
-
acquire(_jobName: string, _ttlMs: number): Promise<boolean>;
|
|
30
|
-
release(_jobName: string): Promise<void>;
|
|
31
|
-
}
|
|
32
|
-
export interface CronDef<TServices extends Record<string, unknown> = Record<never, never>> {
|
|
33
|
-
readonly _name: string;
|
|
34
|
-
readonly _expression: string;
|
|
35
|
-
readonly _timezone: string | undefined;
|
|
36
|
-
readonly _runOnStart: boolean;
|
|
37
|
-
readonly _ttlMs: number | undefined;
|
|
38
|
-
readonly _logger: Logger;
|
|
39
|
-
readonly _mode: 'process' | 'os';
|
|
40
|
-
readonly _handler: ((ctx: CronCtx & TServices, logger: Logger) => Promise<void> | void) | undefined;
|
|
41
|
-
readonly _services: ReadonlyArray<ServiceDef<string, unknown>>;
|
|
42
|
-
readonly _script: string | undefined;
|
|
43
|
-
use<TKey extends string, TDef>(service: ServiceDef<TKey, TDef>): CronDef<TServices & Record<TKey, TDef>>;
|
|
44
|
-
}
|
|
45
|
-
export interface CronBuildOptions {
|
|
46
|
-
timezone?: string;
|
|
47
|
-
runOnStart?: boolean;
|
|
48
|
-
ttlMs?: number;
|
|
49
|
-
log?: LogOptions;
|
|
50
|
-
}
|
|
51
|
-
export interface CronBuilder<TServices extends Record<string, unknown>> {
|
|
52
|
-
options(opts: CronBuildOptions): CronBuilder<TServices>;
|
|
53
|
-
use<TKey extends string, TDef>(service: ServiceDef<TKey, TDef>): CronBuilder<TServices & Record<TKey, TDef>>;
|
|
54
|
-
handler(fn: (ctx: CronCtx & TServices, logger: Logger) => Promise<void> | void): CronDef<TServices>;
|
|
55
|
-
os(script: string): CronDef<TServices>;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* defineCron — defines a scheduled background job.
|
|
59
|
-
*
|
|
60
|
-
* @param name Unique job identifier. Used as lock key and in log output.
|
|
61
|
-
* @param expression Cron expression or shortcut (`@daily`, `@hourly`, `@minute`, etc.).
|
|
62
|
-
* @param opts Optional timezone, runOnStart, ttlMs (lock TTL), and log options.
|
|
63
|
-
*
|
|
64
|
-
* Call `.handler(fn)` to run in-process, or `.os(script)` for OS-level scheduling via Bun.
|
|
65
|
-
* Chain `.use(ServiceDef)` to inject services into the handler context.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* defineCron('cleanup', '@daily')
|
|
69
|
-
* .use(JobService)
|
|
70
|
-
* .handler(async (ctx) => { await ctx.jobService.deleteExpired() })
|
|
71
|
-
*/
|
|
72
|
-
export declare function defineCron(name: string, expression: string, opts?: CronBuildOptions): CronBuilder<Record<never, never>>;
|
|
73
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../core/src/cron/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
import type { VelnAdapter, BindingValue, QueryLogEntry } from '../adapter/types';
|
|
2
|
-
import type { SchemaMap, TableDef, InferInsert } from '../schema/table';
|
|
3
|
-
import type { HookExecutor } from '../hooks/executor';
|
|
4
|
-
import { RequestEventQueue } from '../events/index';
|
|
5
|
-
import type { JoinClause, SelectOptions, WhereInput, SqlDialect } from './sql';
|
|
6
|
-
export interface QueryLog {
|
|
7
|
-
/** Total number of queries executed during this request. */
|
|
8
|
-
queries: number;
|
|
9
|
-
/** Cumulative wall-clock duration of all queries in ms. */
|
|
10
|
-
totalMs: number;
|
|
11
|
-
/** Individual query entries — populated only when logQueries is true. */
|
|
12
|
-
entries: QueryLogEntry[];
|
|
13
|
-
/** Warning threshold — exceeded → N+1 warning. */
|
|
14
|
-
threshold: number;
|
|
15
|
-
/** Whether individual query entries should be captured (for logQueries). */
|
|
16
|
-
logQueries: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface PendingEvent {
|
|
19
|
-
name: string;
|
|
20
|
-
payload: unknown;
|
|
21
|
-
}
|
|
22
|
-
export interface TransactionResult<T> {
|
|
23
|
-
result: T;
|
|
24
|
-
events: PendingEvent[];
|
|
25
|
-
}
|
|
26
|
-
export interface EventBus {
|
|
27
|
-
_emit(event: string, payload: unknown, ctx: unknown): void;
|
|
28
|
-
on(event: string, handler: (payload: unknown, ctx: unknown) => Promise<void> | void): this;
|
|
29
|
-
flush(events: PendingEvent[], ctx: unknown): Promise<void>;
|
|
30
|
-
}
|
|
31
|
-
export declare class VelnDB {
|
|
32
|
-
private readonly adapter;
|
|
33
|
-
private readonly hooks;
|
|
34
|
-
constructor(adapter: VelnAdapter, hooks: HookExecutor);
|
|
35
|
-
/** Return a new BoundVelnDB scoped to the given context. Never mutates this. */
|
|
36
|
-
withCtx(ctx: unknown, queue?: RequestEventQueue, queryLog?: QueryLog): BoundVelnDB;
|
|
37
|
-
}
|
|
38
|
-
export declare class BoundVelnDB {
|
|
39
|
-
private readonly hooks;
|
|
40
|
-
private readonly ctx;
|
|
41
|
-
private readonly queue?;
|
|
42
|
-
/** Per-request query counter — incremented for every query() and execute() call on this instance. */
|
|
43
|
-
_queryCount: number;
|
|
44
|
-
private readonly adapter;
|
|
45
|
-
constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue?: RequestEventQueue, queryLog?: QueryLog);
|
|
46
|
-
from<T, S extends SchemaMap>(table: TableDef<T, S>): SelectBuilder<T, S>;
|
|
47
|
-
/**
|
|
48
|
-
* Start a JOIN query from the given table name.
|
|
49
|
-
* Returns a JoinBuilder — call .join()/.leftJoin() etc. to add clauses,
|
|
50
|
-
* then .select() to execute and get Record<string, unknown>[] results.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* const rows = await db.join('orders')
|
|
54
|
-
* .columns(['orders.id', 'users.name'])
|
|
55
|
-
* .join('users', 'orders.user_id = users.id')
|
|
56
|
-
* .where('orders.status = ?', ['pending'])
|
|
57
|
-
* .select()
|
|
58
|
-
*/
|
|
59
|
-
join(tableName: string): JoinBuilder;
|
|
60
|
-
into<T, S extends SchemaMap>(table: TableDef<T, S>): InsertBuilder<T, S>;
|
|
61
|
-
/**
|
|
62
|
-
* DataLoader-pattern relation fetch — single IN-query, no N+1.
|
|
63
|
-
* Returns a Map keyed by the foreign-key value; each entry is an array of
|
|
64
|
-
* matching child rows (for one-to-many relations).
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* const posts = await db.from(postsTable).select()
|
|
68
|
-
* const authorMap = await db.loadRelation(posts, 'authorId', usersTable, 'id')
|
|
69
|
-
* // → SELECT * FROM "users" WHERE "id" IN (1, 2, 3)
|
|
70
|
-
* const withAuthors = posts.map(p => ({ ...p, author: authorMap.get(p.authorId)?.[0] ?? null }))
|
|
71
|
-
*/
|
|
72
|
-
loadRelation<TParent extends Record<string, unknown>, TChild, TFk extends keyof TParent & string, TPk extends keyof TChild & string>(parents: TParent[], foreignKey: TFk, childTable: TableDef<TChild>, primaryKey: TPk): Promise<Map<TParent[TFk], TChild[]>>;
|
|
73
|
-
/**
|
|
74
|
-
* Convenience variant of loadRelation for belongs-to (many-to-one) relations.
|
|
75
|
-
* Returns Map<fkValue, TChild> — single child per key instead of an array.
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* const authorMap = await db.loadRelationOne(posts, 'authorId', usersTable, 'id')
|
|
79
|
-
* const author = authorMap.get(post.authorId) ?? null
|
|
80
|
-
*/
|
|
81
|
-
loadRelationOne<TParent extends Record<string, unknown>, TChild, TFk extends keyof TParent & string, TPk extends keyof TChild & string>(parents: TParent[], foreignKey: TFk, childTable: TableDef<TChild>, primaryKey: TPk): Promise<Map<TParent[TFk], TChild>>;
|
|
82
|
-
transaction<T>(fn: (db: BoundVelnDB) => Promise<T>): Promise<TransactionResult<T>>;
|
|
83
|
-
/**
|
|
84
|
-
* Execute raw SQL and return typed rows.
|
|
85
|
-
*
|
|
86
|
-
* Without a schema the return type is `Record<string, unknown>[]`.
|
|
87
|
-
* With a schema (e.g. a Zod object) every row is validated at runtime
|
|
88
|
-
* and the return type is inferred from the schema.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* // Untyped
|
|
92
|
-
* const rows = await ctx.db.raw('SELECT * FROM orders WHERE amount > ?', [100])
|
|
93
|
-
*
|
|
94
|
-
* // Typed + validated
|
|
95
|
-
* const schema = z.object({ id: z.number(), amount: z.number() })
|
|
96
|
-
* const rows = await ctx.db.raw('SELECT id, amount FROM orders WHERE amount > ?', [100], schema)
|
|
97
|
-
*/
|
|
98
|
-
raw<T = Record<string, unknown>>(sql: string, params?: BindingValue[], schema?: {
|
|
99
|
-
parse: (row: unknown) => T;
|
|
100
|
-
}): Promise<T[]>;
|
|
101
|
-
}
|
|
102
|
-
export declare class SelectBuilder<T, S extends SchemaMap> {
|
|
103
|
-
private readonly adapter;
|
|
104
|
-
private readonly hooks;
|
|
105
|
-
private readonly ctx;
|
|
106
|
-
private readonly queue;
|
|
107
|
-
private readonly table;
|
|
108
|
-
private readonly conditions;
|
|
109
|
-
private readonly _options;
|
|
110
|
-
private readonly _rawWhere;
|
|
111
|
-
private readonly _dialect;
|
|
112
|
-
constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue: RequestEventQueue | undefined, table: TableDef<T, S>, conditions: WhereInput<T>, _options?: SelectOptions, _rawWhere?: {
|
|
113
|
-
sql: string;
|
|
114
|
-
params: BindingValue[];
|
|
115
|
-
}[], _dialect?: SqlDialect);
|
|
116
|
-
private _cloneWith;
|
|
117
|
-
private _clone;
|
|
118
|
-
/**
|
|
119
|
-
* Add WHERE conditions. Accepts:
|
|
120
|
-
* - Plain equality map: `.where({ role: 'admin' })`
|
|
121
|
-
* - Operator condition: `.where({ age: { op: '>=', value: 18 } })`
|
|
122
|
-
* - OR group: `.where({ OR: [{ role: 'admin' }, { role: 'mod' }] })`
|
|
123
|
-
* - AND group: `.where({ AND: [...] })`
|
|
124
|
-
*
|
|
125
|
-
* Multiple `.where()` calls are combined with AND.
|
|
126
|
-
*/
|
|
127
|
-
where(conditions: WhereInput<T>): SelectBuilder<T, S>;
|
|
128
|
-
/**
|
|
129
|
-
* Append a raw SQL WHERE fragment, combined with AND.
|
|
130
|
-
* Use for conditions the builder cannot express.
|
|
131
|
-
*
|
|
132
|
-
* @example
|
|
133
|
-
* .whereRaw('"score" > "threshold"', [])
|
|
134
|
-
* .whereRaw('"created_at" > ?', ['2024-01-01'])
|
|
135
|
-
*/
|
|
136
|
-
whereRaw(sql: string, params: BindingValue[]): SelectBuilder<T, S>;
|
|
137
|
-
/** Limit the number of rows returned. Bound as a parameter — never interpolated. */
|
|
138
|
-
limit(n: number): SelectBuilder<T, S>;
|
|
139
|
-
/** Skip the first n rows. Bound as a parameter — never interpolated. */
|
|
140
|
-
offset(n: number): SelectBuilder<T, S>;
|
|
141
|
-
/** Add an ORDER BY clause. Multiple calls accumulate in order. */
|
|
142
|
-
orderBy(col: keyof T & string, dir?: 'ASC' | 'DESC'): SelectBuilder<T, S>;
|
|
143
|
-
/**
|
|
144
|
-
* Convenience helper for cursor-based pagination.
|
|
145
|
-
* page(1, 10) → LIMIT 10 OFFSET 0
|
|
146
|
-
* page(2, 10) → LIMIT 10 OFFSET 10
|
|
147
|
-
*/
|
|
148
|
-
page(page: number, size: number): SelectBuilder<T, S>;
|
|
149
|
-
/**
|
|
150
|
-
* Restrict which columns are returned.
|
|
151
|
-
* SELECT "id", "name" FROM "table" — instead of SELECT *
|
|
152
|
-
*
|
|
153
|
-
* Return type is narrowed to Pick<T, K> for full type safety.
|
|
154
|
-
*/
|
|
155
|
-
columns<K extends keyof T & string>(...cols: K[]): SelectBuilder<Pick<T, K>, S>;
|
|
156
|
-
/**
|
|
157
|
-
* Add a GROUP BY clause. Multiple columns are comma-separated.
|
|
158
|
-
* Combine with .aggregate() to get grouped aggregate results.
|
|
159
|
-
*/
|
|
160
|
-
groupBy(...cols: (keyof T & string)[]): SelectBuilder<T, S>;
|
|
161
|
-
/**
|
|
162
|
-
* Add a HAVING clause — filters aggregate groups.
|
|
163
|
-
* Uses the same WhereInput system as .where() (supports operators, OR/AND).
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* .groupBy('role').aggregate({ cnt: { fn: 'COUNT' } }).having({ cnt: { op: '>', value: 1 } })
|
|
167
|
-
*/
|
|
168
|
-
having(conditions: WhereInput<Record<string, unknown>>): SelectBuilder<T, S>;
|
|
169
|
-
/**
|
|
170
|
-
* Execute a GROUP BY + aggregate query.
|
|
171
|
-
* Returns typed rows with group-by columns + aggregate aliases.
|
|
172
|
-
*
|
|
173
|
-
* @example
|
|
174
|
-
* const rows = await db.from(orders)
|
|
175
|
-
* .groupBy('status')
|
|
176
|
-
* .aggregate({ total: { fn: 'SUM', col: 'amount' }, cnt: { fn: 'COUNT' } })
|
|
177
|
-
* // rows: { status: string; total: number; cnt: number }[]
|
|
178
|
-
*/
|
|
179
|
-
aggregate<TAgg extends Record<string, number | string | null>>(aggregates: {
|
|
180
|
-
[K in keyof TAgg]: {
|
|
181
|
-
fn: 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX';
|
|
182
|
-
col?: keyof T & string;
|
|
183
|
-
};
|
|
184
|
-
}): Promise<(Partial<T> & TAgg)[]>;
|
|
185
|
-
/** COUNT(*) or COUNT("col") — returns the count as a number. */
|
|
186
|
-
count(col?: keyof T & string): Promise<number>;
|
|
187
|
-
/** SUM("col") — returns the sum as a number (0 if no rows). */
|
|
188
|
-
sum(col: keyof T & string): Promise<number>;
|
|
189
|
-
/** AVG("col") — returns the average as a number (0 if no rows). */
|
|
190
|
-
avg(col: keyof T & string): Promise<number>;
|
|
191
|
-
/** MIN("col") — returns the minimum value. */
|
|
192
|
-
min(col: keyof T & string): Promise<number | string | null>;
|
|
193
|
-
/** MAX("col") — returns the maximum value. */
|
|
194
|
-
max(col: keyof T & string): Promise<number | string | null>;
|
|
195
|
-
private _scalarAggregate;
|
|
196
|
-
private _scalarAggregateRaw;
|
|
197
|
-
select(): Promise<T[]>;
|
|
198
|
-
first(): Promise<T | null>;
|
|
199
|
-
update(patch: Partial<T>): Promise<T>;
|
|
200
|
-
delete(): Promise<T>;
|
|
201
|
-
}
|
|
202
|
-
export declare class InsertBuilder<T, S extends SchemaMap> {
|
|
203
|
-
private readonly adapter;
|
|
204
|
-
private readonly hooks;
|
|
205
|
-
private readonly ctx;
|
|
206
|
-
private readonly queue;
|
|
207
|
-
private readonly table;
|
|
208
|
-
constructor(adapter: VelnAdapter, hooks: HookExecutor, ctx: unknown, queue: RequestEventQueue | undefined, table: TableDef<T, S>);
|
|
209
|
-
insert(data: InferInsert<S>): Promise<T>;
|
|
210
|
-
/** Serialize values for SQLite storage. Date → ISO string. */
|
|
211
|
-
private _serializeForInsert;
|
|
212
|
-
}
|
|
213
|
-
export declare class JoinBuilder {
|
|
214
|
-
private readonly adapter;
|
|
215
|
-
private readonly tableName;
|
|
216
|
-
private readonly _columns;
|
|
217
|
-
private readonly _joins;
|
|
218
|
-
private readonly _where;
|
|
219
|
-
private readonly _params;
|
|
220
|
-
private readonly _options;
|
|
221
|
-
constructor(adapter: VelnAdapter, tableName: string, _columns: string[], _joins: JoinClause[], _where: string, _params: BindingValue[], _options?: SelectOptions);
|
|
222
|
-
private _cloneOpts;
|
|
223
|
-
/** Restrict the selected columns (e.g. ['orders.id', 'users.name']). */
|
|
224
|
-
columns(cols: string[]): JoinBuilder;
|
|
225
|
-
/** Add an INNER JOIN clause. */
|
|
226
|
-
join(table: string, on: string): JoinBuilder;
|
|
227
|
-
/** Add a LEFT JOIN clause. */
|
|
228
|
-
leftJoin(table: string, on: string): JoinBuilder;
|
|
229
|
-
/** Add a RIGHT JOIN clause. */
|
|
230
|
-
rightJoin(table: string, on: string): JoinBuilder;
|
|
231
|
-
/** Add a FULL JOIN clause. */
|
|
232
|
-
fullJoin(table: string, on: string): JoinBuilder;
|
|
233
|
-
/**
|
|
234
|
-
* Set a typed WHERE clause from a conditions object.
|
|
235
|
-
* Each key becomes "key" = ? — values are bound safely.
|
|
236
|
-
*
|
|
237
|
-
* @example
|
|
238
|
-
* .where({ status: 'pending', userId })
|
|
239
|
-
*/
|
|
240
|
-
where(conditions: Record<string, BindingValue>): JoinBuilder;
|
|
241
|
-
/**
|
|
242
|
-
* Set a raw WHERE clause.
|
|
243
|
-
* Use ? as placeholder; pass bind values as the second argument.
|
|
244
|
-
*
|
|
245
|
-
* @example
|
|
246
|
-
* .where('orders.status = ? AND orders.user_id = ?', ['pending', userId])
|
|
247
|
-
*/
|
|
248
|
-
where(sql: string, params: BindingValue[]): JoinBuilder;
|
|
249
|
-
/** Limit the number of rows returned. Bound as a parameter — never interpolated. */
|
|
250
|
-
limit(n: number): JoinBuilder;
|
|
251
|
-
/** Skip the first n rows. Bound as a parameter — never interpolated. */
|
|
252
|
-
offset(n: number): JoinBuilder;
|
|
253
|
-
/**
|
|
254
|
-
* Add an ORDER BY clause. Multiple calls accumulate in order.
|
|
255
|
-
* @param col Column reference, e.g. 'orders.created_at' or 'name'.
|
|
256
|
-
*/
|
|
257
|
-
orderBy(col: string, dir?: 'ASC' | 'DESC'): JoinBuilder;
|
|
258
|
-
/**
|
|
259
|
-
* Convenience helper for cursor-based pagination.
|
|
260
|
-
* page(1, 10) → LIMIT 10 OFFSET 0
|
|
261
|
-
* page(2, 10) → LIMIT 10 OFFSET 10
|
|
262
|
-
*/
|
|
263
|
-
page(page: number, size: number): JoinBuilder;
|
|
264
|
-
/**
|
|
265
|
-
* Execute the query and return raw rows (no deserialization).
|
|
266
|
-
*
|
|
267
|
-
* @remarks
|
|
268
|
-
* Type parameter T is a manual cast — not validated at runtime.
|
|
269
|
-
* For runtime validation, use db.raw() with a Zod schema instead.
|
|
270
|
-
*/
|
|
271
|
-
select<T = Record<string, unknown>>(): Promise<T[]>;
|
|
272
|
-
/**
|
|
273
|
-
* Execute the query and return the first row, or null.
|
|
274
|
-
*
|
|
275
|
-
* @remarks
|
|
276
|
-
* Type parameter T is a manual cast — not validated at runtime.
|
|
277
|
-
*/
|
|
278
|
-
first<T = Record<string, unknown>>(): Promise<T | null>;
|
|
279
|
-
private _addJoin;
|
|
280
|
-
}
|
|
281
|
-
//# sourceMappingURL=index.d.ts.map
|