@idb-orm/core 1.0.5 → 1.0.7
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/README.md +4 -4
- package/dist/builder.d.ts +3 -3
- package/dist/client/helpers.d.ts +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/types/find.d.ts +9 -5
- package/dist/client/types/index.d.ts +1 -1
- package/dist/client/types/mutation.d.ts +7 -7
- package/dist/dev-types.d.ts +4 -0
- package/dist/dev.d.ts +5 -0
- package/dist/field/field-types.d.ts +13 -6
- package/dist/field/index.d.ts +1 -1
- package/dist/field/primary-key.d.ts +2 -2
- package/dist/field/property.d.ts +32 -33
- package/dist/field/relation.d.ts +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/model/model-types.d.ts +7 -7
- package/dist/model/model.d.ts +4 -5
- package/dist/object-store.d.ts +1 -1
- package/dist/transaction.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/common.d.ts +12 -4
- package/dist/types.d.ts +48 -0
- package/dist/util-types.d.ts +37 -0
- package/dist/utils.d.ts +14 -1
- package/package.json +6 -6
- package/test-results/.last-run.json +0 -8
- package/test-results/test-1-page-multi-test-Sample-DB-chromium/error-context.md +0 -8
- package/test-results/test-1-page-multi-test-Sample-DB-firefox/error-context.md +0 -8
- package/test-results/test-1-page-multi-test-Sample-DB-webkit/error-context.md +0 -8
package/README.md
CHANGED
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
- [ ] findMany
|
|
26
26
|
- [ ] updateMany
|
|
27
27
|
- [ ] Convert internal string unions to enums
|
|
28
|
-
- [
|
|
29
|
-
- [
|
|
28
|
+
- [x] Remove external dependencies
|
|
29
|
+
- [x] deep-equal
|
|
30
30
|
- [x] type-fest
|
|
31
|
-
- [
|
|
32
|
-
- [
|
|
31
|
+
- [x] uuid
|
|
32
|
+
- [x] zod
|
|
33
33
|
- [ ] Make subpackages for adapters for different validation languages
|
|
34
34
|
- [ ] Zod
|
|
35
35
|
- [ ] Yup
|
package/dist/builder.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CollectionSchema, Model } from "./model";
|
|
2
2
|
import { DbClient } from "./client";
|
|
3
3
|
import { PrimaryKey, type ValidValue } from "./field";
|
|
4
|
-
import type { Dict } from "./types
|
|
4
|
+
import type { Dict } from "./util-types";
|
|
5
5
|
export type CollectionObject<Names extends string> = {
|
|
6
6
|
[K in Names]: Model<K, any>;
|
|
7
7
|
};
|
|
@@ -16,7 +16,7 @@ export declare class Builder<Name extends string, Names extends string> {
|
|
|
16
16
|
export declare class CompiledDb<Name extends string, Names extends string, C extends CollectionObject<Names>> {
|
|
17
17
|
readonly name: Name;
|
|
18
18
|
private readonly models;
|
|
19
|
-
readonly schemas:
|
|
19
|
+
readonly schemas: CollectionSchema<C>;
|
|
20
20
|
private readonly modelKeys;
|
|
21
21
|
constructor(name: Name, models: C);
|
|
22
22
|
getModel<N extends Names>(name: N): C[N];
|
package/dist/client/helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Dict, Promisable } from "../types
|
|
1
|
+
import type { Dict, Promisable } from "../util-types.js";
|
|
2
2
|
import type { DbClient } from "./index.ts";
|
|
3
3
|
import type { CollectionObject } from "../builder.ts";
|
|
4
4
|
import type { QueryInput } from "./types/find.ts";
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CollectionObject, CompiledDb } from "../builder";
|
|
2
|
-
import type { Arrayable } from "../types
|
|
2
|
+
import type { Arrayable } from "../util-types";
|
|
3
3
|
import { Transaction, type TransactionOptions } from "../transaction";
|
|
4
4
|
import { type InterfaceMap } from "./types";
|
|
5
5
|
export declare class DbClient<Name extends string, ModelNames extends string, Models extends CollectionObject<ModelNames>> {
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import type { Dict, If, Keyof, RemoveNeverValues } from "../../types
|
|
1
|
+
import type { Dict, If, Keyof, RemoveNeverValues } from "../../util-types.js";
|
|
2
2
|
import type { ExtractFields, ModelStructure, RelationlessModelStructure } from "../../model/model-types.js";
|
|
3
3
|
import type { Model } from "../../model";
|
|
4
|
-
import type { BaseRelation,
|
|
4
|
+
import type { BaseRelation, AbstractProperty, PrimaryKey, RelationOutputStructure, ValidValue } from "../../field";
|
|
5
5
|
import type { CollectionObject } from "../../builder.ts";
|
|
6
6
|
export type FilterFn<Input> = (item: Input) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* If an property is an object type (dictionary, array, map, set, etc...) return never. If it's a union it strips out any object types
|
|
9
|
+
*/
|
|
10
|
+
export type ProhibitObjects<T> = T extends object ? never : T;
|
|
7
11
|
export type WhereObject<Fields extends Dict<ValidValue>> = Partial<RemoveNeverValues<{
|
|
8
|
-
[K in keyof Fields]: Fields[K] extends
|
|
12
|
+
[K in keyof Fields]: Fields[K] extends AbstractProperty<infer Output, any> ? Output | FilterFn<Output> : Fields[K] extends PrimaryKey<any, infer Type> ? ProhibitObjects<Type> | FilterFn<Type> : never;
|
|
9
13
|
}>>;
|
|
10
14
|
export type SelectObject<All extends string, Fields extends Dict<ValidValue>, C extends CollectionObject<All>> = {
|
|
11
|
-
[K in keyof Fields]?: Fields[K] extends
|
|
15
|
+
[K in keyof Fields]?: Fields[K] extends AbstractProperty<any, any> ? true : Fields[K] extends PrimaryKey<any, any> ? true : Fields[K] extends BaseRelation<infer To, any> ? true | (To extends Keyof<C> ? C[To] extends Model<any, infer SubFields, any> ? QueryInput<All, SubFields, C> : never : never) : never;
|
|
12
16
|
};
|
|
13
17
|
export interface QueryInput<All extends string, Fields extends Dict<ValidValue>, C extends CollectionObject<All>> {
|
|
14
18
|
where?: WhereObject<Fields>;
|
|
@@ -17,7 +21,7 @@ export interface QueryInput<All extends string, Fields extends Dict<ValidValue>,
|
|
|
17
21
|
}
|
|
18
22
|
export type FindInput<All extends string, Struct extends object, C extends CollectionObject<All>> = Struct extends Model<any, infer Fields, any> ? QueryInput<All, Fields, C> : never;
|
|
19
23
|
type _FindOutput<All extends string, Select extends Dict<Dict | true>, Fields extends Dict<ValidValue>, C extends CollectionObject<All>> = {
|
|
20
|
-
[K in Keyof<Select>]: Fields[K] extends BaseRelation<infer To, any> ? To extends Keyof<C> ? C[To] extends Model<any, infer Sub, any> ? If<Select[K] extends true ? true : false, RelationOutputStructure<Fields[K], RelationlessModelStructure<C[To]>>, Select[K] extends Dict<Dict | true> ? RelationOutputStructure<Fields[K], _FindOutput<All, Select[K], Sub, C>> : never> : never : never : Fields[K] extends PrimaryKey<any, infer Type> ? Type : Fields[K] extends
|
|
24
|
+
[K in Keyof<Select>]: Fields[K] extends BaseRelation<infer To, any> ? To extends Keyof<C> ? C[To] extends Model<any, infer Sub, any> ? If<Select[K] extends true ? true : false, RelationOutputStructure<Fields[K], RelationlessModelStructure<C[To]>>, Select[K] extends Dict<Dict | true> ? RelationOutputStructure<Fields[K], _FindOutput<All, Select[K], Sub, C>> : never> : never : never : Fields[K] extends PrimaryKey<any, infer Type> ? Type : Fields[K] extends AbstractProperty<infer Type, any> ? Type : never;
|
|
21
25
|
} | undefined;
|
|
22
26
|
export type FindOutput<All extends string, Struct extends Model<any, any, any>, C extends CollectionObject<All>, F extends FindInput<All, Struct, C>> = Struct extends Model<any, infer Fields, any> ? F extends object ? (F["select"] extends Dict<true | Dict> ? _FindOutput<All, F["select"], Fields, C> : ModelStructure<ExtractFields<Struct>, C>) | undefined : never : never;
|
|
23
27
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CollectionObject } from "../../builder.ts";
|
|
2
|
-
import type { Dict, ValidKey } from "../../types
|
|
2
|
+
import type { Dict, ValidKey } from "../../util-types.js";
|
|
3
3
|
import type { ExtractFields, Model, ModelStructure, PrimaryKeyType } from "../../model";
|
|
4
4
|
import type { AddMutation, UpdateMutation } from "./mutation.ts";
|
|
5
5
|
import type { FindInput, FindOutput, WhereObject } from "./find.ts";
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import type { MakeArrayable, MakeOptional, RemoveNeverValues, PartialOnUndefined } from "../../types
|
|
2
|
-
import type { BaseRelation,
|
|
1
|
+
import type { MakeArrayable, MakeOptional, RemoveNeverValues, PartialOnUndefined } from "../../util-types.js";
|
|
2
|
+
import type { BaseRelation, AbstractProperty, OptionalRelation, PrimaryKey, ArrayRelation } from "../../field";
|
|
3
3
|
import type { CollectionObject } from "../../builder.ts";
|
|
4
4
|
import { WhereObject } from "./find.js";
|
|
5
5
|
import { Model, FindRelationKey, RelationValue } from "../../model";
|
|
6
6
|
export type MutationActions = "$connect" | "$connectMany" | "$create" | "$createMany" | "$update" | "$updateMany" | "$delete" | "$deleteMany" | "$deleteAll" | "$disconnect" | "$disconnectMany" | "$disconnectAll";
|
|
7
7
|
export type Mutation<This extends All, All extends string, Struct extends object, C extends CollectionObject<All>, MutType extends string = "add"> = PartialOnUndefined<RemoveNeverValues<Struct extends Model<any, infer Fields, any> ? {
|
|
8
|
-
[K in keyof Fields]: Fields[K] extends
|
|
8
|
+
[K in keyof Fields]: Fields[K] extends AbstractProperty<infer Type, infer HasDefault> ? MutType extends "update" ? Type | undefined | ((value: Type) => Type) : HasDefault extends true ? Type | undefined : Type : Fields[K] extends PrimaryKey<infer IsAuto, infer Type> ? MutType extends "update" ? never : IsAuto extends true ? never : Type : Fields[K] extends BaseRelation<infer To, infer Name> ? To extends All ? MakeOptional<Fields[K] extends OptionalRelation<any, any> ? true : Fields[K] extends ArrayRelation<any, any> ? true : MutType extends "update" ? true : false, MakeArrayable<Fields[K] extends ArrayRelation<any, any> ? true : false, {
|
|
9
9
|
$connect: RelationValue<To, C>;
|
|
10
10
|
} | {
|
|
11
11
|
$create: Omit<Mutation<To, All, C[To], C, "add">, FindRelationKey<This, Name, C[To]>>;
|
|
12
12
|
} | (MutType extends "update" ? {
|
|
13
|
-
$update: Fields[K] extends
|
|
13
|
+
$update: Fields[K] extends ArrayRelation<any, any> ? {
|
|
14
14
|
where?: WhereSelection<C[To]>;
|
|
15
15
|
data: Mutation<To, All, C[To], C, MutType>;
|
|
16
16
|
} : Mutation<To, All, C[To], C, MutType>;
|
|
17
17
|
} | {
|
|
18
|
-
$delete: Fields[K] extends
|
|
18
|
+
$delete: Fields[K] extends ArrayRelation<any, any> ? RelationValue<To, C> : true;
|
|
19
19
|
} | {
|
|
20
|
-
$disconnect: Fields[K] extends
|
|
21
|
-
} : never)> | (Fields[K] extends
|
|
20
|
+
$disconnect: Fields[K] extends ArrayRelation<any, any> ? RelationValue<To, C> : true;
|
|
21
|
+
} : never)> | (Fields[K] extends ArrayRelation<any, any> ? {
|
|
22
22
|
$connectMany: RelationValue<To, C>[];
|
|
23
23
|
} | {
|
|
24
24
|
$createMany: Omit<Mutation<To, All, C[To], C, "add">, FindRelationKey<This, Name, C[To]>>[];
|
package/dist/dev.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ParseFn, AbstractProperty, PropertyOptions, PropertyInputOptions } from "./field/property.js";
|
|
2
|
+
import { PropertyUnion } from "./field/field-types.js";
|
|
3
|
+
import * as util from "./util-types.js";
|
|
4
|
+
import { Type } from "./utils.js";
|
|
5
|
+
export { ParseFn, AbstractProperty, util, PropertyOptions, Type, PropertyInputOptions, PropertyUnion, };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ValidKey } from "../types
|
|
2
|
-
import { Field } from "./field.js";
|
|
1
|
+
import { Dict, ValidKey, ValidKeyType } from "../util-types.js";
|
|
3
2
|
import PrimaryKey from "./primary-key.js";
|
|
4
|
-
import {
|
|
3
|
+
import { AbstractProperty, ParseFn, Property } from "./property.js";
|
|
4
|
+
import { BaseRelation, OptionalRelation, ArrayRelation } from "./relation.js";
|
|
5
5
|
export type ReferenceActions = "Cascade" | "None" | "Restrict";
|
|
6
6
|
export type OptionalActions = "SetNull" | ReferenceActions;
|
|
7
7
|
export interface RelationOptions<Name extends string, OnDelete> {
|
|
@@ -24,6 +24,13 @@ export interface FieldOptions {
|
|
|
24
24
|
unique: boolean;
|
|
25
25
|
}
|
|
26
26
|
export type RelationOutput<T> = T extends PrimaryKey<any, infer Type> ? Type : never;
|
|
27
|
-
export type RelationOutputStructure<R extends BaseRelation<any, any>, Output> = R extends
|
|
28
|
-
export type NonRelationOutput<T> = T extends
|
|
29
|
-
export type ValidValue<N extends string = string> = BaseRelation<N, string> |
|
|
27
|
+
export type RelationOutputStructure<R extends BaseRelation<any, any>, Output> = R extends ArrayRelation<any, any> ? Output[] : R extends OptionalRelation<any, any> ? Output | undefined : Output;
|
|
28
|
+
export type NonRelationOutput<T> = T extends AbstractProperty<infer Out, any> ? Out : T extends PrimaryKey<any, infer Type> ? Type : never;
|
|
29
|
+
export type ValidValue<N extends string = string> = BaseRelation<N, string> | AbstractProperty<any, any> | PrimaryKey<boolean, ValidKey>;
|
|
30
|
+
export type ParseFnWrap<T extends Dict> = {
|
|
31
|
+
[K in keyof T]: ParseFn<T[K]>;
|
|
32
|
+
};
|
|
33
|
+
export type PropertyUnion<T extends readonly (Property<any, boolean> | ParseFn<any>)[]> = T[number] extends Property<infer Type, boolean> ? Type : T extends ParseFn<infer Type> ? Type : never;
|
|
34
|
+
export declare const VALIDATORS: {
|
|
35
|
+
[K in ValidKeyType]: ParseFn<FunctionMatch<K>>;
|
|
36
|
+
};
|
package/dist/field/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidKey, ValidKeyType } from "../types
|
|
1
|
+
import { ValidKey, ValidKeyType } from "../util-types.js";
|
|
2
2
|
import { GenFunction } from "./field-types.js";
|
|
3
3
|
export default class PrimaryKey<AutoGenerate extends boolean, Type extends ValidKey> {
|
|
4
4
|
private genFn?;
|
|
@@ -11,7 +11,7 @@ export default class PrimaryKey<AutoGenerate extends boolean, Type extends Valid
|
|
|
11
11
|
generator(genFn: GenFunction<Type>): PrimaryKey<true, Type>;
|
|
12
12
|
uuid(): PrimaryKey<true, string>;
|
|
13
13
|
genKey(): Type;
|
|
14
|
-
getSchema(): import("
|
|
14
|
+
getSchema(): import("./property.js").ParseFn<string> | import("./property.js").ParseFn<number> | import("./property.js").ParseFn<Date>;
|
|
15
15
|
/**
|
|
16
16
|
* If the internal objectStore "autoIncrement" utility is being used
|
|
17
17
|
* @returns
|
package/dist/field/property.d.ts
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import { Literable, ValidKeyType } from "../types
|
|
2
|
-
import {
|
|
1
|
+
import { Literable, NoUndefined, ValidKeyType } from "../util-types.js";
|
|
2
|
+
import { Type } from "../utils.js";
|
|
3
|
+
import { FunctionMatch, PropertyUnion, ReferenceActions, RelationOptions } from "./field-types.js";
|
|
3
4
|
import PrimaryKey from "./primary-key.js";
|
|
4
5
|
import { Relation } from "./relation.js";
|
|
5
6
|
export interface PropertyOptions {
|
|
6
7
|
unique: boolean;
|
|
7
8
|
}
|
|
8
|
-
type
|
|
9
|
-
declare enum PropertType {
|
|
10
|
-
String = 0,
|
|
11
|
-
Number = 1,
|
|
12
|
-
BigInt = 2,
|
|
13
|
-
Boolean = 3,
|
|
14
|
-
Symbol = 4,
|
|
15
|
-
Array = 5,
|
|
16
|
-
Object = 6,
|
|
17
|
-
Unknown = 7
|
|
18
|
-
}
|
|
9
|
+
export type PropertyInputOptions = Partial<PropertyOptions>;
|
|
19
10
|
export type ParseResult<T> = {
|
|
20
11
|
success: true;
|
|
21
12
|
data: T;
|
|
@@ -26,24 +17,26 @@ export type ParseResult<T> = {
|
|
|
26
17
|
error: string;
|
|
27
18
|
};
|
|
28
19
|
/**
|
|
29
|
-
* A function to parse and
|
|
20
|
+
* A function to parse and validateFn an unknown value. It should also handle applying defaults
|
|
30
21
|
*/
|
|
31
22
|
export type ParseFn<T> = (value: unknown) => ParseResult<T>;
|
|
32
23
|
export declare abstract class AbstractProperty<Value, HasDefault extends boolean> {
|
|
33
|
-
|
|
34
|
-
protected type:
|
|
24
|
+
protected validateFn: (value: unknown) => ParseResult<Value>;
|
|
25
|
+
protected type: Type;
|
|
35
26
|
protected hasDefault: HasDefault;
|
|
36
27
|
protected options: PropertyOptions;
|
|
37
|
-
constructor(
|
|
28
|
+
constructor(validateFn: (value: unknown) => ParseResult<Value>, type: Type, options?: PropertyInputOptions);
|
|
29
|
+
get validate(): (value: unknown) => ParseResult<Value>;
|
|
38
30
|
abstract array(...args: unknown[]): AbstractProperty<Value[], false>;
|
|
39
31
|
abstract optional(...args: unknown[]): AbstractProperty<Value | undefined, false>;
|
|
40
|
-
abstract default(defaultValue: Value): AbstractProperty<
|
|
41
|
-
static array<T>(
|
|
42
|
-
static literal<const V extends Literable>(
|
|
43
|
-
static custom<T>(
|
|
44
|
-
static
|
|
45
|
-
static
|
|
46
|
-
static
|
|
32
|
+
abstract default(defaultValue: NoUndefined<Value>): AbstractProperty<NoUndefined<Value>, true>;
|
|
33
|
+
static array<T>(..._args: unknown[]): AbstractProperty<T[], false>;
|
|
34
|
+
static literal<const V extends Literable>(_item: V, ..._: unknown[]): AbstractProperty<V, false>;
|
|
35
|
+
static custom<T>(..._: unknown[]): AbstractProperty<T, false>;
|
|
36
|
+
static union<const _T extends readonly (ParseFn<any> | AbstractProperty<any, boolean>)[]>(..._: unknown[]): AbstractProperty<unknown, false>;
|
|
37
|
+
static string(..._: unknown[]): AbstractProperty<string, false>;
|
|
38
|
+
static number(..._: unknown[]): AbstractProperty<number, false>;
|
|
39
|
+
static boolean(..._: unknown[]): AbstractProperty<boolean, false>;
|
|
47
40
|
/**
|
|
48
41
|
* Indicates that a field must be unique across all documents
|
|
49
42
|
*
|
|
@@ -53,18 +46,24 @@ export declare abstract class AbstractProperty<Value, HasDefault extends boolean
|
|
|
53
46
|
hasDefaultValue(): HasDefault;
|
|
54
47
|
static relation<To extends string, Name extends string = never>(to: To, options?: RelationOptions<Name, ReferenceActions>): Relation<To, Name>;
|
|
55
48
|
static primaryKey<V extends ValidKeyType = "number">(type?: V): PrimaryKey<false, FunctionMatch<V>>;
|
|
49
|
+
static readonly validators: {
|
|
50
|
+
string: ParseFn<string>;
|
|
51
|
+
number: ParseFn<number>;
|
|
52
|
+
date: ParseFn<Date>;
|
|
53
|
+
};
|
|
54
|
+
protected static literalToType(value: Literable): Type;
|
|
55
|
+
protected static nameToType(typeName: string): Type;
|
|
56
56
|
}
|
|
57
57
|
export declare class Property<Value, HasDefault extends boolean> extends AbstractProperty<Value, HasDefault> {
|
|
58
58
|
array(): Property<Value[], false>;
|
|
59
|
-
default(defaultValue:
|
|
59
|
+
default(defaultValue: NoUndefined<Value>): Property<NoUndefined<Value>, true>;
|
|
60
60
|
optional(): Property<Value | undefined, false>;
|
|
61
|
-
static literal<const V extends Literable>(value: V, options?:
|
|
62
|
-
static string(options?:
|
|
63
|
-
static number(options?:
|
|
64
|
-
static boolean(options?:
|
|
65
|
-
static
|
|
66
|
-
static
|
|
67
|
-
|
|
61
|
+
static literal<const V extends Literable>(value: V, options?: PropertyInputOptions): Property<V, false>;
|
|
62
|
+
static string(options?: PropertyInputOptions): Property<string, false>;
|
|
63
|
+
static number(options?: PropertyInputOptions): Property<number, false>;
|
|
64
|
+
static boolean(options?: PropertyInputOptions): Property<boolean, false>;
|
|
65
|
+
static union<const T extends readonly (ParseFn<any> | AbstractProperty<any, boolean>)[]>(items: T, options?: PropertyInputOptions): Property<PropertyUnion<T>, false>;
|
|
66
|
+
static custom<T>(fn: ParseFn<T>, options?: PropertyInputOptions): Property<T, false>;
|
|
67
|
+
static array<T>(item: ParseFn<T> | Property<T, boolean>, options?: PropertyInputOptions): Property<T[], false>;
|
|
68
68
|
private static generateArrayValidator;
|
|
69
69
|
}
|
|
70
|
-
export {};
|
package/dist/field/relation.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export declare class Relation<To extends string, Name extends string> extends Ba
|
|
|
58
58
|
*
|
|
59
59
|
* **Note: Calling this function will reset any relation actions to the default**
|
|
60
60
|
*/
|
|
61
|
-
array({ onDelete, }?: Omit<RelationOptions<Name, OptionalActions>, "name">):
|
|
61
|
+
array({ onDelete, }?: Omit<RelationOptions<Name, OptionalActions>, "name">): ArrayRelation<To, Name>;
|
|
62
62
|
/**
|
|
63
63
|
* Creates an optional relation to the specified model
|
|
64
64
|
*
|
|
@@ -67,7 +67,7 @@ export declare class Relation<To extends string, Name extends string> extends Ba
|
|
|
67
67
|
optional({ onDelete, }?: Omit<RelationOptions<Name, OptionalActions>, "name">): OptionalRelation<To, Name>;
|
|
68
68
|
onDelete(action: ReferenceActions): this;
|
|
69
69
|
}
|
|
70
|
-
export declare class
|
|
70
|
+
export declare class ArrayRelation<To extends string, Name extends string> extends BaseRelation<To, Name> {
|
|
71
71
|
private readonly _brand;
|
|
72
72
|
constructor(to: To, name?: Name, action?: OptionalActions);
|
|
73
73
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Builder } from "./builder.js";
|
|
2
2
|
import { StoreError, type ErrorType } from "./error.js";
|
|
3
|
+
import "./dev.js";
|
|
3
4
|
export { Builder, StoreError, ErrorType };
|
|
4
|
-
import {
|
|
5
|
-
export {
|
|
5
|
+
import { Property } from "./field";
|
|
6
|
+
export { Property };
|
|
6
7
|
import { CompiledQuery } from "./client/compiled-query.js";
|
|
7
8
|
export { CompiledQuery };
|
|
8
9
|
import type { ModelType } from "./model";
|