@rvoh/dream 0.36.4 → 0.38.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.
Files changed (201) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/src/Dream.js +42 -32
  3. package/dist/cjs/src/decorators/field/association/HasMany.js +12 -12
  4. package/dist/cjs/src/decorators/field/association/HasOne.js +12 -12
  5. package/dist/cjs/src/decorators/field/association/shared.js +7 -7
  6. package/dist/cjs/src/dream/DreamInstanceTransactionBuilder.js +31 -25
  7. package/dist/cjs/src/dream/Query.js +96 -88
  8. package/dist/cjs/src/dream/internal/associations/associationQuery.js +3 -3
  9. package/dist/cjs/src/dream/internal/associations/associationUpdateQuery.js +3 -3
  10. package/dist/cjs/src/dream/internal/associations/destroyAssociation.js +2 -2
  11. package/dist/cjs/src/dream/internal/associations/undestroyAssociation.js +2 -2
  12. package/dist/cjs/src/dream/internal/similarity/SimilarityBuilder.js +12 -12
  13. package/dist/cjs/src/errors/{CannotDefineAssociationWithBothDependentAndRequiredOnClause.js → CannotDefineAssociationWithBothDependentAndRequiredAndClause.js} +2 -2
  14. package/dist/cjs/src/errors/associations/{MissingRequiredAssociationOnClause.js → MissingRequiredAssociationAndClause.js} +4 -4
  15. package/dist/cjs/src/errors/associations/MissingRequiredPassthroughForAssociationAndClause.js +16 -0
  16. package/dist/cjs/src/helpers/cli/SchemaBuilder.js +1 -1
  17. package/dist/esm/src/Dream.js +42 -32
  18. package/dist/esm/src/decorators/field/association/HasMany.js +12 -12
  19. package/dist/esm/src/decorators/field/association/HasOne.js +12 -12
  20. package/dist/esm/src/decorators/field/association/shared.js +7 -7
  21. package/dist/esm/src/dream/DreamInstanceTransactionBuilder.js +31 -25
  22. package/dist/esm/src/dream/Query.js +96 -88
  23. package/dist/esm/src/dream/internal/associations/associationQuery.js +3 -3
  24. package/dist/esm/src/dream/internal/associations/associationUpdateQuery.js +3 -3
  25. package/dist/esm/src/dream/internal/associations/destroyAssociation.js +2 -2
  26. package/dist/esm/src/dream/internal/associations/undestroyAssociation.js +2 -2
  27. package/dist/esm/src/dream/internal/similarity/SimilarityBuilder.js +12 -12
  28. package/dist/esm/src/errors/{CannotDefineAssociationWithBothDependentAndRequiredOnClause.js → CannotDefineAssociationWithBothDependentAndRequiredAndClause.js} +1 -1
  29. package/dist/esm/src/errors/associations/{MissingRequiredAssociationOnClause.js → MissingRequiredAssociationAndClause.js} +3 -3
  30. package/dist/esm/src/errors/associations/MissingRequiredPassthroughForAssociationAndClause.js +13 -0
  31. package/dist/esm/src/helpers/cli/SchemaBuilder.js +1 -1
  32. package/dist/types/src/Dream.d.ts +25 -21
  33. package/dist/types/src/decorators/field/association/shared.d.ts +2 -2
  34. package/dist/types/src/dream/DreamInstanceTransactionBuilder.d.ts +11 -11
  35. package/dist/types/src/dream/Query.d.ts +15 -15
  36. package/dist/types/src/dream/internal/associations/associationQuery.d.ts +3 -3
  37. package/dist/types/src/dream/internal/associations/associationUpdateQuery.d.ts +3 -3
  38. package/dist/types/src/dream/internal/associations/destroyAssociation.d.ts +3 -3
  39. package/dist/types/src/dream/internal/associations/undestroyAssociation.d.ts +3 -3
  40. package/dist/types/src/dream/internal/similarity/SimilarityBuilder.d.ts +5 -5
  41. package/dist/types/src/errors/{CannotDefineAssociationWithBothDependentAndRequiredOnClause.d.ts → CannotDefineAssociationWithBothDependentAndRequiredAndClause.d.ts} +1 -1
  42. package/dist/types/src/errors/associations/{MissingRequiredAssociationOnClause.d.ts → MissingRequiredAssociationAndClause.d.ts} +1 -1
  43. package/dist/types/src/errors/associations/MissingRequiredPassthroughForAssociationAndClause.d.ts +5 -0
  44. package/dist/types/src/types/associations/shared.d.ts +16 -14
  45. package/dist/types/src/types/dream.d.ts +15 -15
  46. package/dist/types/src/types/variadic.d.ts +5 -5
  47. package/docs/assets/search.js +1 -1
  48. package/docs/classes/Benchmark.html +2 -2
  49. package/docs/classes/CalendarDate.html +2 -2
  50. package/docs/classes/CreateOrFindByFailedToCreateAndFind.html +3 -3
  51. package/docs/classes/Decorators.html +19 -19
  52. package/docs/classes/Dream.html +170 -163
  53. package/docs/classes/DreamApplication.html +4 -4
  54. package/docs/classes/DreamBin.html +2 -2
  55. package/docs/classes/DreamCLI.html +4 -4
  56. package/docs/classes/DreamImporter.html +2 -2
  57. package/docs/classes/DreamLogos.html +2 -2
  58. package/docs/classes/DreamMigrationHelpers.html +7 -7
  59. package/docs/classes/DreamSerializer.html +2 -2
  60. package/docs/classes/DreamTransaction.html +2 -2
  61. package/docs/classes/Encrypt.html +2 -2
  62. package/docs/classes/Env.html +2 -2
  63. package/docs/classes/GlobalNameNotSet.html +3 -3
  64. package/docs/classes/NonLoadedAssociation.html +3 -3
  65. package/docs/classes/Query.html +54 -54
  66. package/docs/classes/Range.html +2 -2
  67. package/docs/classes/RecordNotFound.html +3 -3
  68. package/docs/classes/ValidationError.html +3 -3
  69. package/docs/functions/Attribute.html +1 -1
  70. package/docs/functions/RendersMany.html +1 -1
  71. package/docs/functions/RendersOne.html +1 -1
  72. package/docs/functions/ReplicaSafe.html +1 -1
  73. package/docs/functions/STI.html +1 -1
  74. package/docs/functions/SoftDelete.html +1 -1
  75. package/docs/functions/camelize.html +1 -1
  76. package/docs/functions/capitalize.html +1 -1
  77. package/docs/functions/closeAllDbConnections.html +1 -1
  78. package/docs/functions/compact.html +1 -1
  79. package/docs/functions/debug.html +1 -1
  80. package/docs/functions/dreamDbConnections.html +1 -1
  81. package/docs/functions/dreamPath.html +1 -1
  82. package/docs/functions/generateDream.html +1 -1
  83. package/docs/functions/globalClassNameFromFullyQualifiedModelName.html +1 -1
  84. package/docs/functions/hyphenize.html +1 -1
  85. package/docs/functions/inferSerializerFromDreamClassOrViewModelClass.html +1 -1
  86. package/docs/functions/inferSerializerFromDreamOrViewModel.html +1 -1
  87. package/docs/functions/isEmpty.html +1 -1
  88. package/docs/functions/loadRepl.html +1 -1
  89. package/docs/functions/lookupClassByGlobalName.html +1 -1
  90. package/docs/functions/pascalize.html +1 -1
  91. package/docs/functions/pgErrorType.html +1 -1
  92. package/docs/functions/range-1.html +1 -1
  93. package/docs/functions/relativeDreamPath.html +1 -1
  94. package/docs/functions/round.html +1 -1
  95. package/docs/functions/serializerNameFromFullyQualifiedModelName.html +1 -1
  96. package/docs/functions/sharedPathPrefix.html +1 -1
  97. package/docs/functions/snakeify.html +1 -1
  98. package/docs/functions/sort.html +1 -1
  99. package/docs/functions/sortBy.html +1 -1
  100. package/docs/functions/standardizeFullyQualifiedModelName.html +1 -1
  101. package/docs/functions/uncapitalize.html +1 -1
  102. package/docs/functions/uniq.html +1 -1
  103. package/docs/functions/untypedDb.html +1 -1
  104. package/docs/functions/validateColumn.html +1 -1
  105. package/docs/functions/validateTable.html +1 -1
  106. package/docs/index.html +1 -1
  107. package/docs/interfaces/AttributeStatement.html +2 -2
  108. package/docs/interfaces/DecoratorContext.html +2 -2
  109. package/docs/interfaces/DreamApplicationInitOptions.html +2 -2
  110. package/docs/interfaces/DreamApplicationOpts.html +2 -2
  111. package/docs/interfaces/DreamSerializerAssociationStatement.html +2 -2
  112. package/docs/interfaces/EncryptOptions.html +2 -2
  113. package/docs/interfaces/OpenapiSchemaProperties.html +1 -1
  114. package/docs/interfaces/OpenapiSchemaPropertiesShorthand.html +1 -1
  115. package/docs/interfaces/OpenapiTypeFieldObject.html +1 -1
  116. package/docs/types/Camelized.html +1 -1
  117. package/docs/types/CommonOpenapiSchemaObjectFields.html +1 -1
  118. package/docs/types/DateTime.html +1 -1
  119. package/docs/types/DbConnectionType.html +1 -1
  120. package/docs/types/DreamAssociationMetadata.html +1 -1
  121. package/docs/types/DreamAttributes.html +1 -1
  122. package/docs/types/DreamClassColumn.html +1 -1
  123. package/docs/types/DreamColumn.html +1 -1
  124. package/docs/types/DreamColumnNames.html +1 -1
  125. package/docs/types/DreamLogLevel.html +1 -1
  126. package/docs/types/DreamLogger.html +1 -1
  127. package/docs/types/DreamOrViewModelSerializerKey.html +1 -1
  128. package/docs/types/DreamParamSafeAttributes.html +1 -1
  129. package/docs/types/DreamParamSafeColumnNames.html +1 -1
  130. package/docs/types/DreamSerializerKey.html +1 -1
  131. package/docs/types/DreamSerializers.html +1 -1
  132. package/docs/types/DreamTableSchema.html +1 -1
  133. package/docs/types/DreamVirtualColumns.html +1 -1
  134. package/docs/types/EncryptAlgorithm.html +1 -1
  135. package/docs/types/Hyphenized.html +1 -1
  136. package/docs/types/IdType.html +1 -1
  137. package/docs/types/OpenapiAllTypes.html +1 -1
  138. package/docs/types/OpenapiFormats.html +1 -1
  139. package/docs/types/OpenapiNumberFormats.html +1 -1
  140. package/docs/types/OpenapiPrimitiveTypes.html +1 -1
  141. package/docs/types/OpenapiSchemaArray.html +1 -1
  142. package/docs/types/OpenapiSchemaArrayShorthand.html +1 -1
  143. package/docs/types/OpenapiSchemaBase.html +1 -1
  144. package/docs/types/OpenapiSchemaBody.html +1 -1
  145. package/docs/types/OpenapiSchemaBodyShorthand.html +1 -1
  146. package/docs/types/OpenapiSchemaCommonFields.html +1 -1
  147. package/docs/types/OpenapiSchemaExpressionAllOf.html +1 -1
  148. package/docs/types/OpenapiSchemaExpressionAnyOf.html +1 -1
  149. package/docs/types/OpenapiSchemaExpressionOneOf.html +1 -1
  150. package/docs/types/OpenapiSchemaExpressionRef.html +1 -1
  151. package/docs/types/OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
  152. package/docs/types/OpenapiSchemaInteger.html +1 -1
  153. package/docs/types/OpenapiSchemaNull.html +1 -1
  154. package/docs/types/OpenapiSchemaNumber.html +1 -1
  155. package/docs/types/OpenapiSchemaObject.html +1 -1
  156. package/docs/types/OpenapiSchemaObjectAllOf.html +1 -1
  157. package/docs/types/OpenapiSchemaObjectAllOfShorthand.html +1 -1
  158. package/docs/types/OpenapiSchemaObjectAnyOf.html +1 -1
  159. package/docs/types/OpenapiSchemaObjectAnyOfShorthand.html +1 -1
  160. package/docs/types/OpenapiSchemaObjectBase.html +1 -1
  161. package/docs/types/OpenapiSchemaObjectBaseShorthand.html +1 -1
  162. package/docs/types/OpenapiSchemaObjectOneOf.html +1 -1
  163. package/docs/types/OpenapiSchemaObjectOneOfShorthand.html +1 -1
  164. package/docs/types/OpenapiSchemaObjectShorthand.html +1 -1
  165. package/docs/types/OpenapiSchemaPrimitiveGeneric.html +1 -1
  166. package/docs/types/OpenapiSchemaShorthandExpressionAllOf.html +1 -1
  167. package/docs/types/OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
  168. package/docs/types/OpenapiSchemaShorthandExpressionOneOf.html +1 -1
  169. package/docs/types/OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
  170. package/docs/types/OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
  171. package/docs/types/OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
  172. package/docs/types/OpenapiSchemaString.html +1 -1
  173. package/docs/types/OpenapiShorthandAllTypes.html +1 -1
  174. package/docs/types/OpenapiShorthandPrimitiveTypes.html +1 -1
  175. package/docs/types/OpenapiTypeField.html +1 -1
  176. package/docs/types/Pascalized.html +1 -1
  177. package/docs/types/PrimaryKeyType.html +1 -1
  178. package/docs/types/RoundingPrecision.html +1 -1
  179. package/docs/types/SerializableClassOrSerializerCallback.html +1 -1
  180. package/docs/types/SerializableDreamClassOrViewModelClass.html +1 -1
  181. package/docs/types/SerializableDreamOrViewModel.html +1 -1
  182. package/docs/types/SerializableTypes.html +1 -1
  183. package/docs/types/Snakeified.html +1 -1
  184. package/docs/types/Timestamp.html +1 -1
  185. package/docs/types/UpdateableAssociationProperties.html +1 -1
  186. package/docs/types/UpdateableProperties.html +1 -1
  187. package/docs/types/ValidationType.html +1 -1
  188. package/docs/types/ViewModelSerializerKey.html +1 -1
  189. package/docs/types/WhereStatementForDream.html +1 -1
  190. package/docs/types/WhereStatementForDreamClass.html +1 -1
  191. package/docs/variables/DateTime-1.html +1 -1
  192. package/docs/variables/DreamConst.html +1 -1
  193. package/docs/variables/TRIGRAM_OPERATORS.html +1 -1
  194. package/docs/variables/openapiPrimitiveTypes-1.html +1 -1
  195. package/docs/variables/openapiShorthandPrimitiveTypes-1.html +1 -1
  196. package/docs/variables/ops.html +1 -1
  197. package/docs/variables/primaryKeyTypes.html +1 -1
  198. package/package.json +1 -1
  199. package/dist/cjs/src/errors/associations/MissingRequiredPassthroughForAssociationOnClause.js +0 -16
  200. package/dist/esm/src/errors/associations/MissingRequiredPassthroughForAssociationOnClause.js +0 -13
  201. package/dist/types/src/errors/associations/MissingRequiredPassthroughForAssociationOnClause.d.ts +0 -5
