@warlock.js/cascade 1.0.3 → 1.0.5
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/cjs/commands/create-new-app/get-app-path.d.ts +2 -0
- package/cjs/commands/create-new-app/get-app-path.d.ts.map +1 -0
- package/cjs/commands/create-new-app/get-app-path.js +8 -0
- package/cjs/commands/create-new-app/get-app-path.js.map +1 -0
- package/cjs/commands/create-new-app/index.d.ts +2 -0
- package/cjs/commands/create-new-app/index.d.ts.map +1 -0
- package/cjs/commands/create-new-app/index.js +44 -0
- package/cjs/commands/create-new-app/index.js.map +1 -0
- package/cjs/commands/create-new-app/select-app-type.d.ts +2 -0
- package/cjs/commands/create-new-app/select-app-type.d.ts.map +1 -0
- package/cjs/commands/create-new-app/types.d.ts +9 -0
- package/cjs/commands/create-new-app/types.d.ts.map +1 -0
- package/cjs/commands/create-warlock-app/index.d.ts +3 -0
- package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
- package/cjs/commands/create-warlock-app/index.js +18 -0
- package/cjs/commands/create-warlock-app/index.js.map +1 -0
- package/cjs/helpers/app.d.ts +51 -0
- package/cjs/helpers/app.d.ts.map +1 -0
- package/cjs/helpers/app.js +127 -0
- package/cjs/helpers/app.js.map +1 -0
- package/cjs/helpers/exec.d.ts +10 -0
- package/cjs/helpers/exec.d.ts.map +1 -0
- package/cjs/helpers/exec.js +69 -0
- package/cjs/helpers/exec.js.map +1 -0
- package/cjs/helpers/package-manager.d.ts +6 -0
- package/cjs/helpers/package-manager.d.ts.map +1 -0
- package/cjs/helpers/package-manager.js +22 -0
- package/cjs/helpers/package-manager.js.map +1 -0
- package/cjs/helpers/paths.d.ts +4 -0
- package/cjs/helpers/paths.d.ts.map +1 -0
- package/cjs/helpers/paths.js +8 -0
- package/cjs/helpers/paths.js.map +1 -0
- package/cjs/helpers/project-builder-helpers.d.ts +7 -0
- package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
- package/cjs/helpers/project-builder-helpers.js +44 -0
- package/cjs/helpers/project-builder-helpers.js.map +1 -0
- package/cjs/index.d.ts +1 -12
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +5 -1
- package/cjs/index.js.map +1 -1
- package/esm/blueprint/blueprint.d.ts +2 -2
- package/esm/blueprint/blueprint.d.ts.map +1 -1
- package/esm/blueprint/blueprint.js +2 -0
- package/esm/blueprint/blueprint.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/migration/migrate.d.ts.map +1 -1
- package/esm/migration/migrate.js +2 -6
- package/esm/migration/migrate.js.map +1 -1
- package/esm/migration/migration-office.d.ts +3 -3
- package/esm/migration/migration-office.d.ts.map +1 -1
- package/esm/migration/migration-office.js +15 -1
- package/esm/migration/migration-office.js.map +1 -1
- package/esm/migration/types.d.ts +10 -0
- package/esm/migration/types.d.ts.map +1 -1
- package/esm/model/ModelAggregate.js +1 -1
- package/esm/model/ModelAggregate.js.map +1 -1
- package/esm/model/base-model.d.ts +2 -2
- package/esm/model/base-model.d.ts.map +1 -1
- package/esm/model/base-model.js +14 -4
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/model.d.ts +13 -2
- package/esm/model/model.d.ts.map +1 -1
- package/esm/model/model.js +41 -3
- package/esm/model/model.js.map +1 -1
- package/esm/types.d.ts +30 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/deep-diff.d.ts +9 -0
- package/esm/utils/deep-diff.d.ts.map +1 -0
- package/esm/utils/deep-diff.js +42 -0
- package/esm/utils/deep-diff.js.map +1 -0
- package/package.json +2 -1
- package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
- package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
- package/cjs/aggregate/DeselectPipeline.js +0 -17
- package/cjs/aggregate/DeselectPipeline.js.map +0 -1
- package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
- package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
- package/cjs/aggregate/GeoNearPipeline.js +0 -44
- package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
- package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
- package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
- package/cjs/aggregate/GroupByPipeline.js +0 -28
- package/cjs/aggregate/GroupByPipeline.js.map +0 -1
- package/cjs/aggregate/LimitPipeline.d.ts +0 -10
- package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
- package/cjs/aggregate/LimitPipeline.js +0 -14
- package/cjs/aggregate/LimitPipeline.js.map +0 -1
- package/cjs/aggregate/LookupPipeline.d.ts +0 -19
- package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
- package/cjs/aggregate/LookupPipeline.js +0 -19
- package/cjs/aggregate/LookupPipeline.js.map +0 -1
- package/cjs/aggregate/OrWherePipeline.d.ts +0 -23
- package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
- package/cjs/aggregate/OrWherePipeline.js +0 -42
- package/cjs/aggregate/OrWherePipeline.js.map +0 -1
- package/cjs/aggregate/SelectPipeline.d.ts +0 -10
- package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SelectPipeline.js +0 -26
- package/cjs/aggregate/SelectPipeline.js.map +0 -1
- package/cjs/aggregate/SkipPipeline.d.ts +0 -10
- package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SkipPipeline.js +0 -14
- package/cjs/aggregate/SkipPipeline.js.map +0 -1
- package/cjs/aggregate/SortByPipeline.d.ts +0 -10
- package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SortByPipeline.js +0 -18
- package/cjs/aggregate/SortByPipeline.js.map +0 -1
- package/cjs/aggregate/SortPipeline.d.ts +0 -11
- package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SortPipeline.js +0 -18
- package/cjs/aggregate/SortPipeline.js.map +0 -1
- package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
- package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SortRandomPipeline.js +0 -16
- package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
- package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
- package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
- package/cjs/aggregate/UnwindPipeline.js +0 -19
- package/cjs/aggregate/UnwindPipeline.js.map +0 -1
- package/cjs/aggregate/WhereExpression.d.ts +0 -17
- package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
- package/cjs/aggregate/WhereExpression.js +0 -149
- package/cjs/aggregate/WhereExpression.js.map +0 -1
- package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
- package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
- package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
- package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
- package/cjs/aggregate/WherePipeline.d.ts +0 -13
- package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
- package/cjs/aggregate/WherePipeline.js +0 -12
- package/cjs/aggregate/WherePipeline.js.map +0 -1
- package/cjs/aggregate/aggregate.d.ts +0 -358
- package/cjs/aggregate/aggregate.d.ts.map +0 -1
- package/cjs/aggregate/aggregate.js +0 -680
- package/cjs/aggregate/aggregate.js.map +0 -1
- package/cjs/aggregate/expressions.d.ts +0 -361
- package/cjs/aggregate/expressions.d.ts.map +0 -1
- package/cjs/aggregate/expressions.js +0 -536
- package/cjs/aggregate/expressions.js.map +0 -1
- package/cjs/aggregate/index.d.ts +0 -21
- package/cjs/aggregate/index.d.ts.map +0 -1
- package/cjs/aggregate/parsePipelines.d.ts +0 -5
- package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
- package/cjs/aggregate/parsePipelines.js +0 -6
- package/cjs/aggregate/parsePipelines.js.map +0 -1
- package/cjs/aggregate/pipeline.d.ts +0 -31
- package/cjs/aggregate/pipeline.d.ts.map +0 -1
- package/cjs/aggregate/pipeline.js +0 -42
- package/cjs/aggregate/pipeline.js.map +0 -1
- package/cjs/aggregate/types.d.ts +0 -8
- package/cjs/aggregate/types.d.ts.map +0 -1
- package/cjs/aggregate/types.js +0 -31
- package/cjs/aggregate/types.js.map +0 -1
- package/cjs/blueprint/blueprint-column.d.ts +0 -82
- package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
- package/cjs/blueprint/blueprint.d.ts +0 -162
- package/cjs/blueprint/blueprint.d.ts.map +0 -1
- package/cjs/blueprint/blueprint.js +0 -338
- package/cjs/blueprint/blueprint.js.map +0 -1
- package/cjs/blueprint/index.d.ts +0 -3
- package/cjs/blueprint/index.d.ts.map +0 -1
- package/cjs/blueprint/model-blueprint.d.ts +0 -15
- package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
- package/cjs/blueprint/model-blueprint.js +0 -16
- package/cjs/blueprint/model-blueprint.js.map +0 -1
- package/cjs/casts/arrayOf.d.ts +0 -5
- package/cjs/casts/arrayOf.d.ts.map +0 -1
- package/cjs/casts/arrayOf.js +0 -18
- package/cjs/casts/arrayOf.js.map +0 -1
- package/cjs/casts/cast-email.d.ts +0 -2
- package/cjs/casts/cast-email.d.ts.map +0 -1
- package/cjs/casts/cast-email.js +0 -5
- package/cjs/casts/cast-email.js.map +0 -1
- package/cjs/casts/castModel.d.ts +0 -3
- package/cjs/casts/castModel.d.ts.map +0 -1
- package/cjs/casts/castModel.js +0 -49
- package/cjs/casts/castModel.js.map +0 -1
- package/cjs/casts/expiresAfter.d.ts +0 -3
- package/cjs/casts/expiresAfter.d.ts.map +0 -1
- package/cjs/casts/expiresAfter.js +0 -5
- package/cjs/casts/expiresAfter.js.map +0 -1
- package/cjs/casts/index.d.ts +0 -9
- package/cjs/casts/index.d.ts.map +0 -1
- package/cjs/casts/oneOf.d.ts +0 -3
- package/cjs/casts/oneOf.d.ts.map +0 -1
- package/cjs/casts/oneOf.js +0 -22
- package/cjs/casts/oneOf.js.map +0 -1
- package/cjs/casts/random-string.d.ts +0 -2
- package/cjs/casts/random-string.d.ts.map +0 -1
- package/cjs/casts/random-string.js +0 -5
- package/cjs/casts/random-string.js.map +0 -1
- package/cjs/casts/randomInteger.d.ts +0 -2
- package/cjs/casts/randomInteger.d.ts.map +0 -1
- package/cjs/casts/randomInteger.js +0 -7
- package/cjs/casts/randomInteger.js.map +0 -1
- package/cjs/casts/shapedArray.d.ts +0 -26
- package/cjs/casts/shapedArray.d.ts.map +0 -1
- package/cjs/casts/shapedArray.js +0 -100
- package/cjs/casts/shapedArray.js.map +0 -1
- package/cjs/config.d.ts +0 -4
- package/cjs/config.d.ts.map +0 -1
- package/cjs/config.js +0 -10
- package/cjs/config.js.map +0 -1
- package/cjs/connection.d.ts +0 -45
- package/cjs/connection.d.ts.map +0 -1
- package/cjs/connection.js +0 -98
- package/cjs/connection.js.map +0 -1
- package/cjs/console/db-indexes-command.d.ts +0 -3
- package/cjs/console/db-indexes-command.d.ts.map +0 -1
- package/cjs/console/db-indexes-command.js +0 -18
- package/cjs/console/db-indexes-command.js.map +0 -1
- package/cjs/console/index.d.ts +0 -4
- package/cjs/console/index.d.ts.map +0 -1
- package/cjs/console/migrate-command.d.ts +0 -2
- package/cjs/console/migrate-command.d.ts.map +0 -1
- package/cjs/console/migrate-command.js +0 -13
- package/cjs/console/migrate-command.js.map +0 -1
- package/cjs/console/register-blueprint-command.d.ts +0 -2
- package/cjs/console/register-blueprint-command.d.ts.map +0 -1
- package/cjs/console/register-blueprint-command.js +0 -19
- package/cjs/console/register-blueprint-command.js.map +0 -1
- package/cjs/database.d.ts +0 -49
- package/cjs/database.d.ts.map +0 -1
- package/cjs/database.js +0 -85
- package/cjs/database.js.map +0 -1
- package/cjs/migration/index.d.ts +0 -4
- package/cjs/migration/index.d.ts.map +0 -1
- package/cjs/migration/migrate.d.ts +0 -13
- package/cjs/migration/migrate.d.ts.map +0 -1
- package/cjs/migration/migrate.js +0 -76
- package/cjs/migration/migrate.js.map +0 -1
- package/cjs/migration/migration-office.d.ts +0 -21
- package/cjs/migration/migration-office.d.ts.map +0 -1
- package/cjs/migration/migration-office.js +0 -26
- package/cjs/migration/migration-office.js.map +0 -1
- package/cjs/migration/migration-officer.d.ts +0 -33
- package/cjs/migration/migration-officer.d.ts.map +0 -1
- package/cjs/migration/migration-officer.js +0 -55
- package/cjs/migration/migration-officer.js.map +0 -1
- package/cjs/migration/types.d.ts +0 -24
- package/cjs/migration/types.d.ts.map +0 -1
- package/cjs/model/ModelAggregate.d.ts +0 -84
- package/cjs/model/ModelAggregate.d.ts.map +0 -1
- package/cjs/model/ModelAggregate.js +0 -164
- package/cjs/model/ModelAggregate.js.map +0 -1
- package/cjs/model/ModelSync.d.ts +0 -74
- package/cjs/model/ModelSync.d.ts.map +0 -1
- package/cjs/model/ModelSync.js +0 -215
- package/cjs/model/ModelSync.js.map +0 -1
- package/cjs/model/RelationshipWithMany.d.ts +0 -24
- package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
- package/cjs/model/RelationshipWithMany.js +0 -42
- package/cjs/model/RelationshipWithMany.js.map +0 -1
- package/cjs/model/base-model.d.ts +0 -155
- package/cjs/model/base-model.d.ts.map +0 -1
- package/cjs/model/base-model.js +0 -220
- package/cjs/model/base-model.js.map +0 -1
- package/cjs/model/crud-model.d.ts +0 -117
- package/cjs/model/crud-model.d.ts.map +0 -1
- package/cjs/model/crud-model.js +0 -352
- package/cjs/model/crud-model.js.map +0 -1
- package/cjs/model/index.d.ts +0 -10
- package/cjs/model/index.d.ts.map +0 -1
- package/cjs/model/joinable.d.ts +0 -87
- package/cjs/model/joinable.d.ts.map +0 -1
- package/cjs/model/joinable.js +0 -155
- package/cjs/model/joinable.js.map +0 -1
- package/cjs/model/master-mind.d.ts +0 -44
- package/cjs/model/master-mind.d.ts.map +0 -1
- package/cjs/model/master-mind.js +0 -129
- package/cjs/model/master-mind.js.map +0 -1
- package/cjs/model/model-events.d.ts +0 -57
- package/cjs/model/model-events.d.ts.map +0 -1
- package/cjs/model/model-events.js +0 -102
- package/cjs/model/model-events.js.map +0 -1
- package/cjs/model/model.d.ts +0 -390
- package/cjs/model/model.d.ts.map +0 -1
- package/cjs/model/model.js +0 -990
- package/cjs/model/model.js.map +0 -1
- package/cjs/model/relationships.d.ts +0 -69
- package/cjs/model/relationships.d.ts.map +0 -1
- package/cjs/model/relationships.js +0 -144
- package/cjs/model/relationships.js.map +0 -1
- package/cjs/model/types.d.ts +0 -113
- package/cjs/model/types.d.ts.map +0 -1
- package/cjs/model/types.js +0 -11
- package/cjs/model/types.js.map +0 -1
- package/cjs/query/index.d.ts +0 -2
- package/cjs/query/index.d.ts.map +0 -1
- package/cjs/query/query.d.ts +0 -228
- package/cjs/query/query.d.ts.map +0 -1
- package/cjs/query/query.js +0 -675
- package/cjs/query/query.js.map +0 -1
- package/cjs/query/types.d.ts +0 -56
- package/cjs/query/types.d.ts.map +0 -1
- package/cjs/types.d.ts +0 -32
- package/cjs/types.d.ts.map +0 -1
- package/cjs/utils/connectToDatabase.d.ts +0 -3
- package/cjs/utils/connectToDatabase.d.ts.map +0 -1
- package/cjs/utils/connectToDatabase.js +0 -3
- package/cjs/utils/connectToDatabase.js.map +0 -1
- package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
- package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
- package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
- package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
- package/cjs/utils/index.d.ts +0 -5
- package/cjs/utils/index.d.ts.map +0 -1
- package/cjs/utils/joinable-proxy.d.ts +0 -3
- package/cjs/utils/joinable-proxy.d.ts.map +0 -1
- package/cjs/utils/joinable-proxy.js +0 -14
- package/cjs/utils/joinable-proxy.js.map +0 -1
- package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
- package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
- package/cjs/utils/listDatabaseIndexes.js +0 -101
- package/cjs/utils/listDatabaseIndexes.js.map +0 -1
- package/cjs/utils/onceConnected.d.ts +0 -2
- package/cjs/utils/onceConnected.d.ts.map +0 -1
- package/cjs/utils/onceConnected.js +0 -8
- package/cjs/utils/onceConnected.js.map +0 -1
- package/esm/console/db-indexes-command.d.ts +0 -3
- package/esm/console/db-indexes-command.d.ts.map +0 -1
- package/esm/console/db-indexes-command.js +0 -18
- package/esm/console/db-indexes-command.js.map +0 -1
- package/esm/console/index.d.ts +0 -4
- package/esm/console/index.d.ts.map +0 -1
- package/esm/console/migrate-command.d.ts +0 -2
- package/esm/console/migrate-command.d.ts.map +0 -1
- package/esm/console/migrate-command.js +0 -13
- package/esm/console/migrate-command.js.map +0 -1
- package/esm/console/register-blueprint-command.d.ts +0 -2
- package/esm/console/register-blueprint-command.d.ts.map +0 -1
- package/esm/console/register-blueprint-command.js +0 -19
- package/esm/console/register-blueprint-command.js.map +0 -1
- package/esm/model/relationships.d.ts +0 -69
- package/esm/model/relationships.d.ts.map +0 -1
- package/esm/model/relationships.js +0 -144
- package/esm/model/relationships.js.map +0 -1
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import {clone}from'@mongez/reinforcements';import {joinableProxy}from'../utils/joinable-proxy.js';import {ModelAggregate}from'./ModelAggregate.js';import {ModelSync}from'./ModelSync.js';import {RelationshipWithMany}from'./RelationshipWithMany.js';import {CrudModel}from'./crud-model.js';import {Joinable}from'./joinable.js';import {Model}from'./model.js';class RelationshipModel extends CrudModel {
|
|
2
|
-
/**
|
|
3
|
-
* Sync with list
|
|
4
|
-
*/
|
|
5
|
-
syncWith = [];
|
|
6
|
-
/**
|
|
7
|
-
* Get relationship with the given model class
|
|
8
|
-
*/
|
|
9
|
-
hasMany(modelClass, column) {
|
|
10
|
-
return new RelationshipWithMany(this, modelClass, column);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Get new aggregate for current model
|
|
14
|
-
*/
|
|
15
|
-
static aggregate() {
|
|
16
|
-
return new ModelAggregate(this);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Get query builder
|
|
20
|
-
* @alias aggregate
|
|
21
|
-
*/
|
|
22
|
-
static queryBuilder() {
|
|
23
|
-
return new ModelAggregate(this);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Sync with the given model
|
|
27
|
-
*/
|
|
28
|
-
static sync(columns, embedMethod = "embedData") {
|
|
29
|
-
return new ModelSync(this, columns, embedMethod);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Sync data on saving
|
|
33
|
-
*/
|
|
34
|
-
startSyncing(saveMode, oldModel) {
|
|
35
|
-
for (const modelSync of this.syncWith) {
|
|
36
|
-
modelSync.sync(this, saveMode, oldModel);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Sync destruction
|
|
41
|
-
* Called when destroy method is called
|
|
42
|
-
*/
|
|
43
|
-
syncDestruction() {
|
|
44
|
-
for (const modelSync of this.syncWith) {
|
|
45
|
-
modelSync.syncDestruction(this);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* The syncing model (That calls startSyncing) is being embedded in multiple documents of current model
|
|
50
|
-
* I.e Country.syncMany('cities') while current model is City
|
|
51
|
-
*/
|
|
52
|
-
static syncMany(columns, embedMethod = "embedData") {
|
|
53
|
-
return new ModelSync(this, columns, embedMethod).syncMany();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Reassociate a model/object/document with the current model
|
|
57
|
-
* If the model is already associated, it will be updated
|
|
58
|
-
* If not, it will be associated
|
|
59
|
-
* the model/document must have an id
|
|
60
|
-
*
|
|
61
|
-
* If it is a model, you can set the embed method to use
|
|
62
|
-
*/
|
|
63
|
-
reassociate(column, model, embedWith) {
|
|
64
|
-
const columnValue = model instanceof Model
|
|
65
|
-
? embedWith
|
|
66
|
-
? model[embedWith]()
|
|
67
|
-
: model.embeddedData
|
|
68
|
-
: model;
|
|
69
|
-
if (columnValue === undefined)
|
|
70
|
-
return this;
|
|
71
|
-
// make a deep copy so when changing the data, it won't affect the original data
|
|
72
|
-
const documentsList = clone(this.get(column, []));
|
|
73
|
-
const index = documentsList.findIndex((doc) => (doc?.id || doc) === (columnValue?.id || columnValue));
|
|
74
|
-
if (index === -1) {
|
|
75
|
-
documentsList.push(columnValue);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
documentsList[index] = columnValue;
|
|
79
|
-
}
|
|
80
|
-
this.set(column, [...documentsList]);
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Associate a model with the current model
|
|
85
|
-
*/
|
|
86
|
-
associate(column, model, embedWith) {
|
|
87
|
-
const columnValue = model instanceof Model
|
|
88
|
-
? embedWith
|
|
89
|
-
? model[embedWith]()
|
|
90
|
-
: model.embeddedData
|
|
91
|
-
: model;
|
|
92
|
-
if (columnValue === undefined)
|
|
93
|
-
return this;
|
|
94
|
-
const documentsList = this.get(column, []);
|
|
95
|
-
documentsList.push(columnValue);
|
|
96
|
-
this.set(column, documentsList);
|
|
97
|
-
return this;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Disassociate a model with the current model
|
|
101
|
-
*/
|
|
102
|
-
disassociate(column, model) {
|
|
103
|
-
const columnValue = model instanceof Model ? model.embeddedData : model;
|
|
104
|
-
if (columnValue === undefined)
|
|
105
|
-
return this;
|
|
106
|
-
const documentsList = this.get(column, []);
|
|
107
|
-
if (!Array.isArray(documentsList))
|
|
108
|
-
return this;
|
|
109
|
-
const index = documentsList.findIndex((doc) => (doc?.id || doc) === (columnValue?.id || columnValue));
|
|
110
|
-
if (index !== -1) {
|
|
111
|
-
documentsList.splice(index, 1);
|
|
112
|
-
}
|
|
113
|
-
this.set(column, documentsList);
|
|
114
|
-
return this;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Make a wrapper to list when models should be updated when only one of the given columns is updated
|
|
118
|
-
*/
|
|
119
|
-
syncUpdateWhenChange(columns, syncModels) {
|
|
120
|
-
return syncModels.map(syncModel => {
|
|
121
|
-
syncModel.updateWhenChange(columns);
|
|
122
|
-
return syncModel;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get a Joinable instance for current model
|
|
127
|
-
*/
|
|
128
|
-
static joinable(localField, foreignField, single, as) {
|
|
129
|
-
const joinable = new Joinable(this);
|
|
130
|
-
if (localField) {
|
|
131
|
-
joinable.localField(localField);
|
|
132
|
-
}
|
|
133
|
-
if (foreignField) {
|
|
134
|
-
joinable.foreignField(foreignField);
|
|
135
|
-
}
|
|
136
|
-
if (single) {
|
|
137
|
-
joinable.single(single);
|
|
138
|
-
}
|
|
139
|
-
if (as) {
|
|
140
|
-
joinable.as(as);
|
|
141
|
-
}
|
|
142
|
-
return joinableProxy(joinable);
|
|
143
|
-
}
|
|
144
|
-
}export{RelationshipModel};//# sourceMappingURL=relationships.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.js","sources":["../../src/model/relationships.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|