Allow null as a valid value for .enu/.enum (#5116)

When using the `useNative` and `existingType` options, the value isn't utilized.
The documentation uses `null` as an example, this commit allows said example
to pass in typescript


close #5114
This commit is contained in:
Richard 2022-04-19 03:06:01 -06:00 committed by GitHub
parent 939d8a219c
commit 0e81a65f4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -102,6 +102,12 @@ const main = async () => {
table.integer('num').references('id').inTable('non_exist').onDelete('CASCADE').withKeyName('non_for6').deferrable('deferred');
table.integer('num').references('id').withKeyName('non_for7').onDelete('CASCADE').deferrable('deferred').inTable('non_exist');
table.enu("myenum", null, {
enumName:"MyEnum",
useNative: true,
existingType: true,
});
expectType<Knex.ReferencingColumnBuilder>(
table.integer('num').references('id').withKeyName('non_for7').onDelete('CASCADE')
.index('idx') // this shouldn't break type in chain

4
types/index.d.ts vendored
View File

@ -2097,12 +2097,12 @@ export declare namespace Knex {
binary(columnName: string, length?: number): ColumnBuilder;
enum(
columnName: string,
values: readonly Value[],
values: (readonly Value[]) | null,
options?: EnumOptions
): ColumnBuilder;
enu(
columnName: string,
values: readonly Value[],
values: (readonly Value[]) | null,
options?: EnumOptions
): ColumnBuilder;
json(columnName: string): ColumnBuilder;