@@ -257,7 +257,7 @@ may need to update the table getter in the corresponding Dream.
257
257
  throw new FailedToIdentifyAssociation(model, associationMetaData.type, associationName, associationMetaData.globalAssociationNameOrNames);
258
258
  const optional = associationMetaData.type === 'BelongsTo' ? associationMetaData.optional === true : null;
259
259
  const where = associationMetaData.type === 'HasMany' || associationMetaData.type === 'HasOne'
260
- ? associationMetaData.on || null
260
+ ? associationMetaData.and || null
261
261
  : null;
262
262
  // NOTE
263
263
  // this try-catch is here because the SchemaBuilder currently needs to be run twice to generate foreignKey
@@ -11,7 +11,7 @@ import LoadBuilder from './dream/LoadBuilder.js';
11
11
  import Query from './dream/Query.js';
12
12
  import { AssociationStatementsMap, PassthroughOnClause, WhereStatement } from './types/associations/shared.js';
13
13
  import { AssociationTableNames, DbConnectionType } from './types/db.js';
14
- import { AllDefaultScopeNames, AssociationNameToDream, AttributeKeys, DefaultOrNamedScopeName, DreamAssociationNames, DreamAssociationNamesWithoutRequiredOnClauses, DreamAttributes, DreamColumnNames, DreamParamSafeColumnNames, DreamSerializeOptions, IdType, JoinOnStatements, NextPreloadArgumentType, OrderDir, PassthroughColumnNames, PluckEachArgs, PrimaryKeyForFind, TableColumnNames, UpdateableAssociationProperties, UpdateableProperties, UpdateablePropertiesForClass } from './types/dream.js';
14
+ import { AllDefaultScopeNames, AssociationNameToDream, AttributeKeys, DefaultOrNamedScopeName, DreamAssociationNames, DreamAssociationNamesWithoutRequiredOnClauses, DreamAttributes, DreamColumnNames, DreamParamSafeColumnNames, DreamSerializeOptions, IdType, JoinAndStatements, NextPreloadArgumentType, OrderDir, PassthroughColumnNames, PluckEachArgs, PrimaryKeyForFind, TableColumnNames, UpdateableAssociationProperties, UpdateableProperties, UpdateablePropertiesForClass } from './types/dream.js';
15
15
  import { HookStatement, HookStatementMap } from './types/lifecycle.js';
