oakbun 0.1.1 → 0.2.1
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/cli/bin.d.ts +0 -1
- package/dist/cli/bin.js +1 -2
- package/dist/db/index.d.ts +238 -26
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/migrations/diff.d.ts +1 -1
- package/dist/db/migrations/diff.d.ts.map +1 -1
- package/dist/db/migrations/generator.d.ts +1 -1
- package/dist/db/migrations/generator.d.ts.map +1 -1
- package/dist/db/sql.d.ts +70 -2
- package/dist/db/sql.d.ts.map +1 -1
- package/dist/{db-XTXH6OKV.js → db-YSUNURBB.js} +706 -45
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +900 -146
- package/dist/index.js.map +1 -1
- package/dist/schema/table.d.ts +108 -4
- package/dist/schema/table.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/schema/table.d.ts
CHANGED
|
@@ -43,23 +43,127 @@ export type InferTableEvents<T, M extends TableEventMap> = (M['afterInsert'] ext
|
|
|
43
43
|
} : Record<never, never>) & (M['afterDelete'] extends string ? {
|
|
44
44
|
[_ in M['afterDelete']]: T;
|
|
45
45
|
} : Record<never, never>);
|
|
46
|
-
export
|
|
46
|
+
export type RelationKind = 'belongsTo' | 'hasMany' | 'manyToMany';
|
|
47
|
+
/**
|
|
48
|
+
* Metadata for a single declared relation.
|
|
49
|
+
* TForeign captures the foreign table's row type so that WithRelations can
|
|
50
|
+
* produce concrete types (User, Post[]) rather than unknown.
|
|
51
|
+
*
|
|
52
|
+
* `getTable` is a lazy getter to allow circular references between tables.
|
|
53
|
+
*/
|
|
54
|
+
export interface RelationMeta<TForeign = unknown> {
|
|
55
|
+
kind: RelationKind;
|
|
56
|
+
name: string;
|
|
57
|
+
getTable: () => TableDef<TForeign, any, any>;
|
|
58
|
+
/** FK column name — on this table for belongsTo, on foreign table for hasMany */
|
|
59
|
+
foreignKey: string;
|
|
60
|
+
/** manyToMany only */
|
|
61
|
+
pivot?: {
|
|
62
|
+
table: TableDef<any, any, any>;
|
|
63
|
+
localKey: string;
|
|
64
|
+
foreignKey: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** All declared relations on a table, keyed by relation name. */
|
|
68
|
+
export type RelationsMap = Record<string, RelationMeta<any>>;
|
|
69
|
+
export interface BelongsToRelation<TForeign> extends RelationMeta<TForeign> {
|
|
70
|
+
kind: 'belongsTo';
|
|
71
|
+
}
|
|
72
|
+
export interface HasManyRelation<TForeign> extends RelationMeta<TForeign> {
|
|
73
|
+
kind: 'hasMany';
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Derives the result type of a single loaded relation.
|
|
77
|
+
* - belongsTo → TForeign | null
|
|
78
|
+
* - hasMany → TForeign[]
|
|
79
|
+
* - manyToMany → never (not supported in Spec B)
|
|
80
|
+
*/
|
|
81
|
+
export type InferRelationResult<R> = R extends BelongsToRelation<infer TForeign> ? TForeign | null : R extends HasManyRelation<infer TForeign> ? TForeign[] : never;
|
|
82
|
+
/**
|
|
83
|
+
* Merges a row type T with the requested relations.
|
|
84
|
+
* Keys must be keys of the table's relations map.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* type PostWithAuthor = WithRelations<Post, typeof postsTable, 'author'>
|
|
88
|
+
* // → Post & { author: User | null }
|
|
89
|
+
*/
|
|
90
|
+
export type WithRelations<T, TTable extends {
|
|
91
|
+
relations: RelationsMap;
|
|
92
|
+
}, Keys extends keyof TTable['relations'] & string> = T & {
|
|
93
|
+
[K in Keys]: InferRelationResult<TTable['relations'][K]>;
|
|
94
|
+
};
|
|
95
|
+
export interface TableDef<T, S extends SchemaMap = SchemaMap, TEvents extends TableEventMap = TableEventMap, TRelations extends RelationsMap = RelationsMap> {
|
|
47
96
|
readonly name: string;
|
|
48
97
|
readonly schema: S;
|
|
49
98
|
readonly primaryKey: keyof T & string;
|
|
50
99
|
readonly hooks: TableHookHandlers<T>[];
|
|
51
100
|
readonly events: TEvents;
|
|
52
101
|
readonly _eventMap: InferTableEvents<T, TEvents>;
|
|
102
|
+
/** Declared relations — concrete typed map so WithRelations can infer foreign types. */
|
|
103
|
+
readonly relations: TRelations;
|
|
104
|
+
/** The column used for soft delete, or null if not configured. */
|
|
105
|
+
readonly softDeleteColumn: (keyof T & string) | null;
|
|
53
106
|
}
|
|
54
|
-
export declare class TableBuilder<T, S extends SchemaMap, TEvents extends TableEventMap = Record<string, never>> {
|
|
107
|
+
export declare class TableBuilder<T, S extends SchemaMap, TEvents extends TableEventMap = Record<string, never>, TRelations extends RelationsMap = Record<string, never>> {
|
|
55
108
|
private readonly _name;
|
|
56
109
|
private readonly _schema;
|
|
57
110
|
private readonly _hooks;
|
|
58
111
|
private _events;
|
|
112
|
+
private readonly _relations;
|
|
113
|
+
private _softDeleteColumn;
|
|
59
114
|
constructor(_name: string, _schema: S);
|
|
60
115
|
hook(handlers: TableHookHandlers<T>): this;
|
|
61
|
-
|
|
62
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Designate a column as the soft-delete timestamp.
|
|
118
|
+
* Once set, all SELECTs automatically add `WHERE "col" IS NULL`.
|
|
119
|
+
* Use `.withDeleted()` on the query to opt out.
|
|
120
|
+
*
|
|
121
|
+
* The column must exist in the schema (validated in `build()`).
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* const usersTable = defineTable('users', {
|
|
125
|
+
* id: column.integer().primaryKey(),
|
|
126
|
+
* deletedAt: column.timestamp().nullable(),
|
|
127
|
+
* }).withSoftDelete('deletedAt').build()
|
|
128
|
+
*/
|
|
129
|
+
withSoftDelete<Col extends keyof T & string>(col: Col): this;
|
|
130
|
+
emits<M extends TableEventMap>(map: M): TableBuilder<T, S, M, TRelations>;
|
|
131
|
+
/**
|
|
132
|
+
* Declare a belongs-to relation — FK lives on this table.
|
|
133
|
+
* Returns a new builder with the relation type added to TRelations.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* const postsTable = defineTable('posts', { authorId: column.integer() })
|
|
137
|
+
* .belongsTo('author', () => usersTable, 'authorId')
|
|
138
|
+
* .build()
|
|
139
|
+
*/
|
|
140
|
+
belongsTo<K extends string, TForeign>(name: K, getTable: () => TableDef<TForeign, any, any, any>, foreignKey: keyof T & string): TableBuilder<T, S, TEvents, TRelations & Record<K, BelongsToRelation<TForeign>>>;
|
|
141
|
+
/**
|
|
142
|
+
* Declare a has-many relation — FK lives on the foreign table.
|
|
143
|
+
* Returns a new builder with the relation type added to TRelations.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* const usersTable = defineTable('users', { id: column.integer().primaryKey() })
|
|
147
|
+
* .hasMany('posts', () => postsTable, 'authorId')
|
|
148
|
+
* .build()
|
|
149
|
+
*/
|
|
150
|
+
hasMany<K extends string, TForeign>(name: K, getTable: () => TableDef<TForeign, any, any, any>,
|
|
151
|
+
/** The FK column on the *foreign* table that points back to this table's PK. */
|
|
152
|
+
foreignKey: string): TableBuilder<T, S, TEvents, TRelations & Record<K, HasManyRelation<TForeign>>>;
|
|
153
|
+
/**
|
|
154
|
+
* Declare a many-to-many relation via a pivot table.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* const postsTable = defineTable('posts', { ... })
|
|
158
|
+
* .manyToMany('tags', () => tagsTable, postTagsTable, 'postId', 'tagId')
|
|
159
|
+
* .build()
|
|
160
|
+
*/
|
|
161
|
+
manyToMany<K extends string>(name: K, getTable: () => TableDef<any, any, any, any>, pivotTable: TableDef<any, any, any, any>,
|
|
162
|
+
/** FK on pivot pointing to this table's PK */
|
|
163
|
+
localKey: string,
|
|
164
|
+
/** FK on pivot pointing to the foreign table's PK */
|
|
165
|
+
foreignKey: string): TableBuilder<T, S, TEvents, TRelations & Record<K, RelationMeta>>;
|
|
166
|
+
build(): TableDef<T, S, TEvents, TRelations>;
|
|
63
167
|
private _findPrimaryKey;
|
|
64
168
|
}
|
|
65
169
|
export declare function defineTable<S extends SchemaMap>(name: string, schema: S): TableBuilder<InferRow<S>, S>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/schema/table.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/schema/table.ts"],"names":[],"mappings":"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"}
|