@rvoh/dream 0.41.0 → 0.42.0
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/dist/cjs/src/helpers/cli/SchemaBuilder.js +1 -2
- package/dist/esm/src/helpers/cli/SchemaBuilder.js +1 -2
- package/dist/types/src/helpers/inferSerializerFromDreamOrViewModel.d.ts +3 -3
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/types/dream.d.ts +8 -6
- package/dist/types/src/types/dream.ts +29 -19
- package/dist/types/src/types/openapi.d.ts +2 -2
- package/dist/types/src/types/openapi.ts +2 -2
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Benchmark.html +2 -2
- package/docs/classes/CalendarDate.html +2 -2
- package/docs/classes/CreateOrFindByFailedToCreateAndFind.html +3 -3
- package/docs/classes/Decorators.html +19 -19
- package/docs/classes/Dream.html +129 -129
- package/docs/classes/DreamApp.html +4 -4
- package/docs/classes/DreamBin.html +2 -2
- package/docs/classes/DreamCLI.html +4 -4
- package/docs/classes/DreamImporter.html +2 -2
- package/docs/classes/DreamLogos.html +2 -2
- package/docs/classes/DreamMigrationHelpers.html +7 -7
- package/docs/classes/DreamSerializer.html +2 -2
- package/docs/classes/DreamTransaction.html +2 -2
- package/docs/classes/Encrypt.html +2 -2
- package/docs/classes/Env.html +2 -2
- package/docs/classes/GlobalNameNotSet.html +3 -3
- package/docs/classes/NonLoadedAssociation.html +3 -3
- package/docs/classes/Query.html +50 -50
- package/docs/classes/Range.html +2 -2
- package/docs/classes/RecordNotFound.html +3 -3
- package/docs/classes/ValidationError.html +3 -3
- package/docs/functions/Attribute.html +1 -1
- package/docs/functions/RendersMany.html +1 -1
- package/docs/functions/RendersOne.html +1 -1
- package/docs/functions/ReplicaSafe.html +1 -1
- package/docs/functions/STI.html +1 -1
- package/docs/functions/SoftDelete.html +1 -1
- package/docs/functions/camelize.html +1 -1
- package/docs/functions/capitalize.html +1 -1
- package/docs/functions/closeAllDbConnections.html +1 -1
- package/docs/functions/compact.html +1 -1
- package/docs/functions/dreamDbConnections.html +1 -1
- package/docs/functions/dreamPath.html +1 -1
- package/docs/functions/generateDream.html +1 -1
- package/docs/functions/globalClassNameFromFullyQualifiedModelName.html +1 -1
- package/docs/functions/hyphenize.html +1 -1
- package/docs/functions/inferSerializerFromDreamClassOrViewModelClass.html +1 -1
- package/docs/functions/inferSerializerFromDreamOrViewModel.html +1 -1
- package/docs/functions/intersection.html +1 -1
- package/docs/functions/isEmpty.html +1 -1
- package/docs/functions/loadRepl.html +1 -1
- package/docs/functions/lookupClassByGlobalName.html +1 -1
- package/docs/functions/pascalize.html +1 -1
- package/docs/functions/pgErrorType.html +1 -1
- package/docs/functions/range-1.html +1 -1
- package/docs/functions/relativeDreamPath.html +1 -1
- package/docs/functions/round.html +1 -1
- package/docs/functions/serializerNameFromFullyQualifiedModelName.html +1 -1
- package/docs/functions/sharedPathPrefix.html +1 -1
- package/docs/functions/snakeify.html +1 -1
- package/docs/functions/sort.html +1 -1
- package/docs/functions/sortBy.html +1 -1
- package/docs/functions/standardizeFullyQualifiedModelName.html +1 -1
- package/docs/functions/uncapitalize.html +1 -1
- package/docs/functions/uniq.html +1 -1
- package/docs/functions/untypedDb.html +1 -1
- package/docs/functions/validateColumn.html +1 -1
- package/docs/functions/validateTable.html +1 -1
- package/docs/interfaces/AttributeStatement.html +2 -2
- package/docs/interfaces/DecoratorContext.html +2 -2
- package/docs/interfaces/DreamAppInitOptions.html +2 -2
- package/docs/interfaces/DreamAppOpts.html +2 -2
- package/docs/interfaces/DreamSerializerAssociationStatement.html +2 -2
- package/docs/interfaces/EncryptOptions.html +2 -2
- package/docs/interfaces/OpenapiSchemaProperties.html +1 -1
- package/docs/interfaces/OpenapiSchemaPropertiesShorthand.html +1 -1
- package/docs/interfaces/OpenapiTypeFieldObject.html +1 -1
- package/docs/modules.html +6 -3
- package/docs/types/Camelized.html +1 -1
- package/docs/types/CommonOpenapiSchemaObjectFields.html +1 -1
- package/docs/types/DateTime.html +1 -1
- package/docs/types/DbConnectionType.html +1 -1
- package/docs/types/DreamAssociationMetadata.html +1 -1
- package/docs/types/DreamAttributes.html +1 -1
- package/docs/types/DreamClassColumn.html +1 -1
- package/docs/types/DreamColumn.html +1 -1
- package/docs/types/DreamColumnNames.html +1 -1
- package/docs/types/DreamLogLevel.html +1 -1
- package/docs/types/DreamLogger.html +1 -1
- package/docs/types/DreamOrViewModelClassSerializerArrayKeys.html +1 -0
- package/docs/types/DreamOrViewModelClassSerializerKey.html +1 -0
- package/docs/types/DreamOrViewModelSerializerKey.html +1 -1
- package/docs/types/DreamParamSafeAttributes.html +1 -1
- package/docs/types/DreamParamSafeColumnNames.html +1 -1
- package/docs/types/DreamSerializable.html +1 -0
- package/docs/types/DreamSerializableArray.html +1 -0
- package/docs/types/DreamSerializerKey.html +1 -1
- package/docs/types/DreamSerializers.html +1 -1
- package/docs/types/DreamTableSchema.html +1 -1
- package/docs/types/DreamVirtualColumns.html +1 -1
- package/docs/types/EncryptAlgorithm.html +1 -1
- package/docs/types/Hyphenized.html +1 -1
- package/docs/types/IdType.html +1 -1
- package/docs/types/OpenapiAllTypes.html +1 -1
- package/docs/types/OpenapiFormats.html +1 -1
- package/docs/types/OpenapiNumberFormats.html +1 -1
- package/docs/types/OpenapiPrimitiveTypes.html +1 -1
- package/docs/types/OpenapiSchemaArray.html +1 -1
- package/docs/types/OpenapiSchemaArrayShorthand.html +1 -1
- package/docs/types/OpenapiSchemaBase.html +1 -1
- package/docs/types/OpenapiSchemaBody.html +1 -1
- package/docs/types/OpenapiSchemaBodyShorthand.html +1 -1
- package/docs/types/OpenapiSchemaCommonFields.html +1 -1
- package/docs/types/OpenapiSchemaExpressionAllOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionOneOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionRef.html +1 -1
- package/docs/types/OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
- package/docs/types/OpenapiSchemaInteger.html +1 -1
- package/docs/types/OpenapiSchemaNull.html +1 -1
- package/docs/types/OpenapiSchemaNumber.html +1 -1
- package/docs/types/OpenapiSchemaObject.html +1 -1
- package/docs/types/OpenapiSchemaObjectAllOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectAllOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectAnyOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectBase.html +1 -1
- package/docs/types/OpenapiSchemaObjectBaseShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectOneOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectOneOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectShorthand.html +1 -1
- package/docs/types/OpenapiSchemaPrimitiveGeneric.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionAllOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionOneOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
- package/docs/types/OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
- package/docs/types/OpenapiSchemaString.html +1 -1
- package/docs/types/OpenapiShorthandAllTypes.html +1 -1
- package/docs/types/OpenapiShorthandPrimitiveTypes.html +1 -1
- package/docs/types/OpenapiTypeField.html +1 -1
- package/docs/types/Pascalized.html +1 -1
- package/docs/types/PrimaryKeyType.html +1 -1
- package/docs/types/RoundingPrecision.html +1 -1
- package/docs/types/SerializableClassOrSerializerCallback.html +1 -1
- package/docs/types/SerializableTypes.html +1 -1
- package/docs/types/Snakeified.html +1 -1
- package/docs/types/Timestamp.html +1 -1
- package/docs/types/UpdateableAssociationProperties.html +1 -1
- package/docs/types/UpdateableProperties.html +1 -1
- package/docs/types/ValidationType.html +1 -1
- package/docs/types/ViewModel.html +1 -0
- package/docs/types/ViewModelClass.html +1 -0
- package/docs/types/WhereStatementForDream.html +1 -1
- package/docs/types/WhereStatementForDreamClass.html +1 -1
- package/docs/variables/DateTime-1.html +1 -1
- package/docs/variables/DreamConst.html +1 -1
- package/docs/variables/TRIGRAM_OPERATORS.html +1 -1
- package/docs/variables/openapiPrimitiveTypes-1.html +1 -1
- package/docs/variables/openapiShorthandPrimitiveTypes-1.html +1 -1
- package/docs/variables/ops.html +1 -1
- package/docs/variables/primaryKeyTypes.html +1 -1
- package/package.json +1 -1
- package/docs/types/SerializableDreamClassOrViewModelClass.html +0 -1
- package/docs/types/SerializableDreamOrViewModel.html +0 -1
- package/docs/types/ViewModelSerializerKey.html +0 -1
|
@@ -183,8 +183,7 @@ may need to update the table getter in the corresponding Dream.
|
|
|
183
183
|
const eachModelSerializerKeys = modelsToCheck.map(model => {
|
|
184
184
|
let serializers = {};
|
|
185
185
|
try {
|
|
186
|
-
serializers =
|
|
187
|
-
model?.prototype?.['serializers'] || {};
|
|
186
|
+
serializers = model?.prototype?.['serializers'] || {};
|
|
188
187
|
}
|
|
189
188
|
catch {
|
|
190
189
|
// no-op
|
|
@@ -181,8 +181,7 @@ may need to update the table getter in the corresponding Dream.
|
|
|
181
181
|
const eachModelSerializerKeys = modelsToCheck.map(model => {
|
|
182
182
|
let serializers = {};
|
|
183
183
|
try {
|
|
184
|
-
serializers =
|
|
185
|
-
model?.prototype?.['serializers'] || {};
|
|
184
|
+
serializers = model?.prototype?.['serializers'] || {};
|
|
186
185
|
}
|
|
187
186
|
catch {
|
|
188
187
|
// no-op
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import Dream from '../Dream.js';
|
|
2
|
-
import {
|
|
3
|
-
export default function inferSerializerFromDreamOrViewModel(obj: Dream |
|
|
4
|
-
export declare function inferSerializerFromDreamClassOrViewModelClass(classDef:
|
|
2
|
+
import { ViewModel, ViewModelClass } from '../types/dream.js';
|
|
3
|
+
export default function inferSerializerFromDreamOrViewModel(obj: Dream | ViewModel, serializerKey?: string | undefined): typeof import("../index.js").DreamSerializer | null;
|
|
4
|
+
export declare function inferSerializerFromDreamClassOrViewModelClass(classDef: ViewModelClass, serializerKey?: string | undefined): typeof import("../index.js").DreamSerializer | null;
|
|
@@ -61,6 +61,6 @@ export { default as Attribute, type AttributeStatement, type SerializableTypes,
|
|
|
61
61
|
export { default as DreamSerializer } from './serializer/index.js';
|
|
62
62
|
export { type WhereStatementForDream, type WhereStatementForDreamClass } from './types/associations/shared.js';
|
|
63
63
|
export { type DbConnectionType } from './types/db.js';
|
|
64
|
-
export { type DreamAssociationMetadata, type DreamAttributes, type DreamClassColumn, type DreamColumn, type DreamColumnNames, type DreamOrViewModelSerializerKey, type DreamParamSafeAttributes, type DreamParamSafeColumnNames, type DreamSerializerKey, type DreamSerializers, type DreamTableSchema, type DreamVirtualColumns, type IdType, type PrimaryKeyType, type SerializableClassOrSerializerCallback, type
|
|
64
|
+
export { type DreamAssociationMetadata, type DreamAttributes, type DreamClassColumn, type DreamColumn, type DreamColumnNames, type DreamOrViewModelClassSerializerArrayKeys, type DreamOrViewModelClassSerializerKey, type DreamOrViewModelSerializerKey, type DreamParamSafeAttributes, type DreamParamSafeColumnNames, type DreamSerializable, type DreamSerializableArray, type DreamSerializerKey, type DreamSerializers, type DreamTableSchema, type DreamVirtualColumns, type IdType, type PrimaryKeyType, type SerializableClassOrSerializerCallback, type Timestamp, type UpdateableAssociationProperties, type UpdateableProperties, type ViewModel, type ViewModelClass, } from './types/dream.js';
|
|
65
65
|
export { type CommonOpenapiSchemaObjectFields, type OpenapiAllTypes, type OpenapiFormats, type OpenapiNumberFormats, type OpenapiPrimitiveTypes, type OpenapiSchemaArray, type OpenapiSchemaArrayShorthand, type OpenapiSchemaBase, type OpenapiSchemaBody, type OpenapiSchemaBodyShorthand, type OpenapiSchemaCommonFields, type OpenapiSchemaExpressionAllOf, type OpenapiSchemaExpressionAnyOf, type OpenapiSchemaExpressionOneOf, type OpenapiSchemaExpressionRef, type OpenapiSchemaExpressionRefSchemaShorthand, type OpenapiSchemaInteger, type OpenapiSchemaNull, type OpenapiSchemaNumber, type OpenapiSchemaObject, type OpenapiSchemaObjectAllOf, type OpenapiSchemaObjectAllOfShorthand, type OpenapiSchemaObjectAnyOf, type OpenapiSchemaObjectAnyOfShorthand, type OpenapiSchemaObjectBase, type OpenapiSchemaObjectBaseShorthand, type OpenapiSchemaObjectOneOf, type OpenapiSchemaObjectOneOfShorthand, type OpenapiSchemaObjectShorthand, type OpenapiSchemaPrimitiveGeneric, type OpenapiSchemaProperties, type OpenapiSchemaPropertiesShorthand, type OpenapiSchemaShorthandExpressionAllOf, type OpenapiSchemaShorthandExpressionAnyOf, type OpenapiSchemaShorthandExpressionOneOf, type OpenapiSchemaShorthandExpressionSerializableRef, type OpenapiSchemaShorthandExpressionSerializerRef, type OpenapiSchemaShorthandPrimitiveGeneric, type OpenapiSchemaString, type OpenapiShorthandAllTypes, type OpenapiShorthandPrimitiveTypes, type OpenapiTypeField, type OpenapiTypeFieldObject, } from './types/openapi.js';
|
|
66
66
|
export { type ValidationType } from './types/validation.js';
|
|
@@ -88,11 +88,9 @@ export type ViewModel = {
|
|
|
88
88
|
serializers: Record<string, string>;
|
|
89
89
|
};
|
|
90
90
|
export type ViewModelClass = abstract new (...args: any) => ViewModel;
|
|
91
|
-
export type SerializableDreamOrViewModel = ViewModel;
|
|
92
|
-
export type SerializableDreamClassOrViewModelClass = abstract new (...args: any) => SerializableDreamOrViewModel;
|
|
93
91
|
export type DreamSerializerCallback = () => typeof DreamSerializer;
|
|
94
|
-
export type SerializableClassOrSerializerCallback =
|
|
95
|
-
export type SerializableClassOrClasses = DreamSerializerCallback |
|
|
92
|
+
export type SerializableClassOrSerializerCallback = ViewModelClass | DreamSerializerCallback;
|
|
93
|
+
export type SerializableClassOrClasses = DreamSerializerCallback | ViewModelClass | ViewModelClass[];
|
|
96
94
|
export type NextPreloadArgumentType<Schema, PreviousTableNames, PreviousSchemaAssociations = PreviousTableNames extends undefined ? undefined : Schema[PreviousTableNames & keyof Schema]['associations' & keyof Schema[PreviousTableNames & keyof Schema]]> = PreviousTableNames extends undefined ? undefined : (keyof PreviousSchemaAssociations & string) | (keyof PreviousSchemaAssociations & string)[];
|
|
97
95
|
export type PreloadArgumentTypeAssociatedTableNames<Schema, PreviousTableNames, ArgumentType, PreviousSchemaAssociations = PreviousTableNames extends undefined ? undefined : Schema[PreviousTableNames & keyof Schema]> = ArgumentType extends string[] ? undefined : (PreviousSchemaAssociations[ArgumentType & (keyof PreviousSchemaAssociations & string)] & string[])[number];
|
|
98
96
|
export type AssociationNameToDreamClassMap = Record<string, typeof Dream>;
|
|
@@ -118,9 +116,13 @@ export type DreamSerializeOptions<T> = {
|
|
|
118
116
|
serializerKey?: DreamSerializerKey<T>;
|
|
119
117
|
casing?: 'camel' | 'snake' | null;
|
|
120
118
|
};
|
|
119
|
+
export type DreamOrViewModelClassSerializerKey<T> = T extends typeof Dream ? DreamSerializerKey<InstanceType<T>> : T extends ViewModelClass ? ViewModelSerializerKey<InstanceType<T>> : never;
|
|
121
120
|
export type DreamOrViewModelSerializerKey<T> = T extends Dream ? DreamSerializerKey<T> : ViewModelSerializerKey<T>;
|
|
122
|
-
export type
|
|
123
|
-
export type
|
|
121
|
+
export type DreamSerializable = typeof Dream | ViewModelClass | typeof DreamSerializer;
|
|
122
|
+
export type DreamSerializableArray<StartingArray extends readonly DreamSerializable[] = [], Depth extends number = 0> = Depth extends 20 ? StartingArray : StartingArray | DreamSerializableArray<[DreamSerializable, ...StartingArray], Inc<Depth>>;
|
|
123
|
+
export type DreamOrViewModelClassSerializerArrayKeys<T extends DreamSerializableArray> = T['length'] extends 0 ? string : T[0] extends typeof Dream | ViewModelClass ? DreamOrViewModelClassSerializerKey<T[0]> & DreamOrViewModelClassSerializerArrayKeys<T extends [any, ...infer Rest] ? Rest : never> : DreamOrViewModelClassSerializerArrayKeys<T extends [any, ...infer Rest] ? Rest : never>;
|
|
124
|
+
export type DreamSerializerKey<T, Table = T['table' & keyof T] extends string ? T['table' & keyof T] : never, Schema = T['schema' & keyof T] extends object ? T['schema' & keyof T] : never, TableSchema = Table extends never ? never : Schema extends never ? never : Schema[Table & keyof Schema], SerializerKeys = TableSchema extends never ? never : TableSchema['serializerKeys' & keyof TableSchema] & (string[] | Readonly<string[]>), SerializerKey = SerializerKeys extends string[] | Readonly<string[]> ? SerializerKeys[number] : never> = SerializerKey;
|
|
125
|
+
export type ViewModelSerializerKey<T, SerializerType = T extends null ? never : T['serializers' & keyof T] extends object ? keyof T['serializers' & keyof T] : never> = SerializerType;
|
|
124
126
|
export interface SimilarityStatement {
|
|
125
127
|
tableName: string;
|
|
126
128
|
tableAlias: string;
|
|
@@ -356,20 +356,10 @@ export type DreamConstructorType<T extends Dream> = (new (...arguments_: any[])
|
|
|
356
356
|
export type ViewModel = { serializers: Record<string, string> }
|
|
357
357
|
export type ViewModelClass = abstract new (...args: any) => ViewModel
|
|
358
358
|
|
|
359
|
-
export type SerializableDreamOrViewModel = ViewModel
|
|
360
|
-
export type SerializableDreamClassOrViewModelClass = abstract new (
|
|
361
|
-
...args: any
|
|
362
|
-
) => SerializableDreamOrViewModel
|
|
363
|
-
|
|
364
359
|
export type DreamSerializerCallback = () => typeof DreamSerializer
|
|
365
|
-
export type SerializableClassOrSerializerCallback =
|
|
366
|
-
| SerializableDreamClassOrViewModelClass
|
|
367
|
-
| DreamSerializerCallback
|
|
360
|
+
export type SerializableClassOrSerializerCallback = ViewModelClass | DreamSerializerCallback
|
|
368
361
|
|
|
369
|
-
export type SerializableClassOrClasses =
|
|
370
|
-
| DreamSerializerCallback
|
|
371
|
-
| SerializableDreamClassOrViewModelClass
|
|
372
|
-
| SerializableDreamClassOrViewModelClass[]
|
|
362
|
+
export type SerializableClassOrClasses = DreamSerializerCallback | ViewModelClass | ViewModelClass[]
|
|
373
363
|
|
|
374
364
|
// preload
|
|
375
365
|
export type NextPreloadArgumentType<
|
|
@@ -447,15 +437,36 @@ export type DreamSerializeOptions<T> = {
|
|
|
447
437
|
casing?: 'camel' | 'snake' | null
|
|
448
438
|
}
|
|
449
439
|
|
|
440
|
+
export type DreamOrViewModelClassSerializerKey<T> = T extends typeof Dream
|
|
441
|
+
? DreamSerializerKey<InstanceType<T>>
|
|
442
|
+
: T extends ViewModelClass
|
|
443
|
+
? ViewModelSerializerKey<InstanceType<T>>
|
|
444
|
+
: never
|
|
445
|
+
|
|
450
446
|
export type DreamOrViewModelSerializerKey<T> = T extends Dream
|
|
451
447
|
? DreamSerializerKey<T>
|
|
452
448
|
: ViewModelSerializerKey<T>
|
|
453
449
|
|
|
450
|
+
export type DreamSerializable = typeof Dream | ViewModelClass | typeof DreamSerializer
|
|
451
|
+
|
|
452
|
+
export type DreamSerializableArray<
|
|
453
|
+
StartingArray extends readonly DreamSerializable[] = [],
|
|
454
|
+
Depth extends number = 0,
|
|
455
|
+
> = Depth extends 20
|
|
456
|
+
? StartingArray
|
|
457
|
+
: StartingArray | DreamSerializableArray<[DreamSerializable, ...StartingArray], Inc<Depth>>
|
|
458
|
+
|
|
459
|
+
export type DreamOrViewModelClassSerializerArrayKeys<T extends DreamSerializableArray> = T['length'] extends 0
|
|
460
|
+
? string
|
|
461
|
+
: T[0] extends typeof Dream | ViewModelClass
|
|
462
|
+
? DreamOrViewModelClassSerializerKey<T[0]> &
|
|
463
|
+
DreamOrViewModelClassSerializerArrayKeys<T extends [any, ...infer Rest] ? Rest : never>
|
|
464
|
+
: DreamOrViewModelClassSerializerArrayKeys<T extends [any, ...infer Rest] ? Rest : never>
|
|
465
|
+
|
|
454
466
|
export type DreamSerializerKey<
|
|
455
467
|
T,
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
Schema = U['schema' & keyof U] extends object ? U['schema' & keyof U] : never,
|
|
468
|
+
Table = T['table' & keyof T] extends string ? T['table' & keyof T] : never,
|
|
469
|
+
Schema = T['schema' & keyof T] extends object ? T['schema' & keyof T] : never,
|
|
459
470
|
TableSchema = Table extends never ? never : Schema extends never ? never : Schema[Table & keyof Schema],
|
|
460
471
|
SerializerKeys = TableSchema extends never
|
|
461
472
|
? never
|
|
@@ -465,11 +476,10 @@ export type DreamSerializerKey<
|
|
|
465
476
|
|
|
466
477
|
export type ViewModelSerializerKey<
|
|
467
478
|
T,
|
|
468
|
-
|
|
469
|
-
SerializerType = U extends null
|
|
479
|
+
SerializerType = T extends null
|
|
470
480
|
? never
|
|
471
|
-
:
|
|
472
|
-
? keyof
|
|
481
|
+
: T['serializers' & keyof T] extends object
|
|
482
|
+
? keyof T['serializers' & keyof T]
|
|
473
483
|
: never,
|
|
474
484
|
> = SerializerType
|
|
475
485
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { openapiPrimitiveTypes, openapiShorthandPrimitiveTypes } from '../dream/constants.js';
|
|
2
2
|
import DreamSerializer from '../serializer/index.js';
|
|
3
|
-
import {
|
|
3
|
+
import { ViewModelClass } from './dream.js';
|
|
4
4
|
export type OpenapiSchemaBody = OpenapiSchemaBase | OpenapiSchemaPrimitiveGeneric | OpenapiSchemaExpressionAnyOf | OpenapiSchemaExpressionOneOf | OpenapiSchemaExpressionAllOf | OpenapiSchemaObject | OpenapiSchemaArray;
|
|
5
5
|
export type OpenapiSchemaBodyShorthand = OpenapiSchemaBase | OpenapiSchemaShorthandPrimitiveGeneric | OpenapiSchemaShorthandExpressionAnyOf | OpenapiSchemaShorthandExpressionOneOf | OpenapiSchemaShorthandExpressionAllOf | OpenapiSchemaObjectShorthand | OpenapiSchemaArrayShorthand | OpenapiSchemaNull | OpenapiSchemaExpressionRefSchemaShorthand | OpenapiSchemaShorthandExpressionSerializerRef | OpenapiSchemaShorthandExpressionSerializableRef;
|
|
6
6
|
export type OpenapiSchemaBase = OpenapiSchemaString | OpenapiSchemaInteger | OpenapiSchemaNumber | OpenapiSchemaNull | OpenapiSchemaExpressionRef;
|
|
@@ -19,7 +19,7 @@ export type OpenapiSchemaShorthandExpressionSerializerRef = {
|
|
|
19
19
|
maybeNull?: boolean;
|
|
20
20
|
};
|
|
21
21
|
export type OpenapiSchemaShorthandExpressionSerializableRef = {
|
|
22
|
-
$serializable:
|
|
22
|
+
$serializable: ViewModelClass;
|
|
23
23
|
key?: string;
|
|
24
24
|
many?: boolean;
|
|
25
25
|
maybeNull?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { openapiPrimitiveTypes, openapiShorthandPrimitiveTypes } from '../dream/constants.js'
|
|
2
2
|
import DreamSerializer from '../serializer/index.js'
|
|
3
|
-
import {
|
|
3
|
+
import { ViewModelClass } from './dream.js'
|
|
4
4
|
|
|
5
5
|
export type OpenapiSchemaBody =
|
|
6
6
|
| OpenapiSchemaBase
|
|
@@ -50,7 +50,7 @@ export type OpenapiSchemaShorthandExpressionSerializerRef = {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export type OpenapiSchemaShorthandExpressionSerializableRef = {
|
|
53
|
-
$serializable:
|
|
53
|
+
$serializable: ViewModelClass
|
|
54
54
|
key?: string
|
|
55
55
|
many?: boolean
|
|
56
56
|
maybeNull?: boolean
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,
|
|
1
|
+
window.navigationData = "data:application/octet-stream;base64,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"
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "data:application/octet-stream;base64,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";
|
|
1
|
+
window.searchData = "data:application/octet-stream;base64,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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Benchmark | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rvoh/dream</a></li><li><a href="Benchmark.html">Benchmark</a></li></ul><h1>Class Benchmark</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Benchmark | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rvoh/dream</a></li><li><a href="Benchmark.html">Benchmark</a></li></ul><h1>Class Benchmark</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/1a7f39ad288ab9c97a164048e8049effd978ff7b/src/helpers/benchmark.ts#L6">src/helpers/benchmark.ts:6</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="Benchmark.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
|
2
2
|
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="Benchmark.html#mark" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>mark</span></a>
|
|
3
3
|
<a href="Benchmark.html#start" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>start</span></a>
|
|
4
|
-
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Benchmark" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Benchmark</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a><a href="#constructor.new_Benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a></h4></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="mark" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>mark</span><a href="#mark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="mark.mark-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">mark</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#mark.mark-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">BenchmarkLogLevel</span><span class="tsd-signature-symbol"> = 'log'</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
4
|
+
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Benchmark" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Benchmark</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a><a href="#constructor.new_Benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a></h4></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="mark" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>mark</span><a href="#mark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="mark.mark-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">mark</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#mark.mark-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">BenchmarkLogLevel</span><span class="tsd-signature-symbol"> = 'log'</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/1a7f39ad288ab9c97a164048e8049effd978ff7b/src/helpers/benchmark.ts#L12">src/helpers/benchmark.ts:12</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="start" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>start</span><a href="#start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="start.start-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">start</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#start.start-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/1a7f39ad288ab9c97a164048e8049effd978ff7b/src/helpers/benchmark.ts#L8">src/helpers/benchmark.ts:8</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#mark" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>mark</span></a><a href="#start" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>start</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rvoh/dream</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|