16
16
  import { BaseModelColumnTypes, DefaultQueryTypeOptions, FindEachOpts, QueryWithJoinedAssociationsType, QueryWithJoinedAssociationsTypeAndNoPreload } from './types/query.js';
17
17
  import { ValidationStatement, ValidationType } from './types/validation.js';
@@ -579,11 +579,14 @@ export default class Dream {
579
579
  static findEach<T extends typeof Dream>(this: T, cb: (instance: InstanceType<T>) => void | Promise<void>, opts?: FindEachOpts): Promise<void>;
580
580
  /**
581
581
  * Returns a new instance of Query scoped to the given
582
- * model class
582
+ * model class. Especially useful with {@link Query#toKysely}.
583
583
  *
584
584
  * ```ts
585
- * await User.query().all()
586
- * // [User{id: 1}, User{id: 2}, ...]
585
+ * await Balloon.query().toKysely('update').
586
+ * .set({
587
+ * multicolor: sql`array_remove(multicolor, ${colorToRemoveFromAllBalloons})`,
588
+ * })
589
+ * .execute()
587
590
  * ```
588
591
  *
589
592
  * @returns A new Query instance scoped to this Dream class
@@ -591,20 +594,21 @@ export default class Dream {
591
594
  */
592
595
  static query<T extends typeof Dream, I extends InstanceType<T>>(this: T): Query<I>;
593
596
  /**
594
- * @internal
595
- *
596
597
  * Returns a new instance of Query scoped to the given
597
- * Dream instance
598
+ * model class. Especially useful with {@link Query#toKysely}.
598
599
  *
599
600
  * ```ts
600
- * await user = User.first()
601
- * await user.query()
601
+ * await balloon.query().toKysely('update')
602
+ * .set({
603
+ * multicolor: sql`array_append(multicolor, 'red')`,
604
+ * })
605
+ * .execute()
602
606
  * ```
603
607
  *
604
- * @returns A new Query instance scoped to this Dream instance
608
+ * @returns A new Query instance scoped to this Dream class
605
609
  *
606
610
  */
607
- private query;
611
+ query<I extends Dream>(this: I): Query<I>;
608
612
  /**
609
613
  * Finds the first record—ordered by primary key—matching
610
614
  * the corresponding model and the specified where statement.
@@ -1925,24 +1929,24 @@ export default class Dream {
1925
1929
  * @returns The created association
1926
1930
  */
1927
1931
  createAssociation<I extends Dream, AssociationName extends DreamAssociationNames<I>, PossibleArrayAssociationType = I[AssociationName & keyof I], AssociationType = PossibleArrayAssociationType extends (infer ElementType)[] ? ElementType : PossibleArrayAssociationType, RestrictedAssociationType extends AssociationType extends Dream ? AssociationType : never = AssociationType extends Dream ? AssociationType : never>(this: I, associationName: AssociationName, attributes?: UpdateableAssociationProperties<I, RestrictedAssociationType>): Promise<NonNullable<AssociationType>>;
1928
- destroyAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<I> & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1929
- destroyAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<I> & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1930
- reallyDestroyAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<I> & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1931
- reallyDestroyAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<I> & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1932
- undestroyAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<I> & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1933
- undestroyAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<I> & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1934
- associationQuery<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinOnStatements: JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
1935
- associationQuery<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinOnStatements?: JoinOnStatements<DB, Schema, AssociationTableName, null>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
1932
+ destroyAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<I> & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1933
+ destroyAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<I> & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1934
+ reallyDestroyAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<I> & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1935
+ reallyDestroyAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<I> & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1936
+ undestroyAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<I> & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1937
+ undestroyAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<I> & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1938
+ associationQuery<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinAndStatements: JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
1939
+ associationQuery<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinAndStatements?: JoinAndStatements<DB, Schema, AssociationTableName, null>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
1936
1940
  updateAssociation<I extends Dream, DB extends I['DB'], TableName extends I['table'], Schema extends I['schema'], AssociationName extends DreamAssociationNames<I>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, attributes: Partial<DreamAttributes<AssociationNameToDream<I, AssociationName>>>, updateAssociationOptions: {
1937
1941
  bypassAllDefaultScopes?: boolean;
1938
1942
  defaultScopesToBypass?: AllDefaultScopeNames<I>[];
1939
1943
  skipHooks?: boolean;
1940
- } & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1944
+ } & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
1941
1945
  updateAssociation<I extends Dream, DB extends I['DB'], Schema extends I['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<I>, AssociationDream extends AssociationNameToDream<I, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, attributes: Partial<DreamAttributes<AssociationNameToDream<I, AssociationName>>>, updateAssociationOptions?: {
1942
1946
  bypassAllDefaultScopes?: boolean;
1943
1947
  defaultScopesToBypass?: AllDefaultScopeNames<I>[];
1944
1948
  skipHooks?: boolean;
1945
- } & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1949
+ } & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
1946
1950
  /**
1947
1951
  * Sends data through for use as passthrough data
1948
1952
  * for the associations that require it.
@@ -11,9 +11,9 @@ export declare function applyGetterAndSetter(target: Dream, partialAssociation:
11
11
  isBelongsTo?: boolean;
12
12
  }): void;
13
13
  export declare function associationPrimaryKeyAccessors(partialAssociation: Exclude<PartialAssociationStatement, 'primaryKey' | 'primaryKeyValue'>, dreamClass: typeof Dream): PartialAssociationStatement;
14
- export declare function validateHasStatementArgs({ dreamClass, dependent, methodName, on, }: {
14
+ export declare function validateHasStatementArgs({ dreamClass, dependent, methodName, and, }: {
15
15
  dreamClass: typeof Dream;
16
16
  dependent: DependentOptions | null;
17
17
  methodName: string;
18
- on: object | null;
18
+ and: object | null;
19
19
  }): void;
@@ -1,5 +1,5 @@
1
1
  import Dream from '../Dream.js';
2
- import { AllDefaultScopeNames, AssociationNameToDream, DreamAssociationNames, DreamAssociationNamesWithoutRequiredOnClauses, DreamAttributes, JoinOnStatements, UpdateableAssociationProperties, UpdateableProperties } from '../types/dream.js';
2
+ import { AllDefaultScopeNames, AssociationNameToDream, DreamAssociationNames, DreamAssociationNamesWithoutRequiredOnClauses, DreamAttributes, JoinAndStatements, UpdateableAssociationProperties, UpdateableProperties } from '../types/dream.js';
3
3
  import { DefaultQueryTypeOptions, QueryWithJoinedAssociationsType } from '../types/query.js';
4
4
  import { JoinedAssociation, JoinedAssociationsTypeFromAssociations, RequiredOnClauseKeys, VariadicJoinsArgs, VariadicLeftJoinLoadArgs, VariadicLoadArgs } from '../types/variadic.js';
5
5
  import DreamTransaction from './DreamTransaction.js';
@@ -273,18 +273,18 @@ export default class DreamInstanceTransactionBuilder<DreamInstance extends Dream
273
273
  save<I extends DreamInstanceTransactionBuilder<DreamInstance>>(this: I, { skipHooks }?: {
274
274
  skipHooks?: boolean;
275
275
  }): Promise<void>;
276
- associationQuery<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinOnStatements: JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
277
- associationQuery<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinOnStatements?: JoinOnStatements<DB, Schema, AssociationTableName, null>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
276
+ associationQuery<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinAndStatements: JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
277
+ associationQuery<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, joinAndStatements?: JoinAndStatements<DB, Schema, AssociationTableName, null>): Query<AssociationDream, DefaultQueryTypeOptions<AssociationDream, AssociationName & string>>;
278
278
  updateAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, attributes: Partial<DreamAttributes<AssociationNameToDream<DreamInstance, AssociationName>>>, updateAssociationOptions: {
279
279
  bypassAllDefaultScopes?: boolean;
280
280
  defaultScopesToBypass?: AllDefaultScopeNames<DreamInstance>[];
281
281
  skipHooks?: boolean;
282
- } & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
282
+ } & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
283
283
  updateAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, attributes: Partial<DreamAttributes<AssociationNameToDream<DreamInstance, AssociationName>>>, updateAssociationOptions?: {
284
284
  bypassAllDefaultScopes?: boolean;
285
285
  defaultScopesToBypass?: AllDefaultScopeNames<DreamInstance>[];
286
286
  skipHooks?: boolean;
287
- } & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
287
+ } & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
288
288
  /**
289
289
  * Creates an association for an instance. Automatically
290
290
  * handles setting foreign key and, in the case of polymorphism,
@@ -301,12 +301,12 @@ export default class DreamInstanceTransactionBuilder<DreamInstance extends Dream
301
301
  * @returns The created association
302
302
  */
