orange-orm 5.2.3-beta2 → 5.2.3
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 +2 -0
- package/package.json +1 -1
- package/src/map.d.ts +89 -15
package/docs/changelog.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
## Changelog
|
|
2
|
+
__5.2.3__
|
|
3
|
+
Pass table and column and other metadata to custom validate function [#165](https://github.com/alfateam/orange-orm/issues/165)
|
|
2
4
|
__5.2.2__
|
|
3
5
|
Bugfix: jsonOf<T>() exists in type definitions but is missing at runtime [#166](https://github.com/alfateam/orange-orm/issues/166)
|
|
4
6
|
__5.2.1__
|
package/package.json
CHANGED
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>;
|