增加FloatArray列定义

This commit is contained in:
2025-03-20 17:25:57 +08:00
parent 1896efa891
commit 871b441163
3 changed files with 26 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@yizhi/postgres", "name": "@yizhi/postgres",
"version": "1.0.16", "version": "1.0.17",
"main": "dist/index.js", "main": "dist/index.js",
"types": "typing/index.d.ts", "types": "typing/index.d.ts",
"scripts": {}, "scripts": {},

View File

@ -313,6 +313,30 @@ export function IntArrayColumn(name?: any, option?: any) {
}, option?.virtual ?? false, { bytes }); }, option?.virtual ?? false, { bytes });
} }
/**
* 定义浮点数组可以通过option.bytes来设置浮点数长度默认为4
* @param name 字段名称
* @param option 字段选项
*/
export function FloatArrayColumn(name: string, option?: { bytes?: 4 | 8, virtual?: boolean }): Decorators.PropDecorator<BasicEntity>
export function FloatArrayColumn(option?: { bytes?: 4 | 8, virtual?: boolean }): Decorators.PropDecorator<BasicEntity>
export function FloatArrayColumn(name?: any, option?: any) {
if (typeof name != "string") {
option = name
name = undefined
}
const bytes = option?.bytes ?? 4;
return _Array("float", name, `float${bytes}[]`, item => {
item = parseFloat(item);
if (isNaN(item) || !isFinite(item)) return null;
return item.toString();
}, item => {
item = parseFloat(item);
if (isNaN(item) || !isFinite(item)) return null;
return item;
}, option?.virtual ?? false, { bytes });
}
/** /**
* 定义字符串数组 * 定义字符串数组
* @param name 字段名称 * @param name 字段名称

View File

@ -3,7 +3,7 @@ import "./types";
export { export {
Table, Table,
Field, IntColumn, FloatColumn, StringColumn, BooleanColumn, DateColumn, DateTimeColumn, JsonColumn, Field, IntColumn, FloatColumn, StringColumn, BooleanColumn, DateColumn, DateTimeColumn, JsonColumn,
IntArrayColumn, StringArrayColumn, IntArrayColumn, FloatArrayColumn, StringArrayColumn,
TSVectorColumn, TSVectorColumn,
Int4RangeColumn, FloatRangeColumn, DateRangeColumn, DateTimeRangeColumn, Int4RangeColumn, FloatRangeColumn, DateRangeColumn, DateTimeRangeColumn,
JoinOne, JoinMany, JoinOne, JoinMany,