@rvoh/dream 0.40.2 → 0.40.4
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/generateFactoryContent.js +6 -4
- package/dist/cjs/src/types/associations/belongsTo.js +2 -0
- package/dist/cjs/src/types/associations/hasMany.js +2 -0
- package/dist/cjs/src/types/associations/hasOne.js +2 -0
- package/dist/cjs/src/types/associations/shared.js +2 -0
- package/dist/cjs/src/types/db.js +2 -0
- package/dist/cjs/src/types/dream.js +2 -0
- package/dist/cjs/src/types/lifecycle.js +2 -0
- package/dist/cjs/src/types/logger.js +2 -0
- package/dist/cjs/src/types/openapi.js +2 -0
- package/dist/cjs/src/types/query.js +2 -0
- package/dist/cjs/src/types/utils.js +2 -0
- package/dist/cjs/src/types/validation.js +2 -0
- package/dist/cjs/src/types/variadic.js +2 -0
- package/dist/esm/src/helpers/cli/generateFactoryContent.js +6 -4
- package/dist/esm/src/types/associations/belongsTo.js +1 -0
- package/dist/esm/src/types/associations/hasMany.js +1 -0
- package/dist/esm/src/types/associations/hasOne.js +1 -0
- package/dist/esm/src/types/associations/shared.js +1 -0
- package/dist/esm/src/types/db.js +1 -0
- package/dist/esm/src/types/dream.js +1 -0
- package/dist/esm/src/types/lifecycle.js +1 -0
- package/dist/esm/src/types/logger.js +1 -0
- package/dist/esm/src/types/openapi.js +1 -0
- package/dist/esm/src/types/query.js +1 -0
- package/dist/esm/src/types/utils.js +1 -0
- package/dist/esm/src/types/validation.js +1 -0
- package/dist/esm/src/types/variadic.js +1 -0
- package/dist/types/src/types/associations/belongsTo.d.ts +28 -73
- package/dist/types/src/types/associations/belongsTo.ts +76 -0
- package/dist/types/src/types/associations/hasMany.d.ts +15 -79
- package/dist/types/src/types/associations/hasMany.ts +80 -0
- package/dist/types/src/types/associations/hasOne.d.ts +8 -26
- package/dist/types/src/types/associations/hasOne.ts +26 -0
- package/dist/types/src/types/associations/shared.d.ts +98 -444
- package/dist/types/src/types/associations/shared.ts +450 -0
- package/dist/types/src/types/db.d.ts +9 -14
- package/dist/types/src/types/db.ts +14 -0
- package/dist/types/src/types/dream.d.ts +124 -510
- package/dist/types/src/types/dream.ts +521 -0
- package/dist/types/src/types/lifecycle.d.ts +23 -42
- package/dist/types/src/types/lifecycle.ts +50 -0
- package/dist/types/src/types/logger.d.ts +6 -40
- package/dist/types/src/types/logger.ts +42 -0
- package/dist/types/src/types/openapi.d.ts +105 -222
- package/dist/types/src/types/openapi.ts +255 -0
- package/dist/types/src/types/query.d.ts +53 -161
- package/dist/types/src/types/query.ts +165 -0
- package/dist/types/src/types/utils.d.ts +83 -141
- package/dist/types/src/types/utils.ts +173 -0
- package/dist/types/src/types/validation.d.ts +17 -18
- package/dist/types/src/types/validation.ts +20 -0
- package/dist/types/src/types/variadic.d.ts +42 -444
- package/dist/types/src/types/variadic.ts +447 -0
- 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 +132 -132
- 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 +52 -52
- 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/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/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/DreamOrViewModelSerializerKey.html +1 -1
- package/docs/types/DreamParamSafeAttributes.html +1 -1
- package/docs/types/DreamParamSafeColumnNames.html +1 -1
- 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/SerializableDreamClassOrViewModelClass.html +1 -1
- package/docs/types/SerializableDreamOrViewModel.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/ViewModelSerializerKey.html +1 -1
- 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
|
@@ -34,16 +34,16 @@ function generateFactoryContent({ fullyQualifiedModelName, columnsWithTypes, })
|
|
|
34
34
|
belongsToNames.push(associationName);
|
|
35
35
|
belongsToTypedNames.push(`${associationName}: ${associationModelName}`);
|
|
36
36
|
additionalImports.push(associationFactoryImportStatement);
|
|
37
|
-
associationCreationStatements.push(
|
|
37
|
+
associationCreationStatements.push(`${associationName}: await create${associationModelName}(),`);
|
|
38
38
|
break;
|
|
39
39
|
case 'string':
|
|
40
40
|
case 'text':
|
|
41
41
|
case 'citext':
|
|
42
|
-
stringAttributes.push(
|
|
42
|
+
stringAttributes.push(`${(0, camelize_js_1.default)(attributeName)}: \`${fullyQualifiedModelName} ${(0, camelize_js_1.default)(attributeName)} ${firstStringAttr ? '${++counter}' : '${counter}'}\`,`);
|
|
43
43
|
firstStringAttr = false;
|
|
44
44
|
break;
|
|
45
45
|
case 'enum':
|
|
46
|
-
stringAttributes.push(
|
|
46
|
+
stringAttributes.push(`${(0, camelize_js_1.default)(attributeName)}: '${(descriptors[descriptors.length - 1] || '<tbd>').split(',')[0]}',`);
|
|
47
47
|
break;
|
|
48
48
|
default:
|
|
49
49
|
// noop
|
|
@@ -56,7 +56,9 @@ import { ${(0, uniq_js_1.default)(dreamImports).join(', ')} } from '@rvoh/dream'
|
|
|
56
56
|
import ${modelClassName} from '${relativePath}'${additionalImports.length ? '\n' + (0, uniq_js_1.default)(additionalImports).join('\n') : ''}
|
|
57
57
|
${stringAttributes.length ? '\nlet counter = 0\n' : ''}
|
|
58
58
|
export default async function create${modelClassName}(attrs: UpdateableProperties<${modelClassName}> = {}) {
|
|
59
|
-
|
|
59
|
+
return await ${modelClassName}.create({
|
|
60
|
+
${associationCreationStatements.length ? associationCreationStatements.join('\n ') + '\n ' : ''}${stringAttributes.length ? stringAttributes.join('\n ') + '\n ' : ''}...attrs,
|
|
61
|
+
})
|
|
60
62
|
}
|
|
61
63
|
`;
|
|
62
64
|
}
|
|
@@ -31,16 +31,16 @@ export default function generateFactoryContent({ fullyQualifiedModelName, column
|
|
|
31
31
|
belongsToNames.push(associationName);
|
|
32
32
|
belongsToTypedNames.push(`${associationName}: ${associationModelName}`);
|
|
33
33
|
additionalImports.push(associationFactoryImportStatement);
|
|
34
|
-
associationCreationStatements.push(
|
|
34
|
+
associationCreationStatements.push(`${associationName}: await create${associationModelName}(),`);
|
|
35
35
|
break;
|
|
36
36
|
case 'string':
|
|
37
37
|
case 'text':
|
|
38
38
|
case 'citext':
|
|
39
|
-
stringAttributes.push(
|
|
39
|
+
stringAttributes.push(`${camelize(attributeName)}: \`${fullyQualifiedModelName} ${camelize(attributeName)} ${firstStringAttr ? '${++counter}' : '${counter}'}\`,`);
|
|
40
40
|
firstStringAttr = false;
|
|
41
41
|
break;
|
|
42
42
|
case 'enum':
|
|
43
|
-
stringAttributes.push(
|
|
43
|
+
stringAttributes.push(`${camelize(attributeName)}: '${(descriptors[descriptors.length - 1] || '<tbd>').split(',')[0]}',`);
|
|
44
44
|
break;
|
|
45
45
|
default:
|
|
46
46
|
// noop
|
|
@@ -53,7 +53,9 @@ import { ${uniq(dreamImports).join(', ')} } from '@rvoh/dream'
|
|
|
53
53
|
import ${modelClassName} from '${relativePath}'${additionalImports.length ? '\n' + uniq(additionalImports).join('\n') : ''}
|
|
54
54
|
${stringAttributes.length ? '\nlet counter = 0\n' : ''}
|
|
55
55
|
export default async function create${modelClassName}(attrs: UpdateableProperties<${modelClassName}> = {}) {
|
|
56
|
-
|
|
56
|
+
return await ${modelClassName}.create({
|
|
57
|
+
${associationCreationStatements.length ? associationCreationStatements.join('\n ') + '\n ' : ''}${stringAttributes.length ? stringAttributes.join('\n ') + '\n ' : ''}...attrs,
|
|
58
|
+
})
|
|
57
59
|
}
|
|
58
60
|
`;
|
|
59
61
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,76 +1,31 @@
|
|
|
1
|
-
import Dream from '../../Dream.
|
|
2
|
-
import { AssociationTableNames } from '../db.js'
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
>
|
|
18
|
-
modelCB: () => typeof Dream | (typeof Dream)[]
|
|
19
|
-
globalAssociationNameOrNames: string[]
|
|
20
|
-
type: 'BelongsTo'
|
|
21
|
-
as: string
|
|
22
|
-
primaryKey: (associationInstance?: Dream) => keyof DB[TableName] & string
|
|
23
|
-
primaryKeyValue: (associationInstance: Dream | null) => any
|
|
24
|
-
primaryKeyOverride?: (keyof DB[TableName] & string) | null
|
|
25
|
-
foreignKey: () => DreamColumnNames<BaseInstance> & string
|
|
26
|
-
foreignKeyTypeField: () => DreamColumnNames<BaseInstance> & string
|
|
27
|
-
optional: boolean
|
|
28
|
-
distinct: null
|
|
29
|
-
polymorphic: boolean
|
|
30
|
-
withoutDefaultScopes?: DefaultScopeName<BaseInstance>[]
|
|
1
|
+
import Dream from '../../Dream.js';
|
|
2
|
+
import { AssociationTableNames } from '../db.js';
|
|
3
|
+
import { DefaultScopeName, DefaultScopeNameForTable, DreamColumnNames, GlobalModelNames, TableColumnNames, TableNameForGlobalModelName } from '../dream.js';
|
|
4
|
+
export interface BelongsToStatement<BaseInstance extends Dream, DB, Schema, TableName extends AssociationTableNames<DB, Schema> & keyof DB> {
|
|
5
|
+
modelCB: () => typeof Dream | (typeof Dream)[];
|
|
6
|
+
globalAssociationNameOrNames: string[];
|
|
7
|
+
type: 'BelongsTo';
|
|
8
|
+
as: string;
|
|
9
|
+
primaryKey: (associationInstance?: Dream) => keyof DB[TableName] & string;
|
|
10
|
+
primaryKeyValue: (associationInstance: Dream | null) => any;
|
|
11
|
+
primaryKeyOverride?: (keyof DB[TableName] & string) | null;
|
|
12
|
+
foreignKey: () => DreamColumnNames<BaseInstance> & string;
|
|
13
|
+
foreignKeyTypeField: () => DreamColumnNames<BaseInstance> & string;
|
|
14
|
+
optional: boolean;
|
|
15
|
+
distinct: null;
|
|
16
|
+
polymorphic: boolean;
|
|
17
|
+
withoutDefaultScopes?: DefaultScopeName<BaseInstance>[];
|
|
31
18
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
| readonly GlobalModelNames<BaseInstance>[],
|
|
38
|
-
AssociationGlobalName = AssociationGlobalNameOrNames extends Readonly<any[]>
|
|
39
|
-
? AssociationGlobalNameOrNames[0] & string
|
|
40
|
-
: AssociationGlobalNameOrNames & string,
|
|
41
|
-
AssociationTableName extends AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
42
|
-
keyof BaseInstance['DB'] = TableNameForGlobalModelName<
|
|
43
|
-
BaseInstance,
|
|
44
|
-
AssociationGlobalName & GlobalModelNames<BaseInstance>
|
|
45
|
-
> &
|
|
46
|
-
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
47
|
-
keyof BaseInstance['DB'],
|
|
48
|
-
> {
|
|
49
|
-
foreignKey?: DreamColumnNames<BaseInstance>
|
|
50
|
-
primaryKeyOverride?: TableColumnNames<BaseInstance['DB'], AssociationTableName> | null
|
|
51
|
-
optional?: boolean
|
|
52
|
-
withoutDefaultScopes?: DefaultScopeNameForTable<BaseInstance['schema'], AssociationTableName>[]
|
|
19
|
+
export interface NonPolymorphicBelongsToOptions<BaseInstance extends Dream, AssociationGlobalNameOrNames extends GlobalModelNames<BaseInstance> | readonly GlobalModelNames<BaseInstance>[], AssociationGlobalName = AssociationGlobalNameOrNames extends Readonly<any[]> ? AssociationGlobalNameOrNames[0] & string : AssociationGlobalNameOrNames & string, AssociationTableName extends AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB'] = TableNameForGlobalModelName<BaseInstance, AssociationGlobalName & GlobalModelNames<BaseInstance>> & AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB']> {
|
|
20
|
+
foreignKey?: DreamColumnNames<BaseInstance>;
|
|
21
|
+
primaryKeyOverride?: TableColumnNames<BaseInstance['DB'], AssociationTableName> | null;
|
|
22
|
+
optional?: boolean;
|
|
23
|
+
withoutDefaultScopes?: DefaultScopeNameForTable<BaseInstance['schema'], AssociationTableName>[];
|
|
53
24
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
AssociationGlobalName = AssociationGlobalNameOrNames extends Readonly<any[]>
|
|
61
|
-
? AssociationGlobalNameOrNames[0] & string
|
|
62
|
-
: AssociationGlobalNameOrNames & string,
|
|
63
|
-
AssociationTableName extends AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
64
|
-
keyof BaseInstance['DB'] = TableNameForGlobalModelName<
|
|
65
|
-
BaseInstance,
|
|
66
|
-
AssociationGlobalName & GlobalModelNames<BaseInstance>
|
|
67
|
-
> &
|
|
68
|
-
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
69
|
-
keyof BaseInstance['DB'],
|
|
70
|
-
> {
|
|
71
|
-
foreignKey: DreamColumnNames<BaseInstance>
|
|
72
|
-
primaryKeyOverride?: TableColumnNames<BaseInstance['DB'], AssociationTableName> | null
|
|
73
|
-
optional?: boolean
|
|
74
|
-
polymorphic: boolean
|
|
75
|
-
withoutDefaultScopes?: DefaultScopeNameForTable<BaseInstance['schema'], AssociationTableName>[]
|
|
25
|
+
export interface PolymorphicBelongsToOptions<BaseInstance extends Dream, AssociationGlobalNameOrNames extends GlobalModelNames<BaseInstance> | readonly GlobalModelNames<BaseInstance>[], AssociationGlobalName = AssociationGlobalNameOrNames extends Readonly<any[]> ? AssociationGlobalNameOrNames[0] & string : AssociationGlobalNameOrNames & string, AssociationTableName extends AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB'] = TableNameForGlobalModelName<BaseInstance, AssociationGlobalName & GlobalModelNames<BaseInstance>> & AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB']> {
|
|
26
|
+
foreignKey: DreamColumnNames<BaseInstance>;
|
|
27
|
+
primaryKeyOverride?: TableColumnNames<BaseInstance['DB'], AssociationTableName> | null;
|
|
28
|
+
optional?: boolean;
|
|
29
|
+
polymorphic: boolean;
|
|
30
|
+
withoutDefaultScopes?: DefaultScopeNameForTable<BaseInstance['schema'], AssociationTableName>[];
|
|
76
31
|
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import Dream from '../../Dream.js'
|
|
2
|
+
import { AssociationTableNames } from '../db.js'
|
|
3
|
+
import {
|
|
4
|
+
DefaultScopeName,
|
|
5
|
+
DefaultScopeNameForTable,
|
|
6
|
+
DreamColumnNames,
|
|
7
|
+
GlobalModelNames,
|
|
8
|
+
TableColumnNames,
|
|
9
|
+
TableNameForGlobalModelName,
|
|
10
|
+
} from '../dream.js'
|
|
11
|
+
|
|
12
|
+
export interface BelongsToStatement<
|
|
13
|
+
BaseInstance extends Dream,
|
|
14
|
+
DB,
|
|
15
|
+
Schema,
|
|
16
|
+
TableName extends AssociationTableNames<DB, Schema> & keyof DB,
|
|
17
|
+
> {
|
|
18
|
+
modelCB: () => typeof Dream | (typeof Dream)[]
|
|
19
|
+
globalAssociationNameOrNames: string[]
|
|
20
|
+
type: 'BelongsTo'
|
|
21
|
+
as: string
|
|
22
|
+
primaryKey: (associationInstance?: Dream) => keyof DB[TableName] & string
|
|
23
|
+
primaryKeyValue: (associationInstance: Dream | null) => any
|
|
24
|
+
primaryKeyOverride?: (keyof DB[TableName] & string) | null
|
|
25
|
+
foreignKey: () => DreamColumnNames<BaseInstance> & string
|
|
26
|
+
foreignKeyTypeField: () => DreamColumnNames<BaseInstance> & string
|
|
27
|
+
optional: boolean
|
|
28
|
+
distinct: null
|
|
29
|
+
polymorphic: boolean
|
|
30
|
+
withoutDefaultScopes?: DefaultScopeName<BaseInstance>[]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface NonPolymorphicBelongsToOptions<
|
|
34
|
+
BaseInstance extends Dream,
|
|
35
|
+
AssociationGlobalNameOrNames extends
|
|
36
|
+
| GlobalModelNames<BaseInstance>
|
|
37
|
+
| readonly GlobalModelNames<BaseInstance>[],
|
|
38
|
+
AssociationGlobalName = AssociationGlobalNameOrNames extends Readonly<any[]>
|
|
39
|
+
? AssociationGlobalNameOrNames[0] & string
|
|
40
|
+
: AssociationGlobalNameOrNames & string,
|
|
41
|
+
AssociationTableName extends AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
42
|
+
keyof BaseInstance['DB'] = TableNameForGlobalModelName<
|
|
43
|
+
BaseInstance,
|
|
44
|
+
AssociationGlobalName & GlobalModelNames<BaseInstance>
|
|
45
|
+
> &
|
|
46
|
+
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
47
|
+
keyof BaseInstance['DB'],
|
|
48
|
+
> {
|
|
49
|
+
foreignKey?: DreamColumnNames<BaseInstance>
|
|
50
|
+
primaryKeyOverride?: TableColumnNames<BaseInstance['DB'], AssociationTableName> | null
|
|
51
|
+
optional?: boolean
|
|
52
|
+
withoutDefaultScopes?: DefaultScopeNameForTable<BaseInstance['schema'], AssociationTableName>[]
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface PolymorphicBelongsToOptions<
|
|
56
|
+
BaseInstance extends Dream,
|
|
57
|
+
AssociationGlobalNameOrNames extends
|
|
58
|
+
| GlobalModelNames<BaseInstance>
|
|
59
|
+
| readonly GlobalModelNames<BaseInstance>[],
|
|
60
|
+
AssociationGlobalName = AssociationGlobalNameOrNames extends Readonly<any[]>
|
|
61
|
+
? AssociationGlobalNameOrNames[0] & string
|
|
62
|
+
: AssociationGlobalNameOrNames & string,
|
|
63
|
+
AssociationTableName extends AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
64
|
+
keyof BaseInstance['DB'] = TableNameForGlobalModelName<
|
|
65
|
+
BaseInstance,
|
|
66
|
+
AssociationGlobalName & GlobalModelNames<BaseInstance>
|
|
67
|
+
> &
|
|
68
|
+
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
69
|
+
keyof BaseInstance['DB'],
|
|
70
|
+
> {
|
|
71
|
+
foreignKey: DreamColumnNames<BaseInstance>
|
|
72
|
+
primaryKeyOverride?: TableColumnNames<BaseInstance['DB'], AssociationTableName> | null
|
|
73
|
+
optional?: boolean
|
|
74
|
+
polymorphic: boolean
|
|
75
|
+
withoutDefaultScopes?: DefaultScopeNameForTable<BaseInstance['schema'], AssociationTableName>[]
|
|
76
|
+
}
|
|
@@ -1,80 +1,16 @@
|
|
|
1
|
-
import Dream from '../../Dream.
|
|
2
|
-
import { AssociationTableNames } from '../db.js'
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
HasThroughOptions,
|
|
13
|
-
OrderStatement,
|
|
14
|
-
PolymorphicHasOptions,
|
|
15
|
-
} from './shared.js'
|
|
16
|
-
|
|
17
|
-
export type HasManyStatement<
|
|
18
|
-
BaseInstance extends Dream,
|
|
19
|
-
DB,
|
|
20
|
-
Schema,
|
|
21
|
-
ForeignTableName extends AssociationTableNames<DB, Schema> & keyof DB,
|
|
22
|
-
> = HasStatement<BaseInstance, DB, Schema, ForeignTableName, 'HasMany'> & {
|
|
23
|
-
distinct?: TableColumnNames<DB, ForeignTableName>
|
|
24
|
-
order?: OrderStatement<DB, Schema, ForeignTableName>
|
|
1
|
+
import Dream from '../../Dream.js';
|
|
2
|
+
import { AssociationTableNames } from '../db.js';
|
|
3
|
+
import { GlobalModelNames, GlobalModelNameTableMap, TableColumnNames, TableNameForGlobalModelName } from '../dream.js';
|
|
4
|
+
import { HasOptions, HasStatement, HasThroughOptions, OrderStatement, PolymorphicHasOptions } from './shared.js';
|
|
5
|
+
export type HasManyStatement<BaseInstance extends Dream, DB, Schema, ForeignTableName extends AssociationTableNames<DB, Schema> & keyof DB> = HasStatement<BaseInstance, DB, Schema, ForeignTableName, 'HasMany'> & {
|
|
6
|
+
distinct?: TableColumnNames<DB, ForeignTableName>;
|
|
7
|
+
order?: OrderStatement<DB, Schema, ForeignTableName>;
|
|
8
|
+
};
|
|
9
|
+
interface HasManyOnlyOptions<BaseInstance extends Dream, AssociationGlobalNameOrNames extends GlobalModelNames<BaseInstance> | readonly GlobalModelNames<BaseInstance>[], AssociationGlobalName = AssociationGlobalNameOrNames extends any[] ? AssociationGlobalNameOrNames[0] & string : AssociationGlobalNameOrNames & string, AssociationTableName = TableNameForGlobalModelName<BaseInstance, AssociationGlobalName & GlobalModelNames<BaseInstance>>> {
|
|
10
|
+
distinct?: TableColumnNames<BaseInstance['DB'], AssociationTableName & AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB']> | boolean;
|
|
11
|
+
order?: OrderStatement<BaseInstance['DB'], BaseInstance['schema'], AssociationTableName & AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB']> | OrderStatement<BaseInstance['DB'], BaseInstance['schema'], AssociationTableName & AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> & keyof BaseInstance['DB']>[];
|
|
25
12
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
| readonly GlobalModelNames<BaseInstance>[],
|
|
31
|
-
AssociationGlobalName = AssociationGlobalNameOrNames extends any[]
|
|
32
|
-
? AssociationGlobalNameOrNames[0] & string
|
|
33
|
-
: AssociationGlobalNameOrNames & string,
|
|
34
|
-
AssociationTableName = TableNameForGlobalModelName<
|
|
35
|
-
BaseInstance,
|
|
36
|
-
AssociationGlobalName & GlobalModelNames<BaseInstance>
|
|
37
|
-
>,
|
|
38
|
-
> {
|
|
39
|
-
distinct?:
|
|
40
|
-
| TableColumnNames<
|
|
41
|
-
BaseInstance['DB'],
|
|
42
|
-
AssociationTableName &
|
|
43
|
-
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
44
|
-
keyof BaseInstance['DB']
|
|
45
|
-
>
|
|
46
|
-
| boolean
|
|
47
|
-
|
|
48
|
-
order?:
|
|
49
|
-
| OrderStatement<
|
|
50
|
-
BaseInstance['DB'],
|
|
51
|
-
BaseInstance['schema'],
|
|
52
|
-
AssociationTableName &
|
|
53
|
-
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
54
|
-
keyof BaseInstance['DB']
|
|
55
|
-
>
|
|
56
|
-
| OrderStatement<
|
|
57
|
-
BaseInstance['DB'],
|
|
58
|
-
BaseInstance['schema'],
|
|
59
|
-
AssociationTableName &
|
|
60
|
-
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
61
|
-
keyof BaseInstance['DB']
|
|
62
|
-
>[]
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export type HasManyOptions<
|
|
66
|
-
BaseInstance extends Dream,
|
|
67
|
-
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
68
|
-
> = HasOptions<BaseInstance, AssociationGlobalName> & HasManyOnlyOptions<BaseInstance, AssociationGlobalName>
|
|
69
|
-
|
|
70
|
-
export type PolymorphicHasManyOptions<
|
|
71
|
-
BaseInstance extends Dream,
|
|
72
|
-
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
73
|
-
> = PolymorphicHasOptions<BaseInstance, AssociationGlobalName> &
|
|
74
|
-
HasManyOnlyOptions<BaseInstance, AssociationGlobalName>
|
|
75
|
-
|
|
76
|
-
export type HasManyThroughOptions<
|
|
77
|
-
BaseInstance extends Dream,
|
|
78
|
-
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
79
|
-
> = HasThroughOptions<BaseInstance, AssociationGlobalName> &
|
|
80
|
-
HasManyOnlyOptions<BaseInstance, AssociationGlobalName>
|
|
13
|
+
export type HasManyOptions<BaseInstance extends Dream, AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>> = HasOptions<BaseInstance, AssociationGlobalName> & HasManyOnlyOptions<BaseInstance, AssociationGlobalName>;
|
|
14
|
+
export type PolymorphicHasManyOptions<BaseInstance extends Dream, AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>> = PolymorphicHasOptions<BaseInstance, AssociationGlobalName> & HasManyOnlyOptions<BaseInstance, AssociationGlobalName>;
|
|
15
|
+
export type HasManyThroughOptions<BaseInstance extends Dream, AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>> = HasThroughOptions<BaseInstance, AssociationGlobalName> & HasManyOnlyOptions<BaseInstance, AssociationGlobalName>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import Dream from '../../Dream.js'
|
|
2
|
+
import { AssociationTableNames } from '../db.js'
|
|
3
|
+
import {
|
|
4
|
+
GlobalModelNames,
|
|
5
|
+
GlobalModelNameTableMap,
|
|
6
|
+
TableColumnNames,
|
|
7
|
+
TableNameForGlobalModelName,
|
|
8
|
+
} from '../dream.js'
|
|
9
|
+
import {
|
|
10
|
+
HasOptions,
|
|
11
|
+
HasStatement,
|
|
12
|
+
HasThroughOptions,
|
|
13
|
+
OrderStatement,
|
|
14
|
+
PolymorphicHasOptions,
|
|
15
|
+
} from './shared.js'
|
|
16
|
+
|
|
17
|
+
export type HasManyStatement<
|
|
18
|
+
BaseInstance extends Dream,
|
|
19
|
+
DB,
|
|
20
|
+
Schema,
|
|
21
|
+
ForeignTableName extends AssociationTableNames<DB, Schema> & keyof DB,
|
|
22
|
+
> = HasStatement<BaseInstance, DB, Schema, ForeignTableName, 'HasMany'> & {
|
|
23
|
+
distinct?: TableColumnNames<DB, ForeignTableName>
|
|
24
|
+
order?: OrderStatement<DB, Schema, ForeignTableName>
|
|
25
|
+
}
|
|
26
|
+
interface HasManyOnlyOptions<
|
|
27
|
+
BaseInstance extends Dream,
|
|
28
|
+
AssociationGlobalNameOrNames extends
|
|
29
|
+
| GlobalModelNames<BaseInstance>
|
|
30
|
+
| readonly GlobalModelNames<BaseInstance>[],
|
|
31
|
+
AssociationGlobalName = AssociationGlobalNameOrNames extends any[]
|
|
32
|
+
? AssociationGlobalNameOrNames[0] & string
|
|
33
|
+
: AssociationGlobalNameOrNames & string,
|
|
34
|
+
AssociationTableName = TableNameForGlobalModelName<
|
|
35
|
+
BaseInstance,
|
|
36
|
+
AssociationGlobalName & GlobalModelNames<BaseInstance>
|
|
37
|
+
>,
|
|
38
|
+
> {
|
|
39
|
+
distinct?:
|
|
40
|
+
| TableColumnNames<
|
|
41
|
+
BaseInstance['DB'],
|
|
42
|
+
AssociationTableName &
|
|
43
|
+
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
44
|
+
keyof BaseInstance['DB']
|
|
45
|
+
>
|
|
46
|
+
| boolean
|
|
47
|
+
|
|
48
|
+
order?:
|
|
49
|
+
| OrderStatement<
|
|
50
|
+
BaseInstance['DB'],
|
|
51
|
+
BaseInstance['schema'],
|
|
52
|
+
AssociationTableName &
|
|
53
|
+
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
54
|
+
keyof BaseInstance['DB']
|
|
55
|
+
>
|
|
56
|
+
| OrderStatement<
|
|
57
|
+
BaseInstance['DB'],
|
|
58
|
+
BaseInstance['schema'],
|
|
59
|
+
AssociationTableName &
|
|
60
|
+
AssociationTableNames<BaseInstance['DB'], BaseInstance['schema']> &
|
|
61
|
+
keyof BaseInstance['DB']
|
|
62
|
+
>[]
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type HasManyOptions<
|
|
66
|
+
BaseInstance extends Dream,
|
|
67
|
+
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
68
|
+
> = HasOptions<BaseInstance, AssociationGlobalName> & HasManyOnlyOptions<BaseInstance, AssociationGlobalName>
|
|
69
|
+
|
|
70
|
+
export type PolymorphicHasManyOptions<
|
|
71
|
+
BaseInstance extends Dream,
|
|
72
|
+
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
73
|
+
> = PolymorphicHasOptions<BaseInstance, AssociationGlobalName> &
|
|
74
|
+
HasManyOnlyOptions<BaseInstance, AssociationGlobalName>
|
|
75
|
+
|
|
76
|
+
export type HasManyThroughOptions<
|
|
77
|
+
BaseInstance extends Dream,
|
|
78
|
+
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
79
|
+
> = HasThroughOptions<BaseInstance, AssociationGlobalName> &
|
|
80
|
+
HasManyOnlyOptions<BaseInstance, AssociationGlobalName>
|
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
import Dream from '../../Dream.
|
|
2
|
-
import { AssociationTableNames } from '../db.js'
|
|
3
|
-
import { GlobalModelNameTableMap } from '../dream.js'
|
|
4
|
-
import { HasOptions, HasStatement, HasThroughOptions, PolymorphicHasOptions } from './shared.js'
|
|
5
|
-
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Schema,
|
|
10
|
-
ForeignTableName extends AssociationTableNames<DB, Schema> & keyof DB,
|
|
11
|
-
> = HasStatement<BaseInstance, DB, Schema, ForeignTableName, 'HasOne'>
|
|
12
|
-
|
|
13
|
-
export type HasOneOptions<
|
|
14
|
-
BaseInstance extends Dream,
|
|
15
|
-
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
16
|
-
> = HasOptions<BaseInstance, AssociationGlobalName>
|
|
17
|
-
|
|
18
|
-
export type PolymorphicHasOneOptions<
|
|
19
|
-
BaseInstance extends Dream,
|
|
20
|
-
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
21
|
-
> = PolymorphicHasOptions<BaseInstance, AssociationGlobalName>
|
|
22
|
-
|
|
23
|
-
export type HasOneThroughOptions<
|
|
24
|
-
BaseInstance extends Dream,
|
|
25
|
-
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
26
|
-
> = HasThroughOptions<BaseInstance, AssociationGlobalName>
|
|
1
|
+
import Dream from '../../Dream.js';
|
|
2
|
+
import { AssociationTableNames } from '../db.js';
|
|
3
|
+
import { GlobalModelNameTableMap } from '../dream.js';
|
|
4
|
+
import { HasOptions, HasStatement, HasThroughOptions, PolymorphicHasOptions } from './shared.js';
|
|
5
|
+
export type HasOneStatement<BaseInstance extends Dream, DB, Schema, ForeignTableName extends AssociationTableNames<DB, Schema> & keyof DB> = HasStatement<BaseInstance, DB, Schema, ForeignTableName, 'HasOne'>;
|
|
6
|
+
export type HasOneOptions<BaseInstance extends Dream, AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>> = HasOptions<BaseInstance, AssociationGlobalName>;
|
|
7
|
+
export type PolymorphicHasOneOptions<BaseInstance extends Dream, AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>> = PolymorphicHasOptions<BaseInstance, AssociationGlobalName>;
|
|
8
|
+
export type HasOneThroughOptions<BaseInstance extends Dream, AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>> = HasThroughOptions<BaseInstance, AssociationGlobalName>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Dream from '../../Dream.js'
|
|
2
|
+
import { AssociationTableNames } from '../db.js'
|
|
3
|
+
import { GlobalModelNameTableMap } from '../dream.js'
|
|
4
|
+
import { HasOptions, HasStatement, HasThroughOptions, PolymorphicHasOptions } from './shared.js'
|
|
5
|
+
|
|
6
|
+
export type HasOneStatement<
|
|
7
|
+
BaseInstance extends Dream,
|
|
8
|
+
DB,
|
|
9
|
+
Schema,
|
|
10
|
+
ForeignTableName extends AssociationTableNames<DB, Schema> & keyof DB,
|
|
11
|
+
> = HasStatement<BaseInstance, DB, Schema, ForeignTableName, 'HasOne'>
|
|
12
|
+
|
|
13
|
+
export type HasOneOptions<
|
|
14
|
+
BaseInstance extends Dream,
|
|
15
|
+
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
16
|
+
> = HasOptions<BaseInstance, AssociationGlobalName>
|
|
17
|
+
|
|
18
|
+
export type PolymorphicHasOneOptions<
|
|
19
|
+
BaseInstance extends Dream,
|
|
20
|
+
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
21
|
+
> = PolymorphicHasOptions<BaseInstance, AssociationGlobalName>
|
|
22
|
+
|
|
23
|
+
export type HasOneThroughOptions<
|
|
24
|
+
BaseInstance extends Dream,
|
|
25
|
+
AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
|
|
26
|
+
> = HasThroughOptions<BaseInstance, AssociationGlobalName>
|