@rvoh/dream 0.46.0 → 1.0.1

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 (176) hide show
  1. package/README.md +0 -2
  2. package/dist/cjs/src/decorators/field/association/shared.js +1 -1
  3. package/dist/cjs/src/dream/QueryDriver/Kysely.js +11 -13
  4. package/dist/esm/src/decorators/field/association/shared.js +1 -1
  5. package/dist/esm/src/dream/QueryDriver/Kysely.js +11 -13
  6. package/dist/types/src/dream/QueryDriver/Kysely.d.ts +1 -1
  7. package/docs/classes/Benchmark.html +2 -2
  8. package/docs/classes/CalendarDate.html +2 -2
  9. package/docs/classes/CreateOrFindByFailedToCreateAndFind.html +3 -3
  10. package/docs/classes/Decorators.html +19 -19
  11. package/docs/classes/Dream.html +136 -136
  12. package/docs/classes/DreamApp.html +4 -4
  13. package/docs/classes/DreamBin.html +2 -2
  14. package/docs/classes/DreamCLI.html +4 -4
  15. package/docs/classes/DreamImporter.html +2 -2
  16. package/docs/classes/DreamLogos.html +2 -2
  17. package/docs/classes/DreamMigrationHelpers.html +7 -7
  18. package/docs/classes/DreamSerializerBuilder.html +8 -8
  19. package/docs/classes/DreamTransaction.html +2 -2
  20. package/docs/classes/Encrypt.html +2 -2
  21. package/docs/classes/Env.html +2 -2
  22. package/docs/classes/GlobalNameNotSet.html +3 -3
  23. package/docs/classes/NonLoadedAssociation.html +3 -3
  24. package/docs/classes/ObjectSerializerBuilder.html +8 -8
  25. package/docs/classes/Query.html +60 -60
  26. package/docs/classes/Range.html +2 -2
  27. package/docs/classes/RecordNotFound.html +3 -3
  28. package/docs/classes/ValidationError.html +3 -3
  29. package/docs/functions/DreamSerializer.html +1 -1
  30. package/docs/functions/ObjectSerializer.html +1 -1
  31. package/docs/functions/ReplicaSafe.html +1 -1
  32. package/docs/functions/STI.html +1 -1
  33. package/docs/functions/SoftDelete.html +1 -1
  34. package/docs/functions/camelize.html +1 -1
  35. package/docs/functions/capitalize.html +1 -1
  36. package/docs/functions/cloneDeepSafe.html +1 -1
  37. package/docs/functions/closeAllDbConnections.html +1 -1
  38. package/docs/functions/compact.html +1 -1
  39. package/docs/functions/dreamDbConnections.html +1 -1
  40. package/docs/functions/dreamPath.html +1 -1
  41. package/docs/functions/expandStiClasses.html +1 -1
  42. package/docs/functions/generateDream.html +1 -1
  43. package/docs/functions/globalClassNameFromFullyQualifiedModelName.html +1 -1
  44. package/docs/functions/groupBy.html +1 -1
  45. package/docs/functions/hyphenize.html +1 -1
  46. package/docs/functions/inferSerializerFromDreamOrViewModel.html +1 -1
  47. package/docs/functions/inferSerializersFromDreamClassOrViewModelClass.html +1 -1
  48. package/docs/functions/intersection.html +1 -1
  49. package/docs/functions/isDreamSerializer.html +1 -1
  50. package/docs/functions/isEmpty.html +1 -1
  51. package/docs/functions/loadRepl.html +1 -1
  52. package/docs/functions/lookupClassByGlobalName.html +1 -1
  53. package/docs/functions/normalizeUnicode.html +1 -1
  54. package/docs/functions/pascalize.html +1 -1
  55. package/docs/functions/pgErrorType.html +1 -1
  56. package/docs/functions/range-1.html +1 -1
  57. package/docs/functions/relativeDreamPath.html +1 -1
  58. package/docs/functions/round.html +1 -1
  59. package/docs/functions/serializerNameFromFullyQualifiedModelName.html +1 -1
  60. package/docs/functions/sharedPathPrefix.html +1 -1
  61. package/docs/functions/snakeify.html +1 -1
  62. package/docs/functions/sort.html +1 -1
  63. package/docs/functions/sortBy.html +1 -1
  64. package/docs/functions/sortObjectByKey.html +1 -1
  65. package/docs/functions/sortObjectByValue.html +1 -1
  66. package/docs/functions/standardizeFullyQualifiedModelName.html +1 -1
  67. package/docs/functions/uncapitalize.html +1 -1
  68. package/docs/functions/uniq.html +1 -1
  69. package/docs/functions/untypedDb.html +1 -1
  70. package/docs/functions/validateColumn.html +1 -1
  71. package/docs/functions/validateTable.html +1 -1
  72. package/docs/index.html +1 -4
  73. package/docs/interfaces/BelongsToStatement.html +2 -2
  74. package/docs/interfaces/DecoratorContext.html +2 -2
  75. package/docs/interfaces/DreamAppInitOptions.html +2 -2
  76. package/docs/interfaces/DreamAppOpts.html +2 -2
  77. package/docs/interfaces/EncryptOptions.html +2 -2
  78. package/docs/interfaces/InternalAnyTypedSerializerRendersMany.html +2 -2
  79. package/docs/interfaces/InternalAnyTypedSerializerRendersOne.html +2 -2
  80. package/docs/interfaces/OpenapiDescription.html +2 -2
  81. package/docs/interfaces/OpenapiSchemaProperties.html +1 -1
  82. package/docs/interfaces/OpenapiSchemaPropertiesShorthand.html +1 -1
  83. package/docs/interfaces/OpenapiTypeFieldObject.html +1 -1
  84. package/docs/interfaces/SerializerRendererOpts.html +2 -2
  85. package/docs/types/Camelized.html +1 -1
  86. package/docs/types/CommonOpenapiSchemaObjectFields.html +1 -1
  87. package/docs/types/DateTime.html +1 -1
  88. package/docs/types/DbConnectionType.html +1 -1
  89. package/docs/types/DbTypes.html +1 -1
  90. package/docs/types/DreamAssociationMetadata.html +1 -1
  91. package/docs/types/DreamAttributes.html +1 -1
  92. package/docs/types/DreamClassAssociationAndStatement.html +1 -1
  93. package/docs/types/DreamClassColumn.html +1 -1
  94. package/docs/types/DreamColumn.html +1 -1
  95. package/docs/types/DreamColumnNames.html +1 -1
  96. package/docs/types/DreamLogLevel.html +1 -1
  97. package/docs/types/DreamLogger.html +1 -1
  98. package/docs/types/DreamModelSerializerType.html +1 -1
  99. package/docs/types/DreamOrViewModelClassSerializerKey.html +1 -1
  100. package/docs/types/DreamOrViewModelSerializerKey.html +1 -1
  101. package/docs/types/DreamParamSafeAttributes.html +1 -1
  102. package/docs/types/DreamParamSafeColumnNames.html +1 -1
  103. package/docs/types/DreamSerializable.html +1 -1
  104. package/docs/types/DreamSerializableArray.html +1 -1
  105. package/docs/types/DreamSerializerKey.html +1 -1
  106. package/docs/types/DreamSerializers.html +1 -1
  107. package/docs/types/DreamTableSchema.html +1 -1
  108. package/docs/types/DreamVirtualColumns.html +1 -1
  109. package/docs/types/EncryptAlgorithm.html +1 -1
  110. package/docs/types/HasManyStatement.html +1 -1
  111. package/docs/types/HasOneStatement.html +1 -1
  112. package/docs/types/Hyphenized.html +1 -1
  113. package/docs/types/IdType.html +1 -1
  114. package/docs/types/OpenapiAllTypes.html +1 -1
  115. package/docs/types/OpenapiFormats.html +1 -1
  116. package/docs/types/OpenapiNumberFormats.html +1 -1
  117. package/docs/types/OpenapiPrimitiveBaseTypes.html +1 -1
  118. package/docs/types/OpenapiPrimitiveTypes.html +1 -1
  119. package/docs/types/OpenapiSchemaArray.html +1 -1
  120. package/docs/types/OpenapiSchemaArrayShorthand.html +1 -1
  121. package/docs/types/OpenapiSchemaBase.html +1 -1
  122. package/docs/types/OpenapiSchemaBody.html +1 -1
  123. package/docs/types/OpenapiSchemaBodyShorthand.html +1 -1
  124. package/docs/types/OpenapiSchemaCommonFields.html +1 -1
  125. package/docs/types/OpenapiSchemaExpressionAllOf.html +1 -1
  126. package/docs/types/OpenapiSchemaExpressionAnyOf.html +1 -1
  127. package/docs/types/OpenapiSchemaExpressionOneOf.html +1 -1
  128. package/docs/types/OpenapiSchemaExpressionRef.html +1 -1
  129. package/docs/types/OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
  130. package/docs/types/OpenapiSchemaInteger.html +1 -1
  131. package/docs/types/OpenapiSchemaNull.html +1 -1
  132. package/docs/types/OpenapiSchemaNumber.html +1 -1
  133. package/docs/types/OpenapiSchemaObject.html +1 -1
  134. package/docs/types/OpenapiSchemaObjectAllOf.html +1 -1
  135. package/docs/types/OpenapiSchemaObjectAllOfShorthand.html +1 -1
  136. package/docs/types/OpenapiSchemaObjectAnyOf.html +1 -1
  137. package/docs/types/OpenapiSchemaObjectAnyOfShorthand.html +1 -1
  138. package/docs/types/OpenapiSchemaObjectBase.html +1 -1
  139. package/docs/types/OpenapiSchemaObjectBaseShorthand.html +1 -1
  140. package/docs/types/OpenapiSchemaObjectOneOf.html +1 -1
  141. package/docs/types/OpenapiSchemaObjectOneOfShorthand.html +1 -1
  142. package/docs/types/OpenapiSchemaObjectShorthand.html +1 -1
  143. package/docs/types/OpenapiSchemaPrimitiveGeneric.html +1 -1
  144. package/docs/types/OpenapiSchemaShorthandExpressionAllOf.html +1 -1
  145. package/docs/types/OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
  146. package/docs/types/OpenapiSchemaShorthandExpressionOneOf.html +1 -1
  147. package/docs/types/OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
  148. package/docs/types/OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
  149. package/docs/types/OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
  150. package/docs/types/OpenapiSchemaString.html +1 -1
  151. package/docs/types/OpenapiShorthandAllTypes.html +1 -1
  152. package/docs/types/OpenapiShorthandPrimitiveBaseTypes.html +1 -1
  153. package/docs/types/OpenapiShorthandPrimitiveTypes.html +1 -1
  154. package/docs/types/OpenapiTypeField.html +1 -1
  155. package/docs/types/Pascalized.html +1 -1
  156. package/docs/types/PrimaryKeyType.html +1 -1
  157. package/docs/types/RoundingPrecision.html +1 -1
  158. package/docs/types/SerializerCasing.html +1 -1
  159. package/docs/types/SimpleObjectSerializerType.html +1 -1
  160. package/docs/types/Snakeified.html +1 -1
  161. package/docs/types/Timestamp.html +1 -1
  162. package/docs/types/UpdateableAssociationProperties.html +1 -1
  163. package/docs/types/UpdateableProperties.html +1 -1
  164. package/docs/types/ValidationType.html +1 -1
  165. package/docs/types/ViewModel.html +1 -1
  166. package/docs/types/ViewModelClass.html +1 -1
  167. package/docs/types/WhereStatementForDream.html +1 -1
  168. package/docs/types/WhereStatementForDreamClass.html +1 -1
  169. package/docs/variables/DateTime-1.html +1 -1
  170. package/docs/variables/DreamConst.html +1 -1
  171. package/docs/variables/TRIGRAM_OPERATORS.html +1 -1
  172. package/docs/variables/openapiPrimitiveTypes-1.html +1 -1
  173. package/docs/variables/openapiShorthandPrimitiveTypes-1.html +1 -1
  174. package/docs/variables/ops.html +1 -1
  175. package/docs/variables/primaryKeyTypes.html +1 -1
  176. package/package.json +2 -2
