@gravito/echo 3.0.0 → 3.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 (221) hide show
  1. package/README.md +211 -0
  2. package/dist/atlas/src/DB.d.ts +301 -0
  3. package/dist/atlas/src/OrbitAtlas.d.ts +9 -0
  4. package/dist/atlas/src/config/defineConfig.d.ts +14 -0
  5. package/dist/atlas/src/config/index.d.ts +7 -0
  6. package/dist/atlas/src/config/loadConfig.d.ts +48 -0
  7. package/dist/atlas/src/connection/Connection.d.ts +108 -0
  8. package/dist/atlas/src/connection/ConnectionManager.d.ts +111 -0
  9. package/dist/atlas/src/drivers/BunSQLDriver.d.ts +32 -0
  10. package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +118 -0
  11. package/dist/atlas/src/drivers/MongoDBDriver.d.ts +36 -0
  12. package/dist/atlas/src/drivers/MySQLDriver.d.ts +66 -0
  13. package/dist/atlas/src/drivers/PostgresDriver.d.ts +83 -0
  14. package/dist/atlas/src/drivers/RedisDriver.d.ts +43 -0
  15. package/dist/atlas/src/drivers/SQLiteDriver.d.ts +45 -0
  16. package/dist/atlas/src/drivers/types.d.ts +260 -0
  17. package/dist/atlas/src/errors/index.d.ts +45 -0
  18. package/dist/atlas/src/grammar/Grammar.d.ts +342 -0
  19. package/dist/atlas/src/grammar/MongoGrammar.d.ts +47 -0
  20. package/dist/atlas/src/grammar/MySQLGrammar.d.ts +54 -0
  21. package/dist/atlas/src/grammar/NullGrammar.d.ts +35 -0
  22. package/dist/atlas/src/grammar/PostgresGrammar.d.ts +62 -0
  23. package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +32 -0
  24. package/dist/atlas/src/index.d.ts +67 -0
  25. package/dist/atlas/src/migration/Migration.d.ts +64 -0
  26. package/dist/atlas/src/migration/MigrationRepository.d.ts +65 -0
  27. package/dist/atlas/src/migration/Migrator.d.ts +110 -0
  28. package/dist/atlas/src/migration/index.d.ts +6 -0
  29. package/dist/atlas/src/observability/AtlasMetrics.d.ts +11 -0
  30. package/dist/atlas/src/observability/AtlasObservability.d.ts +15 -0
  31. package/dist/atlas/src/observability/AtlasTracer.d.ts +12 -0
  32. package/dist/atlas/src/observability/index.d.ts +9 -0
  33. package/dist/atlas/src/orm/index.d.ts +5 -0
  34. package/dist/atlas/src/orm/model/DirtyTracker.d.ts +121 -0
  35. package/dist/atlas/src/orm/model/Model.d.ts +449 -0
  36. package/dist/atlas/src/orm/model/ModelRegistry.d.ts +20 -0
  37. package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +136 -0
  38. package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +36 -0
  39. package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +87 -0
  40. package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +117 -0
  41. package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +64 -0
  42. package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +15 -0
  43. package/dist/atlas/src/orm/model/concerns/index.d.ts +12 -0
  44. package/dist/atlas/src/orm/model/decorators.d.ts +109 -0
  45. package/dist/atlas/src/orm/model/errors.d.ts +52 -0
  46. package/dist/atlas/src/orm/model/index.d.ts +10 -0
  47. package/dist/atlas/src/orm/model/relationships.d.ts +207 -0
  48. package/dist/atlas/src/orm/model/types.d.ts +12 -0
  49. package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +123 -0
  50. package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +54 -0
  51. package/dist/atlas/src/orm/schema/index.d.ts +6 -0
  52. package/dist/atlas/src/orm/schema/types.d.ts +85 -0
  53. package/dist/atlas/src/query/Expression.d.ts +60 -0
  54. package/dist/atlas/src/query/NPlusOneDetector.d.ts +10 -0
  55. package/dist/atlas/src/query/QueryBuilder.d.ts +573 -0
  56. package/dist/atlas/src/query/clauses/GroupByClause.d.ts +51 -0
  57. package/dist/atlas/src/query/clauses/HavingClause.d.ts +70 -0
  58. package/dist/atlas/src/query/clauses/JoinClause.d.ts +87 -0
  59. package/dist/atlas/src/query/clauses/LimitClause.d.ts +82 -0
  60. package/dist/atlas/src/query/clauses/OrderByClause.d.ts +69 -0
  61. package/dist/atlas/src/query/clauses/SelectClause.d.ts +71 -0
  62. package/dist/atlas/src/query/clauses/WhereClause.d.ts +167 -0
  63. package/dist/atlas/src/query/clauses/index.d.ts +11 -0
  64. package/dist/atlas/src/schema/Blueprint.d.ts +276 -0
  65. package/dist/atlas/src/schema/ColumnDefinition.d.ts +154 -0
  66. package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +37 -0
  67. package/dist/atlas/src/schema/Schema.d.ts +131 -0
  68. package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +23 -0
  69. package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +26 -0
  70. package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +28 -0
  71. package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +97 -0
  72. package/dist/atlas/src/schema/grammars/index.d.ts +7 -0
  73. package/dist/atlas/src/schema/index.d.ts +8 -0
  74. package/dist/atlas/src/seed/Factory.d.ts +90 -0
  75. package/dist/atlas/src/seed/Seeder.d.ts +28 -0
  76. package/dist/atlas/src/seed/SeederRunner.d.ts +74 -0
  77. package/dist/atlas/src/seed/index.d.ts +6 -0
  78. package/dist/atlas/src/types/index.d.ts +1100 -0
  79. package/dist/atlas/src/utils/levenshtein.d.ts +9 -0
  80. package/dist/core/src/Application.d.ts +215 -0
  81. package/dist/core/src/CommandKernel.d.ts +33 -0
  82. package/dist/core/src/ConfigManager.d.ts +26 -0
  83. package/dist/core/src/Container.d.ts +108 -0
  84. package/dist/core/src/ErrorHandler.d.ts +63 -0
  85. package/dist/core/src/Event.d.ts +5 -0
  86. package/dist/core/src/EventManager.d.ts +123 -0
  87. package/dist/core/src/GlobalErrorHandlers.d.ts +47 -0
  88. package/dist/core/src/GravitoServer.d.ts +28 -0
  89. package/dist/core/src/HookManager.d.ts +496 -0
  90. package/dist/core/src/Listener.d.ts +4 -0
  91. package/dist/core/src/Logger.d.ts +20 -0
  92. package/dist/core/src/PlanetCore.d.ts +289 -0
  93. package/dist/core/src/Route.d.ts +36 -0
  94. package/dist/core/src/Router.d.ts +284 -0
  95. package/dist/core/src/ServiceProvider.d.ts +156 -0
  96. package/dist/core/src/adapters/GravitoEngineAdapter.d.ts +27 -0
  97. package/dist/core/src/adapters/PhotonAdapter.d.ts +171 -0
  98. package/dist/core/src/adapters/bun/BunContext.d.ts +45 -0
  99. package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +31 -0
  100. package/dist/core/src/adapters/bun/BunRequest.d.ts +31 -0
  101. package/dist/core/src/adapters/bun/RadixNode.d.ts +19 -0
  102. package/dist/core/src/adapters/bun/RadixRouter.d.ts +31 -0
  103. package/dist/core/src/adapters/bun/types.d.ts +20 -0
  104. package/dist/core/src/adapters/photon-types.d.ts +73 -0
  105. package/dist/core/src/adapters/types.d.ts +235 -0
  106. package/dist/core/src/engine/AOTRouter.d.ts +124 -0
  107. package/dist/core/src/engine/FastContext.d.ts +100 -0
  108. package/dist/core/src/engine/Gravito.d.ts +137 -0
  109. package/dist/core/src/engine/MinimalContext.d.ts +79 -0
  110. package/dist/core/src/engine/analyzer.d.ts +27 -0
  111. package/dist/core/src/engine/constants.d.ts +23 -0
  112. package/dist/core/src/engine/index.d.ts +26 -0
  113. package/dist/core/src/engine/path.d.ts +26 -0
  114. package/dist/core/src/engine/pool.d.ts +83 -0
  115. package/dist/core/src/engine/types.d.ts +143 -0
  116. package/dist/core/src/events/CircuitBreaker.d.ts +229 -0
  117. package/dist/core/src/events/DeadLetterQueue.d.ts +145 -0
  118. package/dist/core/src/events/EventBackend.d.ts +11 -0
  119. package/dist/core/src/events/EventOptions.d.ts +109 -0
  120. package/dist/core/src/events/EventPriorityQueue.d.ts +202 -0
  121. package/dist/core/src/events/IdempotencyCache.d.ts +60 -0
  122. package/dist/core/src/events/index.d.ts +14 -0
  123. package/dist/core/src/events/observability/EventMetrics.d.ts +132 -0
  124. package/dist/core/src/events/observability/EventTracer.d.ts +68 -0
  125. package/dist/core/src/events/observability/EventTracing.d.ts +161 -0
  126. package/dist/core/src/events/observability/OTelEventMetrics.d.ts +240 -0
  127. package/dist/core/src/events/observability/ObservableHookManager.d.ts +108 -0
  128. package/dist/core/src/events/observability/index.d.ts +20 -0
  129. package/dist/core/src/events/observability/metrics-types.d.ts +16 -0
  130. package/dist/core/src/events/types.d.ts +75 -0
  131. package/dist/core/src/exceptions/AuthenticationException.d.ts +8 -0
  132. package/dist/core/src/exceptions/AuthorizationException.d.ts +8 -0
  133. package/dist/core/src/exceptions/CircularDependencyException.d.ts +9 -0
  134. package/dist/core/src/exceptions/GravitoException.d.ts +23 -0
  135. package/dist/core/src/exceptions/HttpException.d.ts +9 -0
  136. package/dist/core/src/exceptions/ModelNotFoundException.d.ts +10 -0
  137. package/dist/core/src/exceptions/ValidationException.d.ts +22 -0
  138. package/dist/core/src/exceptions/index.d.ts +7 -0
  139. package/dist/core/src/helpers/Arr.d.ts +19 -0
  140. package/dist/core/src/helpers/Str.d.ts +23 -0
  141. package/dist/core/src/helpers/data.d.ts +25 -0
  142. package/dist/core/src/helpers/errors.d.ts +34 -0
  143. package/dist/core/src/helpers/response.d.ts +41 -0
  144. package/dist/core/src/helpers.d.ts +338 -0
  145. package/dist/core/src/http/CookieJar.d.ts +51 -0
  146. package/dist/core/src/http/cookie.d.ts +29 -0
  147. package/dist/core/src/http/middleware/BodySizeLimit.d.ts +16 -0
  148. package/dist/core/src/http/middleware/Cors.d.ts +24 -0
  149. package/dist/core/src/http/middleware/Csrf.d.ts +23 -0
  150. package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +28 -0
  151. package/dist/core/src/http/middleware/SecurityHeaders.d.ts +29 -0
  152. package/dist/core/src/http/middleware/ThrottleRequests.d.ts +18 -0
  153. package/dist/core/src/http/types.d.ts +355 -0
  154. package/dist/core/src/index.d.ts +76 -0
  155. package/dist/core/src/instrumentation/index.d.ts +35 -0
  156. package/dist/core/src/instrumentation/opentelemetry.d.ts +178 -0
  157. package/dist/core/src/instrumentation/types.d.ts +182 -0
  158. package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +316 -0
  159. package/dist/core/src/reliability/RetryPolicy.d.ts +217 -0
  160. package/dist/core/src/reliability/index.d.ts +6 -0
  161. package/dist/core/src/router/ControllerDispatcher.d.ts +12 -0
  162. package/dist/core/src/router/RequestValidator.d.ts +20 -0
  163. package/dist/core/src/runtime.d.ts +119 -0
  164. package/dist/core/src/security/Encrypter.d.ts +33 -0
  165. package/dist/core/src/security/Hasher.d.ts +29 -0
  166. package/dist/core/src/testing/HttpTester.d.ts +39 -0
  167. package/dist/core/src/testing/TestResponse.d.ts +78 -0
  168. package/dist/core/src/testing/index.d.ts +2 -0
  169. package/dist/core/src/types/events.d.ts +94 -0
  170. package/dist/echo/src/OrbitEcho.d.ts +115 -0
  171. package/dist/echo/src/dlq/DeadLetterQueue.d.ts +94 -0
  172. package/dist/echo/src/dlq/MemoryDeadLetterQueue.d.ts +36 -0
  173. package/dist/echo/src/dlq/index.d.ts +2 -0
  174. package/dist/echo/src/index.d.ts +64 -0
  175. package/dist/echo/src/middleware/RequestBufferMiddleware.d.ts +62 -0
  176. package/dist/echo/src/middleware/index.d.ts +8 -0
  177. package/dist/echo/src/observability/index.d.ts +3 -0
  178. package/dist/echo/src/observability/logging/ConsoleEchoLogger.d.ts +37 -0
  179. package/dist/echo/src/observability/logging/EchoLogger.d.ts +38 -0
  180. package/dist/echo/src/observability/logging/index.d.ts +2 -0
  181. package/dist/echo/src/observability/metrics/MetricsProvider.d.ts +69 -0
  182. package/dist/echo/src/observability/metrics/NoopMetricsProvider.d.ts +17 -0
  183. package/dist/echo/src/observability/metrics/PrometheusMetricsProvider.d.ts +39 -0
  184. package/dist/echo/src/observability/metrics/index.d.ts +3 -0
  185. package/dist/echo/src/observability/tracing/NoopTracer.d.ts +33 -0
  186. package/dist/echo/src/observability/tracing/Tracer.d.ts +75 -0
  187. package/dist/echo/src/observability/tracing/index.d.ts +2 -0
  188. package/dist/echo/src/providers/GenericProvider.d.ts +53 -0
  189. package/dist/echo/src/providers/GitHubProvider.d.ts +35 -0
  190. package/dist/echo/src/providers/LinearProvider.d.ts +27 -0
  191. package/dist/echo/src/providers/PaddleProvider.d.ts +31 -0
  192. package/dist/echo/src/providers/ShopifyProvider.d.ts +27 -0
  193. package/dist/echo/src/providers/SlackProvider.d.ts +27 -0
  194. package/dist/echo/src/providers/StripeProvider.d.ts +38 -0
  195. package/dist/echo/src/providers/TwilioProvider.d.ts +31 -0
  196. package/dist/echo/src/providers/base/BaseProvider.d.ts +87 -0
  197. package/dist/echo/src/providers/base/HeaderUtils.d.ts +34 -0
  198. package/dist/echo/src/providers/index.d.ts +14 -0
  199. package/dist/echo/src/receive/SignatureValidator.d.ts +67 -0
  200. package/dist/echo/src/receive/WebhookReceiver.d.ts +185 -0
  201. package/dist/echo/src/receive/index.d.ts +2 -0
  202. package/dist/echo/src/replay/WebhookReplayService.d.ts +35 -0
  203. package/dist/echo/src/replay/index.d.ts +1 -0
  204. package/dist/echo/src/resilience/CircuitBreaker.d.ts +117 -0
  205. package/dist/echo/src/resilience/index.d.ts +10 -0
  206. package/dist/echo/src/rotation/KeyRotationManager.d.ts +127 -0
  207. package/dist/echo/src/rotation/index.d.ts +10 -0
  208. package/dist/echo/src/send/WebhookDispatcher.d.ts +198 -0
  209. package/dist/echo/src/send/index.d.ts +1 -0
  210. package/dist/echo/src/storage/MemoryWebhookStore.d.ts +14 -0
  211. package/dist/echo/src/storage/WebhookStore.d.ts +236 -0
  212. package/dist/echo/src/storage/index.d.ts +2 -0
  213. package/dist/echo/src/types.d.ts +756 -0
  214. package/dist/index.js +1332 -190
  215. package/dist/index.js.map +28 -10
  216. package/dist/photon/src/index.d.ts +84 -0
  217. package/dist/photon/src/middleware/binary.d.ts +31 -0
  218. package/dist/photon/src/middleware/htmx.d.ts +39 -0
  219. package/dist/photon/src/middleware/ratelimit.d.ts +157 -0
  220. package/dist/photon/src/openapi.d.ts +19 -0
  221. package/package.json +7 -5
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Schema Grammar
3
+ * @description Base class for generating DDL SQL statements
4
+ */
5
+ import type { Blueprint } from '../Blueprint';
6
+ import type { ColumnDefinition } from '../ColumnDefinition';
7
+ import type { ForeignKeyDefinition, IndexDefinition } from '../ForeignKeyDefinition';
8
+ /**
9
+ * Schema Grammar
10
+ * Generates DDL SQL statements from Blueprint definitions
11
+ */
12
+ export declare abstract class SchemaGrammar {
13
+ /**
14
+ * Compile CREATE TABLE statement
15
+ */
16
+ compileCreate(blueprint: Blueprint): string;
17
+ /**
18
+ * Compile DROP TABLE statement
19
+ */
20
+ compileDrop(table: string): string;
21
+ /**
22
+ * Compile DROP TABLE IF EXISTS statement
23
+ */
24
+ compileDropIfExists(table: string): string;
25
+ /**
26
+ * Compile ALTER TABLE statement
27
+ */
28
+ compileAlter(blueprint: Blueprint): string[];
29
+ /**
30
+ * Determine if primary key should be added at the bottom of the statement
31
+ */
32
+ protected shouldAddPrimaryAtBottom(blueprint: Blueprint): boolean;
33
+ /**
34
+ * Compile a column definition
35
+ */
36
+ protected compileColumn(column: ColumnDefinition, _blueprint: Blueprint): string;
37
+ /**
38
+ * Compile column type
39
+ */
40
+ protected abstract compileType(column: ColumnDefinition): string;
41
+ /**
42
+ * Compile auto increment syntax
43
+ */
44
+ protected abstract compileAutoIncrement(): string;
45
+ /**
46
+ * Check if database supports UNSIGNED
47
+ */
48
+ protected abstract supportsUnsigned(): boolean;
49
+ /**
50
+ * Compile default value
51
+ */
52
+ protected compileDefault(value: unknown): string;
53
+ /**
54
+ * Compile CREATE INDEX statement
55
+ */
56
+ compileIndex(table: string, index: IndexDefinition): string;
57
+ /**
58
+ * Compile fulltext index (override in subclasses)
59
+ */
60
+ protected abstract compileFullTextIndex(table: string, index: IndexDefinition): string;
61
+ /**
62
+ * Compile spatial index (override in subclasses)
63
+ */
64
+ protected abstract compileSpatialIndex(table: string, index: IndexDefinition): string;
65
+ /**
66
+ * Compile DROP INDEX statement
67
+ */
68
+ abstract compileDropIndex(table: string, name: string): string;
69
+ /**
70
+ * Compile FOREIGN KEY constraint
71
+ */
72
+ protected compileForeignKey(fk: ForeignKeyDefinition): string;
73
+ /**
74
+ * Wrap table name with quotes
75
+ */
76
+ abstract wrapTable(table: string): string;
77
+ /**
78
+ * Wrap column name with quotes
79
+ */
80
+ abstract wrapColumn(column: string): string;
81
+ /**
82
+ * Quote a string value
83
+ */
84
+ protected quoteString(value: string): string;
85
+ /**
86
+ * Compile query to check if table exists
87
+ */
88
+ abstract compileTableExists(table: string): string;
89
+ /**
90
+ * Compile query to check if column exists
91
+ */
92
+ abstract compileColumnExists(table: string, column: string): string;
93
+ /**
94
+ * Compile query to list all tables
95
+ */
96
+ abstract compileListTables(): string;
97
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Schema Grammars Index
3
+ */
4
+ export { MySQLSchemaGrammar } from './MySQLSchemaGrammar';
5
+ export { PostgresSchemaGrammar } from './PostgresSchemaGrammar';
6
+ export { SchemaGrammar } from './SchemaGrammar';
7
+ export { SQLiteSchemaGrammar } from './SQLiteSchemaGrammar';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Schema Module Index
3
+ */
4
+ export { Blueprint } from './Blueprint';
5
+ export { ColumnDefinition, type ColumnType, type ForeignKeyAction } from './ColumnDefinition';
6
+ export type { ForeignKeyDefinition, IndexDefinition } from './ForeignKeyDefinition';
7
+ export { MySQLSchemaGrammar, PostgresSchemaGrammar, SchemaGrammar } from './grammars';
8
+ export { Schema } from './Schema';
@@ -0,0 +1,90 @@
1
+ import type { Model } from '../orm/model/Model';
2
+ /**
3
+ * Factory State
4
+ */
5
+ type FactoryState<T> = Partial<T>;
6
+ /**
7
+ * Factory Definition Function
8
+ */
9
+ export type FactoryDefinition<T> = () => T;
10
+ /**
11
+ * Factory Options
12
+ */
13
+ export interface FactoryOptions {
14
+ model?: typeof Model;
15
+ table?: string;
16
+ }
17
+ /**
18
+ * Factory
19
+ * Generate fake records for seeding
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const userFactory = new Factory<User>(() => ({
24
+ * name: faker.person.fullName(),
25
+ * email: faker.internet.email(),
26
+ * password: 'hashed_password',
27
+ * }), { table: 'users' })
28
+ *
29
+ * // Create 10 users
30
+ * const users = await userFactory.count(10).create()
31
+ * ```
32
+ */
33
+ export declare class Factory<T extends Record<string, unknown>> {
34
+ private definition;
35
+ private _count;
36
+ private _states;
37
+ private model?;
38
+ private tableName?;
39
+ constructor(definition: FactoryDefinition<T>, options?: FactoryOptions);
40
+ private static registry;
41
+ /**
42
+ * Define a factory for a model
43
+ */
44
+ static define<T extends Record<string, unknown>>(modelOrTable: typeof Model | string, definition: FactoryDefinition<T>): Factory<T>;
45
+ /**
46
+ * Create a factory for a specific model
47
+ */
48
+ static model<T extends Record<string, unknown>>(model: typeof Model): Factory<T>;
49
+ /**
50
+ * Create and insert multiple records
51
+ */
52
+ createMany(n: number, attributes?: FactoryState<T>): Promise<T[]>;
53
+ /**
54
+ * Set the number of records to generate
55
+ */
56
+ count(n: number): this;
57
+ /**
58
+ * Apply state overrides
59
+ */
60
+ state(state: FactoryState<T>): this;
61
+ /**
62
+ * Generate records without inserting
63
+ */
64
+ make(): T[];
65
+ /**
66
+ * Generate a single record
67
+ */
68
+ makeOne(): T;
69
+ /**
70
+ * Generate records as raw objects (alias for make)
71
+ */
72
+ raw(): T[];
73
+ /**
74
+ * Generate a single raw record
75
+ */
76
+ rawOne(): T;
77
+ /**
78
+ * Create and insert records into the database
79
+ */
80
+ create(attributes?: FactoryState<T>): Promise<T[]>;
81
+ /**
82
+ * Create a sequence generator
83
+ */
84
+ sequence<K extends keyof T>(key: K, generator: (index: number) => T[K]): this;
85
+ }
86
+ /**
87
+ * Helper to create a factory
88
+ */
89
+ export declare function factory<T extends Record<string, unknown>>(definition: FactoryDefinition<T>, options?: FactoryOptions): Factory<T>;
90
+ export {};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Seeder constructor type
3
+ */
4
+ export type SeederConstructor = new () => Seeder;
5
+ /**
6
+ * Seeder file info
7
+ */
8
+ export interface SeederFile {
9
+ /** Seeder class name */
10
+ name: string;
11
+ /** Full file path */
12
+ path: string;
13
+ }
14
+ /**
15
+ * Base Seeder Class
16
+ * @description All database seeders should extend this class
17
+ */
18
+ export declare abstract class Seeder {
19
+ /**
20
+ * Run the seeder logic
21
+ */
22
+ abstract run(): Promise<void>;
23
+ /**
24
+ * Run other seeders from within this seeder
25
+ * @example await this.call([UserSeeder, PostSeeder])
26
+ */
27
+ call(seeders: SeederConstructor | SeederConstructor[]): Promise<void>;
28
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Seeder Runner
3
+ * @description Runs database seeders
4
+ */
5
+ /**
6
+ * Seeder Runner Options
7
+ */
8
+ export interface SeederRunnerOptions {
9
+ /** Path to seeders directory */
10
+ path?: string;
11
+ /** Database connection name */
12
+ connection?: string;
13
+ }
14
+ /**
15
+ * Seeder Runner
16
+ * Discovers and runs database seeders
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const runner = new SeederRunner({ path: './seeders' })
21
+ *
22
+ * // Run all seeders
23
+ * await runner.run()
24
+ *
25
+ * // Run specific seeder
26
+ * await runner.call('UserSeeder')
27
+ * ```
28
+ */
29
+ export declare class SeederRunner {
30
+ private seedersPath;
31
+ private _connectionName;
32
+ private resolvedSeeders;
33
+ constructor(options?: SeederRunnerOptions);
34
+ /**
35
+ * Set seeders path
36
+ */
37
+ setPath(path: string): this;
38
+ /**
39
+ * Set database connection
40
+ */
41
+ connection(name: string): this;
42
+ /**
43
+ * Run all seeders in the directory
44
+ */
45
+ run(): Promise<string[]>;
46
+ /**
47
+ * Run a specific seeder by name
48
+ */
49
+ call(seederName: string): Promise<void>;
50
+ /**
51
+ * Run multiple specific seeders
52
+ */
53
+ callMultiple(seederNames: string[]): Promise<void>;
54
+ /**
55
+ * Check if a seeder exists
56
+ */
57
+ has(seederName: string): Promise<boolean>;
58
+ /**
59
+ * List all available seeders
60
+ */
61
+ list(): Promise<string[]>;
62
+ /**
63
+ * Get all seeder files from the seeders directory
64
+ */
65
+ private getSeederFiles;
66
+ /**
67
+ * Run a single seeder
68
+ */
69
+ private runSeeder;
70
+ /**
71
+ * Resolve seeder class from file
72
+ */
73
+ private resolveSeeder;
74
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Seed Module Index
3
+ */
4
+ export { Factory, type FactoryDefinition, factory } from './Factory';
5
+ export type { Seeder, SeederConstructor, SeederFile } from './Seeder';
6
+ export { SeederRunner, type SeederRunnerOptions } from './SeederRunner';