303
303
  createAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, AssociationName extends DreamAssociationNames<DreamInstance>, PossibleArrayAssociationType = DreamInstance[AssociationName & keyof DreamInstance], AssociationType = PossibleArrayAssociationType extends (infer ElementType)[] ? ElementType : PossibleArrayAssociationType, RestrictedAssociationType extends AssociationType extends Dream ? AssociationType : never = AssociationType extends Dream ? AssociationType : never>(this: I, associationName: AssociationName, opts?: UpdateableAssociationProperties<DreamInstance, RestrictedAssociationType>): Promise<NonNullable<AssociationType>>;
304
- destroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<DreamInstance> & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
305
- destroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<DreamInstance> & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
306
- reallyDestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<DreamInstance> & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
307
- reallyDestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<DreamInstance> & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
308
- undestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<DreamInstance> & JoinOnStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
309
- undestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<DreamInstance> & JoinOnStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
304
+ destroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<DreamInstance> & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
305
+ destroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<DreamInstance> & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
306
+ reallyDestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<DreamInstance> & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
307
+ reallyDestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<DreamInstance> & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
308
+ undestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], TableName extends DreamInstance['table'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, RequiredOnClauseKeysForThisAssociation extends RequiredOnClauseKeys<Schema, TableName, AssociationName>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options: DestroyOptions<DreamInstance> & JoinAndStatements<DB, Schema, AssociationTableName, RequiredOnClauseKeysForThisAssociation>): Promise<number>;
309
+ undestroyAssociation<I extends DreamInstanceTransactionBuilder<DreamInstance>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNamesWithoutRequiredOnClauses<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(this: I, associationName: AssociationName, options?: DestroyOptions<DreamInstance> & JoinAndStatements<DB, Schema, AssociationTableName, null>): Promise<number>;
310
310
  /**
311
311
  * @internal
312
312
  *
@@ -3,7 +3,7 @@ import ConnectedToDB from '../db/ConnectedToDB.js';
3
3
  import Dream from '../Dream.js';
4
4
  import { ColumnNamesAccountingForJoinedAssociations, LimitStatement, OffsetStatement, OrderQueryStatement, PassthroughOnClause, WhereStatement, WhereStatementForJoinedAssociation } from '../types/associations/shared.js';
5
5
  import { DbConnectionType } from '../types/db.js';
6
- import { AllDefaultScopeNames, DefaultScopeName, DreamColumnNames, DreamTableSchema, OrderDir, PassthroughColumnNames, PluckEachArgs, PrimaryKeyForFind, RelaxedJoinOnStatement, RelaxedJoinStatement, RelaxedPreloadOnStatement, RelaxedPreloadStatement, TableColumnNames, TableOrAssociationName } from '../types/dream.js';
6
+ import { AllDefaultScopeNames, DefaultScopeName, DreamColumnNames, DreamTableSchema, OrderDir, PassthroughColumnNames, PluckEachArgs, PrimaryKeyForFind, RelaxedJoinAndStatement, RelaxedJoinStatement, RelaxedPreloadOnStatement, RelaxedPreloadStatement, TableColumnNames, TableOrAssociationName } from '../types/dream.js';
7
7
  import { DefaultQueryTypeOptions, ExtendQueryType, NamespacedOrBaseModelColumnTypes, QueryToKyselyDBType, QueryToKyselyTableNamesType } from '../types/query.js';
8
8
  import { JoinedAssociation, JoinedAssociationsTypeFromAssociations, QueryTypeOptions, VariadicJoinsArgs, VariadicLeftJoinLoadArgs, VariadicLoadArgs } from '../types/variadic.js';
9
9
  import DreamTransaction from './DreamTransaction.js';
@@ -113,7 +113,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
113
113
  * stores the joins on statements applied to the
114
114
  * current Query instance
115
115
  */