package/README.md CHANGED
@@ -1,5 +1,3 @@
1
- > ATTENTION: we are currently in the process of releasing this code to the world, as of the afternoon of May 21st, 2025. This notice will be removed, and the version of this repo will be bumped to 1.0.0, once all of the repos have been migrated to the new spaces and we can verify that it is all working. This should happen sometime in the next month.
2
-
3
1
  Dream is a typescript-driven, esm-first ORM built on top of [kysely](http://kysely.dev). It is built to operate within the [Psychic web framework](https://psychic-docs.netlify.app), but can be brought into other projects and used without the encapsulating framework (though this is theoretical, and we do not encourage it at this time). It is actively being developed to support production-grade applications in use within the [RVOHealth organization](https://www.rvohealth.com), who has kindly sponsored the continued development of this ORM, as well as the Psychic web framework as a whole.
4
2
 
5
3
  Documentation: [https://psychic-docs.netlify.app](https://psychic-docs.netlify.app)
@@ -90,7 +90,7 @@ function applyGetterAndSetter(target, partialAssociation, { foreignKeyBase, isBe
90
90
  partialAssociation.primaryKeyValue(associatedModel);
91
91
  if (partialAssociation.polymorphic)
92
92
  this[foreignKeyTypeField(foreignKeyBase, dreamClass, partialAssociation)] =
93
- associatedModel?.['sanitizedConstructorName'];
93
+ associatedModel?.['stiBaseClassOrOwnClassName'];
94
94
  }
95
95
  },
96
96
  });
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const kysely_1 = require("kysely");
4
4
  const pluralize_esm_1 = require("pluralize-esm");
