peta-orm 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.
- package/LICENSE +21 -0
- package/README.md +280 -0
- package/dist/builder/delete-builder.d.ts +9 -0
- package/dist/builder/delete-builder.d.ts.map +1 -0
- package/dist/builder/eager-loader.d.ts +13 -0
- package/dist/builder/eager-loader.d.ts.map +1 -0
- package/dist/builder/index.d.ts +8 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/insert-builder.d.ts +9 -0
- package/dist/builder/insert-builder.d.ts.map +1 -0
- package/dist/builder/query-builder.d.ts +61 -0
- package/dist/builder/query-builder.d.ts.map +1 -0
- package/dist/builder/update-builder.d.ts +9 -0
- package/dist/builder/update-builder.d.ts.map +1 -0
- package/dist/collection/collection.d.ts +48 -0
- package/dist/collection/collection.d.ts.map +1 -0
- package/dist/columns/arktype-config.d.ts +12 -0
- package/dist/columns/arktype-config.d.ts.map +1 -0
- package/dist/columns/column-types.d.ts +27 -0
- package/dist/columns/column-types.d.ts.map +1 -0
- package/dist/columns/column.d.ts +30 -0
- package/dist/columns/column.d.ts.map +1 -0
- package/dist/columns/schema-config.d.ts +10 -0
- package/dist/columns/schema-config.d.ts.map +1 -0
- package/dist/errors/errors.d.ts +17 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/hooks/lifecycle.d.ts +11 -0
- package/dist/hooks/lifecycle.d.ts.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17978 -0
- package/dist/integrations/elysia.d.ts +12 -0
- package/dist/integrations/elysia.d.ts.map +1 -0
- package/dist/integrations/hono.d.ts +7 -0
- package/dist/integrations/hono.d.ts.map +1 -0
- package/dist/model/model.d.ts +83 -0
- package/dist/model/model.d.ts.map +1 -0
- package/dist/pagination/paginator.d.ts +30 -0
- package/dist/pagination/paginator.d.ts.map +1 -0
- package/dist/peta.d.ts +18 -0
- package/dist/peta.d.ts.map +1 -0
- package/dist/relations/morph.d.ts +43 -0
- package/dist/relations/morph.d.ts.map +1 -0
- package/dist/relations/relation.d.ts +84 -0
- package/dist/relations/relation.d.ts.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PetaLike } from "../types";
|
|
2
|
+
export interface PetaElysiaOptions {
|
|
3
|
+
peta: PetaLike;
|
|
4
|
+
}
|
|
5
|
+
export declare function petaPlugin(options: PetaElysiaOptions): {
|
|
6
|
+
name: string;
|
|
7
|
+
store: {
|
|
8
|
+
models: Record<string, any>;
|
|
9
|
+
peta: PetaLike;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=elysia.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elysia.d.ts","sourceRoot":"","sources":["../../src/integrations/elysia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB;;;;;;EAYpD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PetaLike } from "../types";
|
|
2
|
+
export interface PetaHonoOptions {
|
|
3
|
+
peta: PetaLike;
|
|
4
|
+
}
|
|
5
|
+
export declare function petaMiddleware(options: PetaHonoOptions): (c: any, next: any) => Promise<void>;
|
|
6
|
+
export declare function modelParam(table: string): (id: string, c: any) => Promise<any>;
|
|
7
|
+
//# sourceMappingURL=hono.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono.d.ts","sourceRoot":"","sources":["../../src/integrations/hono.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,IAGvC,GAAG,GAAG,EAAE,MAAM,GAAG,mBAIhC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,IACxB,IAAI,MAAM,EAAE,GAAG,GAAG,kBAgBjC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Kysely } from "kysely";
|
|
2
|
+
import { ModelQueryBuilder } from "../builder";
|
|
3
|
+
import type { ColumnShape } from "../columns/column";
|
|
4
|
+
import { HookManager, type LifecycleEvent } from "../hooks/lifecycle";
|
|
5
|
+
import type { Relation } from "../relations/relation";
|
|
6
|
+
import type { PetaLike } from "../types";
|
|
7
|
+
export type RelationMap = Record<string, Relation>;
|
|
8
|
+
export type ModelClass<T extends Model = Model> = {
|
|
9
|
+
new (): T;
|
|
10
|
+
table: string;
|
|
11
|
+
columns: ColumnShape;
|
|
12
|
+
relations: RelationMap;
|
|
13
|
+
peta: PetaLike | null;
|
|
14
|
+
hydrate(row: Record<string, unknown>): T;
|
|
15
|
+
query(): ModelQueryBuilder<T>;
|
|
16
|
+
find(id: number | string): Promise<T | undefined>;
|
|
17
|
+
findOrFail(id: number | string): Promise<T>;
|
|
18
|
+
on(event: LifecycleEvent, callback: (model: any) => void | Promise<void>): void;
|
|
19
|
+
readonly hooks: HookManager;
|
|
20
|
+
getGlobalScopes(): Map<string, (qb: any) => void>;
|
|
21
|
+
addGlobalScope(name: string, callback: (qb: any) => void): void;
|
|
22
|
+
removeGlobalScope(name: string): void;
|
|
23
|
+
transaction<TResult>(fn: (kysely: Kysely<any>) => Promise<TResult>): Promise<TResult>;
|
|
24
|
+
insert(data: Record<string, unknown>): Promise<T>;
|
|
25
|
+
insertMany(dataArray: Record<string, unknown>[], kysely?: Kysely<any>): Promise<T[]>;
|
|
26
|
+
update(id: number | string, data: Record<string, unknown>, kysely?: Kysely<any>): Promise<T>;
|
|
27
|
+
delete(id: number | string, kysely?: Kysely<any>): Promise<void>;
|
|
28
|
+
registerTimestamps(createdAtColumn?: string, updatedAtColumn?: string): void;
|
|
29
|
+
registerSoftDeletes(deletedAtColumn?: string): void;
|
|
30
|
+
};
|
|
31
|
+
export type ColumnData = Record<string, unknown>;
|
|
32
|
+
export declare class Model {
|
|
33
|
+
#private;
|
|
34
|
+
static table: string;
|
|
35
|
+
static columns: ColumnShape;
|
|
36
|
+
static relations: RelationMap;
|
|
37
|
+
static peta: PetaLike | null;
|
|
38
|
+
static get hooks(): HookManager;
|
|
39
|
+
static on(event: LifecycleEvent, callback: (model: any) => void | Promise<void>): void;
|
|
40
|
+
constructor();
|
|
41
|
+
get exists(): boolean;
|
|
42
|
+
set exists(value: boolean);
|
|
43
|
+
get attributes(): Readonly<ColumnData>;
|
|
44
|
+
get dirtyAttributes(): Partial<ColumnData>;
|
|
45
|
+
get isDirty(): boolean;
|
|
46
|
+
static $casts: Record<string, string>;
|
|
47
|
+
static $hidden: string[];
|
|
48
|
+
static $visible: string[];
|
|
49
|
+
static $appends: string[];
|
|
50
|
+
get(key: string): unknown;
|
|
51
|
+
set(key: string, value: unknown): void;
|
|
52
|
+
fill(data: Partial<ColumnData>): void;
|
|
53
|
+
reset(): void;
|
|
54
|
+
$getRelation(name: string): Model | Model[] | null;
|
|
55
|
+
$setRelation(name: string, value: Model | Model[] | Record<string, unknown> | null): void;
|
|
56
|
+
$hasRelation(name: string): boolean;
|
|
57
|
+
$relationData(): Record<string, Model | Model[] | null>;
|
|
58
|
+
$load(...names: string[]): Promise<void>;
|
|
59
|
+
$relatedQuery(name: string): ModelQueryBuilder<any>;
|
|
60
|
+
toJSON(): ColumnData;
|
|
61
|
+
$toJSON(visited?: WeakSet<Model>): ColumnData;
|
|
62
|
+
$save(): Promise<this>;
|
|
63
|
+
$delete(): Promise<void>;
|
|
64
|
+
$forceDelete(): Promise<void>;
|
|
65
|
+
$restore(): Promise<void>;
|
|
66
|
+
$trashed(): boolean;
|
|
67
|
+
$reload(): Promise<this>;
|
|
68
|
+
static query<T extends Model>(this: ModelClass<T>, kysely?: Kysely<any>): ModelQueryBuilder<T>;
|
|
69
|
+
static transaction<T>(this: ModelClass, fn: (kysely: Kysely<any>) => Promise<T>): Promise<T>;
|
|
70
|
+
static find<T extends Model>(this: ModelClass<T>, id: number | string): Promise<T | undefined>;
|
|
71
|
+
static findOrFail<T extends Model>(this: ModelClass<T>, id: number | string): Promise<T>;
|
|
72
|
+
static update<T extends Model>(this: ModelClass<T>, id: number | string, data: Record<string, unknown>, kysely?: Kysely<any>): Promise<T>;
|
|
73
|
+
static delete<T extends Model>(this: ModelClass<T>, id: number | string, kysely?: Kysely<any>): Promise<void>;
|
|
74
|
+
static hydrate<T extends Model>(this: ModelClass<T>, row: Record<string, unknown>): T;
|
|
75
|
+
static insert<T extends Model>(this: ModelClass<T>, data: Record<string, unknown>): Promise<T>;
|
|
76
|
+
static insertMany<T extends Model>(this: ModelClass<T>, dataArray: Record<string, unknown>[], kysely?: Kysely<any>): Promise<T[]>;
|
|
77
|
+
static addGlobalScope(name: string, callback: (qb: any) => void): void;
|
|
78
|
+
static removeGlobalScope(name: string): void;
|
|
79
|
+
static getGlobalScopes(): Map<string, (qb: any) => void>;
|
|
80
|
+
static registerTimestamps(createdAtColumn?: string, updatedAtColumn?: string): void;
|
|
81
|
+
static registerSoftDeletes(deletedAtColumn?: string): void;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Collection } from "../collection/collection";
|
|
2
|
+
import type { Model } from "../model/model";
|
|
3
|
+
export declare class Paginator<T extends Model> {
|
|
4
|
+
readonly data: Collection<T>;
|
|
5
|
+
readonly total: number;
|
|
6
|
+
readonly perPage: number;
|
|
7
|
+
readonly currentPage: number;
|
|
8
|
+
readonly lastPage: number;
|
|
9
|
+
constructor(items: T[], total: number, perPage: number, currentPage: number);
|
|
10
|
+
get hasMorePages(): boolean;
|
|
11
|
+
get hasPages(): boolean;
|
|
12
|
+
get firstItem(): number;
|
|
13
|
+
get lastItem(): number;
|
|
14
|
+
get onFirstPage(): boolean;
|
|
15
|
+
get onLastPage(): boolean;
|
|
16
|
+
get count(): number;
|
|
17
|
+
map<U>(callback: (item: T, index: number) => U): U[];
|
|
18
|
+
toJSON(): PaginatorJson<T>;
|
|
19
|
+
}
|
|
20
|
+
export interface PaginatedResult<T> extends PaginatorJson<T> {
|
|
21
|
+
}
|
|
22
|
+
export interface PaginatorJson<_T> {
|
|
23
|
+
data: Record<string, unknown>[];
|
|
24
|
+
total: number;
|
|
25
|
+
perPage: number;
|
|
26
|
+
currentPage: number;
|
|
27
|
+
lastPage: number;
|
|
28
|
+
hasMorePages: boolean;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=paginator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginator.d.ts","sourceRoot":"","sources":["../../src/pagination/paginator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3C,qBAAa,SAAS,CAAC,CAAC,SAAS,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;gBAEb,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAQ3E,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIpD,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;CAU3B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;CAAG;AAE/D,MAAM,WAAW,aAAa,CAAC,EAAE;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;CACtB"}
|
package/dist/peta.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Dialect, Kysely } from "kysely";
|
|
2
|
+
import type { ModelClass } from "./model/model";
|
|
3
|
+
import type { PetaLike } from "./types";
|
|
4
|
+
export interface PetaConfig {
|
|
5
|
+
dialect: Dialect;
|
|
6
|
+
}
|
|
7
|
+
export declare class Peta implements PetaLike {
|
|
8
|
+
#private;
|
|
9
|
+
readonly kysely: Kysely<any>;
|
|
10
|
+
constructor(config: PetaConfig);
|
|
11
|
+
register(modelClass: ModelClass): void;
|
|
12
|
+
registerAll(classes: ModelClass[]): void;
|
|
13
|
+
getModel(table: string): ModelClass | undefined;
|
|
14
|
+
get models(): Map<string, ModelClass>;
|
|
15
|
+
transaction<T>(fn: (kysely: Kysely<any>) => Promise<T>): Promise<T>;
|
|
16
|
+
destroy(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=peta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peta.d.ts","sourceRoot":"","sources":["../src/peta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,qBAAa,IAAK,YAAW,QAAQ;;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;gBAGhB,MAAM,EAAE,UAAU;IAI9B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAOtC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAMxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI/C,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAEpC;IAEK,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAInE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ModelQueryBuilder } from "../builder";
|
|
2
|
+
import type { Model, ModelClass } from "../model/model";
|
|
3
|
+
import { BelongsTo, HasMany, HasOne } from "./relation";
|
|
4
|
+
export interface MorphToOptions {
|
|
5
|
+
morphType?: string;
|
|
6
|
+
morphId?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface MorphManyOptions {
|
|
9
|
+
morphType?: string;
|
|
10
|
+
morphId?: string;
|
|
11
|
+
morphTypeValue?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface MorphOneOptions {
|
|
14
|
+
morphType?: string;
|
|
15
|
+
morphId?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class MorphTo extends BelongsTo {
|
|
18
|
+
#private;
|
|
19
|
+
readonly morphType: string;
|
|
20
|
+
readonly morphId: string;
|
|
21
|
+
constructor(options?: MorphToOptions);
|
|
22
|
+
query(parent: Model): ModelQueryBuilder<any>;
|
|
23
|
+
addEagerConstraints(_query: ModelQueryBuilder<any>, _models: Model[]): void;
|
|
24
|
+
match(_models: Model[], _results: Model[], _relationName: string): void;
|
|
25
|
+
getResults(parent: Model): Promise<Model | null>;
|
|
26
|
+
}
|
|
27
|
+
export declare class MorphMany<TRelated extends Model = Model> extends HasMany<TRelated> {
|
|
28
|
+
readonly morphType: string;
|
|
29
|
+
readonly morphId: string;
|
|
30
|
+
readonly morphTypeValue?: string;
|
|
31
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, options?: MorphManyOptions);
|
|
32
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
33
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
34
|
+
match(models: Model[], results: Model[], relationName: string): void;
|
|
35
|
+
}
|
|
36
|
+
export declare class MorphOne<TRelated extends Model = Model> extends HasOne<TRelated> {
|
|
37
|
+
readonly morphType: string;
|
|
38
|
+
readonly morphId: string;
|
|
39
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, options?: MorphOneOptions);
|
|
40
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
41
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=morph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"morph.d.ts","sourceRoot":"","sources":["../../src/relations/morph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,OAAQ,SAAQ,SAAS;;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,GAAE,cAAmB;IAY/B,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC;IAO5C,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;IAE3E,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAEjE,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAgBhE;AAED,qBAAa,SAAS,CAAC,QAAQ,SAAS,KAAK,GAAG,KAAK,CAAE,SAAQ,OAAO,CAAC,QAAQ,CAAC;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEpB,YAAY,EAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAE,gBAAqB;IAS3E,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IAMjD,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAQ9E,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;CAG9E;AAED,qBAAa,QAAQ,CAAC,QAAQ,SAAS,KAAK,GAAG,KAAK,CAAE,SAAQ,MAAM,CAAC,QAAQ,CAAC;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,YAAY,EAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAE,eAAoB;IAQ1E,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IAKjD,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;CAIxF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { ModelQueryBuilder } from "../builder";
|
|
2
|
+
import type { Model, ModelClass } from "../model/model";
|
|
3
|
+
export type RelationType = "hasMany" | "belongsTo" | "hasOne" | "manyToMany" | "hasManyThrough";
|
|
4
|
+
export interface RelationOptions {
|
|
5
|
+
foreignKey?: string;
|
|
6
|
+
localKey?: string;
|
|
7
|
+
through?: string;
|
|
8
|
+
foreignPivotKey?: string;
|
|
9
|
+
relatedPivotKey?: string;
|
|
10
|
+
throughForeignKey?: string;
|
|
11
|
+
throughLocalKey?: string;
|
|
12
|
+
pivotExtras?: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class Relation<TRelated extends Model = Model> {
|
|
15
|
+
#private;
|
|
16
|
+
readonly type: RelationType;
|
|
17
|
+
constructor(type: RelationType, relatedThunk: () => ModelClass<TRelated>);
|
|
18
|
+
get relatedModelClass(): ModelClass<TRelated>;
|
|
19
|
+
abstract get foreignKey(): string;
|
|
20
|
+
abstract get localKey(): string;
|
|
21
|
+
abstract query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
22
|
+
abstract addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
23
|
+
abstract match(models: Model[], results: Model[], relationName: string): void;
|
|
24
|
+
abstract getResults(parent: Model): Promise<Model | Model[] | null>;
|
|
25
|
+
}
|
|
26
|
+
export declare class HasMany<TRelated extends Model = Model> extends Relation<TRelated> {
|
|
27
|
+
#private;
|
|
28
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, options?: RelationOptions);
|
|
29
|
+
get foreignKey(): string;
|
|
30
|
+
get localKey(): string;
|
|
31
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
32
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
33
|
+
match(models: Model[], results: Model[], relationName: string): void;
|
|
34
|
+
getResults(parent: Model): Promise<TRelated[]>;
|
|
35
|
+
}
|
|
36
|
+
export declare class BelongsTo<TRelated extends Model = Model> extends Relation<TRelated> {
|
|
37
|
+
#private;
|
|
38
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, options?: RelationOptions);
|
|
39
|
+
get foreignKey(): string;
|
|
40
|
+
get localKey(): string;
|
|
41
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
42
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
43
|
+
match(models: Model[], results: Model[], relationName: string): void;
|
|
44
|
+
getResults(parent: Model): Promise<TRelated | null>;
|
|
45
|
+
}
|
|
46
|
+
export declare class HasOne<TRelated extends Model = Model> extends Relation<TRelated> {
|
|
47
|
+
#private;
|
|
48
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, options?: RelationOptions);
|
|
49
|
+
get foreignKey(): string;
|
|
50
|
+
get localKey(): string;
|
|
51
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
52
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
53
|
+
match(models: Model[], results: Model[], relationName: string): void;
|
|
54
|
+
getResults(parent: Model): Promise<TRelated | null>;
|
|
55
|
+
}
|
|
56
|
+
export declare class ManyToMany<TRelated extends Model = Model> extends Relation<TRelated> {
|
|
57
|
+
#private;
|
|
58
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, options: RelationOptions & {
|
|
59
|
+
through: string;
|
|
60
|
+
});
|
|
61
|
+
get foreignKey(): string;
|
|
62
|
+
get localKey(): string;
|
|
63
|
+
get throughTable(): string;
|
|
64
|
+
get foreignPivotKey(): string;
|
|
65
|
+
get relatedPivotKey(): string;
|
|
66
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
67
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
68
|
+
match(models: Model[], results: Model[], relationName: string): void;
|
|
69
|
+
getResults(parent: Model): Promise<Model[]>;
|
|
70
|
+
}
|
|
71
|
+
export declare class HasManyThrough<TRelated extends Model = Model> extends Relation<TRelated> {
|
|
72
|
+
#private;
|
|
73
|
+
constructor(relatedThunk: () => ModelClass<TRelated>, throughThunk: () => ModelClass, options?: RelationOptions);
|
|
74
|
+
get foreignKey(): string;
|
|
75
|
+
get localKey(): string;
|
|
76
|
+
get throughModelClass(): ModelClass;
|
|
77
|
+
get throughForeignKey(): string;
|
|
78
|
+
get throughLocalKey(): string;
|
|
79
|
+
query(parent: Model): ModelQueryBuilder<TRelated>;
|
|
80
|
+
addEagerConstraints(query: ModelQueryBuilder<TRelated>, models: Model[]): void;
|
|
81
|
+
match(models: Model[], results: Model[], relationName: string): void;
|
|
82
|
+
getResults(parent: Model): Promise<Model[]>;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=relation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/relations/relation.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Kysely } from "kysely";
|
|
2
|
+
import type { ModelClass } from "./model/model";
|
|
3
|
+
declare const brand: unique symbol;
|
|
4
|
+
export type ModelId = number & {
|
|
5
|
+
[brand]: "ModelId";
|
|
6
|
+
};
|
|
7
|
+
export interface PetaLike {
|
|
8
|
+
readonly kysely: Kysely<any>;
|
|
9
|
+
register(modelClass: ModelClass): void;
|
|
10
|
+
registerAll(classes: ModelClass[]): void;
|
|
11
|
+
getModel(table: string): ModelClass | undefined;
|
|
12
|
+
readonly models: Map<string, ModelClass>;
|
|
13
|
+
transaction<T>(fn: (kysely: Kysely<any>) => Promise<T>): Promise<T>;
|
|
14
|
+
destroy(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAA;AAClC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IACtC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "peta-orm",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"private": false,
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"description": "ORM for Bun, built on Kysely",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"module": "src/index.ts",
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"types": "./dist/index.d.ts"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist/",
|
|
19
|
+
"README.md",
|
|
20
|
+
"LICENSE"
|
|
21
|
+
],
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"arktype": "^2.2.0"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"kysely": "^0.27.0",
|
|
27
|
+
"typescript": "^5"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@biomejs/biome": "^2.4.16",
|
|
31
|
+
"@types/bun": "latest",
|
|
32
|
+
"kysely": "^0.27.0",
|
|
33
|
+
"kysely-bun-sqlite": "^0.4.0",
|
|
34
|
+
"typescript": "^5"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"test": "bun test",
|
|
38
|
+
"test:all": "for f in test/*.ts; do echo === $f ===; bun test $f || exit 1; done",
|
|
39
|
+
"typecheck": "bun x tsc --noEmit",
|
|
40
|
+
"build:js": "bun build ./src/index.ts --outdir ./dist --target bun --format esm",
|
|
41
|
+
"build:types": "bun x tsc -p tsconfig.build.json",
|
|
42
|
+
"build": "bun run build:js && bun run build:types",
|
|
43
|
+
"lint": "bunx biome check src test examples",
|
|
44
|
+
"lint:fix": "bunx biome check --write --unsafe src test examples",
|
|
45
|
+
"prepublish": "bun run build"
|
|
46
|
+
}
|
|
47
|
+
}
|