116
- private readonly innerJoinOnStatements;
116
+ private readonly innerJoinAndStatements;
117
117
  /**
118
118
  * @internal
119
119
  *
@@ -127,7 +127,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
127
127
  * stores the joins on statements applied to the
128
128
  * current Query instance
129
129
  */
130
- private readonly leftJoinOnStatements;
130
+ private readonly leftJoinAndStatements;
131
131
  /**
132
132
  * @internal
133
133
  *
@@ -309,7 +309,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
309
309
  * // [Reply{id: 1}, Reply{id: 2}]
310
310
  * ```
311
311
  *
312
- * @param args - A chain of association names and on/notOn/onAny clauses
312
+ * @param args - A chain of association names and and/andNot/andAny clauses
313
313
  * @returns A cloned Query with the joinLoad statement applied
314
314
  */
315
315
  leftJoinPreload<Q extends Query<DreamInstance, any>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], TableName extends DreamInstance['table'], const Arr extends readonly unknown[], const LastArg extends VariadicLeftJoinLoadArgs<DB, Schema, TableName, Arr>, Incompatible extends Q['queryTypeOpts'] extends Readonly<{
@@ -328,7 +328,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
328
328
  * // [Reply{id: 1}, Reply{id: 2}]
329
329
  * ```
330
330
  *
331
- * @param args - A chain of association names and on/notOn/onAny clauses
331
+ * @param args - A chain of association names and and/andNot/andAny clauses
332
332
  * @returns A cloned Query with the preload statement applied
333
333
  */
334
334
  preload<Q extends Query<DreamInstance, any>, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], TableName extends DreamInstance['table'], const Arr extends readonly unknown[], Incompatible extends Q['queryTypeOpts'] extends Readonly<{
@@ -344,7 +344,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
344
344
  * await User.query().innerJoin('posts').first()
345
345
  * ```
346
346
  *
347
- * @param args - A chain of association names and on/notOn/onAny clauses
347
+ * @param args - A chain of association names and and/andNot/andAny clauses
348
348
  * @returns A cloned Query with the joins clause applied
349
349
  */
350
350
  innerJoin<DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], TableName extends DreamInstance['table'], const Arr extends readonly unknown[], const LastArg extends VariadicJoinsArgs<DB, Schema, TableName, Arr>, const JoinedAssociationsCandidate = JoinedAssociationsTypeFromAssociations<DB, Schema, TableName, [
@@ -356,7 +356,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
356
356
  /**
357
357
  * @internal
358
358
  *
359
- * @param args - A chain of association names and on/notOn/onAny clauses
359
+ * @param args - A chain of association names and and/andNot/andAny clauses
360
360
  * @returns A cloned Query with the joins clause applied
361
361
  */
362
362
  leftJoin<DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], TableName extends DreamInstance['table'], const Arr extends readonly unknown[], const LastArg extends VariadicJoinsArgs<DB, Schema, TableName, Arr>, const JoinedAssociationsCandidate = JoinedAssociationsTypeFromAssociations<DB, Schema, TableName, [
@@ -477,7 +477,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
477
477
  * public localizedTexts: LocalizedText[]
478
478
  *
479
479
  * @deco.HasOne('LocalizedText', {
480
- * on: { locale: DreamConst.passthrough },
480
+ * and: { locale: DreamConst.passthrough },
481
481
  * })
482
482
  * public currentLocalizedText: LocalizedText
483
483
  * }