5
+ const sync_js_1 = require("../../bin/helpers/sync.js");
5
6
  const index_js_1 = require("../../cli/index.js");
6
7
  const index_js_2 = require("../../db/index.js");
7
8
  const associationToGetterSetterProp_js_1 = require("../../decorators/field/association/associationToGetterSetterProp.js");
@@ -19,8 +20,11 @@ const UnexpectedUndefined_js_1 = require("../../errors/UnexpectedUndefined.js");
19
20
  const CalendarDate_js_1 = require("../../helpers/CalendarDate.js");
20
21
  const camelize_js_1 = require("../../helpers/camelize.js");
21
22
  const generateMigration_js_1 = require("../../helpers/cli/generateMigration.js");
23
+ const SchemaBuilder_js_1 = require("../../helpers/cli/SchemaBuilder.js");
22
24
  const compact_js_1 = require("../../helpers/compact.js");
23
25
  const DateTime_js_1 = require("../../helpers/DateTime.js");
26
+ const createDb_js_1 = require("../../helpers/db/createDb.js");
27
+ const dropDb_js_1 = require("../../helpers/db/dropDb.js");
24
28
  const loadPgClient_js_1 = require("../../helpers/db/loadPgClient.js");
25
29
  const runMigration_js_1 = require("../../helpers/db/runMigration.js");
