not-node 6.5.13 → 6.5.15

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "not-node",
3
- "version": "6.5.13",
3
+ "version": "6.5.15",
4
4
  "description": "node complimentary part for client side notFramework.",
5
5
  "main": "index.js",
6
6
  "scripts": {
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 = null;
82
+ #INSTRUCTIONS = undefined;
78
83
 
79
- #rateLimiter = null;
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|null} options.INSTRUCTIONS
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 = null,
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|null} instructions
497
+ * @param {import('../types.js').notAppFormProcessingPipe|undefined} [instructions]
492
498
  */
493
- #addInstructions(instructions = null) {
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 /*, req = null*/) => 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
  }
@@ -17,11 +17,11 @@ module.exports = ({
17
17
  MODULE_NAME,
18
18
  MODEL_NAME,
19
19
  actionName = "create",
20
- dataFieldName = "data",
20
+ dataFieldName = "_data",
21
21
  validators = [],
22
22
  dataValidators = [],
23
- afterExtract = async (input /*, req*/) => input,
24
- afterDataExtract = async (input /*, req*/) => input,
23
+ afterExtract = async (input, req) => input || req,
24
+ afterDataExtract = async (input, req) => input || req,
25
25
  }) => {
26
26
  const defaultDataFieldPath = Form.createPath(
27
27
  MODULE_NAME,
@@ -20,8 +20,8 @@ function genericUpdateForm({
20
20
  dataFieldName = "_data",
21
21
  validators = [],
22
22
  dataValidators = [],
23
- afterExtract = async (input /*, req*/) => input,
24
- afterDataExtract = async (input /*, req*/) => input,
23
+ afterExtract = async (input, req) => input || req,
24
+ afterDataExtract = async (input, req) => input || req,
25
25
  }) {
26
26
  const defaultDataFieldPath = Form.createPath(
27
27
  MODULE_NAME,