functional-models 2.1.4 → 2.1.5

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/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "description": "A library for creating JavaScript function based models.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "scripts": {
8
8
  "test": "mocha -r ts-node/register test/**/*.test.ts",
9
- "test:coverage": "nyc npm run test",
9
+ "test:coverage": "NODE_OPTIONS='--max-old-space-size=8192' nyc npm run test",
10
10
  "test:watch": "nodemon -e '*' --watch test --watch src --exec npm run test:coverage",
11
11
  "commit": "cz",
12
12
  "feature-tests": "./node_modules/.bin/cucumber-js -p default",
@@ -66,6 +66,7 @@
66
66
  },
67
67
  "devDependencies": {
68
68
  "@cucumber/cucumber": "^8.0.0-rc.1",
69
+ "@date-fns/utc": "^1.2.0",
69
70
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
70
71
  "@types/async-lock": "^1.1.3",
71
72
  "@types/chai": "^4.2.22",
@@ -95,6 +96,7 @@
95
96
  },
96
97
  "dependencies": {
97
98
  "async-lock": "^1.3.0",
99
+ "date-fns": "^3.6.0",
98
100
  "get-random-values": "^1.2.2",
99
101
  "lodash": "^4.17.21"
100
102
  }
package/properties.d.ts CHANGED
@@ -2036,7 +2036,1066 @@ declare const Property: <TValue extends Arrayable<FunctionalValue>, T extends Fu
2036
2036
  createGetter: (value: TValue, modelData: T, modelInstance: TModelInstance) => ValueGetter<TValue, T, TModel, TModelInstance>;
2037
2037
  getValidator: (valueGetter: ValueGetter<TValue, T, TModel, TModelInstance>) => PropertyValidator<T, TModel, TModelInstance>;
2038
2038
  }>;