26
30
  const EnvInternal_js_1 = require("../../helpers/EnvInternal.js");
@@ -45,10 +49,6 @@ const SimilarityBuilder_js_1 = require("../internal/similarity/SimilarityBuilder
45
49
  const sqlResultToDreamInstance_js_1 = require("../internal/sqlResultToDreamInstance.js");
46
50
  const Query_js_1 = require("../Query.js");
47
51
  const Base_js_1 = require("./Base.js");
48
- const sync_js_1 = require("../../bin/helpers/sync.js");
49
- const SchemaBuilder_js_1 = require("../../helpers/cli/SchemaBuilder.js");
50
- const createDb_js_1 = require("../../helpers/db/createDb.js");
51
- const dropDb_js_1 = require("../../helpers/db/dropDb.js");
52
52
  class KyselyQueryDriver extends Base_js_1.default {
53
53
  // ATTENTION FRED
54
54
  // stop trying to make this async. You never learn...
@@ -1613,13 +1613,13 @@ class KyselyQueryDriver extends Base_js_1.default {
1613
1613
  throw new Error(`Association ${association.as} points to an array of models but is not designated polymorphic`);
1614
1614
  if (association.type !== 'BelongsTo')
1615
1615
  throw new Error(`Polymorphic association ${association.as} points to an array of models but is ${association.type}. Only BelongsTo associations may point to an array of models.`);
1616
- const associatedDreams = [];
1616
+ const nestedDreamsForNextRoundOfPreloading = [];
1617
1617
  for (const associatedModel of association.modelCB()) {
1618
- await this.preloadPolymorphicAssociationModel(dreams, association, associatedModel, associatedDreams);
1618
+ await this.preloadPolymorphicAssociationModel(dreams, association, associatedModel, nestedDreamsForNextRoundOfPreloading);
1619
1619
  }
1620
- return associatedDreams;
1620
+ return nestedDreamsForNextRoundOfPreloading;
1621
1621
  }
1622
- async preloadPolymorphicAssociationModel(dreams, association, associatedDreamClass, associatedDreams) {
1622
+ async preloadPolymorphicAssociationModel(dreams, association, associatedDreamClass, nestedDreamsForNextRoundOfPreloading) {
1623
1623
  const relevantAssociatedModels = dreams.filter((dream) => {
1624
1624
  const field = association.foreignKeyTypeField();
1625
1625
  return dream[field] === associatedDreamClass['stiBaseClassOrOwnClassName'] || dream[field] === null;
@@ -1638,16 +1638,14 @@ class KyselyQueryDriver extends Base_js_1.default {
1638
1638
  [associatedDreamClass.primaryKey]: relevantAssociatedModels.map((dream) => dream[association.foreignKey()]),
1639
1639
  })
1640
1640
  .all();
1641
- loadedAssociations.forEach((loadedAssociation) => associatedDreams.push(loadedAssociation));
1641
+ loadedAssociations.forEach((loadedAssociation) => nestedDreamsForNextRoundOfPreloading.push(loadedAssociation));
1642
1642
  //////////////////////////////////////////////////////////////////////////////////////////////
1643
1643
  // Associate each loaded association with each dream based on primary key and foreign key type
1644
1644
  //////////////////////////////////////////////////////////////////////////////////////////////
1645
1645
  for (const loadedAssociation of loadedAssociations) {
1646
1646
  dreams
1647
- .filter((dream) => {
1648
- return (dream[association.foreignKeyTypeField()] === loadedAssociation['stiBaseClassOrOwnClassName'] &&
1649
- dream[association.foreignKey()] === association.primaryKeyValue(loadedAssociation));
1650
- })
1647
+ .filter((dream) => dream[association.foreignKeyTypeField()] === loadedAssociation['stiBaseClassOrOwnClassName'] &&
1648
+ dream[association.foreignKey()] === association.primaryKeyValue(loadedAssociation))
1651
1649
  .forEach((dream) => {
1652
1650
  dream[association.as] = loadedAssociation;
1653
1651
  });
@@ -81,7 +81,7 @@ export function applyGetterAndSetter(target, partialAssociation, { foreignKeyBas
81
81
  partialAssociation.primaryKeyValue(associatedModel);
82
82
  if (partialAssociation.polymorphic)
83
83
  this[foreignKeyTypeField(foreignKeyBase, dreamClass, partialAssociation)] =
84
- associatedModel?.['sanitizedConstructorName'];
84
+ associatedModel?.['stiBaseClassOrOwnClassName'];
85
85
  }
86
86
  },
87
87
  });
@@ -1,5 +1,6 @@
1
1
  import { sql, } from 'kysely';
2
2
  import pluralize from 'pluralize-esm';
3
+ import writeSyncFile from '../../bin/helpers/sync.js';
3
4
  import DreamCLI from '../../cli/index.js';
4
5
  import _db from '../../db/index.js';
5
6
  import associationToGetterSetterProp from '../../decorators/field/association/associationToGetterSetterProp.js';
@@ -17,8 +18,11 @@ import UnexpectedUndefined from '../../errors/UnexpectedUndefined.js';
17
18
  import CalendarDate from '../../helpers/CalendarDate.js';
18
19
  import camelize from '../../helpers/camelize.js';
19
20
  import generateMigration from '../../helpers/cli/generateMigration.js';
21
+ import SchemaBuilder from '../../helpers/cli/SchemaBuilder.js';
20
22
  import compact from '../../helpers/compact.js';
21
23
  import { DateTime } from '../../helpers/DateTime.js';
24
+ import createDb from '../../helpers/db/createDb.js';
25
+ import _dropDb from '../../helpers/db/dropDb.js';
22
26
  import loadPgClient from '../../helpers/db/loadPgClient.js';
23
27
  import runMigration from '../../helpers/db/runMigration.js';
24
28
  import EnvInternal from '../../helpers/EnvInternal.js';
@@ -43,10 +47,6 @@ import SimilarityBuilder from '../internal/similarity/SimilarityBuilder.js';
43
47
  import sqlResultToDreamInstance from '../internal/sqlResultToDreamInstance.js';
44
48
  import Query from '../Query.js';
45
49
  import QueryDriverBase from './Base.js';
46
- import writeSyncFile from '../../bin/helpers/sync.js';
47
- import SchemaBuilder from '../../helpers/cli/SchemaBuilder.js';
48
- import createDb from '../../helpers/db/createDb.js';
49
- import _dropDb from '../../helpers/db/dropDb.js';
50
50
  export default class KyselyQueryDriver extends QueryDriverBase {
51
51
  // ATTENTION FRED
52
52
  // stop trying to make this async. You never learn...
@@ -1611,13 +1611,13 @@ export default class KyselyQueryDriver extends QueryDriverBase {
1611
1611
  throw new Error(`Association ${association.as} points to an array of models but is not designated polymorphic`);
1612
1612
  if (association.type !== 'BelongsTo')
1613
1613
  throw new Error(`Polymorphic association ${association.as} points to an array of models but is ${association.type}. Only BelongsTo associations may point to an array of models.`);
1614
- const associatedDreams = [];
1614
+ const nestedDreamsForNextRoundOfPreloading = [];
1615
1615
  for (const associatedModel of association.modelCB()) {
1616
- await this.preloadPolymorphicAssociationModel(dreams, association, associatedModel, associatedDreams);
1616
+ await this.preloadPolymorphicAssociationModel(dreams, association, associatedModel, nestedDreamsForNextRoundOfPreloading);
1617
1617
  }
1618
- return associatedDreams;
1618
+ return nestedDreamsForNextRoundOfPreloading;
1619
1619
  }
1620
- async preloadPolymorphicAssociationModel(dreams, association, associatedDreamClass, associatedDreams) {
1620
+ async preloadPolymorphicAssociationModel(dreams, association, associatedDreamClass, nestedDreamsForNextRoundOfPreloading) {
1621
1621
  const relevantAssociatedModels = dreams.filter((dream) => {
1622
1622
  const field = association.foreignKeyTypeField();
1623
1623
  return dream[field] === associatedDreamClass['stiBaseClassOrOwnClassName'] || dream[field] === null;
@@ -1636,16 +1636,14 @@ export default class KyselyQueryDriver extends QueryDriverBase {
1636
1636
  [associatedDreamClass.primaryKey]: relevantAssociatedModels.map((dream) => dream[association.foreignKey()]),
1637
1637
  })
1638
1638
  .all();
1639
- loadedAssociations.forEach((loadedAssociation) => associatedDreams.push(loadedAssociation));
1639
+ loadedAssociations.forEach((loadedAssociation) => nestedDreamsForNextRoundOfPreloading.push(loadedAssociation));
1640
1640
  //////////////////////////////////////////////////////////////////////////////////////////////
1641
1641
  // Associate each loaded association with each dream based on primary key and foreign key type
1642
1642
  //////////////////////////////////////////////////////////////////////////////////////////////
1643
1643
  for (const loadedAssociation of loadedAssociations) {
1644
1644
  dreams
1645
- .filter((dream) => {
1646
- return (dream[association.foreignKeyTypeField()] === loadedAssociation['stiBaseClassOrOwnClassName'] &&
1647
- dream[association.foreignKey()] === association.primaryKeyValue(loadedAssociation));
1648
- })
1645
+ .filter((dream) => dream[association.foreignKeyTypeField()] === loadedAssociation['stiBaseClassOrOwnClassName'] &&
1646
+ dream[association.foreignKey()] === association.primaryKeyValue(loadedAssociation))
1649
1647
  .forEach((dream) => {
1650
1648
  dream[association.as] = loadedAssociation;
1651
1649
  });
@@ -1,12 +1,12 @@
1
1
  import { DeleteQueryBuilder, Kysely, Transaction as KyselyTransaction, SelectQueryBuilder, UpdateQueryBuilder } from 'kysely';
2
2
  import Dream from '../../Dream.js';
3
3
  import { AssociationStatement } from '../../types/associations/shared.js';
4
+ import { DbConnectionType } from '../../types/db.js';
4
5
  import { DreamColumnNames, DreamTableSchema, SqlCommandType } from '../../types/dream.js';
5
6
  import { PreloadedDreamsAndWhatTheyPointTo, QueryToKyselyDBType, QueryToKyselyTableNamesType } from '../../types/query.js';
6
7
  import DreamTransaction from '../DreamTransaction.js';
7
8
  import Query from '../Query.js';
8
9
  import QueryDriverBase from './Base.js';
9
- import { DbConnectionType } from '../../types/db.js';
10
10
  export default class KyselyQueryDriver<DreamInstance extends Dream> extends QueryDriverBase<DreamInstance> {
11
11
  dbFor(sqlCommandType: SqlCommandType): Kysely<DreamInstance['DB']> | KyselyTransaction<DreamInstance['DB']>;
12
12
  /**
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Benchmark | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rvoh/dream</a></li><li><a href="Benchmark.html">Benchmark</a></li></ul><h1>Class Benchmark</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/50f36ee5e85c9964d9b34461eb359c8efe08e7ca/src/helpers/benchmark.ts#L6">src/helpers/benchmark.ts:6</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="Benchmark.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Benchmark | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rvoh/dream</a></li><li><a href="Benchmark.html">Benchmark</a></li></ul><h1>Class Benchmark</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bb4122744f928048da8bcc12ee61f51f64971bdb/src/helpers/benchmark.ts#L6">src/helpers/benchmark.ts:6</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="Benchmark.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
2
2
  </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="Benchmark.html#mark" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>mark</span></a>
3
3
  <a href="Benchmark.html#start" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>start</span></a>
4
- </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Benchmark" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Benchmark</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a><a href="#constructor.new_Benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a></h4></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="mark" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>mark</span><a href="#mark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="mark.mark-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">mark</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#mark.mark-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">BenchmarkLogLevel</span><span class="tsd-signature-symbol"> = &#39;log&#39;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/50f36ee5e85c9964d9b34461eb359c8efe08e7ca/src/helpers/benchmark.ts#L12">src/helpers/benchmark.ts:12</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="start" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>start</span><a href="#start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="start.start-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">start</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#start.start-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/50f36ee5e85c9964d9b34461eb359c8efe08e7ca/src/helpers/benchmark.ts#L8">src/helpers/benchmark.ts:8</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#mark" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>mark</span></a><a href="#start" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>start</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rvoh/dream</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
4
+ </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Benchmark" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Benchmark</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a><a href="#constructor.new_Benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a></h4></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="mark" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>mark</span><a href="#mark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="mark.mark-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">mark</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#mark.mark-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">BenchmarkLogLevel</span><span class="tsd-signature-symbol"> = &#39;log&#39;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bb4122744f928048da8bcc12ee61f51f64971bdb/src/helpers/benchmark.ts#L12">src/helpers/benchmark.ts:12</a></li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="start" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>start</span><a href="#start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="start.start-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">start</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#start.start-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/bb4122744f928048da8bcc12ee61f51f64971bdb/src/helpers/benchmark.ts#L8">src/helpers/benchmark.ts:8</a></li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#mark" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>mark</span></a><a href="#start" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>start</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@rvoh/dream</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>