@flowerforce/flower-core 4.0.1-beta.0 → 4.0.1-beta.1

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/index.cjs.js CHANGED
@@ -32,7 +32,7 @@ const devtoolState = {};
32
32
  const FlowerStateUtils = {
33
33
  getAllData: (state) => state &&
34
34
  Object.entries(state ?? {}).reduce((acc, [k, v]) => ({ ...acc, [k]: v?.data ?? v }), {}),
35
- selectFlowerFormNode: (name) => (state) => _get(state, name),
35
+ selectFlowerDataNode: (name) => (state) => _get(state, name),
36
36
  makeSelectCurrentNextRules: (name) => (state) => {
37
37
  const nextRules = _get(state, [name, 'nextRules']);
38
38
  const currentNodeId = FlowerStateUtils.makeSelectCurrentNodeId(name)(state);
@@ -44,20 +44,20 @@ const FlowerStateUtils = {
44
44
  return _get(subState, ['current']) || startId;
45
45
  },
46
46
  makeSelectNodeErrors: (name) => (state) => {
47
- const form = FlowerStateUtils.selectFlowerFormNode(name)(state);
48
- return createFormData(form);
47
+ const data = FlowerStateUtils.selectFlowerDataNode(name)(state);
48
+ return generateData(data);
49
49
  }
50
50
  };
51
- const createFormData = (form) => {
52
- const validationErrors = form && form.errors;
51
+ const generateData = (data) => {
52
+ const validationErrors = data && data.errors;
53
53
  const allErrors = Object.values(validationErrors || {});
54
54
  return {
55
- isSubmitted: form?.isSubmitted || false,
56
- isDirty: Object.values(form?.dirty || {}).some(Boolean) || false,
57
- hasFocus: form?.hasFocus,
58
- errors: form?.errors,
59
- customErrors: form?.customErrors,
60
- isValidating: form?.isValidating,
55
+ isSubmitted: data?.isSubmitted || false,
56
+ isDirty: Object.values(data?.dirty || {}).some(Boolean) || false,
57
+ hasFocus: data?.hasFocus,
58
+ errors: data?.errors,
59
+ customErrors: data?.customErrors,
60
+ isValidating: data?.isValidating,
61
61
  isValid: allErrors.flat().length === 0
62
62
  };
63
63
  };
@@ -267,19 +267,19 @@ const operators = {
267
267
  .some((c) => c instanceof RegExp ? c.test(a) : new RegExp(c, opt).test(a))
268
268
  };
269
269
 
270
- const rulesMatcher = (rules, formValue = {}, apply = true, options) => {
270
+ const rulesMatcher = (rules, dataValue = {}, apply = true, options) => {
271
271
  if (!rules)
272
272
  return [apply];
273
273
  // if (typeof rules !== 'object' && !Array.isArray(rules)) {
274
274
  // throw new Error('Rules accept only array or object');
275
275
  // }
276
276
  if (typeof rules === 'function') {
277
- return [rules(formValue) === apply];
277
+ return [rules(dataValue) === apply];
278
278
  }
279
279
  const conditions = Array.isArray(rules)
280
280
  ? { $and: rules }
281
281
  : rules;
282
- const valid = rulesMatcherUtils.checkRule(conditions, formValue, options ?? {});
282
+ const valid = rulesMatcherUtils.checkRule(conditions, dataValue, options ?? {});
283
283
  return [valid === apply];
284
284
  };
285
285
 
@@ -406,7 +406,7 @@ const FlowUtils = {
406
406
  })
407
407
  };
408
408
 
409
- const FormUtils = {
409
+ const DataUtils = {
410
410
  cleanPath: (name, char = '^') => _trimStart(name, char),
411
411
  getPath: (idValue) => {
412
412
  if (!idValue) {
@@ -420,9 +420,9 @@ const FormUtils = {
420
420
  };
421
421
  }
422
422
  if (idValue.indexOf('^') === 0) {
423
- const [formName, ...rest] = FormUtils.cleanPath(idValue).split('.');
423
+ const [rootName, ...rest] = DataUtils.cleanPath(idValue).split('.');
424
424
  return {
425
- formName,
425
+ rootName,
426
426
  path: rest
427
427
  };
428
428
  }
@@ -437,7 +437,7 @@ const FormUtils = {
437
437
  */
438
438
  const CoreUtils = {
439
439
  ...FlowUtils,
440
- ...FormUtils
440
+ ...DataUtils
441
441
  };
442
442
 
443
443
  const { generateNodes, hasNode, makeObjectRules, generateRulesName, findValidRule } = CoreUtils;
@@ -674,75 +674,65 @@ const FlowerCoreBaseReducers = {
674
674
  };
675
675
 
676
676
  const { getPath } = CoreUtils;
677
- /**
678
- * formName => FlowerForm
679
- * initialData => FlowerForm
680
- * fieldName => FlowerField
681
- * fieldValue => FlowerField
682
- * errors => FlowerField
683
- * customErrors => FlowerField
684
- * fieldTouched => FlowerField
685
- * fieldDirty => FlowerField
686
- * fieldHasFocus => FlowerField
687
- */
688
677
  const FlowerCoreDataReducers = {
689
- setFormTouched: (state, { payload }) => {
690
- if (!_get(state, typeof payload === 'string' ? payload : payload.formName)) {
678
+ setFormSubmitted: (state, { payload }) => {
679
+ const rootPath = typeof payload === 'string' ? payload : payload.rootName;
680
+ if (!_get(state, [rootPath])) {
691
681
  return state;
692
682
  }
693
- _set(state, typeof payload === 'string' ? payload : payload.formName, true);
683
+ _set(state, [rootPath, 'isSubmitted'], true);
694
684
  return state;
695
685
  },
696
- formAddCustomErrors: (state, { payload }) => {
697
- _set(state, [payload.formName, 'customErrors', payload.id], payload.errors);
686
+ addCustomDataErrors: (state, { payload }) => {
687
+ _set(state, [payload.rootName, 'customErrors', payload.id], payload.errors);
698
688
  },
699
- formAddErrors: (state, { payload }) => {
700
- _set(state, [payload.formName, 'errors', payload.id], payload.errors);
689
+ addDataErrors: (state, { payload }) => {
690
+ _set(state, [payload.rootName, 'errors', payload.id], payload.errors);
701
691
  },
702
- formRemoveErrors: (state, { payload }) => {
703
- _unset(state, [payload.formName, 'errors', payload.id]);
704
- _unset(state, [payload.formName, 'customErrors', payload.id]);
705
- _unset(state, [payload.formName, 'isValidating']);
692
+ removeDataErrors: (state, { payload }) => {
693
+ _unset(state, [payload.rootName, 'errors', payload.id]);
694
+ _unset(state, [payload.rootName, 'customErrors', payload.id]);
695
+ _unset(state, [payload.rootName, 'isValidating']);
706
696
  },
707
- formFieldTouch: (state, { payload }) => {
708
- _set(state, [payload.formName, 'touches', payload.id], payload.touched);
697
+ fieldTouch: (state, { payload }) => {
698
+ _set(state, [payload.rootName, 'touches', payload.id], payload.touched);
709
699
  },
710
- formFieldDirty: (state, { payload }) => {
711
- _set(state, [payload.formName, 'dirty', payload.id], payload.dirty);
700
+ fieldDirty: (state, { payload }) => {
701
+ _set(state, [payload.rootName, 'dirty', payload.id], payload.dirty);
712
702
  },
713
- formFieldFocus: (state, { payload }) => {
703
+ fieldFocus: (state, { payload }) => {
714
704
  if (!payload.focused) {
715
- _unset(state, [payload.formName, 'hasFocus']);
705
+ _unset(state, [payload.rootName, 'hasFocus']);
716
706
  return;
717
707
  }
718
- _set(state, [payload.formName, 'hasFocus'], payload.id);
708
+ _set(state, [payload.rootName, 'hasFocus'], payload.id);
719
709
  },
720
710
  addData: (state, { payload }) => {
721
- const prevData = _get(state, [payload.formName, 'data'], {});
722
- _set(state, [payload.formName, 'data'], { ...prevData, ...payload.value });
711
+ const prevData = _get(state, [payload.rootName, 'data'], {});
712
+ _set(state, [payload.rootName, 'data'], { ...prevData, ...payload.value });
723
713
  },
724
714
  addDataByPath: (state, { payload }) => {
725
715
  const { path: newpath } = getPath(payload.id);
726
716
  if (payload.id && payload.id.length) {
727
- _set(state, [payload.formName, 'data', ...newpath], payload.value);
717
+ _set(state, [payload.rootName, 'data', ...newpath], payload.value);
728
718
  if (payload && payload.dirty) {
729
- _set(state, [payload.formName, 'dirty', payload.id], payload.dirty);
719
+ _set(state, [payload.rootName, 'dirty', payload.id], payload.dirty);
730
720
  }
731
721
  }
732
722
  },
733
723
  // TODO usato al momento solo il devtool
734
724
  replaceData: /* istanbul ignore next */ (state, { payload }) => {
735
725
  /* istanbul ignore next */
736
- _set(state, [payload.formName, 'data'], payload.value);
726
+ _set(state, [payload.rootName, 'data'], payload.value);
737
727
  },
738
728
  unsetData: (state, { payload }) => {
739
- _unset(state, [payload.formName, 'data', ...payload.id]);
729
+ _unset(state, [payload.rootName, 'data', ...payload.id]);
740
730
  },
741
- setFormIsValidating: (state, { payload }) => {
742
- _set(state, [payload.formName, 'isValidating'], payload.isValidating);
731
+ setIsDataValidating: (state, { payload }) => {
732
+ _set(state, [payload.rootName, 'isValidating'], payload.isValidating);
743
733
  },
744
- resetForm: (state, { payload: { formName, initialData } }) => {
745
- const touchedFields = _get(state, [formName, 'errors'], {});
734
+ resetData: (state, { payload: { rootName, initialData } }) => {
735
+ const touchedFields = _get(state, [rootName, 'errors'], {});
746
736
  const newStateData = initialData
747
737
  ? Object.keys(touchedFields).reduce((acc, key) => {
748
738
  const { path } = getPath(key);
@@ -751,13 +741,13 @@ const FlowerCoreDataReducers = {
751
741
  return acc;
752
742
  }, {})
753
743
  : {};
754
- _set(state, [formName, 'data'], newStateData);
755
- _unset(state, [formName, 'touches']);
756
- _unset(state, [formName, 'dirty']);
757
- _unset(state, [formName, 'isSubmitted']);
744
+ _set(state, [rootName, 'data'], newStateData);
745
+ _unset(state, [rootName, 'touches']);
746
+ _unset(state, [rootName, 'dirty']);
747
+ _unset(state, [rootName, 'isSubmitted']);
758
748
  },
759
- initForm: (state, { payload: { formName, initialData } }) => {
760
- _set(state, [formName, 'data'], initialData);
749
+ initData: (state, { payload: { rootName, initialData } }) => {
750
+ _set(state, [rootName, 'data'], initialData);
761
751
  }
762
752
  };
763
753
 
@@ -766,8 +756,6 @@ const FlowerCoreReducers = { ...FlowerCoreBaseReducers, ...FlowerCoreDataReducer
766
756
  const FlowerCoreStateBaseSelectors = {
767
757
  selectGlobal: (state) => state && state[exports.REDUCER_NAME.FLOWER_FLOW],
768
758
  selectFlower: (name) => (state) => _get(state, [name]),
769
- // selectFlowerFormNode: (id) => (state) =>
770
- // _get(state, [REDUCER_NAME.FLOWER_DATA, id]),
771
759
  selectFlowerHistory: (flower) => _get(flower, ['history'], []),
772
760
  makeSelectNodesIds: (flower) => _get(flower, ['nodes']),
773
761
  makeSelectStartNodeId: (flower) => _get(flower, ['startId']),
@@ -796,24 +784,24 @@ const FlowerCoreStateBaseSelectors = {
796
784
 
797
785
  const FlowerCoreStateDataSelectors = {
798
786
  selectGlobalReducerByName: (name) => (state) => state[name] ?? state[exports.REDUCER_NAME.FLOWER_DATA][name],
799
- selectGlobalForm: (state) => {
787
+ selectGlobalData: (state) => {
800
788
  return state && state[exports.REDUCER_NAME.FLOWER_DATA];
801
789
  },
802
790
  // getDataByFlow: (flower) => _get(flower, 'data') ?? {},
803
791
  getDataFromState: (id) => (data) => (id === '*' ? data : _get(data, id)),
804
- makeSelectNodeFormSubmitted: (form) => form && form.isSubmitted,
805
- makeSelectNodeFormFieldTouched: (id) => (form) => form && form.touches && form.touches[id],
806
- makeSelectNodeFormFieldFocused: (id) => (form) => {
807
- return form && form.hasFocus === id ? id : undefined;
808
- },
809
- makeSelectNodeFormFieldDirty: (id) => (form) => form && form.dirty && form.dirty[id],
810
- makeSelectNodeErrors: createFormData,
811
- makeSelectFieldError: (name, id, validate) => (data, form) => {
812
- const customErrors = Object.entries((form && form.customErrors) || {})
792
+ makeSelectNodeDataSubmitted: (data) => data && data.isSubmitted,
793
+ makeSelectNodeDataFieldTouched: (id) => (data) => data && data.touches && data.touches[id],
794
+ makeSelectNodeDataFieldFocused: (id) => (data) => {
795
+ return data && data.hasFocus === id ? id : undefined;
796
+ },
797
+ makeSelectNodeDataFieldDirty: (id) => (data) => data && data.dirty && data.dirty[id],
798
+ makeSelectNodeErrors: generateData,
799
+ makeSelectFieldError: (name, id, validate) => (globalData, data) => {
800
+ const customErrors = Object.entries((data && data.customErrors) || {})
813
801
  .filter(([k]) => k === id)
814
802
  .map(([, v]) => v)
815
803
  .flat();
816
- if (!validate || !data)
804
+ if (!validate || !globalData)
817
805
  return [];
818
806
  const errors = validate.filter((rule) => {
819
807
  if (!rule)
@@ -821,7 +809,7 @@ const FlowerCoreStateDataSelectors = {
821
809
  if (!rule.rules)
822
810
  return true;
823
811
  const transformSelf = CoreUtils.mapKeysDeepLodash(rule.rules, (v, key) => key === '$self' ? id : key);
824
- const [hasError] = rulesMatcher(transformSelf, data, false, {
812
+ const [hasError] = rulesMatcher(transformSelf, globalData, false, {
825
813
  prefix: name
826
814
  });
827
815
  return hasError;
@@ -829,8 +817,8 @@ const FlowerCoreStateDataSelectors = {
829
817
  const result = errors.map((r) => (r && r.message) || 'error');
830
818
  return [...customErrors, ...(result.length === 0 ? [] : result)];
831
819
  },
832
- selectorRulesDisabled: (id, rules, keys, flowName, value) => (data, form) => {
833
- const newState = { ...data, ...value, $form: form };
820
+ selectorRulesDisabled: (id, rules, keys, flowName, value) => (globalData, data) => {
821
+ const newState = { ...globalData, ...value, $data: data, $form: data };
834
822
  const state = Object.assign(newState, id ? { $self: _get(newState, [flowName, ...id.split('.')]) } : {});
835
823
  if (!rules)
836
824
  return false;
@@ -856,6 +844,7 @@ const FlowerCoreStateSelectors = {
856
844
  };
857
845
 
858
846
  exports.CoreUtils = CoreUtils;
847
+ exports.DataUtils = DataUtils;
859
848
  exports.Emitter = Emitter;
860
849
  exports.FlowUtils = FlowUtils;
861
850
  exports.FlowerCoreBaseReducers = FlowerCoreBaseReducers;
@@ -865,9 +854,8 @@ exports.FlowerCoreStateBaseSelectors = FlowerCoreStateBaseSelectors;
865
854
  exports.FlowerCoreStateDataSelectors = FlowerCoreStateDataSelectors;
866
855
  exports.FlowerCoreStateSelectors = FlowerCoreStateSelectors;
867
856
  exports.FlowerStateUtils = FlowerStateUtils;
868
- exports.FormUtils = FormUtils;
869
- exports.createFormData = createFormData;
870
857
  exports.devtoolState = devtoolState;
871
858
  exports.flattenRules = flattenRules;
859
+ exports.generateData = generateData;
872
860
  exports.rulesMatcher = rulesMatcher;
873
861
  exports.rulesMatcherUtils = rulesMatcherUtils;
package/dist/index.esm.js CHANGED
@@ -30,7 +30,7 @@ const devtoolState = {};
30
30
  const FlowerStateUtils = {
31
31
  getAllData: (state) => state &&
32
32
  Object.entries(state ?? {}).reduce((acc, [k, v]) => ({ ...acc, [k]: v?.data ?? v }), {}),
33
- selectFlowerFormNode: (name) => (state) => _get(state, name),
33
+ selectFlowerDataNode: (name) => (state) => _get(state, name),
34
34
  makeSelectCurrentNextRules: (name) => (state) => {
35
35
  const nextRules = _get(state, [name, 'nextRules']);
36
36
  const currentNodeId = FlowerStateUtils.makeSelectCurrentNodeId(name)(state);
@@ -42,20 +42,20 @@ const FlowerStateUtils = {
42
42
  return _get(subState, ['current']) || startId;
43
43
  },
44
44
  makeSelectNodeErrors: (name) => (state) => {
45
- const form = FlowerStateUtils.selectFlowerFormNode(name)(state);
46
- return createFormData(form);
45
+ const data = FlowerStateUtils.selectFlowerDataNode(name)(state);
46
+ return generateData(data);
47
47
  }
48
48
  };
49
- const createFormData = (form) => {
50
- const validationErrors = form && form.errors;
49
+ const generateData = (data) => {
50
+ const validationErrors = data && data.errors;
51
51
  const allErrors = Object.values(validationErrors || {});
52
52
  return {
53
- isSubmitted: form?.isSubmitted || false,
54
- isDirty: Object.values(form?.dirty || {}).some(Boolean) || false,
55
- hasFocus: form?.hasFocus,
56
- errors: form?.errors,
57
- customErrors: form?.customErrors,
58
- isValidating: form?.isValidating,
53
+ isSubmitted: data?.isSubmitted || false,
54
+ isDirty: Object.values(data?.dirty || {}).some(Boolean) || false,
55
+ hasFocus: data?.hasFocus,
56
+ errors: data?.errors,
57
+ customErrors: data?.customErrors,
58
+ isValidating: data?.isValidating,
59
59
  isValid: allErrors.flat().length === 0
60
60
  };
61
61
  };
@@ -265,19 +265,19 @@ const operators = {
265
265
  .some((c) => c instanceof RegExp ? c.test(a) : new RegExp(c, opt).test(a))
266
266
  };
267
267
 
268
- const rulesMatcher = (rules, formValue = {}, apply = true, options) => {
268
+ const rulesMatcher = (rules, dataValue = {}, apply = true, options) => {
269
269
  if (!rules)
270
270
  return [apply];
271
271
  // if (typeof rules !== 'object' && !Array.isArray(rules)) {
272
272
  // throw new Error('Rules accept only array or object');
273
273
  // }
274
274
  if (typeof rules === 'function') {
275
- return [rules(formValue) === apply];
275
+ return [rules(dataValue) === apply];
276
276
  }
277
277
  const conditions = Array.isArray(rules)
278
278
  ? { $and: rules }
279
279
  : rules;
280
- const valid = rulesMatcherUtils.checkRule(conditions, formValue, options ?? {});
280
+ const valid = rulesMatcherUtils.checkRule(conditions, dataValue, options ?? {});
281
281
  return [valid === apply];
282
282
  };
283
283
 
@@ -404,7 +404,7 @@ const FlowUtils = {
404
404
  })
405
405
  };
406
406
 
407
- const FormUtils = {
407
+ const DataUtils = {
408
408
  cleanPath: (name, char = '^') => _trimStart(name, char),
409
409
  getPath: (idValue) => {
410
410
  if (!idValue) {
@@ -418,9 +418,9 @@ const FormUtils = {
418
418
  };
419
419
  }
420
420
  if (idValue.indexOf('^') === 0) {
421
- const [formName, ...rest] = FormUtils.cleanPath(idValue).split('.');
421
+ const [rootName, ...rest] = DataUtils.cleanPath(idValue).split('.');
422
422
  return {
423
- formName,
423
+ rootName,
424
424
  path: rest
425
425
  };
426
426
  }
@@ -435,7 +435,7 @@ const FormUtils = {
435
435
  */
436
436
  const CoreUtils = {
437
437
  ...FlowUtils,
438
- ...FormUtils
438
+ ...DataUtils
439
439
  };
440
440
 
441
441
  const { generateNodes, hasNode, makeObjectRules, generateRulesName, findValidRule } = CoreUtils;
@@ -672,75 +672,65 @@ const FlowerCoreBaseReducers = {
672
672
  };
673
673
 
674
674
  const { getPath } = CoreUtils;
675
- /**
676
- * formName => FlowerForm
677
- * initialData => FlowerForm
678
- * fieldName => FlowerField
679
- * fieldValue => FlowerField
680
- * errors => FlowerField
681
- * customErrors => FlowerField
682
- * fieldTouched => FlowerField
683
- * fieldDirty => FlowerField
684
- * fieldHasFocus => FlowerField
685
- */
686
675
  const FlowerCoreDataReducers = {
687
- setFormTouched: (state, { payload }) => {
688
- if (!_get(state, typeof payload === 'string' ? payload : payload.formName)) {
676
+ setFormSubmitted: (state, { payload }) => {
677
+ const rootPath = typeof payload === 'string' ? payload : payload.rootName;
678
+ if (!_get(state, [rootPath])) {
689
679
  return state;
690
680
  }
691
- _set(state, typeof payload === 'string' ? payload : payload.formName, true);
681
+ _set(state, [rootPath, 'isSubmitted'], true);
692
682
  return state;
693
683
  },
694
- formAddCustomErrors: (state, { payload }) => {
695
- _set(state, [payload.formName, 'customErrors', payload.id], payload.errors);
684
+ addCustomDataErrors: (state, { payload }) => {
685
+ _set(state, [payload.rootName, 'customErrors', payload.id], payload.errors);
696
686
  },
697
- formAddErrors: (state, { payload }) => {
698
- _set(state, [payload.formName, 'errors', payload.id], payload.errors);
687
+ addDataErrors: (state, { payload }) => {
688
+ _set(state, [payload.rootName, 'errors', payload.id], payload.errors);
699
689
  },
700
- formRemoveErrors: (state, { payload }) => {
701
- _unset(state, [payload.formName, 'errors', payload.id]);
702
- _unset(state, [payload.formName, 'customErrors', payload.id]);
703
- _unset(state, [payload.formName, 'isValidating']);
690
+ removeDataErrors: (state, { payload }) => {
691
+ _unset(state, [payload.rootName, 'errors', payload.id]);
692
+ _unset(state, [payload.rootName, 'customErrors', payload.id]);
693
+ _unset(state, [payload.rootName, 'isValidating']);
704
694
  },
705
- formFieldTouch: (state, { payload }) => {
706
- _set(state, [payload.formName, 'touches', payload.id], payload.touched);
695
+ fieldTouch: (state, { payload }) => {
696
+ _set(state, [payload.rootName, 'touches', payload.id], payload.touched);
707
697
  },
708
- formFieldDirty: (state, { payload }) => {
709
- _set(state, [payload.formName, 'dirty', payload.id], payload.dirty);
698
+ fieldDirty: (state, { payload }) => {
699
+ _set(state, [payload.rootName, 'dirty', payload.id], payload.dirty);
710
700
  },
711
- formFieldFocus: (state, { payload }) => {
701
+ fieldFocus: (state, { payload }) => {
712
702
  if (!payload.focused) {
713
- _unset(state, [payload.formName, 'hasFocus']);
703
+ _unset(state, [payload.rootName, 'hasFocus']);
714
704
  return;
715
705
  }
716
- _set(state, [payload.formName, 'hasFocus'], payload.id);
706
+ _set(state, [payload.rootName, 'hasFocus'], payload.id);
717
707
  },
718
708
  addData: (state, { payload }) => {
719
- const prevData = _get(state, [payload.formName, 'data'], {});
720
- _set(state, [payload.formName, 'data'], { ...prevData, ...payload.value });
709
+ const prevData = _get(state, [payload.rootName, 'data'], {});
710
+ _set(state, [payload.rootName, 'data'], { ...prevData, ...payload.value });
721
711
  },
722
712
  addDataByPath: (state, { payload }) => {
723
713
  const { path: newpath } = getPath(payload.id);
724
714
  if (payload.id && payload.id.length) {
725
- _set(state, [payload.formName, 'data', ...newpath], payload.value);
715
+ _set(state, [payload.rootName, 'data', ...newpath], payload.value);
726
716
  if (payload && payload.dirty) {
727
- _set(state, [payload.formName, 'dirty', payload.id], payload.dirty);
717
+ _set(state, [payload.rootName, 'dirty', payload.id], payload.dirty);
728
718
  }
729
719
  }
730
720
  },
731
721
  // TODO usato al momento solo il devtool
732
722
  replaceData: /* istanbul ignore next */ (state, { payload }) => {
733
723
  /* istanbul ignore next */
734
- _set(state, [payload.formName, 'data'], payload.value);
724
+ _set(state, [payload.rootName, 'data'], payload.value);
735
725
  },
736
726
  unsetData: (state, { payload }) => {
737
- _unset(state, [payload.formName, 'data', ...payload.id]);
727
+ _unset(state, [payload.rootName, 'data', ...payload.id]);
738
728
  },
739
- setFormIsValidating: (state, { payload }) => {
740
- _set(state, [payload.formName, 'isValidating'], payload.isValidating);
729
+ setIsDataValidating: (state, { payload }) => {
730
+ _set(state, [payload.rootName, 'isValidating'], payload.isValidating);
741
731
  },
742
- resetForm: (state, { payload: { formName, initialData } }) => {
743
- const touchedFields = _get(state, [formName, 'errors'], {});
732
+ resetData: (state, { payload: { rootName, initialData } }) => {
733
+ const touchedFields = _get(state, [rootName, 'errors'], {});
744
734
  const newStateData = initialData
745
735
  ? Object.keys(touchedFields).reduce((acc, key) => {
746
736
  const { path } = getPath(key);
@@ -749,13 +739,13 @@ const FlowerCoreDataReducers = {
749
739
  return acc;
750
740
  }, {})
751
741
  : {};
752
- _set(state, [formName, 'data'], newStateData);
753
- _unset(state, [formName, 'touches']);
754
- _unset(state, [formName, 'dirty']);
755
- _unset(state, [formName, 'isSubmitted']);
742
+ _set(state, [rootName, 'data'], newStateData);
743
+ _unset(state, [rootName, 'touches']);
744
+ _unset(state, [rootName, 'dirty']);
745
+ _unset(state, [rootName, 'isSubmitted']);
756
746
  },
757
- initForm: (state, { payload: { formName, initialData } }) => {
758
- _set(state, [formName, 'data'], initialData);
747
+ initData: (state, { payload: { rootName, initialData } }) => {
748
+ _set(state, [rootName, 'data'], initialData);
759
749
  }
760
750
  };
761
751
 
@@ -764,8 +754,6 @@ const FlowerCoreReducers = { ...FlowerCoreBaseReducers, ...FlowerCoreDataReducer
764
754
  const FlowerCoreStateBaseSelectors = {
765
755
  selectGlobal: (state) => state && state[REDUCER_NAME.FLOWER_FLOW],
766
756
  selectFlower: (name) => (state) => _get(state, [name]),
767
- // selectFlowerFormNode: (id) => (state) =>
768
- // _get(state, [REDUCER_NAME.FLOWER_DATA, id]),
769
757
  selectFlowerHistory: (flower) => _get(flower, ['history'], []),
770
758
  makeSelectNodesIds: (flower) => _get(flower, ['nodes']),
771
759
  makeSelectStartNodeId: (flower) => _get(flower, ['startId']),
@@ -794,24 +782,24 @@ const FlowerCoreStateBaseSelectors = {
794
782
 
795
783
  const FlowerCoreStateDataSelectors = {
796
784
  selectGlobalReducerByName: (name) => (state) => state[name] ?? state[REDUCER_NAME.FLOWER_DATA][name],
797
- selectGlobalForm: (state) => {
785
+ selectGlobalData: (state) => {
798
786
  return state && state[REDUCER_NAME.FLOWER_DATA];
799
787
  },
800
788
  // getDataByFlow: (flower) => _get(flower, 'data') ?? {},
801
789
  getDataFromState: (id) => (data) => (id === '*' ? data : _get(data, id)),
802
- makeSelectNodeFormSubmitted: (form) => form && form.isSubmitted,
803
- makeSelectNodeFormFieldTouched: (id) => (form) => form && form.touches && form.touches[id],
804
- makeSelectNodeFormFieldFocused: (id) => (form) => {
805
- return form && form.hasFocus === id ? id : undefined;
806
- },
807
- makeSelectNodeFormFieldDirty: (id) => (form) => form && form.dirty && form.dirty[id],
808
- makeSelectNodeErrors: createFormData,
809
- makeSelectFieldError: (name, id, validate) => (data, form) => {
810
- const customErrors = Object.entries((form && form.customErrors) || {})
790
+ makeSelectNodeDataSubmitted: (data) => data && data.isSubmitted,
791
+ makeSelectNodeDataFieldTouched: (id) => (data) => data && data.touches && data.touches[id],
792
+ makeSelectNodeDataFieldFocused: (id) => (data) => {
793
+ return data && data.hasFocus === id ? id : undefined;
794
+ },
795
+ makeSelectNodeDataFieldDirty: (id) => (data) => data && data.dirty && data.dirty[id],
796
+ makeSelectNodeErrors: generateData,
797
+ makeSelectFieldError: (name, id, validate) => (globalData, data) => {
798
+ const customErrors = Object.entries((data && data.customErrors) || {})
811
799
  .filter(([k]) => k === id)
812
800
  .map(([, v]) => v)
813
801
  .flat();
814
- if (!validate || !data)
802
+ if (!validate || !globalData)
815
803
  return [];
816
804
  const errors = validate.filter((rule) => {
817
805
  if (!rule)
@@ -819,7 +807,7 @@ const FlowerCoreStateDataSelectors = {
819
807
  if (!rule.rules)
820
808
  return true;
821
809
  const transformSelf = CoreUtils.mapKeysDeepLodash(rule.rules, (v, key) => key === '$self' ? id : key);
822
- const [hasError] = rulesMatcher(transformSelf, data, false, {
810
+ const [hasError] = rulesMatcher(transformSelf, globalData, false, {
823
811
  prefix: name
824
812
  });
825
813
  return hasError;
@@ -827,8 +815,8 @@ const FlowerCoreStateDataSelectors = {
827
815
  const result = errors.map((r) => (r && r.message) || 'error');
828
816
  return [...customErrors, ...(result.length === 0 ? [] : result)];
829
817
  },
830
- selectorRulesDisabled: (id, rules, keys, flowName, value) => (data, form) => {
831
- const newState = { ...data, ...value, $form: form };
818
+ selectorRulesDisabled: (id, rules, keys, flowName, value) => (globalData, data) => {
819
+ const newState = { ...globalData, ...value, $data: data, $form: data };
832
820
  const state = Object.assign(newState, id ? { $self: _get(newState, [flowName, ...id.split('.')]) } : {});
833
821
  if (!rules)
834
822
  return false;
@@ -853,4 +841,4 @@ const FlowerCoreStateSelectors = {
853
841
  ...FlowerCoreStateDataSelectors
854
842
  };
855
843
 
856
- export { CoreUtils, Emitter, FlowUtils, FlowerCoreBaseReducers, FlowerCoreDataReducers, FlowerCoreReducers, FlowerCoreStateBaseSelectors, FlowerCoreStateDataSelectors, FlowerCoreStateSelectors, FlowerStateUtils, FormUtils, REDUCER_NAME, createFormData, devtoolState, flattenRules, rulesMatcher, rulesMatcherUtils };
844
+ export { CoreUtils, DataUtils, Emitter, FlowUtils, FlowerCoreBaseReducers, FlowerCoreDataReducers, FlowerCoreReducers, FlowerCoreStateBaseSelectors, FlowerCoreStateDataSelectors, FlowerCoreStateSelectors, FlowerStateUtils, REDUCER_NAME, devtoolState, flattenRules, generateData, rulesMatcher, rulesMatcherUtils };
@@ -76,7 +76,7 @@ export type RulesObject<T> = RulesValuesType<T> | {
76
76
  export type CleanPath = (name: string, char?: string) => string;
77
77
  export type GetPath = (idValue?: string) => {
78
78
  path: string | string[];
79
- formName?: string;
79
+ rootName?: string;
80
80
  };
81
81
  export type AllEqual = (...args: Array<number | string | boolean>[]) => boolean;
82
82
  export type FindValidRule<T = Rules<RulesObject<any>>> = (nextRules: {
@@ -201,7 +201,7 @@ export interface FlowUtilitiesFunctions {
201
201
  */
202
202
  findValidRule: FindValidRule;
203
203
  }
204
- export interface FormUtilitiesFunctions {
204
+ export interface DataUtilitiesFunctions {
205
205
  /**
206
206
  * Removes specified characters from the beginning of a string (default char -> '^').
207
207
  * @param name
@@ -218,6 +218,6 @@ export interface FormUtilitiesFunctions {
218
218
  */
219
219
  getPath: GetPath;
220
220
  }
221
- export interface CoreUtilitiesFunctions extends FormUtilitiesFunctions, FlowUtilitiesFunctions {
221
+ export interface CoreUtilitiesFunctions extends DataUtilitiesFunctions, FlowUtilitiesFunctions {
222
222
  }
223
223
  export {};
@@ -5,13 +5,6 @@ export type ActionWithPayload<T> = {
5
5
  payload: T;
6
6
  };
7
7
  type ReducerFunctionSign<T extends object, R> = (state: Record<string, Flower<T>>, action: ActionWithPayload<R>) => Record<string, Flower<T>> | void;
8
- type FormReducerFunctionSign<T extends object, R = object> = (state: Record<string, T>, action: ActionWithPayload<{
9
- formName: string;
10
- } & R>) => Record<string, T> | void;
11
- export type ActionsTypes = 'historyAdd' | 'historyPrevToNode' | 'setFormTouched' | 'forceAddHistory' | 'historyPop' | 'restoreHistory' | 'replaceNode' | 'initializeFromNode' | 'forceResetHistory' | 'destroy' | 'initNodes' | 'setCurrentNode' | 'formAddErrors' | 'formRemoveErrors' | 'addData' | 'addDataByPath' | 'replaceData' | 'unsetData' | 'setFormIsValidating' | 'resetForm' | 'formFieldTouch' | 'formFieldFocus' | 'node' | 'prevToNode' | 'next' | 'prev' | 'reset';
12
- /**
13
- * These functions are Redux reducers used in a Flux architecture for managing state transitions and updates in a Flower application.
14
- */
15
8
  export type CoreReducersFunctions<T extends Record<string, any> = Record<string, Flower<Record<string, any>>>> = {
16
9
  /**
17
10
  * @param state
@@ -242,7 +235,10 @@ export type CoreReducersFunctions<T extends Record<string, any> = Record<string,
242
235
  */
243
236
  >;
244
237
  };
245
- export type FormReducersFunctions<T extends Record<string, any> = Record<string, Record<string, any>>> = {
238
+ type DataReducerFunctionSign<T extends object, R = object> = (state: Record<string, T>, action: ActionWithPayload<{
239
+ rootName: string;
240
+ } & R>) => Record<string, T> | void;
241
+ export type DataReducersFunctions<T extends Record<string, any> = Record<string, Record<string, any>>> = {
246
242
  /**
247
243
  * @param state
248
244
  * @param action
@@ -251,7 +247,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
251
247
  *
252
248
  * @returns state
253
249
  */
254
- setFormTouched: FormReducerFunctionSign<T>;
250
+ setFormSubmitted: DataReducerFunctionSign<T>;
255
251
  /**
256
252
  * @param state
257
253
  * @param action
@@ -260,7 +256,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
260
256
  *
261
257
  * @returns state
262
258
  */
263
- formAddCustomErrors: FormReducerFunctionSign<T, {
259
+ addCustomDataErrors: DataReducerFunctionSign<T, {
264
260
  id: string;
265
261
  errors: string[];
266
262
  }>;
@@ -272,7 +268,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
272
268
  *
273
269
  * @returns state
274
270
  */
275
- formAddErrors: FormReducerFunctionSign<T, {
271
+ addDataErrors: DataReducerFunctionSign<T, {
276
272
  id: string;
277
273
  errors: {
278
274
  [x: string]: string[];
@@ -286,7 +282,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
286
282
  *
287
283
  * @returns state
288
284
  */
289
- formFieldDirty: FormReducerFunctionSign<T, {
285
+ fieldDirty: DataReducerFunctionSign<T, {
290
286
  id: string;
291
287
  dirty?: boolean;
292
288
  }>;
@@ -298,7 +294,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
298
294
  *
299
295
  * @returns state
300
296
  */
301
- formFieldTouch: FormReducerFunctionSign<T, {
297
+ fieldTouch: DataReducerFunctionSign<T, {
302
298
  id: string;
303
299
  touched?: boolean;
304
300
  }>;
@@ -310,7 +306,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
310
306
  *
311
307
  * @returns state
312
308
  */
313
- formFieldFocus: FormReducerFunctionSign<T, {
309
+ fieldFocus: DataReducerFunctionSign<T, {
314
310
  id: string;
315
311
  focused?: boolean;
316
312
  }>;
@@ -322,7 +318,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
322
318
  *
323
319
  * @returns state
324
320
  */
325
- formRemoveErrors: FormReducerFunctionSign<T, {
321
+ removeDataErrors: DataReducerFunctionSign<T, {
326
322
  id: string;
327
323
  }>;
328
324
  /**
@@ -333,7 +329,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
333
329
  *
334
330
  * @returns state
335
331
  */
336
- addData: FormReducerFunctionSign<T, {
332
+ addData: DataReducerFunctionSign<T, {
337
333
  value: T;
338
334
  }>;
339
335
  /**
@@ -344,7 +340,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
344
340
  *
345
341
  * @returns state
346
342
  */
347
- addDataByPath: FormReducerFunctionSign<T, {
343
+ addDataByPath: DataReducerFunctionSign<T, {
348
344
  id: string;
349
345
  value: T | string;
350
346
  dirty?: boolean;
@@ -357,7 +353,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
357
353
  *
358
354
  * @returns state
359
355
  */
360
- replaceData: FormReducerFunctionSign<T, {
356
+ replaceData: DataReducerFunctionSign<T, {
361
357
  value: T;
362
358
  }>;
363
359
  /**
@@ -368,7 +364,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
368
364
  *
369
365
  * @returns state
370
366
  */
371
- unsetData: FormReducerFunctionSign<T, {
367
+ unsetData: DataReducerFunctionSign<T, {
372
368
  id: string[] | string;
373
369
  }>;
374
370
  /**
@@ -379,7 +375,7 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
379
375
  *
380
376
  * @returns state
381
377
  */
382
- setFormIsValidating: FormReducerFunctionSign<T, {
378
+ setIsDataValidating: DataReducerFunctionSign<T, {
383
379
  isValidating?: boolean;
384
380
  }>;
385
381
  /**
@@ -390,8 +386,8 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
390
386
  *
391
387
  * @returns state
392
388
  */
393
- resetForm: FormReducerFunctionSign<T, {
394
- formName: string;
389
+ resetData: DataReducerFunctionSign<T, {
390
+ rootName: string;
395
391
  initialData?: Record<string, any>;
396
392
  }>;
397
393
  /**
@@ -402,8 +398,8 @@ export type FormReducersFunctions<T extends Record<string, any> = Record<string,
402
398
  *
403
399
  * @returns state
404
400
  */
405
- initForm: FormReducerFunctionSign<T, {
406
- formName: string;
401
+ initData: DataReducerFunctionSign<T, {
402
+ rootName: string;
407
403
  initialData: Record<string, any>;
408
404
  }>;
409
405
  };
@@ -1,6 +1,6 @@
1
1
  import { REDUCER_NAME } from '../constants';
2
2
  import { RulesObject } from './CoreInterface';
3
- import { Flower, Form, INode } from './Store';
3
+ import { Flower, Data, INode } from './Store';
4
4
  export interface IFlowerSelectors {
5
5
  /**
6
6
  * @param state
@@ -57,7 +57,7 @@ export interface IFlowerSelectors {
57
57
  [x: string]: Partial<INode>;
58
58
  }, current: Flower<T>['current']): boolean;
59
59
  }
60
- export interface IFormSelectors {
60
+ export interface IDataSelectors {
61
61
  /**
62
62
  * @param state
63
63
  * @returns
@@ -67,18 +67,18 @@ export interface IFormSelectors {
67
67
  * @param state
68
68
  * @returns
69
69
  */
70
- selectGlobalForm<T extends Record<string, any>>(state: {
70
+ selectGlobalData<T extends Record<string, any>>(state: {
71
71
  [REDUCER_NAME.FLOWER_DATA]: {
72
- [x: string]: Form<T>;
72
+ [x: string]: Data<T>;
73
73
  };
74
74
  }): {
75
- [x: string]: Form<T>;
75
+ [x: string]: Data<T>;
76
76
  };
77
77
  /**
78
- * @param form
78
+ * @param data
79
79
  * @returns
80
80
  */
81
- makeSelectNodeErrors<T extends Record<string, any>>(form: Form<T> | undefined): {
81
+ makeSelectNodeErrors<T extends Record<string, any>>(data: Data<T> | undefined): {
82
82
  isSubmitted: boolean;
83
83
  isDirty: boolean;
84
84
  hasFocus: string | undefined;
@@ -88,30 +88,30 @@ export interface IFormSelectors {
88
88
  isValidating?: boolean;
89
89
  };
90
90
  /**
91
- * @param form
91
+ * @param data
92
92
  * @returns
93
93
  */
94
- makeSelectNodeFormFieldTouched<T extends Record<string, any>>(id: string): (form: Form<T> | undefined) => boolean | undefined;
94
+ makeSelectNodeDataFieldTouched<T extends Record<string, any>>(id: string): (data: Data<T> | undefined) => boolean | undefined;
95
95
  /**
96
- * @param form
96
+ * @param data
97
97
  * @returns
98
98
  */
99
- makeSelectNodeFormFieldFocused<T extends Record<string, any>>(id: string): (form: Form<T> | undefined) => string | undefined;
99
+ makeSelectNodeDataFieldFocused<T extends Record<string, any>>(id: string): (data: Data<T> | undefined) => string | undefined;
100
100
  /**
101
- * @param form
101
+ * @param data
102
102
  * @returns
103
103
  */
104
- makeSelectNodeFormFieldDirty<T extends Record<string, any>>(id: string): (form: Form<T> | undefined) => boolean | undefined;
104
+ makeSelectNodeDataFieldDirty<T extends Record<string, any>>(id: string): (data: Data<T> | undefined) => boolean | undefined;
105
105
  /**
106
106
  * @param id
107
107
  * @returns
108
108
  */
109
109
  getDataFromState<T extends Record<string, any>>(id: string | string[]): (data: T) => Partial<T>;
110
110
  /**
111
- * @param form
111
+ * @param data
112
112
  * @returns
113
113
  */
114
- makeSelectNodeFormSubmitted<T extends Record<string, any>>(form: Form<T>): boolean | undefined;
114
+ makeSelectNodeDataSubmitted<T extends Record<string, any>>(data: Data<T>): boolean | undefined;
115
115
  /**
116
116
  * @param name
117
117
  * @param id
@@ -121,7 +121,7 @@ export interface IFormSelectors {
121
121
  makeSelectFieldError<T extends Record<string, any>>(name: string, id: string, validate: {
122
122
  rules?: RulesObject<any>;
123
123
  message?: string;
124
- }[] | null): (data: T | undefined, form: Form<T>) => Array<string>;
124
+ }[] | null): (globalData: T | undefined, data: Data<T>) => Array<string>;
125
125
  /**
126
126
  * @param id
127
127
  * @param rules
@@ -130,5 +130,5 @@ export interface IFormSelectors {
130
130
  * @param value
131
131
  * @returns
132
132
  */
133
- selectorRulesDisabled<T extends Record<string, any>>(id: string, rules: any, keys: string[] | null, flowName: string, value: any): (data: T | undefined, form: Form<T>) => boolean;
133
+ selectorRulesDisabled<T extends Record<string, any>>(id: string, rules: any, keys: string[] | null, flowName: string, value: any): (globalData: T | undefined, data: Data<T>) => boolean;
134
134
  }
@@ -17,7 +17,7 @@ export interface INode {
17
17
  retain?: boolean;
18
18
  disabled?: boolean;
19
19
  }
20
- export type Form<T extends Record<string, unknown>> = {
20
+ export type Data<T extends Record<string, unknown>> = {
21
21
  isSubmitted?: boolean;
22
22
  isDirty?: boolean;
23
23
  hasFocus?: string;
@@ -14,7 +14,7 @@ export interface CoreStateUtils {
14
14
  * Selects the form node with a specific ID from a given flow.
15
15
  * It returns a selector function that accepts the state as an argument and retrieves the form node
16
16
  */
17
- selectFlowerFormNode<T extends object>(name: string): (state: T) => Record<string, any>;
17
+ selectFlowerDataNode<T extends object>(name: string): (state: T) => Record<string, any>;
18
18
  /**
19
19
  *
20
20
  * @param name
@@ -1,2 +1,2 @@
1
1
  import { FunctionRule } from '../interfaces';
2
- export declare const rulesMatcher: (rules?: Record<string, any> | Record<string, any>[] | FunctionRule, formValue?: Record<string, any>, apply?: boolean, options?: Record<string, any>) => boolean[];
2
+ export declare const rulesMatcher: (rules?: Record<string, any> | Record<string, any>[] | FunctionRule, dataValue?: Record<string, any>, apply?: boolean, options?: Record<string, any>) => boolean[];
@@ -1,2 +1,2 @@
1
- import { CoreReducersFunctions, FormReducersFunctions } from '../../interfaces';
2
- export declare const FlowerCoreReducers: FormReducersFunctions & CoreReducersFunctions;
1
+ import { CoreReducersFunctions, DataReducersFunctions } from '../../interfaces';
2
+ export declare const FlowerCoreReducers: DataReducersFunctions & CoreReducersFunctions;
@@ -1,13 +1,2 @@
1
- import { FormReducersFunctions } from '../../interfaces/ReducerInterface';
2
- /**
3
- * formName => FlowerForm
4
- * initialData => FlowerForm
5
- * fieldName => FlowerField
6
- * fieldValue => FlowerField
7
- * errors => FlowerField
8
- * customErrors => FlowerField
9
- * fieldTouched => FlowerField
10
- * fieldDirty => FlowerField
11
- * fieldHasFocus => FlowerField
12
- */
13
- export declare const FlowerCoreDataReducers: FormReducersFunctions;
1
+ import { DataReducersFunctions } from '../../interfaces/ReducerInterface';
2
+ export declare const FlowerCoreDataReducers: DataReducersFunctions;
@@ -1,4 +1,4 @@
1
- export type { CoreReducersFunctions, FormReducersFunctions } from '../../interfaces';
1
+ export type { CoreReducersFunctions, DataReducersFunctions } from '../../interfaces';
2
2
  export { FlowerCoreBaseReducers } from './FlowerCoreStateFunctions';
3
3
  export { FlowerCoreDataReducers } from './FlowerDataStateFunctions';
4
4
  export { FlowerCoreReducers } from './FlowerCoreMergedReducers';
@@ -0,0 +1,2 @@
1
+ import { IDataSelectors } from '../../interfaces';
2
+ export declare const FlowerCoreStateDataSelectors: IDataSelectors;
@@ -1,2 +1,2 @@
1
- import { IFlowerSelectors, IFormSelectors } from '../../interfaces';
2
- export declare const FlowerCoreStateSelectors: IFlowerSelectors & IFormSelectors;
1
+ import { IFlowerSelectors, IDataSelectors } from '../../interfaces';
2
+ export declare const FlowerCoreStateSelectors: IFlowerSelectors & IDataSelectors;
@@ -1,4 +1,4 @@
1
- export type { IFlowerSelectors, IFormSelectors } from '../../interfaces';
1
+ export type { IFlowerSelectors, IDataSelectors } from '../../interfaces';
2
2
  export { FlowerCoreStateBaseSelectors } from './FlowerCoreStateSelectors';
3
- export { FlowerCoreStateDataSelectors } from './FlowerFormStateSelectors';
3
+ export { FlowerCoreStateDataSelectors } from './FlowerDataStateSelectors';
4
4
  export { FlowerCoreStateSelectors } from './FlowerSelectorsMerged';
@@ -1,6 +1,6 @@
1
1
  import { CoreStateUtils } from '../interfaces/UtilsInterface';
2
2
  export declare const FlowerStateUtils: CoreStateUtils;
3
- export declare const createFormData: (form: Record<string, any>) => {
3
+ export declare const generateData: (data: Record<string, any>) => {
4
4
  isSubmitted: any;
5
5
  isDirty: boolean;
6
6
  hasFocus: any;
@@ -0,0 +1,2 @@
1
+ import { DataUtilitiesFunctions } from '../interfaces';
2
+ export declare const DataUtils: DataUtilitiesFunctions;
@@ -1,4 +1,4 @@
1
1
  export * from './FlowerCoreStateUtils';
2
2
  export * from './FlowerCoreUtils';
3
3
  export * from './FlowerFlowUtils';
4
- export * from './FlowerFormCoreUtils';
4
+ export * from './FlowerDataCoreUtils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowerforce/flower-core",
3
- "version": "4.0.1-beta.0",
3
+ "version": "4.0.1-beta.1",
4
4
  "description": "Core functions for flowerJS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,2 +0,0 @@
1
- import { IFormSelectors } from '../../interfaces';
2
- export declare const FlowerCoreStateDataSelectors: IFormSelectors;
@@ -1,2 +0,0 @@
1
- import { FormUtilitiesFunctions } from '../interfaces';
2
- export declare const FormUtils: FormUtilitiesFunctions;