@@ -1041,7 +1041,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
1041
1041
  */
1042
1042
  private joinsBridgeThroughAssociations;
1043
1043
  private applyOneJoin;
1044
- private applyAssociationOnStatementsToJoinStatement;
1044
+ private applyAssociationAndStatementsToJoinStatement;
1045
1045
  private conditionallyApplyDefaultScopesDependentOnAssociation;
1046
1046
  private distinctColumnNameForAssociation;
1047
1047
  private recursivelyJoin;
@@ -1052,10 +1052,10 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
1052
1052
  private notInArrayWithNullExpressionBuilder;
1053
1053
  private whereStatementToExpressionWrapper;
1054
1054
  private dreamWhereStatementToExpressionBuilderParts;
1055
- private applyJoinOnStatement;
1056
- private _applyJoinOnStatements;
1057
- private _applyJoinOnAnyStatements;
1058
- private joinOnStatementToExpressionWrapper;
1055
+ private applyJoinAndStatement;
1056
+ private _applyJoinAndStatements;
1057
+ private _applyJoinAndAnyStatements;
1058
+ private joinAndStatementToExpressionWrapper;
1059
1059
  private buildCommon;
1060
1060
  private checkForQueryViolations;
1061
1061
  private aliasWhereStatements;
@@ -1088,9 +1088,9 @@ export interface QueryOpts<DreamInstance extends Dream, ColumnType extends Dream
1088
1088
  distinctColumn?: ColumnType | null | undefined;
1089
1089
  innerJoinDreamClasses?: readonly (typeof Dream)[] | undefined;
1090
1090
  innerJoinStatements?: RelaxedJoinStatement | undefined;
1091
- innerJoinOnStatements?: RelaxedJoinOnStatement<DB, Schema> | undefined;
1091
+ innerJoinAndStatements?: RelaxedJoinAndStatement<DB, Schema> | undefined;
1092
1092
  leftJoinStatements?: RelaxedJoinStatement | undefined;
1093
- leftJoinOnStatements?: RelaxedJoinOnStatement<DB, Schema> | undefined;
1093
+ leftJoinAndStatements?: RelaxedJoinAndStatement<DB, Schema> | undefined;
1094
1094
  bypassAllDefaultScopes?: boolean | undefined;
1095
1095
  bypassAllDefaultScopesExceptOnAssociations?: boolean | undefined;
1096
1096
  defaultScopesToBypass?: AllDefaultScopeNames<DreamInstance>[] | undefined;
@@ -1,9 +1,9 @@
1
1
  import Dream from '../../../Dream.js';
2
- import { AssociationNameToDream, DreamAssociationNames, JoinOnStatements } from '../../../types/dream.js';
2
+ import { AssociationNameToDream, DreamAssociationNames, JoinAndStatements } from '../../../types/dream.js';
3
3
  import DreamTransaction from '../../DreamTransaction.js';
4
4
  import Query from '../../Query.js';
5
- export default function associationQuery<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table'], AssociationQuery = Query<AssociationNameToDream<DreamInstance, AssociationName>>>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinOnStatements, bypassAllDefaultScopes, defaultScopesToBypass, }: {
6
- joinOnStatements: JoinOnStatements<DB, Schema, AssociationTableName, null>;
5
+ export default function associationQuery<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table'], AssociationQuery = Query<AssociationNameToDream<DreamInstance, AssociationName>>>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinAndStatements, bypassAllDefaultScopes, defaultScopesToBypass, }: {
6
+ joinAndStatements: JoinAndStatements<DB, Schema, AssociationTableName, null>;
7
7
  bypassAllDefaultScopes: boolean;
8
8
  defaultScopesToBypass: string[];
9
9
  }): AssociationQuery;
@@ -1,9 +1,9 @@
1
1
  import Dream from '../../../Dream.js';
2
- import { AssociationNameToDream, DreamAssociationNames, JoinOnStatements } from '../../../types/dream.js';
2
+ import { AssociationNameToDream, DreamAssociationNames, JoinAndStatements } from '../../../types/dream.js';
3
3
  import DreamTransaction from '../../DreamTransaction.js';
4
4
  import Query from '../../Query.js';
5
- export default function associationUpdateQuery<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table'], AssociationQuery = Query<AssociationNameToDream<DreamInstance, AssociationName>>>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinOnStatements, bypassAllDefaultScopes, defaultScopesToBypass, }: {
6
- joinOnStatements: JoinOnStatements<DB, Schema, AssociationTableName, null>;
5
+ export default function associationUpdateQuery<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table'], AssociationQuery = Query<AssociationNameToDream<DreamInstance, AssociationName>>>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinAndStatements, bypassAllDefaultScopes, defaultScopesToBypass, }: {
6
+ joinAndStatements: JoinAndStatements<DB, Schema, AssociationTableName, null>;
7
7
  bypassAllDefaultScopes: boolean;
8
8
  defaultScopesToBypass: string[];
9
9
  }): AssociationQuery;
@@ -1,8 +1,8 @@
1
1
  import Dream from '../../../Dream.js';
2
- import { AssociationNameToDream, DreamAssociationNames, JoinOnStatements } from '../../../types/dream.js';
2
+ import { AssociationNameToDream, DreamAssociationNames, JoinAndStatements } from '../../../types/dream.js';
3
3
  import DreamTransaction from '../../DreamTransaction.js';
