@rvoh/dream 0.32.2 → 0.32.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/cli/index.js +2 -13
- package/dist/cjs/src/dream/Query.js +4 -3
- package/dist/cjs/src/dream/internal/reload.js +1 -1
- package/dist/cjs/src/dream-application/index.js +10 -0
- package/dist/cjs/src/helpers/sspawn.js +2 -2
- package/dist/esm/src/cli/index.js +2 -13
- package/dist/esm/src/dream/Query.js +4 -3
- package/dist/esm/src/dream/internal/reload.js +1 -1
- package/dist/esm/src/dream-application/index.js +10 -0
- package/dist/esm/src/helpers/sspawn.js +2 -2
- package/dist/types/src/cli/index.d.ts +3 -1
- package/dist/types/src/dream/Query.d.ts +1 -1
- package/dist/types/src/dream-application/index.d.ts +3 -0
- package/dist/types/src/helpers/sspawn.d.ts +4 -3
- package/docs/assets/search.js +1 -1
- package/docs/classes/Benchmark.html +2 -2
- package/docs/classes/CalendarDate.html +2 -2
- package/docs/classes/CreateOrFindByFailedToCreateAndFind.html +3 -3
- package/docs/classes/Decorators.html +19 -19
- package/docs/classes/Dream.html +126 -126
- package/docs/classes/DreamApplication.html +6 -4
- package/docs/classes/DreamBin.html +2 -2
- package/docs/classes/DreamCLI.html +4 -4
- package/docs/classes/DreamDbConnection.html +2 -2
- package/docs/classes/DreamGlam.html +2 -2
- package/docs/classes/DreamImporter.html +2 -2
- package/docs/classes/DreamMigrationHelpers.html +7 -7
- package/docs/classes/DreamSerializer.html +2 -2
- package/docs/classes/DreamTransaction.html +2 -2
- package/docs/classes/Encrypt.html +2 -2
- package/docs/classes/Env.html +2 -2
- package/docs/classes/GlobalNameNotSet.html +3 -3
- package/docs/classes/NonLoadedAssociation.html +3 -3
- package/docs/classes/Query.html +50 -50
- package/docs/classes/Range.html +2 -2
- package/docs/classes/RecordNotFound.html +3 -3
- package/docs/classes/ValidationError.html +3 -3
- package/docs/functions/Attribute.html +1 -1
- package/docs/functions/RendersMany.html +1 -1
- package/docs/functions/RendersOne.html +1 -1
- package/docs/functions/ReplicaSafe.html +1 -1
- package/docs/functions/STI.html +1 -1
- package/docs/functions/SoftDelete.html +1 -1
- package/docs/functions/camelize.html +1 -1
- package/docs/functions/capitalize.html +1 -1
- package/docs/functions/closeAllDbConnections.html +1 -1
- package/docs/functions/compact.html +1 -1
- package/docs/functions/db.html +1 -1
- package/docs/functions/debug.html +1 -1
- package/docs/functions/dreamDbConnections.html +1 -1
- package/docs/functions/dreamPath.html +1 -1
- package/docs/functions/generateDream.html +1 -1
- package/docs/functions/globalClassNameFromFullyQualifiedModelName.html +1 -1
- package/docs/functions/hyphenize.html +1 -1
- package/docs/functions/inferSerializerFromDreamClassOrViewModelClass.html +1 -1
- package/docs/functions/inferSerializerFromDreamOrViewModel.html +1 -1
- package/docs/functions/isEmpty.html +1 -1
- package/docs/functions/loadRepl.html +1 -1
- package/docs/functions/lookupClassByGlobalName.html +1 -1
- package/docs/functions/pascalize.html +1 -1
- package/docs/functions/pgErrorType.html +1 -1
- package/docs/functions/range-1.html +1 -1
- package/docs/functions/relativeDreamPath.html +1 -1
- package/docs/functions/round.html +1 -1
- package/docs/functions/serializerNameFromFullyQualifiedModelName.html +1 -1
- package/docs/functions/sharedPathPrefix.html +1 -1
- package/docs/functions/snakeify.html +1 -1
- package/docs/functions/sort.html +1 -1
- package/docs/functions/sortBy.html +1 -1
- package/docs/functions/standardizeFullyQualifiedModelName.html +1 -1
- package/docs/functions/uncapitalize.html +1 -1
- package/docs/functions/uniq.html +1 -1
- package/docs/functions/validateColumn.html +1 -1
- package/docs/functions/validateTable.html +1 -1
- package/docs/interfaces/AttributeStatement.html +2 -2
- package/docs/interfaces/DecoratorContext.html +2 -2
- package/docs/interfaces/DreamApplicationInitOptions.html +2 -2
- package/docs/interfaces/DreamApplicationOpts.html +2 -2
- package/docs/interfaces/DreamSerializerAssociationStatement.html +2 -2
- package/docs/interfaces/EncryptOptions.html +2 -2
- package/docs/interfaces/OpenapiSchemaProperties.html +1 -1
- package/docs/interfaces/OpenapiSchemaPropertiesShorthand.html +1 -1
- package/docs/interfaces/OpenapiTypeFieldObject.html +1 -1
- package/docs/types/Camelized.html +1 -1
- package/docs/types/CommonOpenapiSchemaObjectFields.html +1 -1
- package/docs/types/DateTime.html +1 -1
- package/docs/types/DreamAssociationMetadata.html +1 -1
- package/docs/types/DreamAttributes.html +1 -1
- package/docs/types/DreamClassColumn.html +1 -1
- package/docs/types/DreamColumn.html +1 -1
- package/docs/types/DreamColumnNames.html +1 -1
- package/docs/types/DreamLogLevel.html +1 -1
- package/docs/types/DreamLogger.html +1 -1
- package/docs/types/DreamOrViewModelSerializerKey.html +1 -1
- package/docs/types/DreamParamSafeAttributes.html +1 -1
- package/docs/types/DreamParamSafeColumnNames.html +1 -1
- package/docs/types/DreamSerializerKey.html +1 -1
- package/docs/types/DreamSerializers.html +1 -1
- package/docs/types/DreamTableSchema.html +1 -1
- package/docs/types/DreamVirtualColumns.html +1 -1
- package/docs/types/EncryptAlgorithm.html +1 -1
- package/docs/types/Hyphenized.html +1 -1
- package/docs/types/IdType.html +1 -1
- package/docs/types/OpenapiAllTypes.html +1 -1
- package/docs/types/OpenapiFormats.html +1 -1
- package/docs/types/OpenapiNumberFormats.html +1 -1
- package/docs/types/OpenapiPrimitiveTypes.html +1 -1
- package/docs/types/OpenapiSchemaArray.html +1 -1
- package/docs/types/OpenapiSchemaArrayShorthand.html +1 -1
- package/docs/types/OpenapiSchemaBase.html +1 -1
- package/docs/types/OpenapiSchemaBody.html +1 -1
- package/docs/types/OpenapiSchemaBodyShorthand.html +1 -1
- package/docs/types/OpenapiSchemaCommonFields.html +1 -1
- package/docs/types/OpenapiSchemaExpressionAllOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionOneOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionRef.html +1 -1
- package/docs/types/OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
- package/docs/types/OpenapiSchemaInteger.html +1 -1
- package/docs/types/OpenapiSchemaNull.html +1 -1
- package/docs/types/OpenapiSchemaNumber.html +1 -1
- package/docs/types/OpenapiSchemaObject.html +1 -1
- package/docs/types/OpenapiSchemaObjectAllOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectAllOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectAnyOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectBase.html +1 -1
- package/docs/types/OpenapiSchemaObjectBaseShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectOneOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectOneOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectShorthand.html +1 -1
- package/docs/types/OpenapiSchemaPartialSegment.html +1 -1
- package/docs/types/OpenapiSchemaPrimitiveGeneric.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionAllOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionOneOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
- package/docs/types/OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
- package/docs/types/OpenapiSchemaString.html +1 -1
- package/docs/types/OpenapiShorthandAllTypes.html +1 -1
- package/docs/types/OpenapiShorthandPrimitiveTypes.html +1 -1
- package/docs/types/OpenapiTypeField.html +1 -1
- package/docs/types/Pascalized.html +1 -1
- package/docs/types/PrimaryKeyType.html +1 -1
- package/docs/types/RoundingPrecision.html +1 -1
- package/docs/types/SerializableClassOrSerializerCallback.html +1 -1
- package/docs/types/SerializableDreamClassOrViewModelClass.html +1 -1
- package/docs/types/SerializableDreamOrViewModel.html +1 -1
- package/docs/types/SerializableTypes.html +1 -1
- package/docs/types/Snakeified.html +1 -1
- package/docs/types/Timestamp.html +1 -1
- package/docs/types/UpdateableAssociationProperties.html +1 -1
- package/docs/types/UpdateableProperties.html +1 -1
- package/docs/types/ValidationType.html +1 -1
- package/docs/types/ViewModelSerializerKey.html +1 -1
- package/docs/types/WhereStatementForDream.html +1 -1
- package/docs/types/WhereStatementForDreamClass.html +1 -1
- package/docs/variables/DateTime-1.html +1 -1
- package/docs/variables/DreamConst.html +1 -1
- package/docs/variables/TRIGRAM_OPERATORS.html +1 -1
- package/docs/variables/openapiPrimitiveTypes-1.html +1 -1
- package/docs/variables/openapiShorthandPrimitiveTypes-1.html +1 -1
- package/docs/variables/ops.html +1 -1
- package/docs/variables/primaryKeyTypes.html +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const child_process_1 = require("child_process");
|
|
4
3
|
const commander_1 = require("commander");
|
|
5
4
|
const index_js_1 = require("../bin/index.js");
|
|
6
5
|
const EnvInternal_js_1 = require("../helpers/EnvInternal.js");
|
|
6
|
+
const sspawn_js_1 = require("../helpers/sspawn.js");
|
|
7
7
|
const DreamCliLogger_js_1 = require("./logger/DreamCliLogger.js");
|
|
8
8
|
class DreamCLI {
|
|
9
9
|
/**
|
|
@@ -145,18 +145,7 @@ class DreamCLI {
|
|
|
145
145
|
* primary STDOUT context.
|
|
146
146
|
*/
|
|
147
147
|
static async spawn(command, opts) {
|
|
148
|
-
return
|
|
149
|
-
const spawnInstance = (0, child_process_1.spawn)(command, {
|
|
150
|
-
stdio: 'inherit',
|
|
151
|
-
shell: true,
|
|
152
|
-
...(opts || {}),
|
|
153
|
-
});
|
|
154
|
-
spawnInstance.on('close', code => {
|
|
155
|
-
if (code !== 0)
|
|
156
|
-
reject(new Error(code?.toString()));
|
|
157
|
-
accept({});
|
|
158
|
-
});
|
|
159
|
-
});
|
|
148
|
+
return await (0, sspawn_js_1.default)(command, opts);
|
|
160
149
|
}
|
|
161
150
|
static get logger() {
|
|
162
151
|
this._logger ||= new DreamCliLogger_js_1.default();
|
|
@@ -2050,6 +2050,7 @@ class Query extends ConnectedToDB_js_1.default {
|
|
|
2050
2050
|
}
|
|
2051
2051
|
applyOneJoin({ query, dreamClass, previousAssociationTableOrAlias, currentAssociationTableOrAlias, joinOnStatements = {}, throughAssociations = [], joinType, }) {
|
|
2052
2052
|
const { name, alias } = (0, extractAssociationMetadataFromAssociationName_js_1.default)(currentAssociationTableOrAlias);
|
|
2053
|
+
const joinOnStatement = joinOnStatements[currentAssociationTableOrAlias];
|
|
2053
2054
|
previousAssociationTableOrAlias = (0, extractAssociationMetadataFromAssociationName_js_1.default)(previousAssociationTableOrAlias).alias;
|
|
2054
2055
|
currentAssociationTableOrAlias = alias;
|
|
2055
2056
|
let association = dreamClass['getAssociationMetadata'](name);
|
|
@@ -2137,7 +2138,7 @@ class Query extends ConnectedToDB_js_1.default {
|
|
|
2137
2138
|
tableNameOrAlias: currentAssociationTableOrAlias,
|
|
2138
2139
|
association,
|
|
2139
2140
|
});
|
|
2140
|
-
join = this.
|
|
2141
|
+
join = this.applyJoinOnStatement(join, joinOnStatement, currentAssociationTableOrAlias);
|
|
2141
2142
|
return join;
|
|
2142
2143
|
});
|
|
2143
2144
|
}
|
|
@@ -2178,7 +2179,7 @@ class Query extends ConnectedToDB_js_1.default {
|
|
|
2178
2179
|
tableNameOrAlias: currentAssociationTableOrAlias,
|
|
2179
2180
|
association,
|
|
2180
2181
|
});
|
|
2181
|
-
join = this.
|
|
2182
|
+
join = this.applyJoinOnStatement(join, joinOnStatement, currentAssociationTableOrAlias);
|
|
2182
2183
|
return join;
|
|
2183
2184
|
});
|
|
2184
2185
|
if (association.type === 'HasMany') {
|
|
@@ -2489,7 +2490,7 @@ class Query extends ConnectedToDB_js_1.default {
|
|
|
2489
2490
|
throw new CannotPassUndefinedAsAValueToAWhereClause_js_1.default(this.dreamClass, a2);
|
|
2490
2491
|
return { a, b, c, a2, b2, c2 };
|
|
2491
2492
|
}
|
|
2492
|
-
|
|
2493
|
+
applyJoinOnStatement(join, joinOnStatement, rootTableOrAssociationAlias) {
|
|
2493
2494
|
if (!joinOnStatement)
|
|
2494
2495
|
return join;
|
|
2495
2496
|
join = this._applyJoinOnStatements(join, joinOnStatement.on, rootTableOrAssociationAlias);
|
|
@@ -14,7 +14,7 @@ async function reload(dream, txn = null) {
|
|
|
14
14
|
else
|
|
15
15
|
query = query.connection('primary');
|
|
16
16
|
query = query.removeAllDefaultScopes().where({ [dream.primaryKey]: dream.primaryKeyValue });
|
|
17
|
-
const reloadedRecord =
|
|
17
|
+
const reloadedRecord = await query.firstOrFail();
|
|
18
18
|
dream.setAttributes(reloadedRecord.getAttributes());
|
|
19
19
|
dream['freezeAttributes']();
|
|
20
20
|
return dream;
|
|
@@ -42,6 +42,9 @@ class DreamApplication {
|
|
|
42
42
|
await cb(dreamApp);
|
|
43
43
|
await dreamApp.inflections?.();
|
|
44
44
|
await deferCb?.(dreamApp);
|
|
45
|
+
for (const plugin of dreamApp.plugins) {
|
|
46
|
+
await plugin(dreamApp);
|
|
47
|
+
}
|
|
45
48
|
dreamApp.validateApplicationBuildIntegrity({
|
|
46
49
|
bypassModelIntegrityCheck: opts.bypassModelIntegrityCheck || false,
|
|
47
50
|
});
|
|
@@ -193,6 +196,10 @@ Try setting it to something valid, like:
|
|
|
193
196
|
get inflections() {
|
|
194
197
|
return this._inflections;
|
|
195
198
|
}
|
|
199
|
+
_plugins = [];
|
|
200
|
+
get plugins() {
|
|
201
|
+
return this._plugins;
|
|
202
|
+
}
|
|
196
203
|
loadedModels = false;
|
|
197
204
|
constructor(opts) {
|
|
198
205
|
if (opts?.db)
|
|
@@ -241,6 +248,9 @@ Try setting it to something valid, like:
|
|
|
241
248
|
break;
|
|
242
249
|
}
|
|
243
250
|
}
|
|
251
|
+
plugin(cb) {
|
|
252
|
+
this._plugins.push(cb);
|
|
253
|
+
}
|
|
244
254
|
set(applyOption, options) {
|
|
245
255
|
switch (applyOption) {
|
|
246
256
|
case 'db':
|
|
@@ -24,7 +24,7 @@ function ssspawn(command, opts = {}) {
|
|
|
24
24
|
// NOTE: adding this stdout spy so that
|
|
25
25
|
// when this cli utility runs node commands,
|
|
26
26
|
// it can properly hijack the stdout from the command
|
|
27
|
-
proc.stdout
|
|
27
|
+
proc.stdout?.on('data', chunk => {
|
|
28
28
|
const txt = chunk?.toString()?.trim();
|
|
29
29
|
if (typeof txt !== 'string' || !txt)
|
|
30
30
|
return;
|
|
@@ -35,7 +35,7 @@ function ssspawn(command, opts = {}) {
|
|
|
35
35
|
console.log(txt);
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
-
proc.stdout
|
|
38
|
+
proc.stdout?.on('error', err => {
|
|
39
39
|
console.log('sspawn error!');
|
|
40
40
|
console.error(err);
|
|
41
41
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { spawn } from 'child_process';
|
|
2
1
|
import { InvalidArgumentError } from 'commander';
|
|
3
2
|
import DreamBin from '../bin/index.js';
|
|
4
3
|
import EnvInternal from '../helpers/EnvInternal.js';
|
|
4
|
+
import sspawn from '../helpers/sspawn.js';
|
|
5
5
|
import DreamCliLogger from './logger/DreamCliLogger.js';
|
|
6
6
|
export default class DreamCLI {
|
|
7
7
|
/**
|
|
@@ -143,18 +143,7 @@ export default class DreamCLI {
|
|
|
143
143
|
* primary STDOUT context.
|
|
144
144
|
*/
|
|
145
145
|
static async spawn(command, opts) {
|
|
146
|
-
return
|
|
147
|
-
const spawnInstance = spawn(command, {
|
|
148
|
-
stdio: 'inherit',
|
|
149
|
-
shell: true,
|
|
150
|
-
...(opts || {}),
|
|
151
|
-
});
|
|
152
|
-
spawnInstance.on('close', code => {
|
|
153
|
-
if (code !== 0)
|
|
154
|
-
reject(new Error(code?.toString()));
|
|
155
|
-
accept({});
|
|
156
|
-
});
|
|
157
|
-
});
|
|
146
|
+
return await sspawn(command, opts);
|
|
158
147
|
}
|
|
159
148
|
static get logger() {
|
|
160
149
|
this._logger ||= new DreamCliLogger();
|
|
@@ -2048,6 +2048,7 @@ export default class Query extends ConnectedToDB {
|
|
|
2048
2048
|
}
|
|
2049
2049
|
applyOneJoin({ query, dreamClass, previousAssociationTableOrAlias, currentAssociationTableOrAlias, joinOnStatements = {}, throughAssociations = [], joinType, }) {
|
|
2050
2050
|
const { name, alias } = extractAssociationMetadataFromAssociationName(currentAssociationTableOrAlias);
|
|
2051
|
+
const joinOnStatement = joinOnStatements[currentAssociationTableOrAlias];
|
|
2051
2052
|
previousAssociationTableOrAlias = extractAssociationMetadataFromAssociationName(previousAssociationTableOrAlias).alias;
|
|
2052
2053
|
currentAssociationTableOrAlias = alias;
|
|
2053
2054
|
let association = dreamClass['getAssociationMetadata'](name);
|
|
@@ -2135,7 +2136,7 @@ export default class Query extends ConnectedToDB {
|
|
|
2135
2136
|
tableNameOrAlias: currentAssociationTableOrAlias,
|
|
2136
2137
|
association,
|
|
2137
2138
|
});
|
|
2138
|
-
join = this.
|
|
2139
|
+
join = this.applyJoinOnStatement(join, joinOnStatement, currentAssociationTableOrAlias);
|
|
2139
2140
|
return join;
|
|
2140
2141
|
});
|
|
2141
2142
|
}
|
|
@@ -2176,7 +2177,7 @@ export default class Query extends ConnectedToDB {
|
|
|
2176
2177
|
tableNameOrAlias: currentAssociationTableOrAlias,
|
|
2177
2178
|
association,
|
|
2178
2179
|
});
|
|
2179
|
-
join = this.
|
|
2180
|
+
join = this.applyJoinOnStatement(join, joinOnStatement, currentAssociationTableOrAlias);
|
|
2180
2181
|
return join;
|
|
2181
2182
|
});
|
|
2182
2183
|
if (association.type === 'HasMany') {
|
|
@@ -2487,7 +2488,7 @@ export default class Query extends ConnectedToDB {
|
|
|
2487
2488
|
throw new CannotPassUndefinedAsAValueToAWhereClause(this.dreamClass, a2);
|
|
2488
2489
|
return { a, b, c, a2, b2, c2 };
|
|
2489
2490
|
}
|
|
2490
|
-
|
|
2491
|
+
applyJoinOnStatement(join, joinOnStatement, rootTableOrAssociationAlias) {
|
|
2491
2492
|
if (!joinOnStatement)
|
|
2492
2493
|
return join;
|
|
2493
2494
|
join = this._applyJoinOnStatements(join, joinOnStatement.on, rootTableOrAssociationAlias);
|
|
@@ -11,7 +11,7 @@ export default async function reload(dream, txn = null) {
|
|
|
11
11
|
else
|
|
12
12
|
query = query.connection('primary');
|
|
13
13
|
query = query.removeAllDefaultScopes().where({ [dream.primaryKey]: dream.primaryKeyValue });
|
|
14
|
-
const reloadedRecord =
|
|
14
|
+
const reloadedRecord = await query.firstOrFail();
|
|
15
15
|
dream.setAttributes(reloadedRecord.getAttributes());
|
|
16
16
|
dream['freezeAttributes']();
|
|
17
17
|
return dream;
|
|
@@ -40,6 +40,9 @@ export default class DreamApplication {
|
|
|
40
40
|
await cb(dreamApp);
|
|
41
41
|
await dreamApp.inflections?.();
|
|
42
42
|
await deferCb?.(dreamApp);
|
|
43
|
+
for (const plugin of dreamApp.plugins) {
|
|
44
|
+
await plugin(dreamApp);
|
|
45
|
+
}
|
|
43
46
|
dreamApp.validateApplicationBuildIntegrity({
|
|
44
47
|
bypassModelIntegrityCheck: opts.bypassModelIntegrityCheck || false,
|
|
45
48
|
});
|
|
@@ -191,6 +194,10 @@ Try setting it to something valid, like:
|
|
|
191
194
|
get inflections() {
|
|
192
195
|
return this._inflections;
|
|
193
196
|
}
|
|
197
|
+
_plugins = [];
|
|
198
|
+
get plugins() {
|
|
199
|
+
return this._plugins;
|
|
200
|
+
}
|
|
194
201
|
loadedModels = false;
|
|
195
202
|
constructor(opts) {
|
|
196
203
|
if (opts?.db)
|
|
@@ -239,6 +246,9 @@ Try setting it to something valid, like:
|
|
|
239
246
|
break;
|
|
240
247
|
}
|
|
241
248
|
}
|
|
249
|
+
plugin(cb) {
|
|
250
|
+
this._plugins.push(cb);
|
|
251
|
+
}
|
|
242
252
|
set(applyOption, options) {
|
|
243
253
|
switch (applyOption) {
|
|
244
254
|
case 'db':
|
|
@@ -20,7 +20,7 @@ export function ssspawn(command, opts = {}) {
|
|
|
20
20
|
// NOTE: adding this stdout spy so that
|
|
21
21
|
// when this cli utility runs node commands,
|
|
22
22
|
// it can properly hijack the stdout from the command
|
|
23
|
-
proc.stdout
|
|
23
|
+
proc.stdout?.on('data', chunk => {
|
|
24
24
|
const txt = chunk?.toString()?.trim();
|
|
25
25
|
if (typeof txt !== 'string' || !txt)
|
|
26
26
|
return;
|
|
@@ -31,7 +31,7 @@ export function ssspawn(command, opts = {}) {
|
|
|
31
31
|
console.log(txt);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
proc.stdout
|
|
34
|
+
proc.stdout?.on('error', err => {
|
|
35
35
|
console.log('sspawn error!');
|
|
36
36
|
console.error(err);
|
|
37
37
|
});
|
|
@@ -19,7 +19,9 @@ export default class DreamCLI {
|
|
|
19
19
|
seedDb: () => Promise<void> | void;
|
|
20
20
|
onSync: () => Promise<void> | void;
|
|
21
21
|
}): void;
|
|
22
|
-
static spawn(command: string, opts?: SpawnOptions
|
|
22
|
+
static spawn(command: string, opts?: SpawnOptions & {
|
|
23
|
+
onStdout?: (str: string) => void;
|
|
24
|
+
}): Promise<unknown>;
|
|
23
25
|
static get logger(): DreamCliLogger;
|
|
24
26
|
private static _logger;
|
|
25
27
|
}
|
|
@@ -1052,7 +1052,7 @@ export default class Query<DreamInstance extends Dream, QueryTypeOpts extends Re
|
|
|
1052
1052
|
private notInArrayWithNullExpressionBuilder;
|
|
1053
1053
|
private whereStatementToExpressionWrapper;
|
|
1054
1054
|
private dreamWhereStatementToExpressionBuilderParts;
|
|
1055
|
-
private
|
|
1055
|
+
private applyJoinOnStatement;
|
|
1056
1056
|
private _applyJoinOnStatements;
|
|
1057
1057
|
private _applyJoinOnAnyStatements;
|
|
1058
1058
|
private joinOnStatementToExpressionWrapper;
|
|
@@ -71,12 +71,15 @@ export default class DreamApplication {
|
|
|
71
71
|
get logger(): DreamLogger;
|
|
72
72
|
private _inflections?;
|
|
73
73
|
get inflections(): (() => void | Promise<void>) | undefined;
|
|
74
|
+
private _plugins;
|
|
75
|
+
get plugins(): ((app: DreamApplication) => void | Promise<void>)[];
|
|
74
76
|
protected loadedModels: boolean;
|
|
75
77
|
constructor(opts?: Partial<DreamApplicationOpts>);
|
|
76
78
|
get models(): Record<string, typeof Dream>;
|
|
77
79
|
get serializers(): Record<string, typeof DreamSerializer>;
|
|
78
80
|
get services(): Record<string, any>;
|
|
79
81
|
load<RT extends 'models' | 'serializers' | 'services'>(resourceType: RT, resourcePath: string, importCb: (path: string) => Promise<any>): Promise<void>;
|
|
82
|
+
plugin(cb: (app: DreamApplication) => void | Promise<void>): void;
|
|
80
83
|
set<ApplyOpt extends DreamApplicationSetOption>(applyOption: ApplyOpt, options: ApplyOpt extends 'db' ? DreamDbCredentialOptions : ApplyOpt extends 'encryption' ? DreamApplicationEncryptionOptions : ApplyOpt extends 'primaryKeyType' ? (typeof primaryKeyTypes)[number] : ApplyOpt extends 'logger' ? DreamLogger : ApplyOpt extends 'projectRoot' ? string : ApplyOpt extends 'inflections' ? () => void | Promise<void> : ApplyOpt extends 'paths' ? DreamDirectoryPaths : ApplyOpt extends 'parallelTests' ? number : never): void;
|
|
81
84
|
on<T extends DreamHookEventType>(hookEventType: T, cb: T extends 'db:log' ? (event: KyselyLogEvent) => void : never): void;
|
|
82
85
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { SpawnOptions } from 'child_process';
|
|
2
|
+
export default function sspawn(command: string, opts?: SpawnOptions & {
|
|
2
3
|
onStdout?: (str: string) => void;
|
|
3
4
|
}): Promise<unknown>;
|
|
4
|
-
export declare function ssspawn(command: string, opts?:
|
|
5
|
+
export declare function ssspawn(command: string, opts?: SpawnOptions & {
|
|
5
6
|
onStdout?: (str: string) => void;
|
|
6
|
-
}): import("child_process").
|
|
7
|
+
}): import("child_process").ChildProcess;
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "data:application/octet-stream;base64,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";
|
|
1
|
+
window.searchData = "data:application/octet-stream;base64,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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Benchmark | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rvoh/dream</a></li><li><a href="Benchmark.html">Benchmark</a></li></ul><h1>Class Benchmark</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Benchmark | @rvoh/dream</title><meta name="description" content="Documentation for @rvoh/dream"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@rvoh/dream</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@rvoh/dream</a></li><li><a href="Benchmark.html">Benchmark</a></li></ul><h1>Class Benchmark</h1></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/e5db5be2bdc14b660a2fee1757e7105308b99629/src/helpers/benchmark.ts#L6">src/helpers/benchmark.ts:6</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="Benchmark.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
|
|
2
2
|
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="Benchmark.html#mark" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>mark</span></a>
|
|
3
3
|
<a href="Benchmark.html#start" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>start</span></a>
|
|
4
|
-
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Benchmark" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Benchmark</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a><a href="#constructor.new_Benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a></h4></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="mark" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>mark</span><a href="#mark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="mark.mark-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">mark</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#mark.mark-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">BenchmarkLogLevel</span><span class="tsd-signature-symbol"> = 'log'</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/
|
|
4
|
+
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Constructors</h2></summary><section><section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="constructor.new_Benchmark" class="tsd-anchor"></a><span class="tsd-kind-constructor-signature">new <wbr/>Benchmark</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a><a href="#constructor.new_Benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="Benchmark.html" class="tsd-signature-type tsd-kind-class">Benchmark</a></h4></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="mark" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>mark</span><a href="#mark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="mark.mark-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">mark</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span>, <span class="tsd-kind-parameter">level</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#mark.mark-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">message</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">level</span>: <span class="tsd-signature-type">BenchmarkLogLevel</span><span class="tsd-signature-symbol"> = 'log'</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/rvohealth/dream/blob/e5db5be2bdc14b660a2fee1757e7105308b99629/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/e5db5be2bdc14b660a2fee1757e7105308b99629/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>
|