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.
@@ -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 interface TableDef<T, S extends SchemaMap = SchemaMap, TEvents extends TableEventMap = TableEventMap> {
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
- emits<M extends TableEventMap>(map: M): TableBuilder<T, S, M>;
62
- build(): TableDef<T, S, TEvents>;
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oakbun",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "description": "Bun-native backend framework — No Magic, just code.",
5
5
  "author": "René (SchildW3rk)",
6
6
  "license": "MIT",