2039
- declare const DateProperty: <TModifier extends PropertyModifier<string | Date>>(config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => Readonly<{
2039
+ /**
2040
+ * Config object for a date property
2041
+ */
2042
+ declare type DatePropertyConfig<T> = PropertyConfig<T> & {
2043
+ /**
2044
+ * A date-fns format.
2045
+ */
2046
+ format?: string;
2047
+ isDateOnly?: boolean;
2048
+ };
2049
+ /**
2050
+ * A Property for Dates. Both strings and Date objects.
2051
+ * @param config
2052
+ * @param additionalMetadata
2053
+ * @constructor
2054
+ */
2055
+ declare const DateProperty: <TModifier extends PropertyModifier<string | Date>>(config?: Readonly<{
2056
+ type?: string | undefined;
2057
+ defaultValue?: TModifier | undefined;
2058
+ value?: TModifier | undefined;
2059
+ choices?: readonly (string | number | boolean | null)[] | undefined;
2060
+ lazyLoadMethod?: (<TData extends FunctionalModel>(value: TModifier, modelData: TData) => import("./interfaces").MaybeLazy<TModifier>) | undefined;
2061
+ valueSelector?: ((instanceValue: import("./interfaces").MaybePromise<TModifier>) => TModifier) | undefined;
2062
+ validators?: readonly import("./interfaces").PropertyValidatorComponent<any, Readonly<{
2063
+ getName: () => string;
2064
+ getSingularName: () => string;
2065
+ getDisplayName: () => string;
2066
+ getPrimaryKeyName: () => string;
2067
+ getModelDefinition: () => Readonly<{
2068
+ getPrimaryKeyName?: (() => string) | undefined;
2069
+ properties: {
2070
+ id?: (Readonly<{
2071
+ getConfig: () => object;
2072
+ getChoices: () => readonly (string | number | boolean | null)[];
2073
+ getDefaultValue: () => string;
2074
+ getConstantValue: () => string;
2075
+ getPropertyType: () => string;
2076
+ createGetter: (value: string, modelData: FunctionalModel, modelInstance: Readonly<{
2077
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2078
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2079
+ };
2080
+ references: Readonly<{
2081
+ [s: string]: () => Maybe<PrimaryKeyType>;
2082
+ }>;
2083
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2084
+ getPrimaryKeyName: () => string;
2085
+ getPrimaryKey: () => PrimaryKeyType;
2086
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2087
+ getName: () => string;
2088
+ getSingularName: () => string;
2089
+ getDisplayName: () => string;
2090
+ getPrimaryKeyName: () => string;
2091
+ getModelDefinition: () => Readonly<{
2092
+ getPrimaryKeyName?: (() => string) | undefined;
2093
+ properties: any & {
2094
+ readonly [x: string]: Readonly<{
2095
+ getConfig: () => object;
2096
+ getChoices: () => readonly (string | number | boolean | null)[];
2097
+ getDefaultValue: () => any;
2098
+ getConstantValue: () => any;
2099
+ getPropertyType: () => string;
2100
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2101
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2102
+ }>;
2103
+ readonly id?: Readonly<{
2104
+ getConfig: () => object;
2105
+ getChoices: () => readonly (string | number | boolean | null)[];
2106
+ getDefaultValue: () => any;
2107
+ getConstantValue: () => any;
2108
+ getPropertyType: () => string;
2109
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2110
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2111
+ }> | undefined;
2112
+ };
2113
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2114
+ singularName?: string | undefined;
2115
+ displayName?: string | undefined;
2116
+ }>;
2117
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2118
+ getOptions: () => object & Readonly<{
2119
+ [s: string]: any;
2120
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2121
+ }>;
2122
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2123
+ }>>;
2124
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2125
+ getModel: () => Readonly<{
2126
+ getName: () => string;
2127
+ getSingularName: () => string;
2128
+ getDisplayName: () => string;
2129
+ getPrimaryKeyName: () => string;
2130
+ getModelDefinition: () => Readonly<{
2131
+ getPrimaryKeyName?: (() => string) | undefined;
2132
+ properties: any & {
2133
+ readonly [x: string]: Readonly<{
2134
+ getConfig: () => object;
2135
+ getChoices: () => readonly (string | number | boolean | null)[];
2136
+ getDefaultValue: () => any;
2137
+ getConstantValue: () => any;
2138
+ getPropertyType: () => string;
2139
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2140
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2141
+ }>;
2142
+ readonly id?: Readonly<{
2143
+ getConfig: () => object;
2144
+ getChoices: () => readonly (string | number | boolean | null)[];
2145
+ getDefaultValue: () => any;
2146
+ getConstantValue: () => any;
2147
+ getPropertyType: () => string;
2148
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2149
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2150
+ }> | undefined;
2151
+ };
2152
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2153
+ singularName?: string | undefined;
2154
+ displayName?: string | undefined;
2155
+ }>;
2156
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2157
+ getOptions: () => object & Readonly<{
2158
+ [s: string]: any;
2159
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2160
+ }>;
2161
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2162
+ }>;
2163
+ }>) => ValueGetter<string, FunctionalModel, Readonly<{
2164
+ getName: () => string;
2165
+ getSingularName: () => string;
2166
+ getDisplayName: () => string;
2167
+ getPrimaryKeyName: () => string;
2168
+ getModelDefinition: () => Readonly<{
2169
+ getPrimaryKeyName?: (() => string) | undefined;
2170
+ properties: any & {
2171
+ readonly [x: string]: Readonly<{
2172
+ getConfig: () => object;
2173
+ getChoices: () => readonly (string | number | boolean | null)[];
2174
+ getDefaultValue: () => any;
2175
+ getConstantValue: () => any;
2176
+ getPropertyType: () => string;
2177
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2178
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2179
+ }>;
2180
+ readonly id?: Readonly<{
2181
+ getConfig: () => object;
2182
+ getChoices: () => readonly (string | number | boolean | null)[];
2183
+ getDefaultValue: () => any;
2184
+ getConstantValue: () => any;
2185
+ getPropertyType: () => string;
2186
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2187
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2188
+ }> | undefined;
2189
+ };
2190
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2191
+ singularName?: string | undefined;
2192
+ displayName?: string | undefined;
2193
+ }>;
2194
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2195
+ getOptions: () => object & Readonly<{
2196
+ [s: string]: any;
2197
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2198
+ }>;
2199
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2200
+ }>, Readonly<{
2201
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2202
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2203
+ };
2204
+ references: Readonly<{
2205
+ [s: string]: () => Maybe<PrimaryKeyType>;
2206
+ }>;
2207
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2208
+ getPrimaryKeyName: () => string;
2209
+ getPrimaryKey: () => PrimaryKeyType;
2210
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2211
+ getName: () => string;
2212
+ getSingularName: () => string;
2213
+ getDisplayName: () => string;
2214
+ getPrimaryKeyName: () => string;
2215
+ getModelDefinition: () => Readonly<{
2216
+ getPrimaryKeyName?: (() => string) | undefined;
2217
+ properties: any & {
2218
+ readonly [x: string]: Readonly<{
2219
+ getConfig: () => object;
2220
+ getChoices: () => readonly (string | number | boolean | null)[];
2221
+ getDefaultValue: () => any;
2222
+ getConstantValue: () => any;
2223
+ getPropertyType: () => string;
2224
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2225
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2226
+ }>;
2227
+ readonly id?: Readonly<{
2228
+ getConfig: () => object;
2229
+ getChoices: () => readonly (string | number | boolean | null)[];
2230
+ getDefaultValue: () => any;
2231
+ getConstantValue: () => any;
2232
+ getPropertyType: () => string;
2233
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2234
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2235
+ }> | undefined;
2236
+ };
2237
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2238
+ singularName?: string | undefined;
2239
+ displayName?: string | undefined;
2240
+ }>;
2241
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2242
+ getOptions: () => object & Readonly<{
2243
+ [s: string]: any;
2244
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2245
+ }>;
2246
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2247
+ }>>;
2248
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2249
+ getModel: () => Readonly<{
2250
+ getName: () => string;
2251
+ getSingularName: () => string;
2252
+ getDisplayName: () => string;
2253
+ getPrimaryKeyName: () => string;
2254
+ getModelDefinition: () => Readonly<{
2255
+ getPrimaryKeyName?: (() => string) | undefined;
2256
+ properties: any & {
2257
+ readonly [x: string]: Readonly<{
2258
+ getConfig: () => object;
2259
+ getChoices: () => readonly (string | number | boolean | null)[];
2260
+ getDefaultValue: () => any;
2261
+ getConstantValue: () => any;
2262
+ getPropertyType: () => string;
2263
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2264
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2265
+ }>;
2266
+ readonly id?: Readonly<{
2267
+ getConfig: () => object;
2268
+ getChoices: () => readonly (string | number | boolean | null)[];
2269
+ getDefaultValue: () => any;
2270
+ getConstantValue: () => any;
2271
+ getPropertyType: () => string;
2272
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2273
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2274
+ }> | undefined;
2275
+ };
2276
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2277
+ singularName?: string | undefined;
2278
+ displayName?: string | undefined;
2279
+ }>;
2280
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2281
+ getOptions: () => object & Readonly<{
2282
+ [s: string]: any;
2283
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2284
+ }>;
2285
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2286
+ }>;
2287
+ }>>;
2288
+ getValidator: (valueGetter: ValueGetter<string, FunctionalModel, Readonly<{
2289
+ getName: () => string;
2290
+ getSingularName: () => string;
2291
+ getDisplayName: () => string;
2292
+ getPrimaryKeyName: () => string;
2293
+ getModelDefinition: () => Readonly<{
2294
+ getPrimaryKeyName?: (() => string) | undefined;
2295
+ properties: any & {
2296
+ readonly [x: string]: Readonly<{
2297
+ getConfig: () => object;
2298
+ getChoices: () => readonly (string | number | boolean | null)[];
2299
+ getDefaultValue: () => any;
2300
+ getConstantValue: () => any;
2301
+ getPropertyType: () => string;
2302
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2303
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2304
+ }>;
2305
+ readonly id?: Readonly<{
2306
+ getConfig: () => object;
2307
+ getChoices: () => readonly (string | number | boolean | null)[];
2308
+ getDefaultValue: () => any;
2309
+ getConstantValue: () => any;
2310
+ getPropertyType: () => string;
2311
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2312
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2313
+ }> | undefined;
2314
+ };
2315
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2316
+ singularName?: string | undefined;
2317
+ displayName?: string | undefined;
2318
+ }>;
2319
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2320
+ getOptions: () => object & Readonly<{
2321
+ [s: string]: any;
2322
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2323
+ }>;
2324
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2325
+ }>, Readonly<{
2326
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2327
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2328
+ };
2329
+ references: Readonly<{
2330
+ [s: string]: () => Maybe<PrimaryKeyType>;
2331
+ }>;
2332
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2333
+ getPrimaryKeyName: () => string;
2334
+ getPrimaryKey: () => PrimaryKeyType;
2335
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2336
+ getName: () => string;
2337
+ getSingularName: () => string;
2338
+ getDisplayName: () => string;
2339
+ getPrimaryKeyName: () => string;
2340
+ getModelDefinition: () => Readonly<{
2341
+ getPrimaryKeyName?: (() => string) | undefined;
2342
+ properties: any & {
2343
+ readonly [x: string]: Readonly<{
2344
+ getConfig: () => object;
2345
+ getChoices: () => readonly (string | number | boolean | null)[];
2346
+ getDefaultValue: () => any;
2347
+ getConstantValue: () => any;
2348
+ getPropertyType: () => string;
2349
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2350
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2351
+ }>;
2352
+ readonly id?: Readonly<{
2353
+ getConfig: () => object;
2354
+ getChoices: () => readonly (string | number | boolean | null)[];
2355
+ getDefaultValue: () => any;
2356
+ getConstantValue: () => any;
2357
+ getPropertyType: () => string;
2358
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2359
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2360
+ }> | undefined;
2361
+ };
2362
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2363
+ singularName?: string | undefined;
2364
+ displayName?: string | undefined;
2365
+ }>;
2366
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2367
+ getOptions: () => object & Readonly<{
2368
+ [s: string]: any;
2369
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2370
+ }>;
2371
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2372
+ }>>;
2373
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2374
+ getModel: () => Readonly<{
2375
+ getName: () => string;
2376
+ getSingularName: () => string;
2377
+ getDisplayName: () => string;
2378
+ getPrimaryKeyName: () => string;
2379
+ getModelDefinition: () => Readonly<{
2380
+ getPrimaryKeyName?: (() => string) | undefined;
2381
+ properties: any & {
2382
+ readonly [x: string]: Readonly<{
2383
+ getConfig: () => object;
2384
+ getChoices: () => readonly (string | number | boolean | null)[];
2385
+ getDefaultValue: () => any;
2386
+ getConstantValue: () => any;
2387
+ getPropertyType: () => string;
2388
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2389
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2390
+ }>;
2391
+ readonly id?: Readonly<{
2392
+ getConfig: () => object;
2393
+ getChoices: () => readonly (string | number | boolean | null)[];
2394
+ getDefaultValue: () => any;
2395
+ getConstantValue: () => any;
2396
+ getPropertyType: () => string;
2397
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2398
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2399
+ }> | undefined;
2400
+ };
2401
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2402
+ singularName?: string | undefined;
2403
+ displayName?: string | undefined;
2404
+ }>;
2405
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2406
+ getOptions: () => object & Readonly<{
2407
+ [s: string]: any;
2408
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2409
+ }>;
2410
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2411
+ }>;
2412
+ }>>) => PropertyValidator<FunctionalModel, Readonly<{
2413
+ getName: () => string;
2414
+ getSingularName: () => string;
2415
+ getDisplayName: () => string;
2416
+ getPrimaryKeyName: () => string;
2417
+ getModelDefinition: () => Readonly<{
2418
+ getPrimaryKeyName?: (() => string) | undefined;
2419
+ properties: any & {
2420
+ readonly [x: string]: Readonly<{
2421
+ getConfig: () => object;
2422
+ getChoices: () => readonly (string | number | boolean | null)[];
2423
+ getDefaultValue: () => any;
2424
+ getConstantValue: () => any;
2425
+ getPropertyType: () => string;
2426
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2427
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2428
+ }>;
2429
+ readonly id?: Readonly<{
2430
+ getConfig: () => object;
2431
+ getChoices: () => readonly (string | number | boolean | null)[];
2432
+ getDefaultValue: () => any;
2433
+ getConstantValue: () => any;
2434
+ getPropertyType: () => string;
2435
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2436
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2437
+ }> | undefined;
2438
+ };
2439
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2440
+ singularName?: string | undefined;
2441
+ displayName?: string | undefined;
2442
+ }>;
2443
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2444
+ getOptions: () => object & Readonly<{
2445
+ [s: string]: any;
2446
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2447
+ }>;
2448
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2449
+ }>, Readonly<{
2450
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2451
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2452
+ };
2453
+ references: Readonly<{
2454
+ [s: string]: () => Maybe<PrimaryKeyType>;
2455
+ }>;
2456
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2457
+ getPrimaryKeyName: () => string;
2458
+ getPrimaryKey: () => PrimaryKeyType;
2459
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2460
+ getName: () => string;
2461
+ getSingularName: () => string;
2462
+ getDisplayName: () => string;
2463
+ getPrimaryKeyName: () => string;
2464
+ getModelDefinition: () => Readonly<{
2465
+ getPrimaryKeyName?: (() => string) | undefined;
2466
+ properties: any & {
2467
+ readonly [x: string]: Readonly<{
2468
+ getConfig: () => object;
2469
+ getChoices: () => readonly (string | number | boolean | null)[];
2470
+ getDefaultValue: () => any;
2471
+ getConstantValue: () => any;
2472
+ getPropertyType: () => string;
2473
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2474
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2475
+ }>;
2476
+ readonly id?: Readonly<{
2477
+ getConfig: () => object;
2478
+ getChoices: () => readonly (string | number | boolean | null)[];
2479
+ getDefaultValue: () => any;
2480
+ getConstantValue: () => any;
2481
+ getPropertyType: () => string;
2482
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2483
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2484
+ }> | undefined;
2485
+ };
2486
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2487
+ singularName?: string | undefined;
2488
+ displayName?: string | undefined;
2489
+ }>;
2490
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2491
+ getOptions: () => object & Readonly<{
2492
+ [s: string]: any;
2493
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2494
+ }>;
2495
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2496
+ }>>;
2497
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2498
+ getModel: () => Readonly<{
2499
+ getName: () => string;
2500
+ getSingularName: () => string;
2501
+ getDisplayName: () => string;
2502
+ getPrimaryKeyName: () => string;
2503
+ getModelDefinition: () => Readonly<{
2504
+ getPrimaryKeyName?: (() => string) | undefined;
2505
+ properties: any & {
2506
+ readonly [x: string]: Readonly<{
2507
+ getConfig: () => object;
2508
+ getChoices: () => readonly (string | number | boolean | null)[];
2509
+ getDefaultValue: () => any;
2510
+ getConstantValue: () => any;
2511
+ getPropertyType: () => string;
2512
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2513
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2514
+ }>;
2515
+ readonly id?: Readonly<{
2516
+ getConfig: () => object;
2517
+ getChoices: () => readonly (string | number | boolean | null)[];
2518
+ getDefaultValue: () => any;
2519
+ getConstantValue: () => any;
2520
+ getPropertyType: () => string;
2521
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2522
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2523
+ }> | undefined;
2524
+ };
2525
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2526
+ singularName?: string | undefined;
2527
+ displayName?: string | undefined;
2528
+ }>;
2529
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2530
+ getOptions: () => object & Readonly<{
2531
+ [s: string]: any;
2532
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2533
+ }>;
2534
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2535
+ }>;
2536
+ }>>;
2537
+ }> | Readonly<{
2538
+ getConfig: () => object;
2539
+ getChoices: () => readonly (string | number | boolean | null)[];
2540
+ getDefaultValue: () => number;
2541
+ getConstantValue: () => number;
2542
+ getPropertyType: () => string;
2543
+ createGetter: (value: number, modelData: FunctionalModel, modelInstance: Readonly<{
2544
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2545
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2546
+ };
2547
+ references: Readonly<{
2548
+ [s: string]: () => Maybe<PrimaryKeyType>;
2549
+ }>;
2550
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2551
+ getPrimaryKeyName: () => string;
2552
+ getPrimaryKey: () => PrimaryKeyType;
2553
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2554
+ getName: () => string;
2555
+ getSingularName: () => string;
2556
+ getDisplayName: () => string;
2557
+ getPrimaryKeyName: () => string;
2558
+ getModelDefinition: () => Readonly<{
2559
+ getPrimaryKeyName?: (() => string) | undefined;
2560
+ properties: any & {
2561
+ readonly [x: string]: Readonly<{
2562
+ getConfig: () => object;
2563
+ getChoices: () => readonly (string | number | boolean | null)[];
2564
+ getDefaultValue: () => any;
2565
+ getConstantValue: () => any;
2566
+ getPropertyType: () => string;
2567
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2568
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2569
+ }>;
2570
+ readonly id?: Readonly<{
2571
+ getConfig: () => object;
2572
+ getChoices: () => readonly (string | number | boolean | null)[];
2573
+ getDefaultValue: () => any;
2574
+ getConstantValue: () => any;
2575
+ getPropertyType: () => string;
2576
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2577
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2578
+ }> | undefined;
2579
+ };
2580
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2581
+ singularName?: string | undefined;
2582
+ displayName?: string | undefined;
2583
+ }>;
2584
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2585
+ getOptions: () => object & Readonly<{
2586
+ [s: string]: any;
2587
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2588
+ }>;
2589
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2590
+ }>>;
2591
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2592
+ getModel: () => Readonly<{
2593
+ getName: () => string;
2594
+ getSingularName: () => string;
2595
+ getDisplayName: () => string;
2596
+ getPrimaryKeyName: () => string;
2597
+ getModelDefinition: () => Readonly<{
2598
+ getPrimaryKeyName?: (() => string) | undefined;
2599
+ properties: any & {
2600
+ readonly [x: string]: Readonly<{
2601
+ getConfig: () => object;
2602
+ getChoices: () => readonly (string | number | boolean | null)[];
2603
+ getDefaultValue: () => any;
2604
+ getConstantValue: () => any;
2605
+ getPropertyType: () => string;
2606
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2607
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2608
+ }>;
2609
+ readonly id?: Readonly<{
2610
+ getConfig: () => object;
2611
+ getChoices: () => readonly (string | number | boolean | null)[];
2612
+ getDefaultValue: () => any;
2613
+ getConstantValue: () => any;
2614
+ getPropertyType: () => string;
2615
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2616
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2617
+ }> | undefined;
2618
+ };
2619
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2620
+ singularName?: string | undefined;
2621
+ displayName?: string | undefined;
2622
+ }>;
2623
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2624
+ getOptions: () => object & Readonly<{
2625
+ [s: string]: any;
2626
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2627
+ }>;
2628
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2629
+ }>;
2630
+ }>) => ValueGetter<number, FunctionalModel, Readonly<{
2631
+ getName: () => string;
2632
+ getSingularName: () => string;
2633
+ getDisplayName: () => string;
2634
+ getPrimaryKeyName: () => string;
2635
+ getModelDefinition: () => Readonly<{
2636
+ getPrimaryKeyName?: (() => string) | undefined;
2637
+ properties: any & {
2638
+ readonly [x: string]: Readonly<{
2639
+ getConfig: () => object;
2640
+ getChoices: () => readonly (string | number | boolean | null)[];
2641
+ getDefaultValue: () => any;
2642
+ getConstantValue: () => any;
2643
+ getPropertyType: () => string;
2644
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2645
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2646
+ }>;
2647
+ readonly id?: Readonly<{
2648
+ getConfig: () => object;
2649
+ getChoices: () => readonly (string | number | boolean | null)[];
2650
+ getDefaultValue: () => any;
2651
+ getConstantValue: () => any;
2652
+ getPropertyType: () => string;
2653
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2654
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2655
+ }> | undefined;
2656
+ };
2657
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2658
+ singularName?: string | undefined;
2659
+ displayName?: string | undefined;
2660
+ }>;
2661
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2662
+ getOptions: () => object & Readonly<{
2663
+ [s: string]: any;
2664
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2665
+ }>;
2666
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2667
+ }>, Readonly<{
2668
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2669
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2670
+ };
2671
+ references: Readonly<{
2672
+ [s: string]: () => Maybe<PrimaryKeyType>;
2673
+ }>;
2674
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2675
+ getPrimaryKeyName: () => string;
2676
+ getPrimaryKey: () => PrimaryKeyType;
2677
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2678
+ getName: () => string;
2679
+ getSingularName: () => string;
2680
+ getDisplayName: () => string;
2681
+ getPrimaryKeyName: () => string;
2682
+ getModelDefinition: () => Readonly<{
2683
+ getPrimaryKeyName?: (() => string) | undefined;
2684
+ properties: any & {
2685
+ readonly [x: string]: Readonly<{
2686
+ getConfig: () => object;
2687
+ getChoices: () => readonly (string | number | boolean | null)[];
2688
+ getDefaultValue: () => any;
2689
+ getConstantValue: () => any;
2690
+ getPropertyType: () => string;
2691
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2692
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2693
+ }>;
2694
+ readonly id?: Readonly<{
2695
+ getConfig: () => object;
2696
+ getChoices: () => readonly (string | number | boolean | null)[];
2697
+ getDefaultValue: () => any;
2698
+ getConstantValue: () => any;
2699
+ getPropertyType: () => string;
2700
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2701
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2702
+ }> | undefined;
2703
+ };
2704
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2705
+ singularName?: string | undefined;
2706
+ displayName?: string | undefined;
2707
+ }>;
2708
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2709
+ getOptions: () => object & Readonly<{
2710
+ [s: string]: any;
2711
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2712
+ }>;
2713
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2714
+ }>>;
2715
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2716
+ getModel: () => Readonly<{
2717
+ getName: () => string;
2718
+ getSingularName: () => string;
2719
+ getDisplayName: () => string;
2720
+ getPrimaryKeyName: () => string;
2721
+ getModelDefinition: () => Readonly<{
2722
+ getPrimaryKeyName?: (() => string) | undefined;
2723
+ properties: any & {
2724
+ readonly [x: string]: Readonly<{
2725
+ getConfig: () => object;
2726
+ getChoices: () => readonly (string | number | boolean | null)[];
2727
+ getDefaultValue: () => any;
2728
+ getConstantValue: () => any;
2729
+ getPropertyType: () => string;
2730
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2731
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2732
+ }>;
2733
+ readonly id?: Readonly<{
2734
+ getConfig: () => object;
2735
+ getChoices: () => readonly (string | number | boolean | null)[];
2736
+ getDefaultValue: () => any;
2737
+ getConstantValue: () => any;
2738
+ getPropertyType: () => string;
2739
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2740
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2741
+ }> | undefined;
2742
+ };
2743
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2744
+ singularName?: string | undefined;
2745
+ displayName?: string | undefined;
2746
+ }>;
2747
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2748
+ getOptions: () => object & Readonly<{
2749
+ [s: string]: any;
2750
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2751
+ }>;
2752
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2753
+ }>;
2754
+ }>>;
2755
+ getValidator: (valueGetter: ValueGetter<number, FunctionalModel, Readonly<{
2756
+ getName: () => string;
2757
+ getSingularName: () => string;
2758
+ getDisplayName: () => string;
2759
+ getPrimaryKeyName: () => string;
2760
+ getModelDefinition: () => Readonly<{
2761
+ getPrimaryKeyName?: (() => string) | undefined;
2762
+ properties: any & {
2763
+ readonly [x: string]: Readonly<{
2764
+ getConfig: () => object;
2765
+ getChoices: () => readonly (string | number | boolean | null)[];
2766
+ getDefaultValue: () => any;
2767
+ getConstantValue: () => any;
2768
+ getPropertyType: () => string;
2769
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2770
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2771
+ }>;
2772
+ readonly id?: Readonly<{
2773
+ getConfig: () => object;
2774
+ getChoices: () => readonly (string | number | boolean | null)[];
2775
+ getDefaultValue: () => any;
2776
+ getConstantValue: () => any;
2777
+ getPropertyType: () => string;
2778
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2779
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2780
+ }> | undefined;
2781
+ };
2782
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2783
+ singularName?: string | undefined;
2784
+ displayName?: string | undefined;
2785
+ }>;
2786
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2787
+ getOptions: () => object & Readonly<{
2788
+ [s: string]: any;
2789
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2790
+ }>;
2791
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2792
+ }>, Readonly<{
2793
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2794
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2795
+ };
2796
+ references: Readonly<{
2797
+ [s: string]: () => Maybe<PrimaryKeyType>;
2798
+ }>;
2799
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2800
+ getPrimaryKeyName: () => string;
2801
+ getPrimaryKey: () => PrimaryKeyType;
2802
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2803
+ getName: () => string;
2804
+ getSingularName: () => string;
2805
+ getDisplayName: () => string;
2806
+ getPrimaryKeyName: () => string;
2807
+ getModelDefinition: () => Readonly<{
2808
+ getPrimaryKeyName?: (() => string) | undefined;
2809
+ properties: any & {
2810
+ readonly [x: string]: Readonly<{
2811
+ getConfig: () => object;
2812
+ getChoices: () => readonly (string | number | boolean | null)[];
2813
+ getDefaultValue: () => any;
2814
+ getConstantValue: () => any;
2815
+ getPropertyType: () => string;
2816
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2817
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2818
+ }>;
2819
+ readonly id?: Readonly<{
2820
+ getConfig: () => object;
2821
+ getChoices: () => readonly (string | number | boolean | null)[];
2822
+ getDefaultValue: () => any;
2823
+ getConstantValue: () => any;
2824
+ getPropertyType: () => string;
2825
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2826
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2827
+ }> | undefined;
2828
+ };
2829
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2830
+ singularName?: string | undefined;
2831
+ displayName?: string | undefined;
2832
+ }>;
2833
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2834
+ getOptions: () => object & Readonly<{
2835
+ [s: string]: any;
2836
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2837
+ }>;
2838
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2839
+ }>>;
2840
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2841
+ getModel: () => Readonly<{
2842
+ getName: () => string;
2843
+ getSingularName: () => string;
2844
+ getDisplayName: () => string;
2845
+ getPrimaryKeyName: () => string;
2846
+ getModelDefinition: () => Readonly<{
2847
+ getPrimaryKeyName?: (() => string) | undefined;
2848
+ properties: any & {
2849
+ readonly [x: string]: Readonly<{
2850
+ getConfig: () => object;
2851
+ getChoices: () => readonly (string | number | boolean | null)[];
2852
+ getDefaultValue: () => any;
2853
+ getConstantValue: () => any;
2854
+ getPropertyType: () => string;
2855
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2856
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2857
+ }>;
2858
+ readonly id?: Readonly<{
2859
+ getConfig: () => object;
2860
+ getChoices: () => readonly (string | number | boolean | null)[];
2861
+ getDefaultValue: () => any;
2862
+ getConstantValue: () => any;
2863
+ getPropertyType: () => string;
2864
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2865
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2866
+ }> | undefined;
2867
+ };
2868
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2869
+ singularName?: string | undefined;
2870
+ displayName?: string | undefined;
2871
+ }>;
2872
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2873
+ getOptions: () => object & Readonly<{
2874
+ [s: string]: any;
2875
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2876
+ }>;
2877
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2878
+ }>;
2879
+ }>>) => PropertyValidator<FunctionalModel, Readonly<{
2880
+ getName: () => string;
2881
+ getSingularName: () => string;
2882
+ getDisplayName: () => string;
2883
+ getPrimaryKeyName: () => string;
2884
+ getModelDefinition: () => Readonly<{
2885
+ getPrimaryKeyName?: (() => string) | undefined;
2886
+ properties: any & {
2887
+ readonly [x: string]: Readonly<{
2888
+ getConfig: () => object;
2889
+ getChoices: () => readonly (string | number | boolean | null)[];
2890
+ getDefaultValue: () => any;
2891
+ getConstantValue: () => any;
2892
+ getPropertyType: () => string;
2893
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2894
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2895
+ }>;
2896
+ readonly id?: Readonly<{
2897
+ getConfig: () => object;
2898
+ getChoices: () => readonly (string | number | boolean | null)[];
2899
+ getDefaultValue: () => any;
2900
+ getConstantValue: () => any;
2901
+ getPropertyType: () => string;
2902
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2903
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2904
+ }> | undefined;
2905
+ };
2906
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2907
+ singularName?: string | undefined;
2908
+ displayName?: string | undefined;
2909
+ }>;
2910
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2911
+ getOptions: () => object & Readonly<{
2912
+ [s: string]: any;
2913
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2914
+ }>;
2915
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2916
+ }>, Readonly<{
2917
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
2918
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
2919
+ };
2920
+ references: Readonly<{
2921
+ [s: string]: () => Maybe<PrimaryKeyType>;
2922
+ }>;
2923
+ toObj: import("./interfaces").toObj<FunctionalModel>;
2924
+ getPrimaryKeyName: () => string;
2925
+ getPrimaryKey: () => PrimaryKeyType;
2926
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
2927
+ getName: () => string;
2928
+ getSingularName: () => string;
2929
+ getDisplayName: () => string;
2930
+ getPrimaryKeyName: () => string;
2931
+ getModelDefinition: () => Readonly<{
2932
+ getPrimaryKeyName?: (() => string) | undefined;
2933
+ properties: any & {
2934
+ readonly [x: string]: Readonly<{
2935
+ getConfig: () => object;
2936
+ getChoices: () => readonly (string | number | boolean | null)[];
2937
+ getDefaultValue: () => any;
2938
+ getConstantValue: () => any;
2939
+ getPropertyType: () => string;
2940
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2941
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2942
+ }>;
2943
+ readonly id?: Readonly<{
2944
+ getConfig: () => object;
2945
+ getChoices: () => readonly (string | number | boolean | null)[];
2946
+ getDefaultValue: () => any;
2947
+ getConstantValue: () => any;
2948
+ getPropertyType: () => string;
2949
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2950
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2951
+ }> | undefined;
2952
+ };
2953
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2954
+ singularName?: string | undefined;
2955
+ displayName?: string | undefined;
2956
+ }>;
2957
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2958
+ getOptions: () => object & Readonly<{
2959
+ [s: string]: any;
2960
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
2961
+ }>;
2962
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
2963
+ }>>;
2964
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
2965
+ getModel: () => Readonly<{
2966
+ getName: () => string;
2967
+ getSingularName: () => string;
2968
+ getDisplayName: () => string;
2969
+ getPrimaryKeyName: () => string;
2970
+ getModelDefinition: () => Readonly<{
2971
+ getPrimaryKeyName?: (() => string) | undefined;
2972
+ properties: any & {
2973
+ readonly [x: string]: Readonly<{
2974
+ getConfig: () => object;
2975
+ getChoices: () => readonly (string | number | boolean | null)[];
2976
+ getDefaultValue: () => any;
2977
+ getConstantValue: () => any;
2978
+ getPropertyType: () => string;
2979
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2980
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2981
+ }>;
2982
+ readonly id?: Readonly<{
2983
+ getConfig: () => object;
2984
+ getChoices: () => readonly (string | number | boolean | null)[];
2985
+ getDefaultValue: () => any;
2986
+ getConstantValue: () => any;
2987
+ getPropertyType: () => string;
2988
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
2989
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
2990
+ }> | undefined;
2991
+ };
2992
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
2993
+ singularName?: string | undefined;
2994
+ displayName?: string | undefined;
2995
+ }>;
2996
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
2997
+ getOptions: () => object & Readonly<{
2998
+ [s: string]: any;
2999
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
3000
+ }>;
3001
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
3002
+ }>;
3003
+ }>>;
3004
+ }>) | undefined;
3005
+ } & {
3006
+ readonly [x: string]: Readonly<{
3007
+ getConfig: () => object;
3008
+ getChoices: () => readonly (string | number | boolean | null)[];
3009
+ getDefaultValue: () => any;
3010
+ getConstantValue: () => any;
3011
+ getPropertyType: () => string;
3012
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
3013
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
3014
+ }>;
3015
+ };
3016
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<any, Readonly<any>, Readonly<{
3017
+ get: import("./interfaces").PropertyGetters<any> & {
3018
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
3019
+ };
3020
+ references: Readonly<{
3021
+ [s: string]: () => Maybe<PrimaryKeyType>;
3022
+ }>;
3023
+ toObj: import("./interfaces").toObj<any>;
3024
+ getPrimaryKeyName: () => string;
3025
+ getPrimaryKey: () => PrimaryKeyType;
3026
+ validators: import("./interfaces").PropertyValidators<any, Readonly<any>>;
3027
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<any>>;
3028
+ getModel: () => Readonly<any>;
3029
+ }>>[] | undefined;
3030
+ singularName?: string | undefined;
3031
+ displayName?: string | undefined;
3032
+ }>;
3033
+ getPrimaryKey: (t: any) => PrimaryKeyType;
3034
+ getOptions: () => object & Readonly<{
3035
+ [s: string]: any;
3036
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<{
3037
+ get: import("./interfaces").PropertyGetters<any> & {
3038
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
3039
+ };
3040
+ references: Readonly<{
3041
+ [s: string]: () => Maybe<PrimaryKeyType>;
3042
+ }>;
3043
+ toObj: import("./interfaces").toObj<any>;
3044
+ getPrimaryKeyName: () => string;
3045
+ getPrimaryKey: () => PrimaryKeyType;
3046
+ validators: import("./interfaces").PropertyValidators<any, Readonly<any>>;
3047
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<any>>;
3048
+ getModel: () => Readonly<any>;
3049
+ }>) => void>>;
3050
+ }>;
3051
+ create: (data: any) => Readonly<{
3052
+ get: import("./interfaces").PropertyGetters<any> & {
3053
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
3054
+ };
3055
+ references: Readonly<{
3056
+ [s: string]: () => Maybe<PrimaryKeyType>;
3057
+ }>;
3058
+ toObj: import("./interfaces").toObj<any>;
3059
+ getPrimaryKeyName: () => string;
3060
+ getPrimaryKey: () => PrimaryKeyType;
3061
+ validators: import("./interfaces").PropertyValidators<any, Readonly<any>>;
3062
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<any>>;
3063
+ getModel: () => Readonly<any>;
3064
+ }>;
3065
+ }>, Readonly<{
3066
+ get: import("./interfaces").PropertyGetters<any> & {
3067
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
3068
+ };
3069
+ references: Readonly<{
3070
+ [s: string]: () => Maybe<PrimaryKeyType>;
3071
+ }>;
3072
+ toObj: import("./interfaces").toObj<any>;
3073
+ getPrimaryKeyName: () => string;
3074
+ getPrimaryKey: () => PrimaryKeyType;
3075
+ validators: import("./interfaces").PropertyValidators<any, Readonly<any>>;
3076
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<any>>;
3077
+ getModel: () => Readonly<any>;
3078
+ }>>[] | undefined;
3079
+ maxLength?: number | undefined;
3080
+ minLength?: number | undefined;
3081
+ maxValue?: number | undefined;
3082
+ minValue?: number | undefined;
3083
+ autoNow?: boolean | undefined;
3084
+ fetcher?: import("./interfaces").ModelFetcher | undefined;
3085
+ }> & Readonly<{
3086
+ required?: boolean | undefined;
3087
+ isInteger?: boolean | undefined;
3088
+ isNumber?: boolean | undefined;
3089
+ isString?: boolean | undefined;
3090
+ isArray?: boolean | undefined;
3091
+ isBoolean?: boolean | undefined;
3092
+ }> & {
3093
+ /**
3094
+ * A date-fns format.
3095
+ */
3096
+ format?: string | undefined;
3097
+ isDateOnly?: boolean | undefined;
3098
+ }, additionalMetadata?: {}) => Readonly<{
2040
3099
  getConfig: () => object;
2041
3100
  getChoices: () => readonly (string | number | boolean | null)[];
2042
3101
  getDefaultValue: () => TModifier;
package/properties.js CHANGED
@@ -15,12 +15,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BooleanProperty = exports.EmailProperty = exports.ObjectProperty = exports.NumberProperty = exports.ConstantValueProperty = exports.TextProperty = exports.IntegerProperty = exports.AdvancedModelReferenceProperty = exports.ModelReferenceProperty = exports.ArrayProperty = exports.DateProperty = exports.UniqueIdProperty = exports.UniqueId = exports.NaturalIdProperty = exports.Property = void 0;
16
16
  const merge_1 = __importDefault(require("lodash/merge"));
17
17
  const get_1 = __importDefault(require("lodash/get"));
18
+ const format_1 = require("date-fns/format");
18
19
  const validation_1 = require("./validation");
19
20
  const constants_1 = require("./constants");
20
21
  const lazy_1 = require("./lazy");
21
22
  const utils_1 = require("./utils");
22
23
  const lib_1 = require("./lib");
23
24
  const EMAIL_REGEX = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/u;
25
+ const DEFAULT_JUST_DATE_FORMAT = 'yyyy-MM-dd';
24
26
  const Property = (type, config = {}, additionalMetadata = {}) => {
25
27
  if (!type && !(config === null || config === void 0 ? void 0 : config.type)) {
26
28
  throw new Error(`Property type must be provided.`);
@@ -72,13 +74,42 @@ const Property = (type, config = {}, additionalMetadata = {}) => {
72
74
  return r;
73
75
  };
74
76
  exports.Property = Property;
77
+ /**
78
+ * Determines if the value is a Date object.
79
+ * @param value Any value
80
+ */
81
+ const isDate = (value) => {
82
+ if (value === null) {
83
+ return false;
84
+ }
85
+ return typeof value === 'object' && value.toISOString;
86
+ };
87
+ /**
88
+ * A Property for Dates. Both strings and Date objects.
89
+ * @param config
90
+ * @param additionalMetadata
91
+ * @constructor
92
+ */
75
93
  const DateProperty = (config = {}, additionalMetadata = {}) => Property(constants_1.PROPERTY_TYPES.DateProperty, (0, merge_1.default)({
76
94
  lazyLoadMethod: (value) => {
77
- if (!value && (config === null || config === void 0 ? void 0 : config.autoNow)) {
78
- return new Date();
95
+ if (isDate(value)) {
96
+ if (config.format) {
97
+ return (0, format_1.formatDate)(value, config.format);
98
+ }
99
+ if (config.isDateOnly) {
100
+ return (0, format_1.formatDate)(value, DEFAULT_JUST_DATE_FORMAT);
101
+ }
102
+ return value.toISOString();
79
103
  }
80
- if (typeof value === 'string') {
81
- return new Date(value);
104
+ if (!value && (config === null || config === void 0 ? void 0 : config.autoNow)) {
105
+ const date = new Date();
106
+ if (config.format) {
107
+ return (0, format_1.formatDate)(date, config.format);
108
+ }
109
+ if (config.isDateOnly) {
110
+ return (0, format_1.formatDate)(date, DEFAULT_JUST_DATE_FORMAT);
111
+ }
112
+ return date.toISOString();
82
113
  }
83
114
  return value;
84
115
  },
package/properties.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../src/properties.ts"],"names":[],"mappings":"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"}