not-node 6.5.13 → 6.5.14
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/package.json +1 -1
- package/src/form/form.js +24 -18
- package/src/generic/forms/form._data.js +16 -1
package/package.json
CHANGED
package/src/form/form.js
CHANGED
|
@@ -38,7 +38,7 @@ const { ACTION_DATA_TYPES } = require("../const.js");
|
|
|
38
38
|
/**
|
|
39
39
|
* Generic form validation class
|
|
40
40
|
* @class Form
|
|
41
|
-
|
|
41
|
+
**/
|
|
42
42
|
class Form {
|
|
43
43
|
/**
|
|
44
44
|
* @prop {import('not-validation/src/builder').notValidationSchema} validation schema
|
|
@@ -53,8 +53,13 @@ class Form {
|
|
|
53
53
|
* @prop {string} name of form
|
|
54
54
|
**/
|
|
55
55
|
#FORM_NAME;
|
|
56
|
-
|
|
56
|
+
/**
|
|
57
|
+
* @prop {string} name of model
|
|
58
|
+
**/
|
|
57
59
|
#MODEL_NAME;
|
|
60
|
+
/**
|
|
61
|
+
* @prop {string} name of module
|
|
62
|
+
**/
|
|
58
63
|
#MODULE_NAME;
|
|
59
64
|
#PROTO_FIELDS;
|
|
60
65
|
|
|
@@ -74,9 +79,9 @@ class Form {
|
|
|
74
79
|
...DEFAULT_AFTER_EXTRACT_TRANSFORMERS,
|
|
75
80
|
};
|
|
76
81
|
|
|
77
|
-
#INSTRUCTIONS =
|
|
82
|
+
#INSTRUCTIONS = undefined;
|
|
78
83
|
|
|
79
|
-
#rateLimiter =
|
|
84
|
+
#rateLimiter = undefined;
|
|
80
85
|
#rateLimiterIdGetter = (data) => data.identity.sid;
|
|
81
86
|
#rateLimiterException = FormExceptionTooManyRequests;
|
|
82
87
|
#rateLimiterClientName = InitRateLimiter.DEFAULT_CLIENT;
|
|
@@ -84,18 +89,18 @@ class Form {
|
|
|
84
89
|
/**
|
|
85
90
|
*
|
|
86
91
|
* @param {Object} options
|
|
87
|
-
* @param {Array<string|Array<string>>} options.FIELDS
|
|
88
|
-
* @param {string} options.FORM_NAME
|
|
92
|
+
* @param {Array<string|Array<string>>} [options.FIELDS]
|
|
93
|
+
* @param {string} [options.FORM_NAME]
|
|
89
94
|
* @param {string} options.MODEL_NAME
|
|
90
95
|
* @param {string} options.MODULE_NAME
|
|
91
96
|
* @param {string} options.actionName
|
|
92
97
|
* @param {import('../app.js')} options.app
|
|
93
|
-
* @param {Object.<string, Function>} options.EXTRACTORS
|
|
94
|
-
* @param {Object.<string, Function>} options.TRANSFORMERS
|
|
95
|
-
* @param {import('../types.js').notAppFormProcessingPipe
|
|
96
|
-
* @param {Array<Function>} options.AFTER_EXTRACT_TRANSFORMERS
|
|
97
|
-
* @param {Object.<string, import('../types.js').notAppFormEnvExtractor>} options.ENV_EXTRACTORS
|
|
98
|
-
* @param {import('../types.js').notAppFormRateLimiterOptions} options.rate
|
|
98
|
+
* @param {Object.<string, Function>} [options.EXTRACTORS]
|
|
99
|
+
* @param {Object.<string, Function>} [options.TRANSFORMERS]
|
|
100
|
+
* @param {import('../types.js').notAppFormProcessingPipe} [options.INSTRUCTIONS]
|
|
101
|
+
* @param {Array<Function>} [options.AFTER_EXTRACT_TRANSFORMERS]
|
|
102
|
+
* @param {Object.<string, import('../types.js').notAppFormEnvExtractor>} [options.ENV_EXTRACTORS]
|
|
103
|
+
* @param {import('../types.js').notAppFormRateLimiterOptions} [options.rate]
|
|
99
104
|
*/
|
|
100
105
|
constructor({
|
|
101
106
|
FIELDS = [],
|
|
@@ -107,9 +112,9 @@ class Form {
|
|
|
107
112
|
EXTRACTORS = {},
|
|
108
113
|
ENV_EXTRACTORS = {},
|
|
109
114
|
TRANSFORMERS = {},
|
|
110
|
-
INSTRUCTIONS =
|
|
115
|
+
INSTRUCTIONS = undefined,
|
|
111
116
|
AFTER_EXTRACT_TRANSFORMERS = [],
|
|
112
|
-
rate,
|
|
117
|
+
rate = undefined,
|
|
113
118
|
}) {
|
|
114
119
|
this.#FORM_NAME =
|
|
115
120
|
FORM_NAME ?? Form.createName(MODULE_NAME, MODEL_NAME, actionName);
|
|
@@ -119,7 +124,7 @@ class Form {
|
|
|
119
124
|
|
|
120
125
|
this.#createValidationSchema(app);
|
|
121
126
|
this.#augmentValidationSchema();
|
|
122
|
-
this.#addInstructions(INSTRUCTIONS);
|
|
127
|
+
INSTRUCTIONS && this.#addInstructions(INSTRUCTIONS);
|
|
123
128
|
this.#addExtractors(EXTRACTORS);
|
|
124
129
|
this.#addEnvExtractors(ENV_EXTRACTORS);
|
|
125
130
|
this.#addTransformers(TRANSFORMERS);
|
|
@@ -374,9 +379,10 @@ class Form {
|
|
|
374
379
|
}
|
|
375
380
|
}
|
|
376
381
|
|
|
377
|
-
//should be overriden
|
|
378
382
|
/**
|
|
379
383
|
* Returns form specified rules of validation
|
|
384
|
+
* should be overriden
|
|
385
|
+
* @return {Array<function>}
|
|
380
386
|
**/
|
|
381
387
|
getFormValidationRules() {
|
|
382
388
|
return [];
|
|
@@ -488,9 +494,9 @@ class Form {
|
|
|
488
494
|
}
|
|
489
495
|
/**
|
|
490
496
|
* Object with named extractor functions
|
|
491
|
-
* @param {import('../types.js').notAppFormProcessingPipe|
|
|
497
|
+
* @param {import('../types.js').notAppFormProcessingPipe|undefined} [instructions]
|
|
492
498
|
*/
|
|
493
|
-
#addInstructions(instructions =
|
|
499
|
+
#addInstructions(instructions = undefined) {
|
|
494
500
|
if (instructions) {
|
|
495
501
|
this.#INSTRUCTIONS = { ...instructions };
|
|
496
502
|
}
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
const Form = require("../../form/form");
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param {object} param0
|
|
6
|
+
* @param {string} param0.MODULE_NAME
|
|
7
|
+
* @param {string} param0.MODEL_NAME
|
|
8
|
+
* @param {string} param0.actionName
|
|
9
|
+
* @param {Array<function>} param0.validators
|
|
10
|
+
* @param {function} param0.afterExtract
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
3
13
|
module.exports = ({
|
|
4
14
|
MODULE_NAME,
|
|
5
15
|
MODEL_NAME,
|
|
6
16
|
actionName = "_data",
|
|
7
17
|
validators = [],
|
|
8
|
-
afterExtract = async (input
|
|
18
|
+
afterExtract = async (input, req = null) => input || req,
|
|
9
19
|
}) => {
|
|
10
20
|
return class extends Form {
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* @param {object} param0
|
|
24
|
+
* @param {import('../../app')} param0.app
|
|
25
|
+
*/
|
|
11
26
|
constructor({ app }) {
|
|
12
27
|
super({ app, MODULE_NAME, MODEL_NAME, actionName });
|
|
13
28
|
}
|