orange-orm 5.2.3-beta2 → 5.2.4
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/docs/changelog.md +4 -0
- package/package.json +1 -1
- package/src/index.d.ts +6 -6
- package/src/map.d.ts +89 -15
package/docs/changelog.md
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
## Changelog
|
|
2
|
+
__5.2.4__
|
|
3
|
+
Meta parameter in validator is optional
|
|
4
|
+
__5.2.3__
|
|
5
|
+
Pass table and column and other metadata to custom validate function [#165](https://github.com/alfateam/orange-orm/issues/165)
|
|
2
6
|
__5.2.2__
|
|
3
7
|
Bugfix: jsonOf<T>() exists in type definitions but is missing at runtime [#166](https://github.com/alfateam/orange-orm/issues/166)
|
|
4
8
|
__5.2.1__
|
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -100,7 +100,7 @@ declare namespace r {
|
|
|
100
100
|
date(): DateColumnDef;
|
|
101
101
|
}
|
|
102
102
|
export interface DateColumnDef {
|
|
103
|
-
validate(validator: (value?: Date | string, meta
|
|
103
|
+
validate(validator: (value?: Date | string, meta?: ValidationMeta) => void): DateColumnDef;
|
|
104
104
|
notNull(): DateColumnNotNullDef;
|
|
105
105
|
JSONSchema(schema: object, options?: Options): DateColumnDef;
|
|
106
106
|
serializable(value: boolean): DateColumnDef;
|
|
@@ -110,7 +110,7 @@ declare namespace r {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
export interface DateColumnNotNullDef {
|
|
113
|
-
validate(validator: (value: Date | string, meta
|
|
113
|
+
validate(validator: (value: Date | string, meta?: ValidationMeta) => void): DateColumnNotNullDef;
|
|
114
114
|
JSONSchema(schema: object, options?: Options): DateColumnNotNullDef;
|
|
115
115
|
serializable(value: boolean): DateColumnNotNullDef;
|
|
116
116
|
as(dbName: string): DateColumnNotNullDef;
|
|
@@ -119,7 +119,7 @@ declare namespace r {
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
export interface BinaryColumnDef {
|
|
122
|
-
validate(validator: (value?: Buffer | string, meta
|
|
122
|
+
validate(validator: (value?: Buffer | string, meta?: ValidationMeta) => void): BinaryColumnDef;
|
|
123
123
|
notNull(): BinaryColumnNotNullDef;
|
|
124
124
|
JSONSchema(schema: object, options?: Options): BinaryColumnDef;
|
|
125
125
|
serializable(value: boolean): BinaryColumnDef;
|
|
@@ -129,7 +129,7 @@ declare namespace r {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
export interface BinaryColumnNotNullDef {
|
|
132
|
-
validate(validator: (value: Buffer | string, meta
|
|
132
|
+
validate(validator: (value: Buffer | string, meta?: ValidationMeta) => void): BinaryColumnNotNullDef;
|
|
133
133
|
JSONSchema(schema: object, options?: Options): BinaryColumnNotNullDef;
|
|
134
134
|
serializable(value: boolean): BinaryColumnNotNullDef;
|
|
135
135
|
as(dbName: string): BinaryColumnNotNullDef;
|
|
@@ -138,7 +138,7 @@ declare namespace r {
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
export interface ColumnOf<T> {
|
|
141
|
-
validate(validator: (value?: T, meta
|
|
141
|
+
validate(validator: (value?: T, meta?: ValidationMeta) => void): ColumnOf<T>;
|
|
142
142
|
notNull(): ColumnNotNullOf<T>;
|
|
143
143
|
JSONSchema(schema: object, options?: Options): ColumnOf<T>;
|
|
144
144
|
serializable(value: boolean): ColumnOf<T>;
|
|
@@ -148,7 +148,7 @@ declare namespace r {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
export interface ColumnNotNullOf<T> {
|
|
151
|
-
validate(validator: (value: T, meta
|
|
151
|
+
validate(validator: (value: T, meta?: ValidationMeta) => void): ColumnNotNullOf<T>;
|
|
152
152
|
notNull(): ColumnNotNullOf<T>;
|
|
153
153
|
JSONSchema(schema: object, options?: Options): ColumnNotNullOf<T>;
|
|
154
154
|
serializable(value: boolean): ColumnNotNullOf<T>;
|
package/src/map.d.ts
CHANGED
|
@@ -643,11 +643,6 @@ interface ValidationMeta {
|
|
|
643
643
|
isInsert: boolean;
|
|
644
644
|
}
|
|
645
645
|
|
|
646
|
-
type OptionalOnNullable<M, T> = M extends NotNull ? T : T | null | undefined;
|
|
647
|
-
type ValidateMethod<TValue, TReturn> = {
|
|
648
|
-
validate(validator: (value: TValue, meta: ValidationMeta) => void): TReturn;
|
|
649
|
-
};
|
|
650
|
-
|
|
651
646
|
interface ColumnType<M> {
|
|
652
647
|
string(): StringColumnTypeDef<M & StringColumnSymbol>;
|
|
653
648
|
uuid(): UuidColumnTypeDef<M & UuidColumnSymbol>;
|
|
@@ -662,15 +657,94 @@ interface ColumnType<M> {
|
|
|
662
657
|
jsonOf<T>(helper: T): JSONColumnTypeDef<M & JSONColumnSymbol & JsonOf<T>>;
|
|
663
658
|
}
|
|
664
659
|
|
|
665
|
-
type UuidValidator<M> =
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
660
|
+
type UuidValidator<M> = M extends NotNull
|
|
661
|
+
? {
|
|
662
|
+
validate(validator: (value: string, meta?: ValidationMeta) => void): UuidColumnTypeDef<M>;
|
|
663
|
+
}
|
|
664
|
+
: {
|
|
665
|
+
validate(
|
|
666
|
+
validator: (value?: string | null, meta?: ValidationMeta) => void
|
|
667
|
+
): UuidColumnTypeDef<M>;
|
|
668
|
+
};
|
|
669
|
+
type StringValidator<M> = M extends NotNull
|
|
670
|
+
? {
|
|
671
|
+
validate(validator: (value: string, meta?: ValidationMeta) => void): StringColumnTypeDef<M>;
|
|
672
|
+
}
|
|
673
|
+
: {
|
|
674
|
+
validate(
|
|
675
|
+
validator: (value?: string | null, meta?: ValidationMeta) => void
|
|
676
|
+
): StringColumnTypeDef<M>;
|
|
677
|
+
};
|
|
678
|
+
type NumericValidator<M> = M extends NotNull
|
|
679
|
+
? {
|
|
680
|
+
validate(validator: (value: number, meta?: ValidationMeta) => void): NumericColumnTypeDef<M>;
|
|
681
|
+
}
|
|
682
|
+
: {
|
|
683
|
+
validate(
|
|
684
|
+
validator: (value?: number | null, meta?: ValidationMeta) => void
|
|
685
|
+
): NumericColumnTypeDef<M>;
|
|
686
|
+
};
|
|
687
|
+
type BigIntValidator<M> = M extends NotNull
|
|
688
|
+
? {
|
|
689
|
+
validate(validator: (value: bigint, meta?: ValidationMeta) => void): BigIntColumnTypeDef<M>;
|
|
690
|
+
}
|
|
691
|
+
: {
|
|
692
|
+
validate(
|
|
693
|
+
validator: (value?: bigint | null, meta?: ValidationMeta) => void
|
|
694
|
+
): BigIntColumnTypeDef<M>;
|
|
695
|
+
};
|
|
696
|
+
type BinaryValidator<M> = M extends NotNull
|
|
697
|
+
? {
|
|
698
|
+
validate(validator: (value: string, meta?: ValidationMeta) => void): BinaryColumnTypeDef<M>;
|
|
699
|
+
}
|
|
700
|
+
: {
|
|
701
|
+
validate(
|
|
702
|
+
validator: (value?: string | null, meta?: ValidationMeta) => void
|
|
703
|
+
): BinaryColumnTypeDef<M>;
|
|
704
|
+
};
|
|
705
|
+
type BooleanValidator<M> = M extends NotNull
|
|
706
|
+
? {
|
|
707
|
+
validate(validator: (value: boolean, meta?: ValidationMeta) => void): BooleanColumnTypeDef<M>;
|
|
708
|
+
}
|
|
709
|
+
: {
|
|
710
|
+
validate(
|
|
711
|
+
validator: (value?: boolean | null, meta?: ValidationMeta) => void
|
|
712
|
+
): BooleanColumnTypeDef<M>;
|
|
713
|
+
};
|
|
714
|
+
type JSONValidator<M> = M extends NotNull
|
|
715
|
+
? {
|
|
716
|
+
validate(
|
|
717
|
+
validator: (value: ToJsonType<M>, meta?: ValidationMeta) => void
|
|
718
|
+
): JSONColumnTypeDef<M>;
|
|
719
|
+
}
|
|
720
|
+
: {
|
|
721
|
+
validate(
|
|
722
|
+
validator: (value?: ToJsonType<M> | null, meta?: ValidationMeta) => void
|
|
723
|
+
): JSONColumnTypeDef<M>;
|
|
724
|
+
};
|
|
725
|
+
type DateValidator<M> = M extends NotNull
|
|
726
|
+
? {
|
|
727
|
+
validate(
|
|
728
|
+
validator: (value: string | Date, meta?: ValidationMeta) => void
|
|
729
|
+
): DateColumnTypeDef<M>;
|
|
730
|
+
}
|
|
731
|
+
: {
|
|
732
|
+
validate(
|
|
733
|
+
validator: (value?: string | Date | null, meta?: ValidationMeta) => void
|
|
734
|
+
): DateColumnTypeDef<M>;
|
|
735
|
+
};
|
|
736
|
+
|
|
737
|
+
type DateWithTimeZoneValidator<M> = M extends NotNull
|
|
738
|
+
? {
|
|
739
|
+
validate(
|
|
740
|
+
validator: (value: string | Date, meta?: ValidationMeta) => void
|
|
741
|
+
): DateWithTimeZoneColumnTypeDef<M>;
|
|
742
|
+
}
|
|
743
|
+
: {
|
|
744
|
+
validate(
|
|
745
|
+
validator: (value?: string | Date | null, meta?: ValidationMeta) => void
|
|
746
|
+
): DateWithTimeZoneColumnTypeDef<M>;
|
|
747
|
+
};
|
|
674
748
|
|
|
675
749
|
type StringColumnTypeDef<M> = StringValidator<M> & {
|
|
676
750
|
enum<const V extends readonly string[]>(values: V): StringColumnTypeDef<M & EnumOf<V[number]>> & EnumOf<V[number]>;
|
|
@@ -789,7 +863,7 @@ type DateColumnTypeDef<M> = DateValidator<M> & {
|
|
|
789
863
|
} & ColumnTypeOf<DateColumnType<M>> &
|
|
790
864
|
M;
|
|
791
865
|
|
|
792
|
-
type DateWithTimeZoneColumnTypeDef<M> =
|
|
866
|
+
type DateWithTimeZoneColumnTypeDef<M> = DateValidator<M> & {
|
|
793
867
|
enum<const V extends Record<string, string | Date>>(values: V): DateWithTimeZoneColumnTypeDef<M & EnumOf<V[keyof V]>> & EnumOf<V[keyof V]>;
|
|
794
868
|
enum<TEnum>(values: Record<string, TEnum>): DateWithTimeZoneColumnTypeDef<M & EnumOf<TEnum>> & EnumOf<TEnum>;
|
|
795
869
|
enum<E extends string | Date>(values: readonly E[]): DateWithTimeZoneColumnTypeDef<M & EnumOf<E>> & EnumOf<E>;
|