4
- export default function destroyAssociation<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinOnStatements, bypassAllDefaultScopes, defaultScopesToBypass, cascade, reallyDestroy, skipHooks, }: {
5
- joinOnStatements: JoinOnStatements<DB, Schema, AssociationTableName, null>;
4
+ export default function destroyAssociation<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinAndStatements, bypassAllDefaultScopes, defaultScopesToBypass, cascade, reallyDestroy, skipHooks, }: {
5
+ joinAndStatements: JoinAndStatements<DB, Schema, AssociationTableName, null>;
6
6
  bypassAllDefaultScopes: boolean;
7
7
  defaultScopesToBypass: string[];
8
8
  cascade: boolean;
@@ -1,8 +1,8 @@
1
1
  import Dream from '../../../Dream.js';
2
- import { AssociationNameToDream, DreamAssociationNames, JoinOnStatements } from '../../../types/dream.js';
2
+ import { AssociationNameToDream, DreamAssociationNames, JoinAndStatements } from '../../../types/dream.js';
3
3
  import DreamTransaction from '../../DreamTransaction.js';
4
- export default function undestroyAssociation<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinOnStatements, bypassAllDefaultScopes, defaultScopesToBypass, cascade, skipHooks, }: {
5
- joinOnStatements: JoinOnStatements<DB, Schema, AssociationTableName, null>;
4
+ export default function undestroyAssociation<DreamInstance extends Dream, DB extends DreamInstance['DB'], Schema extends DreamInstance['schema'], AssociationName extends DreamAssociationNames<DreamInstance>, AssociationDream extends AssociationNameToDream<DreamInstance, AssociationName>, AssociationTableName extends AssociationDream['table']>(dream: DreamInstance, txn: (DreamTransaction<Dream> | null) | undefined, associationName: AssociationName, { joinAndStatements, bypassAllDefaultScopes, defaultScopesToBypass, cascade, skipHooks, }: {
5
+ joinAndStatements: JoinAndStatements<DB, Schema, AssociationTableName, null>;
6
6
  bypassAllDefaultScopes: boolean;
7
7
  defaultScopesToBypass: string[];
8
8
  cascade: boolean;
@@ -3,12 +3,12 @@ import ConnectedToDB from '../../../db/ConnectedToDB.js';
3
3
  import Dream from '../../../Dream.js';
4
4
  import { WhereStatement } from '../../../types/associations/shared.js';
5
5
  import { DbConnectionType } from '../../../types/db.js';
6
- import { JoinOnStatements, RelaxedJoinOnStatement, SimilarityStatement } from '../../../types/dream.js';
6
+ import { JoinAndStatements, RelaxedJoinAndStatement, SimilarityStatement } from '../../../types/dream.js';
7
7
  import DreamTransaction from '../../DreamTransaction.js';
8
8
  export default class SimilarityBuilder<DreamInstance extends Dream, DB extends DreamInstance['DB'] = DreamInstance['DB'], Schema extends DreamInstance['schema'] = DreamInstance['schema']> extends ConnectedToDB<DreamInstance> {
9
9
  readonly whereStatement: readonly WhereStatement<DB, Schema, any>[];
10
10
  readonly whereNotStatement: readonly WhereStatement<DB, Schema, any>[];
11
- readonly joinOnStatements: JoinOnStatements<DB, Schema, any, any>;
11
+ readonly joinAndStatements: JoinAndStatements<DB, Schema, any, any>;
12
12
  constructor(dreamInstance: DreamInstance, opts?: SimilarityBuilderOpts<DreamInstance>);
13
13
  select<T extends SimilarityBuilder<DreamInstance>>(this: T, kyselyQuery: SelectQueryBuilder<DB, any, object>, { bypassOrder }?: {
14
14
  bypassOrder?: boolean;
@@ -17,7 +17,7 @@ export default class SimilarityBuilder<DreamInstance extends Dream, DB extends D
17
17
  get hasSimilarityClauses(): boolean;
18
18
  whereStatementsWithSimilarityClauses(): SimilarityStatement[];
19
19
  whereNotStatementsWithSimilarityClauses(): SimilarityStatement[];
20
- joinOnStatementsWithSimilarityClauses(): SimilarityStatement[];
20
+ joinAndStatementsWithSimilarityClauses(): SimilarityStatement[];
21
21
  private recursiveJoinsOnFinder;
22
22
  statementsWithSimilarityClauses(): SimilarityStatement[];
23
23
  private addStatementToSelectQuery;
@@ -30,9 +30,9 @@ export default class SimilarityBuilder<DreamInstance extends Dream, DB extends D
30
30
  export interface SimilarityBuilderOpts<DreamInstance extends Dream, DB extends DreamInstance['DB'] = DreamInstance['DB'], Schema extends DreamInstance['schema'] = DreamInstance['schema']> {
31
31
  where?: WhereStatement<DB, Schema, any>[] | undefined;
32
32
  whereNot?: WhereStatement<DB, Schema, any>[] | undefined;
33
- joinOnStatements?: RelaxedJoinOnStatement<DB, Schema> | undefined;
33
+ joinAndStatements?: RelaxedJoinAndStatement<DB, Schema> | undefined;
34
34
  transaction?: DreamTransaction<Dream> | null | undefined;
35
35
  connection?: DbConnectionType | undefined;
36
36
  }
37
- export declare const SIMILARITY_TYPES: readonly ["where", "on"];
37
+ export declare const SIMILARITY_TYPES: readonly ["where", "join_and"];
38
38
  export type SimilarityStatementType = (typeof SIMILARITY_TYPES)[number];
@@ -1,5 +1,5 @@
1
1
  import Dream from '../Dream.js';
2
- export default class CannotDefineAssociationWithBothDependentAndRequiredOnClause extends Error {
2
+ export default class CannotDefineAssociationWithBothDependentAndRequiredAndClause extends Error {
3
3
  private dreamClass;
4
4
  private associationName;
5
5
  constructor(dreamClass: typeof Dream, associationName: string);
@@ -1,6 +1,6 @@
1
1
  import { HasManyStatement } from '../../types/associations/hasMany.js';
2
2
  import { HasOneStatement } from '../../types/associations/hasOne.js';
3
- export default class MissingRequiredAssociationOnClause extends Error {
3
+ export default class MissingRequiredAssociationAndClause extends Error {
4
4
  private association;
5
5
  private column;
6
6
  constructor(association: HasManyStatement<any, any, any, any> | HasOneStatement<any, any, any, any>, column: string | undefined);
@@ -0,0 +1,5 @@
1
+ export default class MissingRequiredPassthroughForAssociationAndClause extends Error {
2
+ private column;
3
+ constructor(column: string);
4
+ get message(): string;
5
+ }
@@ -295,9 +295,9 @@ export interface HasStatement<
295
295
  foreignKey: () => keyof DB[ForeignTableName] & string
296
296
  foreignKeyTypeField: () => keyof DB[ForeignTableName] & string
297
297
  globalAssociationNameOrNames: string[]
298
- on?: OnStatementForAssociationDefinition<DB, Schema, ForeignTableName>
299
- notOn?: WhereStatement<DB, Schema, ForeignTableName>
300
- onAny?: WhereStatement<DB, Schema, ForeignTableName>[]
298
+ and?: OnStatementForAssociationDefinition<DB, Schema, ForeignTableName>
299
+ andNot?: WhereStatement<DB, Schema, ForeignTableName>
300
+ andAny?: WhereStatement<DB, Schema, ForeignTableName>[]
301
301
  // ATTENTION
302
302
  //
303
303
  // Using `order` with HasOne is tempting as an elegant API
@@ -313,13 +313,14 @@ export interface HasStatement<
313
313
  primaryKey: (associationInstance?: Dream) => DreamColumnNames<BaseInstance>
314
314
  primaryKeyOverride?: DreamColumnNames<BaseInstance> | null
315
315
  primaryKeyValue: (associationInstance: Dream) => any
316
- selfOn?: SelfOnStatement<BaseInstance, DB, Schema, ForeignTableName>
317
- selfNotOn?: SelfOnStatement<BaseInstance, DB, Schema, ForeignTableName>
316
+ selfAnd?: SelfOnStatement<BaseInstance, DB, Schema, ForeignTableName>
317
+ selfAndNot?: SelfOnStatement<BaseInstance, DB, Schema, ForeignTableName>
318
318
  source: string
319
319
  through?: string
320
320
  type: HasType
321
321
  withoutDefaultScopes?: DefaultScopeName<BaseInstance>[]
322
322
  }
323
+
323
324
  interface HasOptionsBase<
324
325
  BaseInstance extends Dream,
325
326
  AssociationGlobalName extends keyof GlobalModelNameTableMap<BaseInstance>,
@@ -331,7 +332,7 @@ interface HasOptionsBase<
331
332
  dependent?: DependentOptions
332
333
  foreignKey?: TableColumnNames<BaseInstance['DB'], AssociationTableName & keyof BaseInstance['DB']>
333
334
 
334
- on?: OnStatementForAssociationDefinition<
335
+ and?: OnStatementForAssociationDefinition<
335
336
  BaseInstance['DB'],
336
337
  BaseInstance['schema'],
337
338
  AssociationTableName &
@@ -339,7 +340,7 @@ interface HasOptionsBase<
339
340
  keyof BaseInstance['DB']
340
341
  >
341
342
 
342
- notOn?: WhereStatement<
343
+ andNot?: WhereStatement<
343
344
  BaseInstance['DB'],
344
345
  BaseInstance['schema'],
345
346
  AssociationTableName &
@@ -347,7 +348,7 @@ interface HasOptionsBase<
347
348
  keyof BaseInstance['DB']
348
349
  >
349
350
 
350
- onAny?: WhereStatement<
351
+ andAny?: WhereStatement<
351
352
  BaseInstance['DB'],
352
353
  BaseInstance['schema'],
353
354
  AssociationTableName &
@@ -359,7 +360,7 @@ interface HasOptionsBase<
359
360
  preloadThroughColumns?: string[] | Record<string, string>
360
361
  primaryKeyOverride?: DreamColumnNames<BaseInstance> | null
361
362
 
362
- selfOn?: SelfOnStatement<
363
+ selfAnd?: SelfOnStatement<
363
364
  BaseInstance,
364
365
  BaseInstance['DB'],
365
366
  BaseInstance['schema'],
@@ -368,7 +369,7 @@ interface HasOptionsBase<
368
369
  keyof BaseInstance['DB']
369
370
  >
370
371
 
371
- selfNotOn?: SelfOnStatement<
372
+ selfAndNot?: SelfOnStatement<
372
373
  BaseInstance,
373
374
  BaseInstance['DB'],
374
375
  BaseInstance['schema'],
@@ -431,10 +432,11 @@ type hasOneManySpecificFields =
431
432
  | 'source'
432
433
  | 'through'
433
434
  | 'preloadThroughColumns'
434
- | 'on'
435
- | 'notOn'
436
- | 'selfOn'
437
- | 'selfNotOn'
435
+ | 'and'
436
+ | 'andNot'
437
+ | 'andAny'
438
+ | 'selfAnd'
439
+ | 'selfAndNot'
438
440
  type belongsToSpecificFields = 'optional'
439
441
 
440
442
  export type PartialAssociationStatement =
@@ -237,26 +237,26 @@ export type AssociationTableName<
237
237
  AssociationData = MetadataForAssociation<Schema, TableName, AssociationName>,
238
238
  > = (AssociationData['tables' & keyof AssociationData] & any[])[0] & keyof Schema
239
239
 
240
- export type JoinOnStatements<
240
+ export type JoinAndStatements<
241
241
  DB,
242
242
  Schema,
243
243
  TableName extends keyof Schema & AssociationTableNames<DB, Schema> & keyof DB,
244
244
  RequiredOnClauseKeysForThisAssociation,
245
245
  > = RequiredOnClauseKeysForThisAssociation extends null
246
246
  ? {
247
- on?: WhereStatement<DB, Schema, TableName>
248
- notOn?: WhereStatement<DB, Schema, TableName>
249
- // notOn?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>
250
- onAny?: WhereStatement<DB, Schema, TableName>[]
251
- // onAny?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>[]
247
+ and?: WhereStatement<DB, Schema, TableName>
248
+ andNot?: WhereStatement<DB, Schema, TableName>
249
+ // andNot?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>
250
+ andAny?: WhereStatement<DB, Schema, TableName>[]
251
+ // andAny?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>[]
252
252
  }
253
253
  : RequiredOnClauseKeysForThisAssociation extends string[]
254
254
  ? {
255
- on: OnStatementForAssociation<DB, Schema, TableName, RequiredOnClauseKeysForThisAssociation>
256
- notOn?: WhereStatement<DB, Schema, TableName>
257
- // notOn?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>
258
- onAny?: WhereStatement<DB, Schema, TableName>[]
259
- // onAny?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>[]
255
+ and: OnStatementForAssociation<DB, Schema, TableName, RequiredOnClauseKeysForThisAssociation>
256
+ andNot?: WhereStatement<DB, Schema, TableName>
257
+ // andNot?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>
258
+ andAny?: WhereStatement<DB, Schema, TableName>[]
259
+ // andAny?: WhereStatementWithoutSimilarityClauses<DB, Schema, TableName>[]
260
260
  }
261
261
  : never
262
262
  ////////////////////////////////
@@ -406,17 +406,17 @@ export type RelaxedPreloadOnStatement<DB, Schema, Depth extends number = 0> = De
406
406
  : {
407
407
  [key: string]:
408
408
  | RelaxedPreloadOnStatement<DB, Schema, Inc<Depth>>
409
- | JoinOnStatements<any, any, any, any>
409
+ | JoinAndStatements<any, any, any, any>
410
410
  | FakeOnClauseValue
411
411
  | object
412
412
  }
413
413
 
414
- export type RelaxedJoinOnStatement<DB, Schema, Depth extends number = 0> = Depth extends 7
414
+ export type RelaxedJoinAndStatement<DB, Schema, Depth extends number = 0> = Depth extends 7
415
415
  ? object
416
416
  : {
417
417
  [key: string]:
418
- | RelaxedJoinOnStatement<DB, Schema, Inc<Depth>>
419
- | JoinOnStatements<any, any, any, any>
418
+ | RelaxedJoinAndStatement<DB, Schema, Inc<Depth>>
419
+ | JoinAndStatements<any, any, any, any>
420
420
  | FakeOnClauseValue
421
421
  | object
422
422
  }