@ram_28/kf-ai-sdk 2.0.1 → 2.0.2
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 +36 -39
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/metadata.d.ts +26 -22
- package/dist/api/metadata.d.ts.map +1 -1
- package/dist/api.cjs +1 -1
- package/dist/api.mjs +3 -3
- package/dist/auth.cjs +1 -1
- package/dist/auth.mjs +2 -2
- package/dist/base-types.d.ts +1 -1
- package/dist/base-types.d.ts.map +1 -1
- package/dist/bdo/core/BaseBdo.d.ts +8 -20
- package/dist/bdo/core/BaseBdo.d.ts.map +1 -1
- package/dist/bdo/core/Item.d.ts +8 -44
- package/dist/bdo/core/Item.d.ts.map +1 -1
- package/dist/bdo/core/types.d.ts +124 -41
- package/dist/bdo/core/types.d.ts.map +1 -1
- package/dist/bdo/fields/ArrayField.d.ts +5 -4
- package/dist/bdo/fields/ArrayField.d.ts.map +1 -1
- package/dist/bdo/fields/BaseField.d.ts +14 -19
- package/dist/bdo/fields/BaseField.d.ts.map +1 -1
- package/dist/bdo/fields/BooleanField.d.ts +3 -4
- package/dist/bdo/fields/BooleanField.d.ts.map +1 -1
- package/dist/bdo/fields/DateField.d.ts +3 -4
- package/dist/bdo/fields/DateField.d.ts.map +1 -1
- package/dist/bdo/fields/DateTimeField.d.ts +5 -4
- package/dist/bdo/fields/DateTimeField.d.ts.map +1 -1
- package/dist/bdo/fields/FileField.d.ts +18 -0
- package/dist/bdo/fields/FileField.d.ts.map +1 -0
- package/dist/bdo/fields/NumberField.d.ts +6 -4
- package/dist/bdo/fields/NumberField.d.ts.map +1 -1
- package/dist/bdo/fields/ObjectField.d.ts +5 -4
- package/dist/bdo/fields/ObjectField.d.ts.map +1 -1
- package/dist/bdo/fields/ReferenceField.d.ts +13 -14
- package/dist/bdo/fields/ReferenceField.d.ts.map +1 -1
- package/dist/bdo/fields/SelectField.d.ts +9 -16
- package/dist/bdo/fields/SelectField.d.ts.map +1 -1
- package/dist/bdo/fields/StringField.d.ts +6 -4
- package/dist/bdo/fields/StringField.d.ts.map +1 -1
- package/dist/bdo/fields/TextAreaField.d.ts +1 -18
- package/dist/bdo/fields/TextAreaField.d.ts.map +1 -1
- package/dist/bdo/fields/TextField.d.ts +22 -0
- package/dist/bdo/fields/TextField.d.ts.map +1 -0
- package/dist/bdo/fields/UserField.d.ts +20 -0
- package/dist/bdo/fields/UserField.d.ts.map +1 -0
- package/dist/bdo/fields/index.d.ts +5 -2
- package/dist/bdo/fields/index.d.ts.map +1 -1
- package/dist/bdo/index.d.ts +2 -2
- package/dist/bdo/index.d.ts.map +1 -1
- package/dist/bdo.cjs +1 -1
- package/dist/bdo.d.ts +1 -5
- package/dist/bdo.d.ts.map +1 -1
- package/dist/bdo.mjs +312 -242
- package/dist/bdo.types.d.ts +2 -3
- package/dist/bdo.types.d.ts.map +1 -1
- package/dist/client-Bo-RLKJi.cjs +1 -0
- package/dist/client-eA4VvNTo.js +178 -0
- package/dist/components/hooks/useFilter/useFilter.d.ts.map +1 -1
- package/dist/components/hooks/useForm/createItemProxy.d.ts.map +1 -1
- package/dist/components/hooks/useForm/createResolver.d.ts +12 -2
- package/dist/components/hooks/useForm/createResolver.d.ts.map +1 -1
- package/dist/components/hooks/useForm/index.d.ts +1 -1
- package/dist/components/hooks/useForm/index.d.ts.map +1 -1
- package/dist/components/hooks/useForm/types.d.ts +62 -6
- package/dist/components/hooks/useForm/types.d.ts.map +1 -1
- package/dist/components/hooks/useForm/useForm.d.ts +1 -27
- package/dist/components/hooks/useForm/useForm.d.ts.map +1 -1
- package/dist/components/hooks/useTable/useTable.d.ts.map +1 -1
- package/dist/{constants-DaX7GLgl.js → constants-CM9xOACN.js} +37 -13
- package/dist/constants-D0J69if5.cjs +1 -0
- package/dist/filter.cjs +1 -1
- package/dist/filter.mjs +2 -2
- package/dist/form.cjs +1 -1
- package/dist/form.d.ts +1 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/form.mjs +879 -809
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/{metadata-Bz8zJqC1.cjs → metadata-BN57S6W9.cjs} +1 -1
- package/dist/{metadata-VbQzyD2C.js → metadata-P7DGCgIG.js} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.mjs +74 -70
- package/dist/types/base-fields.d.ts +24 -59
- package/dist/types/base-fields.d.ts.map +1 -1
- package/dist/useFilter-Bg0jvIL6.cjs +1 -0
- package/dist/useFilter-DPNLKY3H.js +118 -0
- package/dist/utils/formatting.d.ts +10 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/docs/api.md +140 -572
- package/docs/bdo.md +742 -0
- package/docs/useAuth.md +10 -4
- package/docs/useFilter.md +40 -40
- package/docs/useForm.md +91 -62
- package/docs/useTable.md +38 -38
- package/package.json +1 -1
- package/sdk/api/client.ts +52 -65
- package/sdk/api/metadata.ts +22 -20
- package/sdk/base-types.ts +5 -9
- package/sdk/bdo/core/BaseBdo.ts +13 -38
- package/sdk/bdo/core/Item.ts +34 -56
- package/sdk/bdo/core/types.ts +147 -45
- package/sdk/bdo/fields/ArrayField.ts +9 -5
- package/sdk/bdo/fields/BaseField.ts +19 -29
- package/sdk/bdo/fields/BooleanField.ts +4 -5
- package/sdk/bdo/fields/DateField.ts +4 -5
- package/sdk/bdo/fields/DateTimeField.ts +9 -5
- package/sdk/bdo/fields/FileField.ts +39 -0
- package/sdk/bdo/fields/NumberField.ts +8 -5
- package/sdk/bdo/fields/ObjectField.ts +9 -5
- package/sdk/bdo/fields/ReferenceField.ts +22 -28
- package/sdk/bdo/fields/SelectField.ts +13 -26
- package/sdk/bdo/fields/StringField.ts +10 -5
- package/sdk/bdo/fields/TextAreaField.ts +3 -32
- package/sdk/bdo/fields/TextField.ts +42 -0
- package/sdk/bdo/fields/UserField.ts +52 -0
- package/sdk/bdo/fields/index.ts +5 -2
- package/sdk/bdo/index.ts +19 -4
- package/sdk/bdo.ts +4 -31
- package/sdk/bdo.types.ts +26 -21
- package/sdk/components/hooks/useFilter/useFilter.ts +13 -30
- package/sdk/components/hooks/useForm/createItemProxy.ts +47 -11
- package/sdk/components/hooks/useForm/createResolver.ts +65 -6
- package/sdk/components/hooks/useForm/index.ts +3 -0
- package/sdk/components/hooks/useForm/types.ts +75 -6
- package/sdk/components/hooks/useForm/useForm.ts +35 -50
- package/sdk/components/hooks/useTable/useTable.ts +10 -2
- package/sdk/form.ts +1 -12
- package/sdk/index.ts +3 -3
- package/sdk/types/base-fields.ts +28 -72
- package/sdk/utils/formatting.ts +13 -1
- package/dist/client-BIkaIr2y.js +0 -217
- package/dist/client-DxjRcEtN.cjs +0 -1
- package/dist/constants-C49b9Exc.cjs +0 -1
- package/dist/useFilter-DzpP_ag0.cjs +0 -1
- package/dist/useFilter-H5bgAZQF.js +0 -120
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { TextFieldMetaType, ValidationResultType } from "../core/types";
|
|
2
|
+
import { BaseField } from "./BaseField";
|
|
3
|
+
/** Text field value type */
|
|
4
|
+
export type TextFieldValueType = string;
|
|
5
|
+
/**
|
|
6
|
+
* Field definition for multi-line text fields
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* readonly Description = new TextField({
|
|
11
|
+
* _id: "Description", Name: "Description", Type: "Text",
|
|
12
|
+
* Constraint: { Format: "Markdown" },
|
|
13
|
+
* });
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class TextField extends BaseField<TextFieldValueType> {
|
|
17
|
+
constructor(meta: TextFieldMetaType);
|
|
18
|
+
/** Text-specific: format */
|
|
19
|
+
get format(): "Plain" | "Markdown";
|
|
20
|
+
validate(value: TextFieldValueType | undefined): ValidationResultType;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/fields/TextField.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,4BAA4B;AAC5B,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,SAAS,CAAC,kBAAkB,CAAC;gBAC9C,IAAI,EAAE,iBAAiB;IAInC,4BAA4B;IAC5B,IAAI,MAAM,IAAI,OAAO,GAAG,UAAU,CAEjC;IAED,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,GAAG,oBAAoB;CAStE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { UserFieldType } from "../../types/base-fields";
|
|
2
|
+
import type { UserFieldMetaType, ValidationResultType } from "../core/types";
|
|
3
|
+
import { BaseField } from "./BaseField";
|
|
4
|
+
/**
|
|
5
|
+
* Field definition for user reference fields
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* readonly _created_by = new UserField({
|
|
10
|
+
* _id: "_created_by", Name: "Created By", Type: "User", ReadOnly: true,
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare class UserField extends BaseField<UserFieldType> {
|
|
15
|
+
constructor(meta: UserFieldMetaType);
|
|
16
|
+
/** Business entity ID for user lookup */
|
|
17
|
+
get businessEntity(): string | undefined;
|
|
18
|
+
validate(value: UserFieldType | undefined): ValidationResultType;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=UserField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserField.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/fields/UserField.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;GASG;AACH,qBAAa,SAAU,SAAQ,SAAS,CAAC,aAAa,CAAC;gBACzC,IAAI,EAAE,iBAAiB;IAInC,yCAAyC;IACzC,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,oBAAoB;CAsBjE"}
|
|
@@ -3,10 +3,13 @@ export { StringField } from "./StringField";
|
|
|
3
3
|
export { NumberField } from "./NumberField";
|
|
4
4
|
export { BooleanField } from "./BooleanField";
|
|
5
5
|
export { DateTimeField } from "./DateTimeField";
|
|
6
|
+
export { DateField } from "./DateField";
|
|
6
7
|
export { SelectField } from "./SelectField";
|
|
7
8
|
export { ReferenceField } from "./ReferenceField";
|
|
8
9
|
export { ArrayField } from "./ArrayField";
|
|
9
|
-
export { DateField } from "./DateField";
|
|
10
|
-
export { TextAreaField } from "./TextAreaField";
|
|
11
10
|
export { ObjectField } from "./ObjectField";
|
|
11
|
+
export { TextField } from "./TextField";
|
|
12
|
+
export { UserField } from "./UserField";
|
|
13
|
+
export { FileField } from "./FileField";
|
|
14
|
+
export { TextAreaField } from "./TextAreaField";
|
|
12
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/fields/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sdk/bdo/fields/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/bdo/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { BaseBdo, type SystemFields } from "./core/BaseBdo";
|
|
2
2
|
export { Item, type ItemType, type FieldAccessorType, type EditableFieldAccessorType, type ReadonlyFieldAccessorType, } from "./core/Item";
|
|
3
|
-
export type { BdoMetaType, ValidationResultType, SelectOptionType,
|
|
4
|
-
export { BaseField, StringField, NumberField, BooleanField, DateTimeField, SelectField, ReferenceField, ArrayField, } from "./fields";
|
|
3
|
+
export type { BdoMetaType, ValidationResultType, SelectOptionType, BaseFieldMetaType, BaseConstraintType, StringFieldMetaType, TextFieldMetaType, NumberFieldMetaType, BooleanFieldMetaType, DateFieldMetaType, DateTimeFieldMetaType, SelectFieldMetaType, ReferenceFieldMetaType, UserFieldMetaType, ArrayFieldMetaType, ObjectFieldMetaType, FileFieldMetaType, BaseFieldAccessorType, } from "./core/types";
|
|
4
|
+
export { BaseField, StringField, NumberField, BooleanField, DateTimeField, DateField, TextField, TextAreaField, SelectField, ReferenceField, ArrayField, ObjectField, UserField, FileField, } from "./fields";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/bdo/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/bdo/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/bdo/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,GACV,MAAM,UAAU,CAAC"}
|
package/dist/bdo.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var N=Object.defineProperty;var p=(r,e,t)=>e in r?N(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var n=(r,e,t)=>p(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./client-DxjRcEtN.cjs"),y=require("./constants-C49b9Exc.cjs");class h{constructor(e,t){n(this,"_data");n(this,"_bdo");n(this,"_accessorCache",new Map);return this._bdo=e,this._data={...t},new Proxy(this,{get(i,s,a){return s==="validate"||s==="toJSON"||s==="_bdo"||s==="_data"||s==="_accessorCache"||s==="_getAccessor"||typeof s=="symbol"?Reflect.get(i,s,a):s==="_id"?i._data._id:i._getAccessor(s)},set(i,s,a){return s==="_bdo"||s==="_data"||s==="_accessorCache"||s==="validate"||s==="toJSON"?!1:typeof s=="symbol"?Reflect.set(i,s,a):(i._data[s]=a,!0)},has(i,s){return s==="validate"||s==="toJSON"?!0:s in i._data||s in i._bdo.getFields()},ownKeys(i){return[...Object.keys(i._bdo.getFields()),"validate","toJSON"]},getOwnPropertyDescriptor(i,s){if(s==="validate"||s==="toJSON")return{configurable:!0,enumerable:!1,value:i[s]};const a=i._bdo.getFields();if(s in a||s in i._data)return{configurable:!0,enumerable:!0,get:()=>i._getAccessor(s)}}})}_getAccessor(e){if(this._accessorCache.has(e))return this._accessorCache.get(e);const i=this._bdo.getFields()[e],s=(i==null?void 0:i.meta)??{id:e,label:e,isEditable:!0},a=s.isEditable,l=()=>{if(i){const c=i.validate(this._data[e]);if(!c.valid)return c}return this._bdo.hasMetadata()?this._bdo.validateFieldExpression(e,this._data[e],this.toJSON()):{valid:!0,errors:[]}};let o;return a?o={meta:s,get:()=>this._data[e],set:c=>{this._data[e]=c},validate:l}:o={meta:s,get:()=>this._data[e],validate:l},this._accessorCache.set(e,o),o}validate(){const e=this._bdo.getFields(),t=[],i=this.toJSON();for(const[s,a]of Object.entries(e)){const l=this._data[s],o=a.validate(l);if(!o.valid){t.push(...o.errors);continue}if(this._bdo.hasMetadata()){const c=this._bdo.validateFieldExpression(s,l,i);c.valid||t.push(...c.errors)}}return{valid:t.length===0,errors:t}}toJSON(){return{...this._data}}}class u{constructor(e){n(this,"id");n(this,"label");n(this,"editable");n(this,"_parentBoId");this.id=e.id,this.label=e.label,this.editable=e.editable??!0}get meta(){return{id:this.id,label:this.label,isEditable:this.editable}}}class m extends u{constructor(e){super(e)}validate(e){return e!=null&&typeof e!="string"?{valid:!1,errors:[`${this.label} must be a string`]}:{valid:!0,errors:[]}}}class b extends u{constructor(e){super(e)}validate(e){if(e==null||e==="")return{valid:!0,errors:[]};if(typeof e!="string")return{valid:!1,errors:[`${this.label} must be a valid date string`]};const t=new Date(e);return isNaN(t.getTime())?{valid:!1,errors:[`${this.label} is not a valid date`]}:{valid:!0,errors:[]}}}class _ extends u{constructor(t){super(t);n(this,"referenceBdo");n(this,"referenceFields");this.referenceBdo=t.referenceBdo,this.referenceFields=t.referenceFields??["_id"]}validate(t){if(t==null)return{valid:!0,errors:[]};if(typeof t!="object")return{valid:!1,errors:[`${this.label} must be a valid reference object`]};const i=t;return!("_id"in i)||typeof i._id!="string"?{valid:!1,errors:[`${this.label} must have a valid _id`]}:{valid:!0,errors:[]}}async fetchOptions(t){if(!this._parentBoId)throw new Error(`Field ${this.id} not bound to a BDO. Cannot fetch options.`);return d.api(this._parentBoId).fetchField(t??"new",this.id)}get meta(){return{id:this.id,label:this.label,isEditable:this.editable,reference:{bdo:this.referenceBdo,fields:[...this.referenceFields]}}}}const v={CONCAT:(...r)=>r.map(e=>String(e??"")).join(""),UPPER:r=>String(r??"").toUpperCase(),LOWER:r=>String(r??"").toLowerCase(),TRIM:r=>String(r??"").trim(),LENGTH:r=>String(r??"").length,SUBSTRING:(r,e,t)=>String(r??"").substring(e,t!==void 0?e+t:void 0),REPLACE:(r,e,t)=>String(r??"").replace(e,t),SUM:(...r)=>r.reduce((e,t)=>e+(Number(t)||0),0),AVG:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t)));return e.length===0?0:e.reduce((t,i)=>t+Number(i),0)/e.length},MIN:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.min(...e)},MAX:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.max(...e)},ABS:r=>Math.abs(Number(r)||0),ROUND:r=>Math.round(Number(r)||0),FLOOR:r=>Math.floor(Number(r)||0),CEIL:r=>Math.ceil(Number(r)||0),YEAR:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getFullYear()},MONTH:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getMonth()+1},DAY:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getDate()},DATE_DIFF:(r,e)=>{const t=new Date(r),i=new Date(e);if(isNaN(t.getTime())||isNaN(i.getTime()))return 0;const s=Math.abs(t.getTime()-i.getTime());return Math.ceil(s/(1e3*60*60*24))},ADD_DAYS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setDate(t.getDate()+e),t)},ADD_MONTHS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setMonth(t.getMonth()+e),t)},IF:(r,e,t)=>r?e:t,UUID:()=>typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})};function x(){const r=new Date;return{NOW:r,TODAY:new Date(r.getFullYear(),r.getMonth(),r.getDate()),CURRENT_USER:{Id:"",Email:"",FirstName:"",LastName:""}}}function f(r,e){var t;switch(r.Type){case"Literal":return r.Value;case"Identifier":return e.formValues[r.Name];case"SystemIdentifier":return w(r,e);case"BinaryExpression":return F(r,e);case"LogicalExpression":return E(r,e);case"CallExpression":return D(r,e);case"MemberExpression":return A(r,e);case"AssignmentExpression":return((t=r.Arguments)==null?void 0:t.length)===1?f(r.Arguments[0],e):void 0;default:throw new Error(`Unsupported expression type: ${r.Type}`)}}function w(r,e){const t=r.Name,i=e.systemValues[t];return r.Property?i&&typeof i=="object"?i[r.Property.Name]:void 0:i}function F(r,e){if(!r.Arguments||r.Arguments.length<2)throw new Error("BinaryExpression requires 2 arguments");const[t,i]=r.Arguments,s=f(t,e),a=f(i,e);switch(r.Operator){case"==":return s==a;case"!=":return s!=a;case"<":return Number(s)<Number(a);case"<=":return Number(s)<=Number(a);case">":return Number(s)>Number(a);case">=":return Number(s)>=Number(a);case"+":return Number(s)+Number(a);case"-":return Number(s)-Number(a);case"*":return Number(s)*Number(a);case"/":return Number(a)!==0?Number(s)/Number(a):0;case"%":return Number(s)%Number(a);default:throw new Error(`Unsupported binary operator: ${r.Operator}`)}}function E(r,e){if(!r.Arguments||r.Arguments.length===0)throw new Error("LogicalExpression requires at least 1 argument");const t=r.Arguments;switch(r.Operator){case"AND":return t.every(i=>!!f(i,e));case"OR":return t.some(i=>!!f(i,e));case"!":return!f(t[0],e);default:throw new Error(`Unsupported logical operator: ${r.Operator}`)}}function D(r,e){if(!r.Callee)throw new Error("CallExpression requires a Callee");const t=v[r.Callee];if(!t)throw new Error(`Unknown function: ${r.Callee}`);const i=(r.Arguments??[]).map(s=>f(s,e));return t(...i)}function A(r,e){var s,a;if(!((s=r.Arguments)!=null&&s.length))return;const t=f(r.Arguments[0],e),i=(a=r.Arguments[0].Property)==null?void 0:a.Name;return i&&t&&typeof t=="object"?t[i]:t}class M{constructor(){n(this,"fieldRules",new Map);n(this,"metadata",null)}loadMetadata(e){var t,i;this.metadata=e,this.fieldRules.clear();for(const[s,a]of Object.entries(e.Fields)){const l=[];if(a.Validation&&Array.isArray(a.Validation)){for(const o of a.Validation)if(typeof o=="object"&&o.ExpressionTree)l.push(o);else if(typeof o=="string"){const c=(i=(t=e.Rules)==null?void 0:t.Validation)==null?void 0:i[o];c&&l.push(c)}}l.length>0&&this.fieldRules.set(s,l)}}hasMetadata(){return this.metadata!==null}getFieldRules(e){return this.fieldRules.get(e)??[]}validateField(e,t,i){const s=this.fieldRules.get(e);if(!s||s.length===0)return{valid:!0,errors:[]};const a={formValues:{...i,[e]:t},systemValues:x()};for(const l of s)try{if(!f(l.ExpressionTree,a))return{valid:!1,errors:[l.Message||`Validation failed: ${l.Name||l.Id}`]}}catch(o){console.warn(`Expression evaluation failed for rule ${l.Id}:`,o)}return{valid:!0,errors:[]}}validateAll(e){const t=[];for(const i of this.fieldRules.keys()){const s=this.validateField(i,e[i],e);s.valid||t.push(...s.errors)}return{valid:t.length===0,errors:t}}}const g="SYS_User";class O{constructor(){n(this,"_id",new m({id:"_id",label:"ID"}));n(this,"_created_at",new b({id:"_created_at",label:"Created At"}));n(this,"_modified_at",new b({id:"_modified_at",label:"Modified At"}));n(this,"_created_by",new _({id:"_created_by",label:"Created By",referenceBdo:g,referenceFields:["_id","username"]}));n(this,"_modified_by",new _({id:"_modified_by",label:"Modified By",referenceBdo:g,referenceFields:["_id","username"]}));n(this,"_version",new m({id:"_version",label:"Version"}));n(this,"_m_version",new m({id:"_m_version",label:"Metadata Version"}));n(this,"_fieldsBound",!1);n(this,"_fieldsCache",null);n(this,"_expressionEngine",new M)}getFields(){if(this._fieldsCache)return this._fieldsCache;const e={};for(const t of Object.keys(this)){const i=this[t];i instanceof u&&(e[t]=i)}if(!this._fieldsBound){for(const t of Object.values(e))t._parentBoId=this.meta._id;this._fieldsBound=!0}return this._fieldsCache=e,e}loadMetadata(e){this._expressionEngine.loadMetadata(e)}hasMetadata(){return this._expressionEngine.hasMetadata()}validateFieldExpression(e,t,i){return this._expressionEngine.hasMetadata()?this._expressionEngine.validateField(e,t,i):{valid:!0,errors:[]}}async get(e){const t=await d.api(this.meta._id).get(e);return new h(this,t)}async list(e){return(await d.api(this.meta._id).list(e)).Data.map(i=>new h(this,i))}async count(e){return(await d.api(this.meta._id).count(e)).Count}async create(e){const t=await d.api(this.meta._id).create(e);return new h(this,{...e,_id:t._id})}async update(e,t){return d.api(this.meta._id).update(e,t)}async delete(e){return d.api(this.meta._id).delete(e)}async draft(e){return d.api(this.meta._id).draft(e)}async draftInteraction(e){return d.api(this.meta._id).draftInteraction(e)}createItem(e){return new h(this,e??{})}async draftPatch(e,t){return d.api(this.meta._id).draftPatch(e,t)}async metric(e){return d.api(this.meta._id).metric(e)}async pivot(e){return d.api(this.meta._id).pivot(e)}}class S extends u{constructor(e){super(e)}validate(e){return e!=null&&(typeof e!="number"||isNaN(e))?{valid:!1,errors:[`${this.label} must be a valid number`]}:{valid:!0,errors:[]}}}class B extends u{constructor(e){super(e)}validate(e){return e!=null&&typeof e!="boolean"?{valid:!1,errors:[`${this.label} must be a boolean`]}:{valid:!0,errors:[]}}}class T extends u{constructor(t){super(t);n(this,"options");this.options=t.options}validate(t){if(t==null||t==="")return{valid:!0,errors:[]};if(this.options.length===0)return{valid:!0,errors:[]};const i=this.options.map(s=>s.value);return i.includes(t)?{valid:!0,errors:[]}:{valid:!1,errors:[`${this.label} must be one of: ${i.join(", ")}`]}}async fetchOptions(t){if(!this._parentBoId)throw new Error(`Field ${this.id} not bound to a BDO. Cannot fetch options.`);return(await d.api(this._parentBoId).fetchField(t??"new",this.id)).map(s=>({value:s.Value,label:s.Label}))}get meta(){return{id:this.id,label:this.label,isEditable:this.editable,options:this.options}}}class C extends u{constructor(e){super(e)}validate(e){return e!=null&&!Array.isArray(e)?{valid:!1,errors:[`${this.label} must be an array`]}:{valid:!0,errors:[]}}}class R extends u{constructor(e){super(e)}validate(e){if(e==null||e==="")return{valid:!0,errors:[]};if(typeof e!="string")return{valid:!1,errors:[`${this.label} must be a valid date string`]};if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return{valid:!1,errors:[`${this.label} must be in YYYY-MM-DD format`]};const t=new Date(e+"T00:00:00");return isNaN(t.getTime())?{valid:!1,errors:[`${this.label} is not a valid date`]}:{valid:!0,errors:[]}}}class $ extends u{constructor(e){super(e)}validate(e){return e!=null&&typeof e!="string"?{valid:!1,errors:[`${this.label} must be a string`]}:{valid:!0,errors:[]}}}class j extends u{constructor(e){super(e)}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid object`]}:{valid:!0,errors:[]}}}exports.SystemField=y.SystemField;exports.ArrayField=C;exports.BaseBdo=O;exports.BooleanField=B;exports.DateField=R;exports.DateTimeField=b;exports.NumberField=S;exports.ObjectField=j;exports.ReferenceField=_;exports.SelectField=T;exports.StringField=m;exports.TextAreaField=$;
|
|
1
|
+
"use strict";var y=Object.defineProperty;var p=(r,e,t)=>e in r?y(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var n=(r,e,t)=>p(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./client-Bo-RLKJi.cjs"),N=require("./constants-D0J69if5.cjs");class f{constructor(e,t){n(this,"_data");n(this,"_bdo");n(this,"_accessorCache",new Map);return this._bdo=e,this._data={...t},new Proxy(this,{get(s,a,i){return a==="validate"||a==="toJSON"||a==="_bdo"||a==="_data"||a==="_accessorCache"||a==="_getAccessor"||typeof a=="symbol"?Reflect.get(s,a,i):a==="_id"?s._data._id:s._getAccessor(a)},set(s,a,i){return a==="_bdo"||a==="_data"||a==="_accessorCache"||a==="validate"||a==="toJSON"?!1:typeof a=="symbol"?Reflect.set(s,a,i):(s._data[a]=i,!0)},has(s,a){return a==="validate"||a==="toJSON"?!0:a in s._data||a in s._bdo.getFields()},ownKeys(s){return[...Object.keys(s._bdo.getFields()),"validate","toJSON"]},getOwnPropertyDescriptor(s,a){if(a==="validate"||a==="toJSON")return{configurable:!0,enumerable:!1,value:s[a]};const i=s._bdo.getFields();if(a in i||a in s._data)return{configurable:!0,enumerable:!0,get:()=>s._getAccessor(a)}}})}_getAccessor(e){if(this._accessorCache.has(e))return this._accessorCache.get(e);const s=this._bdo.getFields()[e],a=(s==null?void 0:s.meta)??{_id:e,Name:e,Type:"String"},i=(s==null?void 0:s.readOnly)??!1,l=()=>{if(s){const c=s.validate(this._data[e]);if(!c.valid)return c}return this._bdo.hasMetadata()?this._bdo.validateFieldExpression(e,this._data[e],this.toJSON()):{valid:!0,errors:[]}};let o;return i?o={label:(s==null?void 0:s.label)??e,required:(s==null?void 0:s.required)??!1,readOnly:!0,defaultValue:s==null?void 0:s.defaultValue,meta:a,get:()=>this._data[e],validate:l}:o={label:(s==null?void 0:s.label)??e,required:(s==null?void 0:s.required)??!1,readOnly:!1,defaultValue:s==null?void 0:s.defaultValue,meta:a,get:()=>this._data[e],set:c=>{this._data[e]=c},validate:l},this._accessorCache.set(e,o),o}validate(){const e=this._bdo.getFields(),t=[],s=this.toJSON();for(const[a,i]of Object.entries(e)){if(i.readOnly)continue;const l=this._data[a],o=i.validate(l);if(!o.valid){t.push(...o.errors);continue}if(this._bdo.hasMetadata()){const c=this._bdo.validateFieldExpression(a,l,s);c.valid||t.push(...c.errors)}}return{valid:t.length===0,errors:t}}toJSON(){return{...this._data}}}class u{constructor(e){n(this,"_meta");n(this,"_parentBoId");this._meta=e}get id(){return this._meta._id}get label(){return this._meta.Name||this._meta._id}get readOnly(){return this._meta.ReadOnly??!1}get required(){var e;return((e=this._meta.Constraint)==null?void 0:e.Required)??this._meta.Required??!1}get defaultValue(){var e;return this._meta.DefaultValue??((e=this._meta.Constraint)==null?void 0:e.DefaultValue)}get primaryKey(){var e;return((e=this._meta.Constraint)==null?void 0:e.PrimaryKey)??!1}get meta(){return this._meta}}class h extends u{constructor(e){super(e)}get length(){var e;return(e=this._meta.Constraint)==null?void 0:e.Length}validate(e){return e!=null&&typeof e!="string"?{valid:!1,errors:[`${this.label} must be a string`]}:{valid:!0,errors:[]}}}class _ extends u{constructor(e){super(e)}get precision(){var e;return((e=this._meta.Constraint)==null?void 0:e.Precision)??"Second"}validate(e){if(e==null||e==="")return{valid:!0,errors:[]};if(typeof e!="string")return{valid:!1,errors:[`${this.label} must be a valid date string`]};const t=new Date(e);return isNaN(t.getTime())?{valid:!1,errors:[`${this.label} is not a valid date`]}:{valid:!0,errors:[]}}}class g extends u{constructor(e){super(e)}get businessEntity(){var e;return(e=this._meta.View)==null?void 0:e.BusinessEntity}validate(e){if(e==null)return{valid:!0,errors:[]};if(typeof e!="object")return{valid:!1,errors:[`${this.label} must be a valid user object`]};const t=e;return!("_id"in t)||typeof t._id!="string"?{valid:!1,errors:[`${this.label} must have a valid _id`]}:{valid:!0,errors:[]}}}const v={CONCAT:(...r)=>r.map(e=>String(e??"")).join(""),UPPER:r=>String(r??"").toUpperCase(),LOWER:r=>String(r??"").toLowerCase(),TRIM:r=>String(r??"").trim(),LENGTH:r=>String(r??"").length,SUBSTRING:(r,e,t)=>String(r??"").substring(e,t!==void 0?e+t:void 0),REPLACE:(r,e,t)=>String(r??"").replace(e,t),SUM:(...r)=>r.reduce((e,t)=>e+(Number(t)||0),0),AVG:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t)));return e.length===0?0:e.reduce((t,s)=>t+Number(s),0)/e.length},MIN:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.min(...e)},MAX:(...r)=>{const e=r.filter(t=>t!=null&&!isNaN(Number(t))).map(t=>Number(t));return e.length===0?0:Math.max(...e)},ABS:r=>Math.abs(Number(r)||0),ROUND:r=>Math.round(Number(r)||0),FLOOR:r=>Math.floor(Number(r)||0),CEIL:r=>Math.ceil(Number(r)||0),YEAR:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getFullYear()},MONTH:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getMonth()+1},DAY:r=>{const e=new Date(r);return isNaN(e.getTime())?0:e.getDate()},DATE_DIFF:(r,e)=>{const t=new Date(r),s=new Date(e);if(isNaN(t.getTime())||isNaN(s.getTime()))return 0;const a=Math.abs(t.getTime()-s.getTime());return Math.ceil(a/(1e3*60*60*24))},ADD_DAYS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setDate(t.getDate()+e),t)},ADD_MONTHS:(r,e)=>{const t=new Date(r);return isNaN(t.getTime())?new Date(NaN):(t.setMonth(t.getMonth()+e),t)},IF:(r,e,t)=>r?e:t,UUID:()=>typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})};function x(){const r=new Date;return{NOW:r,TODAY:new Date(r.getFullYear(),r.getMonth(),r.getDate()),CURRENT_USER:{Id:"",Email:"",FirstName:"",LastName:""}}}function m(r,e){var t;switch(r.Type){case"Literal":return r.Value;case"Identifier":return e.formValues[r.Name];case"SystemIdentifier":return w(r,e);case"BinaryExpression":return F(r,e);case"LogicalExpression":return O(r,e);case"CallExpression":return E(r,e);case"MemberExpression":return A(r,e);case"AssignmentExpression":return((t=r.Arguments)==null?void 0:t.length)===1?m(r.Arguments[0],e):void 0;default:throw new Error(`Unsupported expression type: ${r.Type}`)}}function w(r,e){const t=r.Name,s=e.systemValues[t];return r.Property?s&&typeof s=="object"?s[r.Property.Name]:void 0:s}function F(r,e){if(!r.Arguments||r.Arguments.length<2)throw new Error("BinaryExpression requires 2 arguments");const[t,s]=r.Arguments,a=m(t,e),i=m(s,e);switch(r.Operator){case"==":return a==i;case"!=":return a!=i;case"<":return Number(a)<Number(i);case"<=":return Number(a)<=Number(i);case">":return Number(a)>Number(i);case">=":return Number(a)>=Number(i);case"+":return Number(a)+Number(i);case"-":return Number(a)-Number(i);case"*":return Number(a)*Number(i);case"/":return Number(i)!==0?Number(a)/Number(i):0;case"%":return Number(a)%Number(i);default:throw new Error(`Unsupported binary operator: ${r.Operator}`)}}function O(r,e){if(!r.Arguments||r.Arguments.length===0)throw new Error("LogicalExpression requires at least 1 argument");const t=r.Arguments;switch(r.Operator){case"AND":return t.every(s=>!!m(s,e));case"OR":return t.some(s=>!!m(s,e));case"!":return!m(t[0],e);default:throw new Error(`Unsupported logical operator: ${r.Operator}`)}}function E(r,e){if(!r.Callee)throw new Error("CallExpression requires a Callee");const t=v[r.Callee];if(!t)throw new Error(`Unknown function: ${r.Callee}`);const s=(r.Arguments??[]).map(a=>m(a,e));return t(...s)}function A(r,e){var a,i;if(!((a=r.Arguments)!=null&&a.length))return;const t=m(r.Arguments[0],e),s=(i=r.Arguments[0].Property)==null?void 0:i.Name;return s&&t&&typeof t=="object"?t[s]:t}class T{constructor(){n(this,"fieldRules",new Map);n(this,"metadata",null)}loadMetadata(e){var t,s;this.metadata=e,this.fieldRules.clear();for(const[a,i]of Object.entries(e.Fields)){const l=[];if(i.Validation&&Array.isArray(i.Validation)){for(const o of i.Validation)if(typeof o=="object"&&o.ExpressionTree)l.push(o);else if(typeof o=="string"){const c=(s=(t=e.Rules)==null?void 0:t.Validation)==null?void 0:s[o];c&&l.push(c)}}l.length>0&&this.fieldRules.set(a,l)}}hasMetadata(){return this.metadata!==null}getFieldRules(e){return this.fieldRules.get(e)??[]}validateField(e,t,s){const a=this.fieldRules.get(e);if(!a||a.length===0)return{valid:!0,errors:[]};const i={formValues:{...s,[e]:t},systemValues:x()};for(const l of a)try{if(!m(l.ExpressionTree,i))return{valid:!1,errors:[l.Message||`Validation failed: ${l.Name||l.Id}`]}}catch(o){console.warn(`Expression evaluation failed for rule ${l.Id}:`,o)}return{valid:!0,errors:[]}}validateAll(e){const t=[];for(const s of this.fieldRules.keys()){const a=this.validateField(s,e[s],e);a.valid||t.push(...a.errors)}return{valid:t.length===0,errors:t}}}class S{constructor(){n(this,"_id",new h({_id:"_id",Name:"ID",Type:"String",ReadOnly:!0}));n(this,"_created_at",new _({_id:"_created_at",Name:"Created At",Type:"DateTime",ReadOnly:!0}));n(this,"_modified_at",new _({_id:"_modified_at",Name:"Modified At",Type:"DateTime",ReadOnly:!0}));n(this,"_created_by",new g({_id:"_created_by",Name:"Created By",Type:"User",ReadOnly:!0}));n(this,"_modified_by",new g({_id:"_modified_by",Name:"Modified By",Type:"User",ReadOnly:!0}));n(this,"_version",new h({_id:"_version",Name:"Version",Type:"String",ReadOnly:!0}));n(this,"_m_version",new h({_id:"_m_version",Name:"Metadata Version",Type:"String",ReadOnly:!0}));n(this,"_fieldsBound",!1);n(this,"_fieldsCache",null);n(this,"_expressionEngine",new T)}getFields(){if(this._fieldsCache)return this._fieldsCache;const e={};for(const t of Object.keys(this)){const s=this[t];s instanceof u&&(e[t]=s)}if(!this._fieldsBound){for(const t of Object.values(e))t._parentBoId=this.meta._id;this._fieldsBound=!0}return this._fieldsCache=e,e}loadMetadata(e){this._expressionEngine.loadMetadata(e)}hasMetadata(){return this._expressionEngine.hasMetadata()}validateFieldExpression(e,t,s){return this._expressionEngine.hasMetadata()?this._expressionEngine.validateField(e,t,s):{valid:!0,errors:[]}}async get(e){const t=await d.api(this.meta._id).get(e);return new f(this,t)}async list(e){return(await d.api(this.meta._id).list(e)).Data.map(s=>new f(this,s))}async count(e){return(await d.api(this.meta._id).count(e)).Count}async create(e){const t=await d.api(this.meta._id).create(e);return new f(this,{...e,_id:t._id})}async update(e,t){return d.api(this.meta._id).update(e,t)}async delete(e){return d.api(this.meta._id).delete(e)}async draft(e){return d.api(this.meta._id).draft(e)}async draftInteraction(e){return d.api(this.meta._id).draftInteraction(e)}createItem(e){return new f(this,e??{})}async draftPatch(e,t){return d.api(this.meta._id).draftPatch(e,t)}async metric(e){return d.api(this.meta._id).metric(e)}async pivot(e){return d.api(this.meta._id).pivot(e)}}class R extends u{constructor(e){super(e)}get integerPart(){var e;return((e=this._meta.Constraint)==null?void 0:e.IntegerPart)??9}get fractionPart(){var e;return(e=this._meta.Constraint)==null?void 0:e.FractionPart}validate(e){return e!=null&&(typeof e!="number"||isNaN(e))?{valid:!1,errors:[`${this.label} must be a valid number`]}:{valid:!0,errors:[]}}}class C extends u{constructor(e){super(e)}validate(e){return e!=null&&typeof e!="boolean"?{valid:!1,errors:[`${this.label} must be a boolean`]}:{valid:!0,errors:[]}}}class M extends u{constructor(e){super(e)}validate(e){if(e==null||e==="")return{valid:!0,errors:[]};if(typeof e!="string")return{valid:!1,errors:[`${this.label} must be a valid date string`]};if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return{valid:!1,errors:[`${this.label} must be in YYYY-MM-DD format`]};const t=new Date(e+"T00:00:00");return isNaN(t.getTime())?{valid:!1,errors:[`${this.label} is not a valid date`]}:{valid:!0,errors:[]}}}class D extends u{constructor(e){super(e)}get options(){var t;return(((t=this._meta.Constraint)==null?void 0:t.Enum)??[]).map(s=>({value:s,label:s}))}validate(e){if(e==null||e==="")return{valid:!0,errors:[]};if(this.options.length===0)return{valid:!0,errors:[]};const t=this.options.map(s=>s.value);return t.includes(e)?{valid:!0,errors:[]}:{valid:!1,errors:[`${this.label} must be one of: ${t.join(", ")}`]}}async fetchOptions(e){if(!this._parentBoId)throw new Error(`Field ${this.id} not bound to a BDO. Cannot fetch options.`);return(await d.api(this._parentBoId).fetchField(e??"new",this.id)).map(s=>({value:s.Value,label:s.Label}))}}class B extends u{constructor(e){super(e)}get referenceBdo(){var e,t;return((t=(e=this._meta.View)==null?void 0:e.DataObject)==null?void 0:t.Id)??""}get referenceFields(){var e;return((e=this._meta.View)==null?void 0:e.Fields)??["_id"]}get searchFields(){var e;return((e=this._meta.View)==null?void 0:e.Search)??[]}validate(e){if(e==null)return{valid:!0,errors:[]};if(typeof e!="object")return{valid:!1,errors:[`${this.label} must be a valid reference object`]};const t=e;return!("_id"in t)||typeof t._id!="string"?{valid:!1,errors:[`${this.label} must have a valid _id`]}:{valid:!0,errors:[]}}async fetchOptions(e){if(!this._parentBoId)throw new Error(`Field ${this.id} not bound to a BDO. Cannot fetch options.`);return d.api(this._parentBoId).fetchField(e??"new",this.id)}}class V extends u{constructor(e){super(e)}get elementType(){return this._meta.Property}validate(e){return e!=null&&!Array.isArray(e)?{valid:!1,errors:[`${this.label} must be an array`]}:{valid:!0,errors:[]}}}class j extends u{constructor(e){super(e)}get properties(){return this._meta.Property}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid object`]}:{valid:!0,errors:[]}}}class b extends u{constructor(e){super(e)}get format(){var e;return((e=this._meta.Constraint)==null?void 0:e.Format)??"Plain"}validate(e){return e!=null&&typeof e!="string"?{valid:!1,errors:[`${this.label} must be a string`]}:{valid:!0,errors:[]}}}class $ extends u{constructor(e){super(e)}validate(e){return e==null?{valid:!0,errors:[]}:typeof e!="object"||Array.isArray(e)?{valid:!1,errors:[`${this.label} must be a valid file object`]}:{valid:!0,errors:[]}}}exports.SystemField=N.SystemField;exports.ArrayField=V;exports.BaseBdo=S;exports.BaseField=u;exports.BooleanField=C;exports.DateField=M;exports.DateTimeField=_;exports.FileField=$;exports.NumberField=R;exports.ObjectField=j;exports.ReferenceField=B;exports.SelectField=D;exports.StringField=h;exports.TextAreaField=b;exports.TextField=b;exports.UserField=g;
|
package/dist/bdo.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export { BaseBdo } from "./bdo/core/BaseBdo";
|
|
2
|
-
export
|
|
3
|
-
export { StringField, NumberField, BooleanField, DateTimeField, DateField, TextAreaField, SelectField, ReferenceField, ArrayField, ObjectField, } from "./bdo/fields";
|
|
4
|
-
export type { StringFieldType, NumberFieldType, BooleanFieldType, DateFieldType, DateTimeFieldType, TextAreaFieldType, SelectFieldType, ReferenceFieldType, ArrayFieldType, ObjectFieldType, SystemFieldsType, UserRefType, } from "./types/base-fields";
|
|
5
|
-
export type { BdoMetaType, ValidationResultType, SelectOptionType, FieldConfigType, SelectFieldConfigType, ReferenceFieldConfigType, FieldMetaType, } from "./bdo/core/types";
|
|
6
|
-
export type { ItemType } from "./bdo/core/Item";
|
|
2
|
+
export { BaseField, StringField, NumberField, BooleanField, DateTimeField, DateField, TextField, TextAreaField, SelectField, ReferenceField, ArrayField, ObjectField, UserField, FileField, } from "./bdo/fields";
|
|
7
3
|
export { SystemField } from "./types/constants";
|
|
8
4
|
//# sourceMappingURL=bdo.d.ts.map
|
package/dist/bdo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bdo.d.ts","sourceRoot":"","sources":["../sdk/bdo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bdo.d.ts","sourceRoot":"","sources":["../sdk/bdo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,GACV,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|