oakbun 0.1.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.
Files changed (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +53 -0
  3. package/dist/adapter/mysql.d.ts +21 -0
  4. package/dist/adapter/mysql.d.ts.map +1 -0
  5. package/dist/adapter/mysql.js +10 -0
  6. package/dist/adapter/mysql.js.map +1 -0
  7. package/dist/adapter/postgres.d.ts +16 -0
  8. package/dist/adapter/postgres.d.ts.map +1 -0
  9. package/dist/adapter/postgres.js +10 -0
  10. package/dist/adapter/postgres.js.map +1 -0
  11. package/dist/adapter/resolve.d.ts +16 -0
  12. package/dist/adapter/resolve.d.ts.map +1 -0
  13. package/dist/adapter/sqlite.d.ts +17 -0
  14. package/dist/adapter/sqlite.d.ts.map +1 -0
  15. package/dist/adapter/sqlite.js +10 -0
  16. package/dist/adapter/sqlite.js.map +1 -0
  17. package/dist/adapter/types.d.ts +29 -0
  18. package/dist/adapter/types.d.ts.map +1 -0
  19. package/dist/app/audit-wiring.d.ts +6 -0
  20. package/dist/app/audit-wiring.d.ts.map +1 -0
  21. package/dist/app/body-size-limit.d.ts +29 -0
  22. package/dist/app/body-size-limit.d.ts.map +1 -0
  23. package/dist/app/compression.d.ts +25 -0
  24. package/dist/app/compression.d.ts.map +1 -0
  25. package/dist/app/cookies.d.ts +17 -0
  26. package/dist/app/cookies.d.ts.map +1 -0
  27. package/dist/app/cors.d.ts +65 -0
  28. package/dist/app/cors.d.ts.map +1 -0
  29. package/dist/app/csrf.d.ts +52 -0
  30. package/dist/app/csrf.d.ts.map +1 -0
  31. package/dist/app/health.d.ts +36 -0
  32. package/dist/app/health.d.ts.map +1 -0
  33. package/dist/app/index.d.ts +282 -0
  34. package/dist/app/index.d.ts.map +1 -0
  35. package/dist/app/logger.d.ts +4 -0
  36. package/dist/app/logger.d.ts.map +1 -0
  37. package/dist/app/middleware.d.ts +20 -0
  38. package/dist/app/middleware.d.ts.map +1 -0
  39. package/dist/app/module.d.ts +273 -0
  40. package/dist/app/module.d.ts.map +1 -0
  41. package/dist/app/plugin.d.ts +112 -0
  42. package/dist/app/plugin.d.ts.map +1 -0
  43. package/dist/app/rate-limit.d.ts +76 -0
  44. package/dist/app/rate-limit.d.ts.map +1 -0
  45. package/dist/app/request-id.d.ts +52 -0
  46. package/dist/app/request-id.d.ts.map +1 -0
  47. package/dist/app/router.d.ts +6 -0
  48. package/dist/app/router.d.ts.map +1 -0
  49. package/dist/app/scalar.d.ts +40 -0
  50. package/dist/app/scalar.d.ts.map +1 -0
  51. package/dist/app/secure-headers.d.ts +48 -0
  52. package/dist/app/secure-headers.d.ts.map +1 -0
  53. package/dist/app/system-ctx.d.ts +3 -0
  54. package/dist/app/system-ctx.d.ts.map +1 -0
  55. package/dist/app/types.d.ts +277 -0
  56. package/dist/app/types.d.ts.map +1 -0
  57. package/dist/chunk-32M77PK3.js +75 -0
  58. package/dist/chunk-32M77PK3.js.map +1 -0
  59. package/dist/chunk-7C6SKWY7.js +86 -0
  60. package/dist/chunk-7C6SKWY7.js.map +1 -0
  61. package/dist/chunk-7PGCL2E7.js +78 -0
  62. package/dist/chunk-7PGCL2E7.js.map +1 -0
  63. package/dist/chunk-F3WAOTEN.js +86 -0
  64. package/dist/chunk-FJSYS3BT.js +27 -0
  65. package/dist/chunk-UNRUXO7H.js +68 -0
  66. package/dist/chunk-WQ44NZ6K.js +116 -0
  67. package/dist/chunk-Z6ZWNWWR.js +34 -0
  68. package/dist/chunk-Z6ZWNWWR.js.map +1 -0
  69. package/dist/cli/bin.d.ts +3 -0
  70. package/dist/cli/bin.d.ts.map +1 -0
  71. package/dist/cli/bin.js +645 -0
  72. package/dist/cli/commands/make/migration.d.ts +3 -0
  73. package/dist/cli/commands/make/migration.d.ts.map +1 -0
  74. package/dist/cli/commands/migrate/adapter.d.ts +14 -0
  75. package/dist/cli/commands/migrate/adapter.d.ts.map +1 -0
  76. package/dist/cli/commands/migrate/generate.d.ts +3 -0
  77. package/dist/cli/commands/migrate/generate.d.ts.map +1 -0
  78. package/dist/cli/commands/migrate/rollback.d.ts +3 -0
  79. package/dist/cli/commands/migrate/rollback.d.ts.map +1 -0
  80. package/dist/cli/commands/migrate/run.d.ts +3 -0
  81. package/dist/cli/commands/migrate/run.d.ts.map +1 -0
  82. package/dist/cli/commands/migrate/status.d.ts +3 -0
  83. package/dist/cli/commands/migrate/status.d.ts.map +1 -0
  84. package/dist/cli/commands/tinker.d.ts +7 -0
  85. package/dist/cli/commands/tinker.d.ts.map +1 -0
  86. package/dist/cli/config/defaults.d.ts +4 -0
  87. package/dist/cli/config/defaults.d.ts.map +1 -0
  88. package/dist/cli/config/loader.d.ts +3 -0
  89. package/dist/cli/config/loader.d.ts.map +1 -0
  90. package/dist/cli/config/types.d.ts +31 -0
  91. package/dist/cli/config/types.d.ts.map +1 -0
  92. package/dist/cli/discovery/commands.d.ts +4 -0
  93. package/dist/cli/discovery/commands.d.ts.map +1 -0
  94. package/dist/cli/discovery/services.d.ts +4 -0
  95. package/dist/cli/discovery/services.d.ts.map +1 -0
  96. package/dist/cli/discovery/tables.d.ts +5 -0
  97. package/dist/cli/discovery/tables.d.ts.map +1 -0
  98. package/dist/cli/index.d.ts +3 -0
  99. package/dist/cli/index.d.ts.map +1 -0
  100. package/dist/client/error.d.ts +8 -0
  101. package/dist/client/error.d.ts.map +1 -0
  102. package/dist/client/index.d.ts +33 -0
  103. package/dist/client/index.d.ts.map +1 -0
  104. package/dist/client/proxy.d.ts +88 -0
  105. package/dist/client/proxy.d.ts.map +1 -0
  106. package/dist/client/test-client.d.ts +30 -0
  107. package/dist/client/test-client.d.ts.map +1 -0
  108. package/dist/cron/index.d.ts +73 -0
  109. package/dist/cron/index.d.ts.map +1 -0
  110. package/dist/db/index.d.ts +281 -0
  111. package/dist/db/index.d.ts.map +1 -0
  112. package/dist/db/migrations/diff.d.ts +5 -0
  113. package/dist/db/migrations/diff.d.ts.map +1 -0
  114. package/dist/db/migrations/generator.d.ts +26 -0
  115. package/dist/db/migrations/generator.d.ts.map +1 -0
  116. package/dist/db/migrations/index.d.ts +9 -0
  117. package/dist/db/migrations/index.d.ts.map +1 -0
  118. package/dist/db/migrations/introspect.d.ts +8 -0
  119. package/dist/db/migrations/introspect.d.ts.map +1 -0
  120. package/dist/db/migrations/migrator.d.ts +10 -0
  121. package/dist/db/migrations/migrator.d.ts.map +1 -0
  122. package/dist/db/migrations/runner.d.ts +7 -0
  123. package/dist/db/migrations/runner.d.ts.map +1 -0
  124. package/dist/db/migrations/tracker.d.ts +7 -0
  125. package/dist/db/migrations/tracker.d.ts.map +1 -0
  126. package/dist/db/migrations/types.d.ts +70 -0
  127. package/dist/db/migrations/types.d.ts.map +1 -0
  128. package/dist/db/sql.d.ts +148 -0
  129. package/dist/db/sql.d.ts.map +1 -0
  130. package/dist/db-XTXH6OKV.js +889 -0
  131. package/dist/errors/index.d.ts +30 -0
  132. package/dist/errors/index.d.ts.map +1 -0
  133. package/dist/events/handler.d.ts +42 -0
  134. package/dist/events/handler.d.ts.map +1 -0
  135. package/dist/events/index.d.ts +48 -0
  136. package/dist/events/index.d.ts.map +1 -0
  137. package/dist/events-LDXSK7ME.js +12 -0
  138. package/dist/executor-BM3A6AGL.js +104 -0
  139. package/dist/hooks/executor.d.ts +20 -0
  140. package/dist/hooks/executor.d.ts.map +1 -0
  141. package/dist/hooks/types.d.ts +10 -0
  142. package/dist/hooks/types.d.ts.map +1 -0
  143. package/dist/index.d.ts +83 -0
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +5562 -0
  146. package/dist/index.js.map +1 -0
  147. package/dist/migrations-IWFQ6MZZ.js +757 -0
  148. package/dist/model/index.d.ts +24 -0
  149. package/dist/model/index.d.ts.map +1 -0
  150. package/dist/openapi/generator.d.ts +58 -0
  151. package/dist/openapi/generator.d.ts.map +1 -0
  152. package/dist/openapi/zod-to-schema.d.ts +4 -0
  153. package/dist/openapi/zod-to-schema.d.ts.map +1 -0
  154. package/dist/resource/errors.d.ts +2 -0
  155. package/dist/resource/errors.d.ts.map +1 -0
  156. package/dist/resource/index.d.ts +98 -0
  157. package/dist/resource/index.d.ts.map +1 -0
  158. package/dist/resource/zod-table.d.ts +6 -0
  159. package/dist/resource/zod-table.d.ts.map +1 -0
  160. package/dist/schema/audit.d.ts +25 -0
  161. package/dist/schema/audit.d.ts.map +1 -0
  162. package/dist/schema/column.d.ts +31 -0
  163. package/dist/schema/column.d.ts.map +1 -0
  164. package/dist/schema/table.d.ts +68 -0
  165. package/dist/schema/table.d.ts.map +1 -0
  166. package/dist/service/index.d.ts +27 -0
  167. package/dist/service/index.d.ts.map +1 -0
  168. package/dist/service-W4V6TFWU.js +126 -0
  169. package/dist/sqlite-VTXOCD65.js +10 -0
  170. package/dist/system-ctx-GPF44QCE.js +42 -0
  171. package/package.json +69 -0
@@ -0,0 +1,30 @@
1
+ export declare class VelnError extends Error {
2
+ readonly status: number;
3
+ readonly code: string;
4
+ constructor(message: string, status: number, code: string);
5
+ }
6
+ export declare class BadRequestError extends VelnError {
7
+ constructor(message?: string, code?: string);
8
+ }
9
+ export declare class UnauthorizedError extends VelnError {
10
+ constructor(message?: string, code?: string);
11
+ }
12
+ export declare class ForbiddenError extends VelnError {
13
+ constructor(message?: string, code?: string);
14
+ }
15
+ export declare class NotFoundError extends VelnError {
16
+ constructor(message?: string, code?: string);
17
+ }
18
+ export declare class ConflictError extends VelnError {
19
+ constructor(message?: string, code?: string);
20
+ }
21
+ export declare class UnprocessableError extends VelnError {
22
+ constructor(message?: string, code?: string);
23
+ }
24
+ export declare class TooManyRequestsError extends VelnError {
25
+ constructor(message?: string, code?: string);
26
+ }
27
+ export declare class InternalError extends VelnError {
28
+ constructor(message?: string, code?: string);
29
+ }
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;IAGhC,QAAQ,CAAC,MAAM,EAAK,MAAM;IAC1B,QAAQ,CAAC,IAAI,EAAO,MAAM;gBAF1B,OAAO,EAAa,MAAM,EACjB,MAAM,EAAK,MAAM,EACjB,IAAI,EAAO,MAAM;CAK7B;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,SAAgB,EAAE,IAAI,SAAgB;CAI1D;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,OAAO,SAAiB,EAAE,IAAI,SAAiB;CAI5D;AAED,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,SAAc,EAAE,IAAI,SAAc;CAItD;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAAc,EAAE,IAAI,SAAc;CAItD;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAAa,EAAE,IAAI,SAAa;CAIpD;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,SAAyB,EAAE,IAAI,SAAkB;CAIrE;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,OAAO,SAAsB,EAAE,IAAI,SAAsB;CAItE;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAA0B,EAAE,IAAI,SAAmB;CAIvE"}
@@ -0,0 +1,42 @@
1
+ import type { VelnEvents } from './index';
2
+ import type { Logger, BaseOptions } from '../app/types';
3
+ import type { ServiceDef } from '../service/index';
4
+ export type EventCallback = (payload: unknown) => void | Promise<void>;
5
+ export type EventHandlerFn<TPayload, TServices extends Record<string, unknown> = Record<never, never>> = (payload: TPayload, ctx: {
6
+ logger: Logger;
7
+ } & TServices) => void | Promise<void>;
8
+ export type RawHandler = (payload: unknown, ctx: Record<string, unknown>) => void | Promise<void>;
9
+ export interface EventHandlerDef {
10
+ readonly _handlers: Map<string, EventCallback>;
11
+ readonly _rawHandlers: Map<string, RawHandler>;
12
+ readonly _logger: Logger;
13
+ readonly _services: ReadonlyArray<ServiceDef<string, unknown>>;
14
+ }
15
+ type TableLike = {
16
+ name: string;
17
+ _eventMap: Record<string, unknown>;
18
+ };
19
+ type EventHandlerMap<TTable extends TableLike> = Partial<{
20
+ [K in keyof TTable['_eventMap']]: (payload: TTable['_eventMap'][K]) => void | Promise<void>;
21
+ }>;
22
+ export declare class EventHandlerBuilder<TTable extends TableLike, TServices extends Record<string, unknown> = Record<never, never>> {
23
+ private readonly _table;
24
+ private _options;
25
+ private _handlerMap;
26
+ private _services;
27
+ constructor(_table: TTable);
28
+ options(opts: BaseOptions): this;
29
+ use<TKey extends string, TDef>(service: ServiceDef<TKey, TDef>): EventHandlerBuilder<TTable, TServices & Record<TKey, TDef>>;
30
+ on<TEvent extends string & keyof TTable['_eventMap']>(event: TEvent, handler: (payload: TTable['_eventMap'][TEvent], ctx: {
31
+ logger: Logger;
32
+ } & TServices) => void | Promise<void>): this;
33
+ build(): EventHandlerDef;
34
+ build(handlers: EventHandlerMap<TTable>): EventHandlerDef;
35
+ }
36
+ export declare function defineEventHandler<TTable extends TableLike>(table: TTable, handlers: EventHandlerMap<TTable>): EventHandlerDef;
37
+ export declare function defineEventHandler<TTable extends TableLike>(table: TTable): EventHandlerBuilder<TTable>;
38
+ export declare function defineEventHandler(handlers: Partial<{
39
+ [K in keyof VelnEvents]: (payload: VelnEvents[K]) => void | Promise<void>;
40
+ }>): EventHandlerDef;
41
+ export {};
42
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/events/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAGlD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACtE,MAAM,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CACvG,OAAO,EAAE,QAAQ,EACjB,GAAG,EAAM;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,KACpC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAIzB,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAK,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACjD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAO,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAK,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAClE;AAGD,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAA;AAGrE,KAAK,eAAe,CAAC,MAAM,SAAS,SAAS,IAAI,OAAO,CAAC;KACtD,CAAC,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5F,CAAC,CAAA;AAUF,qBAAa,mBAAmB,CAC9B,MAAM,SAAY,SAAS,EAC3B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;IAMpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAAiE;IACpF,OAAO,CAAC,SAAS,CAAsC;gBAE1B,MAAM,EAAE,MAAM;IAE3C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKhC,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAC3B,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAC9B,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAQ9D,EAAE,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAClD,KAAK,EAAI,MAAM,EACf,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EACpC,GAAG,EAAM;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KACpC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACxB,IAAI;IAMP,KAAK,IAAI,eAAe;IAExB,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe;CAmC1D;AAKD,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,EACzD,KAAK,EAAK,MAAM,EAChB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,GAChC,eAAe,CAAA;AAGlB,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,EACzD,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAAC,MAAM,CAAC,CAAA;AAG9B,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,CAAC;KAAG,CAAC,IAAI,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAAE,CAAC,GAC/F,eAAe,CAAA"}
@@ -0,0 +1,48 @@
1
+ import type { PendingEvent } from '../db/index';
2
+ export type EventHandler = (payload: unknown, ctx: unknown) => Promise<void> | void;
3
+ export declare class RequestEventQueue {
4
+ private readonly buffer;
5
+ collect(name: string, payload: unknown): void;
6
+ flush(ctx: unknown, bus: EventBusAdapter | InMemoryEventBus): Promise<void>;
7
+ /** Drain — returns collected events and clears the buffer.
8
+ * Used by the TX path to hand events off to TransactionResult. */
9
+ drain(): PendingEvent[];
10
+ /** Number of buffered events — useful in tests. */
11
+ get size(): number;
12
+ }
13
+ export interface VelnEvents {
14
+ }
15
+ export type EventBusErrorHandler = (event: string, error: unknown) => void;
16
+ export interface EventBusOptions {
17
+ /** Called when an event handler throws. Defaults to console.error. */
18
+ onError?: EventBusErrorHandler;
19
+ }
20
+ /**
21
+ * EventBusAdapter — minimal interface for event bus implementations.
22
+ *
23
+ * Default: InMemoryEventBus (single-process, zero latency)
24
+ *
25
+ * For multi-worker deployments: BroadcastChannelAdapter (@oakbun/broadcast, roadmap)
26
+ * For multi-server deployments: RedisAdapter (@oakbun/redis, roadmap)
27
+ *
28
+ * NOTE: EventBus is single-process by default. Events fired on instance A
29
+ * will NOT reach instance B without a distributed adapter.
30
+ */
31
+ export interface EventBusAdapter {
32
+ on(event: string, handler: (payload: unknown) => void): void;
33
+ emit(event: string, payload: unknown): Promise<void>;
34
+ }
35
+ export declare class InMemoryEventBus {
36
+ private readonly handlers;
37
+ private readonly _onError;
38
+ constructor(options?: EventBusOptions);
39
+ on<K extends keyof VelnEvents>(event: K, handler: (payload: VelnEvents[K], ctx: unknown) => Promise<void> | void): this;
40
+ on(event: string, handler: EventHandler): this;
41
+ _emit(event: string, payload: unknown, ctx: unknown): void;
42
+ emit(event: string, payload: unknown): Promise<void>;
43
+ flush(events: PendingEvent[], ctx: unknown): Promise<void>;
44
+ }
45
+ /** @deprecated Use InMemoryEventBus instead. EventBus will be removed in a future version. */
46
+ export declare const EventBus: typeof InMemoryEventBus;
47
+ export type EventBus = InMemoryEventBus;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAOnF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIvC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjF;uEACmE;IACnE,KAAK,IAAI,YAAY,EAAE;IAIvB,mDAAmD;IACnD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAWD,MAAM,WAAW,UAAU;CAAG;AAE9B,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAE1E,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAC/B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrD;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;gBAEnC,OAAO,CAAC,EAAE,eAAe;IAMrC,EAAE,CAAC,CAAC,SAAS,MAAM,UAAU,EAC3B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACtE,IAAI;IAIP,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAS9C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAYpD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjE;AAED,8FAA8F;AAC9F,eAAO,MAAM,QAAQ,yBAAmB,CAAA;AACxC,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAA"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env bun
2
+ import {
3
+ EventBus,
4
+ InMemoryEventBus,
5
+ RequestEventQueue
6
+ } from "./chunk-UNRUXO7H.js";
7
+ import "./chunk-FJSYS3BT.js";
8
+ export {
9
+ EventBus,
10
+ InMemoryEventBus,
11
+ RequestEventQueue
12
+ };
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env bun
2
+ import "./chunk-FJSYS3BT.js";
3
+
4
+ // src/hooks/executor.ts
5
+ var HookExecutor = class {
6
+ // tableName → ordered array of module-level handlers
7
+ registry = /* @__PURE__ */ new Map();
8
+ // Set by dbPlugin at install() — used by app.register() to build audit closures.
9
+ // undefined until dbPlugin installs (no-DB apps never set this).
10
+ _adapter;
11
+ // No EventBus held globally — queue is passed per runAfterX call
12
+ constructor() {
13
+ }
14
+ setAdapter(adapter) {
15
+ this._adapter = adapter;
16
+ }
17
+ getAdapter() {
18
+ return this._adapter;
19
+ }
20
+ // Called by defineModule when a .hook() is registered
21
+ registerModuleHook(tableName, handlers) {
22
+ if (!this.registry.has(tableName)) this.registry.set(tableName, []);
23
+ this.registry.get(tableName).push(handlers);
24
+ }
25
+ // ── Before operations — can transform data, can throw to cancel ──
26
+ async runBeforeInsert(table, ctx, data) {
27
+ let current = { ...data };
28
+ for (const h of table.hooks) {
29
+ if (!h.beforeInsert) continue;
30
+ const result = await h.beforeInsert(current);
31
+ if (result != null) current = result;
32
+ }
33
+ for (const h of this._moduleHandlers(table.name)) {
34
+ if (!h.beforeInsert) continue;
35
+ const result = await h.beforeInsert(ctx, current);
36
+ if (result != null) current = result;
37
+ }
38
+ return current;
39
+ }
40
+ async runBeforeUpdate(table, ctx, current, patch) {
41
+ let currentPatch = { ...patch };
42
+ for (const h of table.hooks) {
43
+ if (!h.beforeUpdate) continue;
44
+ const result = await h.beforeUpdate(current, currentPatch);
45
+ if (result != null) currentPatch = result;
46
+ }
47
+ for (const h of this._moduleHandlers(table.name)) {
48
+ if (!h.beforeUpdate) continue;
49
+ const result = await h.beforeUpdate(ctx, current, currentPatch);
50
+ if (result != null) currentPatch = result;
51
+ }
52
+ return currentPatch;
53
+ }
54
+ async runBeforeDelete(table, ctx, current) {
55
+ for (const h of table.hooks) {
56
+ if (h.beforeDelete) await h.beforeDelete(current);
57
+ }
58
+ for (const h of this._moduleHandlers(table.name)) {
59
+ if (h.beforeDelete) await h.beforeDelete(ctx, current);
60
+ }
61
+ }
62
+ // ── After operations — side effects only, cannot cancel ──
63
+ // queue: per-request RequestEventQueue, or undefined when called outside HTTP context.
64
+ // When undefined (e.g. background jobs, tests, Phase 2 direct usage), events are dropped.
65
+ async runAfterInsert(table, ctx, result, input, queue) {
66
+ for (const h of table.hooks) {
67
+ if (h.afterInsert) await h.afterInsert(result, input);
68
+ }
69
+ for (const h of this._moduleHandlers(table.name)) {
70
+ if (h.afterInsert) await h.afterInsert(ctx, result, input);
71
+ }
72
+ if (table.events.afterInsert) {
73
+ queue?.collect(table.events.afterInsert, result);
74
+ }
75
+ }
76
+ async runAfterUpdate(table, ctx, result, before, queue) {
77
+ for (const h of table.hooks) {
78
+ if (h.afterUpdate) await h.afterUpdate(result, before);
79
+ }
80
+ for (const h of this._moduleHandlers(table.name)) {
81
+ if (h.afterUpdate) await h.afterUpdate(ctx, result, before);
82
+ }
83
+ if (table.events.afterUpdate) {
84
+ queue?.collect(table.events.afterUpdate, { before, after: result });
85
+ }
86
+ }
87
+ async runAfterDelete(table, ctx, deleted, queue) {
88
+ for (const h of table.hooks) {
89
+ if (h.afterDelete) await h.afterDelete(deleted);
90
+ }
91
+ for (const h of this._moduleHandlers(table.name)) {
92
+ if (h.afterDelete) await h.afterDelete(ctx, deleted);
93
+ }
94
+ if (table.events.afterDelete) {
95
+ queue?.collect(table.events.afterDelete, deleted);
96
+ }
97
+ }
98
+ _moduleHandlers(tableName) {
99
+ return this.registry.get(tableName) ?? [];
100
+ }
101
+ };
102
+ export {
103
+ HookExecutor
104
+ };
@@ -0,0 +1,20 @@
1
+ import type { VelnAdapter } from '../adapter/types';
2
+ import type { TableDef } from '../schema/table';
3
+ import type { ModuleHookHandlers } from './types';
4
+ import type { RequestEventQueue } from '../events/index';
5
+ export declare class HookExecutor {
6
+ private readonly registry;
7
+ private _adapter?;
8
+ constructor();
9
+ setAdapter(adapter: VelnAdapter): void;
10
+ getAdapter(): VelnAdapter | undefined;
11
+ registerModuleHook<T, TCtx>(tableName: string, handlers: ModuleHookHandlers<T, TCtx>): void;
12
+ runBeforeInsert<T>(table: TableDef<T>, ctx: unknown, data: Partial<T>): Promise<Partial<T>>;
13
+ runBeforeUpdate<T>(table: TableDef<T>, ctx: unknown, current: T, patch: Partial<T>): Promise<Partial<T>>;
14
+ runBeforeDelete<T>(table: TableDef<T>, ctx: unknown, current: T): Promise<void>;
15
+ runAfterInsert<T>(table: TableDef<T>, ctx: unknown, result: T, input: Partial<T>, queue?: RequestEventQueue): Promise<void>;
16
+ runAfterUpdate<T>(table: TableDef<T>, ctx: unknown, result: T, before: T, queue?: RequestEventQueue): Promise<void>;
17
+ runAfterDelete<T>(table: TableDef<T>, ctx: unknown, deleted: T, queue?: RequestEventQueue): Promise<void>;
18
+ private _moduleHandlers;
19
+ }
20
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/hooks/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAcxD,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAI7E,OAAO,CAAC,QAAQ,CAAC,CAAa;;IAK9B,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAItC,UAAU,IAAI,WAAW,GAAG,SAAS;IAKrC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,GACpC,IAAI;IAOD,eAAe,CAAC,CAAC,EACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GACf,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAoBhB,eAAe,CAAC,CAAC,EACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAkBhB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/E,cAAc,CAAC,CAAC,EACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,KAAK,CAAC,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC;IAaV,cAAc,CAAC,CAAC,EACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,KAAK,CAAC,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC;IAaV,cAAc,CAAC,CAAC,EACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,CAAC,EACV,KAAK,CAAC,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC;IAahB,OAAO,CAAC,eAAe;CAGxB"}
@@ -0,0 +1,10 @@
1
+ export interface ModuleHookHandlers<T, TCtx = unknown> {
2
+ beforeInsert?: (ctx: TCtx, data: Partial<T>) => Partial<T> | void | Promise<Partial<T> | void>;
3
+ afterInsert?: (ctx: TCtx, result: T, input: Partial<T>) => void | Promise<void>;
4
+ beforeUpdate?: (ctx: TCtx, current: T, patch: Partial<T>) => Partial<T> | void | Promise<Partial<T> | void>;
5
+ afterUpdate?: (ctx: TCtx, result: T, before: T) => void | Promise<void>;
6
+ beforeDelete?: (ctx: TCtx, current: T) => void | Promise<void>;
7
+ afterDelete?: (ctx: TCtx, deleted: T) => void | Promise<void>;
8
+ }
9
+ export type HookOperation = 'beforeInsert' | 'afterInsert' | 'beforeUpdate' | 'afterUpdate' | 'beforeDelete' | 'afterDelete';
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO;IACnD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC9F,WAAW,CAAC,EAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChF,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3G,WAAW,CAAC,EAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,WAAW,CAAC,EAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAED,MAAM,MAAM,aAAa,GACrB,cAAc,GAAG,aAAa,GAC9B,cAAc,GAAG,aAAa,GAC9B,cAAc,GAAG,aAAa,CAAA"}
@@ -0,0 +1,83 @@
1
+ export type { VelnAdapter, BindingValue, ExecuteResult, QueryLogEntry } from './adapter/types';
2
+ export { SQLiteAdapter } from './adapter/sqlite';
3
+ export type { SQLiteConfig } from './adapter/sqlite';
4
+ export { PostgresAdapter } from './adapter/postgres';
5
+ export type { PostgresConfig } from './adapter/postgres';
6
+ export { MySQLAdapter } from './adapter/mysql';
7
+ export type { MySQLConfig } from './adapter/mysql';
8
+ export { resolveAdapter } from './adapter/resolve';
9
+ export type { AdapterConfig } from './adapter/resolve';
10
+ export { column } from './schema/column';
11
+ export type { Column, ColumnDef, SqlType } from './schema/column';
12
+ export { defineTable, toCreateTableSql } from './schema/table';
13
+ export type { SchemaMap, InferRow, InferInsert, InferUpdate, InferTable, TableDef, TableHookHandlers, TableEventMap, InferTableEvents, } from './schema/table';
14
+ export { defineAuditTable } from './schema/audit';
15
+ export type { AuditTableDef, AuditLog, AuditConfig } from './schema/audit';
16
+ export type { ModuleHookHandlers, HookOperation } from './hooks/types';
17
+ export { createMigrator, generateMigration, compareSchemas, introspectSchema, splitSqlStatements } from './db/migrations/index';
18
+ export type { Migrator, MigratorOptions, MigrationResult, MigrationStatus, MigrationRecord, SchemaDiff, TableDiff, TableModification, ColumnDef as MigrationColumnDef, IndexDef, ColumnModification, GenerateOptions, GenerateResult, } from './db/migrations/index';
19
+ export { VelnDB, BoundVelnDB, SelectBuilder, InsertBuilder, JoinBuilder } from './db/index';
20
+ export type { PendingEvent, TransactionResult, QueryLog, } from './db/index';
21
+ export type { JoinClause, SelectOptions, AggregateClause, WhereInput, WhereOp, WhereConditions, FieldCondition, SqlDialect } from './db/sql';
22
+ export type { EventBus as EventBusInterface } from './db/index';
23
+ export { InMemoryEventBus, EventBus, RequestEventQueue } from './events/index';
24
+ export type { EventBusAdapter, EventBusOptions, EventBusErrorHandler } from './events/index';
25
+ export type { EventHandler, VelnEvents } from './events/index';
26
+ export { defineEventHandler, EventHandlerBuilder } from './events/handler';
27
+ export type { EventHandlerDef, EventCallback, EventHandlerFn } from './events/handler';
28
+ export { defineModel, ModelBuilder } from './model/index';
29
+ export type { ModelDef, ModelInstance } from './model/index';
30
+ export { defineService } from './service/index';
31
+ export type { ServiceDef } from './service/index';
32
+ export { defineMiddleware, MiddlewareBuilder } from './app/middleware';
33
+ export type { MiddlewareDef } from './app/middleware';
34
+ export { createApp, Veln } from './app/index';
35
+ export { createSystemCtx } from './app/system-ctx';
36
+ export { defineModule, ModuleBuilder } from './app/module';
37
+ export type { VelnModule, HookDeclaration, AuditDeclaration, ServiceDeclaration } from './app/module';
38
+ export { loggerPlugin, dbPlugin, eventBusPlugin, createPlugin, definePlugin, PluginBuilder } from './app/plugin';
39
+ export type { DbPluginConfig, DbLogOptions, NavItem } from './app/plugin';
40
+ export type { Plugin } from './app/plugin';
41
+ export type { BaseCtx, Guard, ErrorHandler, RouteHandler, Logger, AuthPayload, LogOptions, BaseOptions, AuthUser, AuthAdapter } from './app/types';
42
+ export { ValidationError, createGuard, defineGuard, createOnRequest, createOnBeforeHandle, createOnResponse } from './app/types';
43
+ export { secureHeadersPlugin } from './app/secure-headers';
44
+ export type { SecureHeadersOptions, CspPreset } from './app/secure-headers';
45
+ export { rateLimitPlugin, InMemoryStore } from './app/rate-limit';
46
+ export type { RateLimitOptions, RateLimitStore } from './app/rate-limit';
47
+ export { csrfPlugin } from './app/csrf';
48
+ export type { CsrfOptions, CsrfPlugin } from './app/csrf';
49
+ export { scalarPlugin } from './app/scalar';
50
+ export type { ScalarOptions } from './app/scalar';
51
+ export { bodySizeLimitPlugin } from './app/body-size-limit';
52
+ export type { BodySizeLimitOptions } from './app/body-size-limit';
53
+ export { corsPlugin } from './app/cors';
54
+ export type { CorsOptions, CorsPlugin } from './app/cors';
55
+ export { requestIdPlugin } from './app/request-id';
56
+ export type { RequestIdOptions, RequestIdCtx, RequestIdPlugin } from './app/request-id';
57
+ export { compressionPlugin } from './app/compression';
58
+ export type { CompressionOptions } from './app/compression';
59
+ export { healthPlugin } from './app/health';
60
+ export type { HealthPluginOptions, HealthCheck, HealthPlugin } from './app/health';
61
+ export type { VelnWsAdapter, WsRouteShape } from './app/types';
62
+ export type { RouteSchema, RouteHandlerWithSchema, InferCtx } from './app/types';
63
+ export type { RouteMap, RouteEntry, RouteKey } from './app/types';
64
+ export type { StreamController, StreamOptions, SseController } from './app/types';
65
+ export type { OnRequestHook, OnBeforeHandleHook, OnResponseHook, OnRequestFn, OnBeforeHandleFn, OnResponseFn } from './app/types';
66
+ export { createClient } from './client/index';
67
+ export { createProxyClient, createModuleClient, pathToClientKey } from './client/index';
68
+ export type { ClientResult, InferProxyClient, ProxyClientOptions } from './client/index';
69
+ export { createTestClient } from './client/test-client';
70
+ export type { TestClientOptions } from './client/test-client';
71
+ export { VelnClientError } from './client/error';
72
+ export { generateOpenApiSpec } from './openapi/generator';
73
+ export type { OpenApiSpec } from './openapi/generator';
74
+ export { zodToJsonSchema } from './openapi/zod-to-schema';
75
+ export type { JsonSchema } from './openapi/zod-to-schema';
76
+ export { defineResource, ResourceBuilder, NotFoundError, ConflictError, tableToZodInsert, tableToZodRow } from './resource/index';
77
+ export type { ResourceResult, DefaultModelMethods, ResourceOptions, ModelOverrides, ServiceOverrides, RouteConfig } from './resource/index';
78
+ export { defineCron, resolveExpression, NoOpCronLockAdapter } from './cron/index';
79
+ export type { CronDef, CronBuilder, CronCtx, CronBuildOptions, LogLevel, CronLockAdapter } from './cron/index';
80
+ export { defineConfig, defineCommand } from './cli/index';
81
+ export type { VelnConfig, CommandDef, CommandOption } from './cli/index';
82
+ export { VelnError, BadRequestError, UnauthorizedError, ForbiddenError, UnprocessableError, TooManyRequestsError, InternalError, } from './errors/index';
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAuC,kBAAkB,CAAA;AACjF,YAAY,EAAE,YAAY,EAAE,MAAmC,kBAAkB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAqC,oBAAoB,CAAA;AACnF,YAAY,EAAE,cAAc,EAAE,MAAiC,oBAAoB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,MAAwC,iBAAiB,CAAA;AAChF,YAAY,EAAE,WAAW,EAAE,MAAoC,iBAAiB,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAsC,mBAAmB,CAAA;AAClF,YAAY,EAAE,aAAa,EAAE,MAAkC,mBAAmB,CAAA;AAGlF,OAAO,EAAE,MAAM,EAAE,MAAsC,iBAAiB,CAAA;AACxE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAa,iBAAiB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAe,gBAAgB,CAAA;AACvE,YAAY,EACV,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EACzD,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,EAAE,gBAAgB,GAChC,MAAsD,gBAAgB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAA4B,gBAAgB,CAAA;AACvE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG1E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/H,YAAY,EACV,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAC5E,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,IAAI,kBAAkB,EACzE,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,EAAE,cAAc,GAChC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC3F,YAAY,EACV,YAAY,EAAE,iBAAiB,EAAE,QAAQ,GAC1C,MAAiE,YAAY,CAAA;AAC9E,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE5I,YAAY,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAsB,YAAY,CAAA;AAG/E,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAW,gBAAgB,CAAA;AACnF,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC5F,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAA2B,gBAAgB,CAAA;AACnF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAiB,kBAAkB,CAAA;AACrF,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAA+B,eAAe,CAAA;AAClF,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAA4B,eAAe,CAAA;AAGlF,OAAO,EAAE,aAAa,EAAE,MAA2C,iBAAiB,CAAA;AACpF,YAAY,EAAE,UAAU,EAAE,MAAyC,iBAAiB,CAAA;AAGpF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAqB,kBAAkB,CAAA;AACrF,YAAY,EAAE,aAAa,EAAE,MAAsC,kBAAkB,CAAA;AAGrF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAyC,aAAa,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAyC,kBAAkB,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAA6B,cAAc,CAAA;AACjF,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAO,cAAc,CAAA;AACtG,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAChH,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAgB,cAAc,CAAA;AACnF,YAAY,EAAE,MAAM,EAAE,MAA+C,cAAc,CAAA;AACnF,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAClJ,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChI,OAAO,EAAE,mBAAmB,EAAE,MAAyB,sBAAsB,CAAA;AAC7E,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAQ,sBAAsB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAqB,YAAY,CAAA;AACtD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAmB,cAAc,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,MAAa,cAAc,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAY,uBAAuB,CAAA;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAqB,YAAY,CAAA;AACtD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAgB,kBAAkB,CAAA;AAC5D,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAc,mBAAmB,CAAA;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAQ,mBAAmB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAmB,cAAc,CAAA;AACxD,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAClF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC9D,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAa,aAAa,CAAA;AACvF,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAA6B,aAAa,CAAA;AACxF,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAa,aAAa,CAAA;AACxF,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGjI,OAAO,EAAE,YAAY,EAAE,MAAoD,gBAAgB,CAAA;AAC3F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAU,gBAAgB,CAAA;AAC3F,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAS,gBAAgB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAgD,sBAAsB,CAAA;AACjG,YAAY,EAAE,iBAAiB,EAAE,MAA0C,sBAAsB,CAAA;AACjG,OAAO,EAAE,eAAe,EAAE,MAAiD,gBAAgB,CAAA;AAG3F,OAAO,EAAE,mBAAmB,EAAE,MAAS,qBAAqB,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAY,qBAAqB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAa,yBAAyB,CAAA;AAChE,YAAY,EAAE,UAAU,EAAE,MAAa,yBAAyB,CAAA;AAGhE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACjI,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG3I,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAO,cAAc,CAAA;AAClF,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9G,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGxE,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,GACd,MAAM,gBAAgB,CAAA"}