Skip to content

Commit 3ccd51f

Browse files
feat(hooks): Rename all hooks to make each one use an unique attribute (for AI performances), and introduce beforeFetch hooks.
BREAKING CHANGES: Rename all hooks to make each one use an unique attribute (for AI performances), and introduce beforeFetch hooks.
1 parent 47e2915 commit 3ccd51f

File tree

18 files changed

+694
-345
lines changed

18 files changed

+694
-345
lines changed

lib/injectHooks.js

Lines changed: 96 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,112 +2,154 @@
22
exports.__esModule = true;
33
exports.injectHooks = void 0;
44
function injectListHooks(declaration, injectFunctions) {
5-
var _a;
6-
if (!declaration.list) {
7-
declaration.list = {};
8-
}
95
// If the list is resolved by a custom function, we don't need to inject hooks
10-
if ((_a = declaration === null || declaration === void 0 ? void 0 : declaration.list) === null || _a === void 0 ? void 0 : _a.resolve) {
6+
if ('type' in declaration ||
7+
((declaration === null || declaration === void 0 ? void 0 : declaration.list) && 'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration.list))) {
118
return;
129
}
13-
var beforeList = Array.isArray(declaration.list.before)
14-
? declaration.list.before
15-
: declaration.list.before
16-
? [declaration.list.before]
10+
if (!declaration.list) {
11+
declaration.list = {};
12+
}
13+
var beforeList = Array.isArray(declaration.list.beforeList)
14+
? declaration.list.beforeList
15+
: declaration.list.beforeList
16+
? [declaration.list.beforeList]
1717
: [];
18-
declaration.list.before = injectFunctions.listBefore
18+
declaration.list.beforeList = injectFunctions.listBefore
1919
? injectFunctions.listBefore(declaration.model, beforeList)
2020
: beforeList;
21-
var afterList = Array.isArray(declaration.list.after)
22-
? declaration.list.after
23-
: declaration.list.after
24-
? [declaration.list.after]
21+
var afterList = Array.isArray(declaration.list.afterList)
22+
? declaration.list.afterList
23+
: declaration.list.afterList
24+
? [declaration.list.afterList]
2525
: [];
26-
declaration.list.after = injectFunctions.listAfter
26+
declaration.list.afterList = injectFunctions.listAfter
2727
? injectFunctions.listAfter(declaration.model, afterList)
2828
: afterList;
2929
}
3030
function injectUpdateHooks(declaration, injectFunctions) {
31-
var _a, _b;
32-
if (!((_a = declaration.actions) === null || _a === void 0 ? void 0 : _a.includes('update')))
31+
var _a;
32+
if ('actions' in declaration && !((_a = declaration.actions) === null || _a === void 0 ? void 0 : _a.includes('update')))
3333
return;
3434
// If the update is resolved by a custom function, we don't need to inject hooks
35-
if ((_b = declaration === null || declaration === void 0 ? void 0 : declaration.update) === null || _b === void 0 ? void 0 : _b.resolve) {
35+
if ('update' in declaration &&
36+
(declaration === null || declaration === void 0 ? void 0 : declaration.update) &&
37+
'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration.update)) {
38+
return;
39+
}
40+
if ('type' in declaration ||
41+
((declaration === null || declaration === void 0 ? void 0 : declaration.update) && 'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration.update))) {
42+
return;
43+
}
44+
if ('update' in declaration &&
45+
(declaration === null || declaration === void 0 ? void 0 : declaration.update) &&
46+
'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration.update)) {
3647
return;
3748
}
3849
if (!declaration.update) {
3950
declaration.update = {};
4051
}
41-
var beforeUpdate = Array.isArray(declaration.update.before)
42-
? declaration.update.before
43-
: declaration.update.before
44-
? [declaration.update.before]
52+
declaration.update = declaration.update;
53+
var beforeUpdateFetch = Array.isArray(declaration.update.beforeUpdateFetch)
54+
? declaration.update.beforeUpdateFetch
55+
: declaration.update.beforeUpdateFetch
56+
? [declaration.update.beforeUpdateFetch]
57+
: [];
58+
declaration.update.beforeUpdateFetch = injectFunctions.updateBeforeFetch
59+
? injectFunctions.updateBeforeFetch(declaration.model, beforeUpdateFetch)
60+
: beforeUpdateFetch;
61+
var beforeUpdate = Array.isArray(declaration.update.beforeUpdate)
62+
? declaration.update.beforeUpdate
63+
: declaration.update.beforeUpdate
64+
? [declaration.update.beforeUpdate]
4565
: [];
46-
declaration.update.before = injectFunctions.updateBefore
66+
declaration.update.beforeUpdate = injectFunctions.updateBefore
4767
? injectFunctions.updateBefore(declaration.model, beforeUpdate)
4868
: beforeUpdate;
49-
var afterUpdate = Array.isArray(declaration.update.after)
50-
? declaration.update.after
51-
: declaration.update.after
52-
? [declaration.update.after]
69+
var afterUpdate = Array.isArray(declaration.update.afterUpdate)
70+
? declaration.update.afterUpdate
71+
: declaration.update.afterUpdate
72+
? [declaration.update.afterUpdate]
5373
: [];
54-
declaration.update.after = injectFunctions.updateAfter
74+
declaration.update.afterUpdate = injectFunctions.updateAfter
5575
? injectFunctions.updateAfter(declaration.model, afterUpdate)
5676
: afterUpdate;
5777
}
5878
function injectCreateHooks(declaration, injectFunctions) {
59-
var _a, _b;
60-
if (!((_a = declaration.actions) === null || _a === void 0 ? void 0 : _a.includes('create')))
79+
var _a;
80+
if ('actions' in declaration && !((_a = declaration.actions) === null || _a === void 0 ? void 0 : _a.includes('create')))
6181
return;
6282
// If the create is resolved by a custom function, we don't need to inject hooks
63-
if ((_b = declaration === null || declaration === void 0 ? void 0 : declaration.create) === null || _b === void 0 ? void 0 : _b.resolve) {
83+
if ('create' in declaration &&
84+
(declaration === null || declaration === void 0 ? void 0 : declaration.create) &&
85+
'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration.create)) {
86+
return;
87+
}
88+
if ('type' in declaration ||
89+
((declaration === null || declaration === void 0 ? void 0 : declaration.create) && 'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration.create))) {
6490
return;
6591
}
6692
if (!declaration.create) {
6793
declaration.create = {};
6894
}
69-
var beforeCreate = Array.isArray(declaration.create.before)
70-
? declaration.create.before
71-
: declaration.create.before
72-
? [declaration.create.before]
95+
declaration.create = declaration.create;
96+
var beforeCreate = Array.isArray(declaration.create.beforeCreate)
97+
? declaration.create.beforeCreate
98+
: declaration.create.beforeCreate
99+
? [declaration.create.beforeCreate]
73100
: [];
74-
declaration.create.before = injectFunctions.createBefore
101+
declaration.create.beforeCreate = injectFunctions.createBefore
75102
? injectFunctions.createBefore(declaration.model, beforeCreate)
76103
: beforeCreate;
77-
var afterCreate = Array.isArray(declaration.create.after)
78-
? declaration.create.after
79-
: declaration.create.after
80-
? [declaration.create.after]
104+
var afterCreate = Array.isArray(declaration.create.afterCreate)
105+
? declaration.create.afterCreate
106+
: declaration.create.afterCreate
107+
? [declaration.create.afterCreate]
81108
: [];
82-
declaration.create.after = injectFunctions.createAfter
109+
declaration.create.afterCreate = injectFunctions.createAfter
83110
? injectFunctions.createAfter(declaration.model, afterCreate)
84111
: afterCreate;
85112
}
86113
function injectDeleteHooks(declaration, injectFunctions) {
87-
var _a, _b;
88-
if (!((_a = declaration.actions) === null || _a === void 0 ? void 0 : _a.includes('delete')))
114+
var _a;
115+
if ('actions' in declaration && !((_a = declaration.actions) === null || _a === void 0 ? void 0 : _a.includes('delete')))
89116
return;
90117
// If the delete is resolved by a custom function, we don't need to inject hooks
91-
if ((_b = declaration === null || declaration === void 0 ? void 0 : declaration["delete"]) === null || _b === void 0 ? void 0 : _b.resolve) {
118+
if ('delete' in declaration &&
119+
(declaration === null || declaration === void 0 ? void 0 : declaration["delete"]) &&
120+
'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration["delete"])) {
121+
return;
122+
}
123+
if ('type' in declaration ||
124+
((declaration === null || declaration === void 0 ? void 0 : declaration["delete"]) && 'resolve' in (declaration === null || declaration === void 0 ? void 0 : declaration["delete"]))) {
92125
return;
93126
}
94127
if (!declaration["delete"]) {
95128
declaration["delete"] = {};
96129
}
97-
var beforeDelete = Array.isArray(declaration["delete"].before)
98-
? declaration["delete"].before
99-
: declaration["delete"].before
100-
? [declaration["delete"].before]
130+
declaration["delete"] = declaration["delete"];
131+
var beforeDelete = Array.isArray(declaration["delete"].beforeDelete)
132+
? declaration["delete"].beforeDelete
133+
: declaration["delete"].beforeDelete
134+
? [declaration["delete"].beforeDelete]
101135
: [];
102-
declaration["delete"].before = injectFunctions.deleteBefore
136+
declaration["delete"].beforeDelete = injectFunctions.deleteBefore
103137
? injectFunctions.deleteBefore(declaration.model, beforeDelete)
104138
: beforeDelete;
105-
var afterDelete = Array.isArray(declaration["delete"].after)
106-
? declaration["delete"].after
107-
: declaration["delete"].after
108-
? [declaration["delete"].after]
139+
var beforeDeleteFetch = Array.isArray(declaration["delete"].beforeDeleteFetch)
140+
? declaration["delete"].beforeDeleteFetch
141+
: declaration["delete"].beforeDeleteFetch
142+
? [declaration["delete"].beforeDeleteFetch]
143+
: [];
144+
declaration["delete"].beforeDeleteFetch = injectFunctions.deleteBeforeFetch
145+
? injectFunctions.deleteBeforeFetch(declaration.model, beforeDeleteFetch)
146+
: beforeDeleteFetch;
147+
var afterDelete = Array.isArray(declaration["delete"].afterDelete)
148+
? declaration["delete"].afterDelete
149+
: declaration["delete"].afterDelete
150+
? [declaration["delete"].afterDelete]
109151
: [];
110-
declaration["delete"].after = injectFunctions.deleteAfter
152+
declaration["delete"].afterDelete = injectFunctions.deleteAfter
111153
? injectFunctions.deleteAfter(declaration.model, afterDelete)
112154
: afterDelete;
113155
}

lib/mutationResolvers/create.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ function generateMutationCreate(modelName, inputType, outputType, model, graphql
129129
return [7 /*endfinally*/];
130130
case 8:
131131
if (!(graphqlModelDeclaration.create &&
132-
'before' in graphqlModelDeclaration.create &&
133-
graphqlModelDeclaration.create.before)) return [3 /*break*/, 16];
134-
beforeCreate = Array.isArray(graphqlModelDeclaration.create.before)
135-
? graphqlModelDeclaration.create.before
136-
: [graphqlModelDeclaration.create.before];
132+
'beforeCreate' in graphqlModelDeclaration.create &&
133+
graphqlModelDeclaration.create.beforeCreate)) return [3 /*break*/, 16];
134+
beforeCreate = Array.isArray(graphqlModelDeclaration.create.beforeCreate)
135+
? graphqlModelDeclaration.create.beforeCreate
136+
: [graphqlModelDeclaration.create.beforeCreate];
137137
_f.label = 9;
138138
case 9:
139139
_f.trys.push([9, 14, 15, 16]);
@@ -220,11 +220,11 @@ function generateMutationCreate(modelName, inputType, outputType, model, graphql
220220
return [2 /*return*/, undefined];
221221
}
222222
if (!(graphqlModelDeclaration.create &&
223-
'after' in graphqlModelDeclaration.create &&
224-
graphqlModelDeclaration.create.after)) return [3 /*break*/, 33];
225-
afterList = Array.isArray(graphqlModelDeclaration.create.after)
226-
? graphqlModelDeclaration.create.after
227-
: [graphqlModelDeclaration.create.after];
223+
'afterCreate' in graphqlModelDeclaration.create &&
224+
graphqlModelDeclaration.create.afterCreate)) return [3 /*break*/, 33];
225+
afterList = Array.isArray(graphqlModelDeclaration.create.afterCreate)
226+
? graphqlModelDeclaration.create.afterCreate
227+
: [graphqlModelDeclaration.create.afterCreate];
228228
createdEntity = newEntity;
229229
hookData = { data: createdEntity.get({ plain: true }) };
230230
_f.label = 24;

0 commit comments

Comments
 (0)