@kaspernj/api-maker 1.0.2048 → 1.0.2050

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/build/form.js CHANGED
@@ -1,5 +1,5 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { createContext, useContext, useMemo } from "react";
2
+ import React, { createContext, useContext, useEffect, useMemo } from "react";
3
3
  import BaseComponent from "./base-component";
4
4
  import FormDataObjectizer from "form-data-objectizer";
5
5
  import memo from "set-state-compare/src/memo";
@@ -52,6 +52,7 @@ const Form = memo(shapeComponent(class Form extends BaseComponent {
52
52
  render() {
53
53
  const {
54
54
  children,
55
+ formObjectRef,
55
56
  formRef,
56
57
  onSubmit,
57
58
  setForm,
@@ -60,6 +61,18 @@ const Form = memo(shapeComponent(class Form extends BaseComponent {
60
61
  const form = useMemo(() => new FormInputs({
61
62
  onSubmit
62
63
  }), []);
64
+ useMemo(() => {
65
+ if (formObjectRef) {
66
+ formObjectRef.current = form;
67
+ }
68
+ }, [form, formObjectRef]);
69
+ useEffect(() => {
70
+ return () => {
71
+ if (formObjectRef) {
72
+ formObjectRef.current = null;
73
+ }
74
+ };
75
+ }, [form, formObjectRef]);
63
76
  useMemo(() => {
64
77
  if (setForm) {
65
78
  setForm(form);
@@ -80,4 +93,4 @@ const Form = memo(shapeComponent(class Form extends BaseComponent {
80
93
  };
81
94
  }));
82
95
  export { Form, FormContext, FormInputs, useForm };
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwidXNlTWVtbyIsIkJhc2VDb21wb25lbnQiLCJGb3JtRGF0YU9iamVjdGl6ZXIiLCJtZW1vIiwiUGxhdGZvcm0iLCJQcm9wVHlwZXMiLCJzaGFwZUNvbXBvbmVudCIsIkZvcm1Db250ZXh0IiwidXNlRm9ybSIsIkZvcm1JbnB1dHMiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiaW5wdXRzIiwib25TdWJtaXQiLCJhc09iamVjdCIsInJlc3VsdCIsImZvcm1EYXRhT2JqZWN0aXplciIsImtleSIsInZhbHVlIiwidHJlYXRJbml0aWFsIiwic2V0VmFsdWUiLCJuYW1lIiwiRXJyb3IiLCJzZXRWYWx1ZVdpdGhIaWRkZW4iLCJPUyIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwidW5kZWZpbmVkIiwic3VibWl0IiwiRm9ybSIsInByb3BUeXBlcyIsImNoaWxkcmVuIiwibm9kZSIsImZvcm1SZWYiLCJvYmplY3QiLCJmdW5jIiwic2V0Rm9ybSIsInJlbmRlciIsInJlc3RQcm9wcyIsImZvcm0iLCJQcm92aWRlciIsIl9leHRlbmRzIiwicmVmIiwidHQiLCJvbkZvcm1TdWJtaXQiLCJlIiwicHJldmVudERlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvZm9ybS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBGb3JtRGF0YU9iamVjdGl6ZXIgZnJvbSBcImZvcm0tZGF0YS1vYmplY3RpemVyXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuXG5jb25zdCBGb3JtQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IHVzZUZvcm0gPSAoKSA9PiB1c2VDb250ZXh0KEZvcm1Db250ZXh0KVxuXG5jbGFzcyBGb3JtSW5wdXRzIHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICB0aGlzLmlucHV0cyA9IHt9XG4gICAgdGhpcy5vblN1Ym1pdCA9IHByb3BzPy5vblN1Ym1pdFxuICB9XG5cbiAgYXNPYmplY3QoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge31cbiAgICBjb25zdCBmb3JtRGF0YU9iamVjdGl6ZXIgPSBuZXcgRm9ybURhdGFPYmplY3RpemVyKClcblxuICAgIGZvcihjb25zdCBrZXkgaW4gdGhpcy5pbnB1dHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dHNba2V5XVxuXG4gICAgICBmb3JtRGF0YU9iamVjdGl6ZXIudHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBzZXRWYWx1ZShuYW1lLCB2YWx1ZSkge1xuICAgIGlmICghbmFtZSkgdGhyb3cgbmV3IEVycm9yKFwiJ25hbWUnIGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLmlucHV0c1tuYW1lXSA9IHZhbHVlXG4gIH1cblxuICBzZXRWYWx1ZVdpdGhIaWRkZW4obmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLnNldFZhbHVlKG5hbWUsIHZhbHVlKVxuXG4gICAgaWYgKFBsYXRmb3JtLk9TID09IFwid2ViXCIpIHtcbiAgICAgIHJldHVybiA8aW5wdXQgbmFtZT17bmFtZX0gdHlwZT1cImhpZGRlblwiIHZhbHVlPXt2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBcIlwifSAvPlxuICAgIH1cbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5vblN1Ym1pdCkge1xuICAgICAgdGhpcy5vblN1Ym1pdCgpXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IEZvcm0gPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEZvcm0gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgZm9ybVJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvblN1Ym1pdDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2V0Rm9ybTogUHJvcFR5cGVzLmZ1bmNcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIGZvcm1SZWYsIG9uU3VibWl0LCBzZXRGb3JtLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGZvcm0gPSB1c2VNZW1vKCgpID0+IG5ldyBGb3JtSW5wdXRzKHtvblN1Ym1pdH0pLCBbXSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHNldEZvcm0pIHtcbiAgICAgICAgc2V0Rm9ybShmb3JtKVxuICAgICAgfVxuICAgIH0sIFtzZXRGb3JtXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Rm9ybUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2Zvcm19PlxuICAgICAgICB7UGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJlxuICAgICAgICAgIDxmb3JtIHJlZj17Zm9ybVJlZn0gb25TdWJtaXQ9e3RoaXMudHQub25Gb3JtU3VibWl0fSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIH1cbiAgICAgICAge1BsYXRmb3JtLk9TICE9IFwid2ViXCIgJiYgdGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvRm9ybUNvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgb25Gb3JtU3VibWl0ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGlmICh0aGlzLnByb3BzLm9uU3VibWl0KSB7XG4gICAgICB0aGlzLnByb3BzLm9uU3VibWl0KClcbiAgICB9XG4gIH1cbn0pKVxuXG5leHBvcnQge0Zvcm0sIEZvcm1Db250ZXh0LCBGb3JtSW5wdXRzLCB1c2VGb3JtfVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFHQyxhQUFhLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDL0QsT0FBT0MsYUFBYSxNQUFNLGtCQUFrQjtBQUM1QyxPQUFPQyxrQkFBa0IsTUFBTSxzQkFBc0I7QUFDckQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxRQUFRLFFBQU8sY0FBYztBQUNyQyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBRXBFLE1BQU1DLFdBQVcsZ0JBQUdULGFBQWEsQ0FBQyxJQUFJLENBQUM7QUFDdkMsTUFBTVUsT0FBTyxHQUFHQSxDQUFBLEtBQU1ULFVBQVUsQ0FBQ1EsV0FBVyxDQUFDO0FBRTdDLE1BQU1FLFVBQVUsQ0FBQztFQUNmQyxXQUFXQSxDQUFDQyxLQUFLLEVBQUU7SUFDakIsSUFBSSxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLElBQUksQ0FBQ0MsUUFBUSxHQUFHRixLQUFLLEVBQUVFLFFBQVE7RUFDakM7RUFFQUMsUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsTUFBTUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixNQUFNQyxrQkFBa0IsR0FBRyxJQUFJZCxrQkFBa0IsQ0FBQyxDQUFDO0lBRW5ELEtBQUksTUFBTWUsR0FBRyxJQUFJLElBQUksQ0FBQ0wsTUFBTSxFQUFFO01BQzVCLE1BQU1NLEtBQUssR0FBRyxJQUFJLENBQUNOLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDO01BRTlCRCxrQkFBa0IsQ0FBQ0csWUFBWSxDQUFDRixH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
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlTWVtbyIsIkJhc2VDb21wb25lbnQiLCJGb3JtRGF0YU9iamVjdGl6ZXIiLCJtZW1vIiwiUGxhdGZvcm0iLCJQcm9wVHlwZXMiLCJzaGFwZUNvbXBvbmVudCIsIkZvcm1Db250ZXh0IiwidXNlRm9ybSIsIkZvcm1JbnB1dHMiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiaW5wdXRzIiwib25TdWJtaXQiLCJhc09iamVjdCIsInJlc3VsdCIsImZvcm1EYXRhT2JqZWN0aXplciIsImtleSIsInZhbHVlIiwidHJlYXRJbml0aWFsIiwic2V0VmFsdWUiLCJuYW1lIiwiRXJyb3IiLCJzZXRWYWx1ZVdpdGhIaWRkZW4iLCJPUyIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwidW5kZWZpbmVkIiwic3VibWl0IiwiRm9ybSIsInByb3BUeXBlcyIsImNoaWxkcmVuIiwibm9kZSIsImZvcm1SZWYiLCJvYmplY3QiLCJmdW5jIiwic2V0Rm9ybSIsInJlbmRlciIsImZvcm1PYmplY3RSZWYiLCJyZXN0UHJvcHMiLCJmb3JtIiwiY3VycmVudCIsIlByb3ZpZGVyIiwiX2V4dGVuZHMiLCJyZWYiLCJ0dCIsIm9uRm9ybVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgRm9ybURhdGFPYmplY3RpemVyIGZyb20gXCJmb3JtLWRhdGEtb2JqZWN0aXplclwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuY29uc3QgRm9ybUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VGb3JtID0gKCkgPT4gdXNlQ29udGV4dChGb3JtQ29udGV4dClcblxuY2xhc3MgRm9ybUlucHV0cyB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgdGhpcy5pbnB1dHMgPSB7fVxuICAgIHRoaXMub25TdWJtaXQgPSBwcm9wcz8ub25TdWJtaXRcbiAgfVxuXG4gIGFzT2JqZWN0KCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9XG4gICAgY29uc3QgZm9ybURhdGFPYmplY3RpemVyID0gbmV3IEZvcm1EYXRhT2JqZWN0aXplcigpXG5cbiAgICBmb3IoY29uc3Qga2V5IGluIHRoaXMuaW5wdXRzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRzW2tleV1cblxuICAgICAgZm9ybURhdGFPYmplY3RpemVyLnRyZWF0SW5pdGlhbChrZXksIHZhbHVlLCByZXN1bHQpXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgc2V0VmFsdWUobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAoIW5hbWUpIHRocm93IG5ldyBFcnJvcihcIiduYW1lJyBpcyByZXF1aXJlZFwiKVxuXG4gICAgdGhpcy5pbnB1dHNbbmFtZV0gPSB2YWx1ZVxuICB9XG5cbiAgc2V0VmFsdWVXaXRoSGlkZGVuKG5hbWUsIHZhbHVlKSB7XG4gICAgdGhpcy5zZXRWYWx1ZShuYW1lLCB2YWx1ZSlcblxuICAgIGlmIChQbGF0Zm9ybS5PUyA9PSBcIndlYlwiKSB7XG4gICAgICByZXR1cm4gPGlucHV0IG5hbWU9e25hbWV9IHR5cGU9XCJoaWRkZW5cIiB2YWx1ZT17dmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogXCJcIn0gLz5cbiAgICB9XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMub25TdWJtaXQpIHtcbiAgICAgIHRoaXMub25TdWJtaXQoKVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBGb3JtID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBGb3JtIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAgIGZvcm1SZWY6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25TdWJtaXQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNldEZvcm06IFByb3BUeXBlcy5mdW5jXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NoaWxkcmVuLCBmb3JtT2JqZWN0UmVmLCBmb3JtUmVmLCBvblN1Ym1pdCwgc2V0Rm9ybSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBmb3JtID0gdXNlTWVtbygoKSA9PiBuZXcgRm9ybUlucHV0cyh7b25TdWJtaXR9KSwgW10pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChmb3JtT2JqZWN0UmVmKSB7XG4gICAgICAgIGZvcm1PYmplY3RSZWYuY3VycmVudCA9IGZvcm1cbiAgICAgIH1cbiAgICB9LCBbZm9ybSwgZm9ybU9iamVjdFJlZl0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKGZvcm1PYmplY3RSZWYpIHtcbiAgICAgICAgICBmb3JtT2JqZWN0UmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbZm9ybSwgZm9ybU9iamVjdFJlZl0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChzZXRGb3JtKSB7XG4gICAgICAgIHNldEZvcm0oZm9ybSlcbiAgICAgIH1cbiAgICB9LCBbc2V0Rm9ybV0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtmb3JtfT5cbiAgICAgICAge1BsYXRmb3JtLk9TID09IFwid2ViXCIgJiZcbiAgICAgICAgICA8Zm9ybSByZWY9e2Zvcm1SZWZ9IG9uU3VibWl0PXt0aGlzLnR0Lm9uRm9ybVN1Ym1pdH0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9mb3JtPlxuICAgICAgICB9XG4gICAgICAgIHtQbGF0Zm9ybS5PUyAhPSBcIndlYlwiICYmIHRoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICA8L0Zvcm1Db250ZXh0LlByb3ZpZGVyPlxuICAgIClcbiAgfVxuXG4gIG9uRm9ybVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICBpZiAodGhpcy5wcm9wcy5vblN1Ym1pdCkge1xuICAgICAgdGhpcy5wcm9wcy5vblN1Ym1pdCgpXG4gICAgfVxuICB9XG59KSlcblxuZXhwb3J0IHtGb3JtLCBGb3JtQ29udGV4dCwgRm9ybUlucHV0cywgdXNlRm9ybX1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBR0MsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDMUUsT0FBT0MsYUFBYSxNQUFNLGtCQUFrQjtBQUM1QyxPQUFPQyxrQkFBa0IsTUFBTSxzQkFBc0I7QUFDckQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxRQUFRLFFBQU8sY0FBYztBQUNyQyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBRXBFLE1BQU1DLFdBQVcsZ0JBQUdWLGFBQWEsQ0FBQyxJQUFJLENBQUM7QUFDdkMsTUFBTVcsT0FBTyxHQUFHQSxDQUFBLEtBQU1WLFVBQVUsQ0FBQ1MsV0FBVyxDQUFDO0FBRTdDLE1BQU1FLFVBQVUsQ0FBQztFQUNmQyxXQUFXQSxDQUFDQyxLQUFLLEVBQUU7SUFDakIsSUFBSSxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLElBQUksQ0FBQ0MsUUFBUSxHQUFHRixLQUFLLEVBQUVFLFFBQVE7RUFDakM7RUFFQUMsUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsTUFBTUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixNQUFNQyxrQkFBa0IsR0FBRyxJQUFJZCxrQkFBa0IsQ0FBQyxDQUFDO0lBRW5ELEtBQUksTUFBTWUsR0FBRyxJQUFJLElBQUksQ0FBQ0wsTUFBTSxFQUFFO01BQzVCLE1BQU1NLEtBQUssR0FBRyxJQUFJLENBQUNOLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDO01BRTlCRCxrQkFBa0IsQ0FBQ0csWUFBWSxDQUFDRixHQUFHLEVBQUVDLEtBQUssRUFBRUgsTUFBTSxDQUFDO0lBQ3JEO0lBRUEsT0FBT0EsTUFBTTtFQUNmO0VBRUFLLFFBQVFBLENBQUNDLElBQUksRUFBRUgsS0FBSyxFQUFFO0lBQ3BCLElBQUksQ0FBQ0csSUFBSSxFQUFFLE1BQU0sSUFBSUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0lBRWhELElBQUksQ0FBQ1YsTUFBTSxDQUFDUyxJQUFJLENBQUMsR0FBR0gsS0FBSztFQUMzQjtFQUVBSyxrQkFBa0JBLENBQUNGLElBQUksRUFBRUgsS0FBSyxFQUFFO0lBQzlCLElBQUksQ0FBQ0UsUUFBUSxDQUFDQyxJQUFJLEVBQUVILEtBQUssQ0FBQztJQUUxQixJQUFJZCxRQUFRLENBQUNvQixFQUFFLElBQUksS0FBSyxFQUFFO01BQ3hCLG9CQUFPNUIsS0FBQSxDQUFBNkIsYUFBQTtRQUFPSixJQUFJLEVBQUVBLElBQUs7UUFBQ0ssSUFBSSxFQUFDLFFBQVE7UUFBQ1IsS0FBSyxFQUFFQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtTLFNBQVMsR0FBR1QsS0FBSyxHQUFHO01BQUcsQ0FBRSxDQUFDO0lBQ3ZHO0VBQ0Y7RUFFQVUsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsSUFBSSxJQUFJLENBQUNmLFFBQVEsRUFBRTtNQUNqQixJQUFJLENBQUNBLFFBQVEsQ0FBQyxDQUFDO0lBQ2pCO0VBQ0Y7QUFDRjtBQUVBLE1BQU1nQixJQUFJLEdBQUcxQixJQUFJLENBQUNHLGNBQWMsQ0FBQyxNQUFNdUIsSUFBSSxTQUFTNUIsYUFBYSxDQUFDO0VBQ2hFLE9BQU82QixTQUFTLEdBQUc7SUFDakJDLFFBQVEsRUFBRTFCLFNBQVMsQ0FBQzJCLElBQUk7SUFDeEJDLE9BQU8sRUFBRTVCLFNBQVMsQ0FBQzZCLE1BQU07SUFDekJyQixRQUFRLEVBQUVSLFNBQVMsQ0FBQzhCLElBQUk7SUFDeEJDLE9BQU8sRUFBRS9CLFNBQVMsQ0FBQzhCO0VBQ3JCLENBQUM7RUFFREUsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDTixRQUFRO01BQUVPLGFBQWE7TUFBRUwsT0FBTztNQUFFcEIsUUFBUTtNQUFFdUIsT0FBTztNQUFFLEdBQUdHO0lBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzVCLEtBQUs7SUFDdEYsTUFBTTZCLElBQUksR0FBR3hDLE9BQU8sQ0FBQyxNQUFNLElBQUlTLFVBQVUsQ0FBQztNQUFDSTtJQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUUxRGIsT0FBTyxDQUFDLE1BQU07TUFDWixJQUFJc0MsYUFBYSxFQUFFO1FBQ2pCQSxhQUFhLENBQUNHLE9BQU8sR0FBR0QsSUFBSTtNQUM5QjtJQUNGLENBQUMsRUFBRSxDQUFDQSxJQUFJLEVBQUVGLGFBQWEsQ0FBQyxDQUFDO0lBRXpCdkMsU0FBUyxDQUFDLE1BQU07TUFDZCxPQUFPLE1BQU07UUFDWCxJQUFJdUMsYUFBYSxFQUFFO1VBQ2pCQSxhQUFhLENBQUNHLE9BQU8sR0FBRyxJQUFJO1FBQzlCO01BQ0YsQ0FBQztJQUNILENBQUMsRUFBRSxDQUFDRCxJQUFJLEVBQUVGLGFBQWEsQ0FBQyxDQUFDO0lBRXpCdEMsT0FBTyxDQUFDLE1BQU07TUFDWixJQUFJb0MsT0FBTyxFQUFFO1FBQ1hBLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDO01BQ2Y7SUFDRixDQUFDLEVBQUUsQ0FBQ0osT0FBTyxDQUFDLENBQUM7SUFFYixvQkFDRXhDLEtBQUEsQ0FBQTZCLGFBQUEsQ0FBQ2xCLFdBQVcsQ0FBQ21DLFFBQVE7TUFBQ3hCLEtBQUssRUFBRXNCO0lBQUssR0FDL0JwQyxRQUFRLENBQUNvQixFQUFFLElBQUksS0FBSyxpQkFDbkI1QixLQUFBLENBQUE2QixhQUFBLFNBQUFrQixRQUFBO01BQU1DLEdBQUcsRUFBRVgsT0FBUTtNQUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQ2dDLEVBQUUsQ0FBQ0M7SUFBYSxHQUFLUCxTQUFTLEdBQzlEUixRQUNHLENBQUMsRUFFUjNCLFFBQVEsQ0FBQ29CLEVBQUUsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDYixLQUFLLENBQUNvQixRQUNoQixDQUFDO0VBRTNCO0VBRUFlLFlBQVksR0FBSUMsQ0FBQyxJQUFLO0lBQ3BCQSxDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO0lBRWxCLElBQUksSUFBSSxDQUFDckMsS0FBSyxDQUFDRSxRQUFRLEVBQUU7TUFDdkIsSUFBSSxDQUFDRixLQUFLLENBQUNFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZCO0VBQ0YsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUWdCLElBQUksRUFBRXRCLFdBQVcsRUFBRUUsVUFBVSxFQUFFRCxPQUFPIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,13 @@
1
+ import { StyleSheet } from "react-native";
2
+ export default function mergeStyles(stylesList) {
3
+ const mergedStyle = {};
4
+ for (const style of stylesList) {
5
+ if (typeof style == "object") {
6
+ Object.assign(mergedStyle, StyleSheet.flatten(style));
7
+ } else if (style === null) {
8
+ // Ignore - do nothing
9
+ }
10
+ }
11
+ return mergedStyle;
12
+ }
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdHlsZVNoZWV0IiwibWVyZ2VTdHlsZXMiLCJzdHlsZXNMaXN0IiwibWVyZ2VkU3R5bGUiLCJzdHlsZSIsIk9iamVjdCIsImFzc2lnbiIsImZsYXR0ZW4iXSwic291cmNlcyI6WyIuLi9zcmMvbWVyZ2Utc3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3R5bGVTaGVldH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlU3R5bGVzKHN0eWxlc0xpc3QpIHtcbiAgY29uc3QgbWVyZ2VkU3R5bGUgPSB7fVxuXG4gIGZvciAoY29uc3Qgc3R5bGUgb2Ygc3R5bGVzTGlzdCkge1xuICAgIGlmICh0eXBlb2Ygc3R5bGUgPT0gXCJvYmplY3RcIikge1xuICAgICAgT2JqZWN0LmFzc2lnbihtZXJnZWRTdHlsZSwgU3R5bGVTaGVldC5mbGF0dGVuKHN0eWxlKSlcbiAgICB9IGVsc2UgaWYgKHN0eWxlID09PSBudWxsKSB7XG4gICAgICAvLyBJZ25vcmUgLSBkbyBub3RoaW5nXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlZFN0eWxlXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFVBQVUsUUFBTyxjQUFjO0FBRXZDLGVBQWUsU0FBU0MsV0FBV0EsQ0FBQ0MsVUFBVSxFQUFFO0VBQzlDLE1BQU1DLFdBQVcsR0FBRyxDQUFDLENBQUM7RUFFdEIsS0FBSyxNQUFNQyxLQUFLLElBQUlGLFVBQVUsRUFBRTtJQUM5QixJQUFJLE9BQU9FLEtBQUssSUFBSSxRQUFRLEVBQUU7TUFDNUJDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDSCxXQUFXLEVBQUVILFVBQVUsQ0FBQ08sT0FBTyxDQUFDSCxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDLE1BQU0sSUFBSUEsS0FBSyxLQUFLLElBQUksRUFBRTtNQUN6QjtJQUFBO0VBRUo7RUFFQSxPQUFPRCxXQUFXO0FBQ3BCIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
- "version": "1.0.2048",
3
+ "version": "1.0.2050",
4
4
  "description": "My new module",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
package/src/form.jsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, {createContext, useContext, useMemo} from "react"
1
+ import React, {createContext, useContext, useEffect, useMemo} from "react"
2
2
  import BaseComponent from "./base-component"
3
3
  import FormDataObjectizer from "form-data-objectizer"
4
4
  import memo from "set-state-compare/src/memo"
@@ -58,9 +58,23 @@ const Form = memo(shapeComponent(class Form extends BaseComponent {
58
58
  }
59
59
 
60
60
  render() {
61
- const {children, formRef, onSubmit, setForm, ...restProps} = this.props
61
+ const {children, formObjectRef, formRef, onSubmit, setForm, ...restProps} = this.props
62
62
  const form = useMemo(() => new FormInputs({onSubmit}), [])
63
63
 
64
+ useMemo(() => {
65
+ if (formObjectRef) {
66
+ formObjectRef.current = form
67
+ }
68
+ }, [form, formObjectRef])
69
+
70
+ useEffect(() => {
71
+ return () => {
72
+ if (formObjectRef) {
73
+ formObjectRef.current = null
74
+ }
75
+ }
76
+ }, [form, formObjectRef])
77
+
64
78
  useMemo(() => {
65
79
  if (setForm) {
66
80
  setForm(form)
@@ -0,0 +1,15 @@
1
+ import {StyleSheet} from "react-native"
2
+
3
+ export default function mergeStyles(stylesList) {
4
+ const mergedStyle = {}
5
+
6
+ for (const style of stylesList) {
7
+ if (typeof style == "object") {
8
+ Object.assign(mergedStyle, StyleSheet.flatten(style))
9
+ } else if (style === null) {
10
+ // Ignore - do nothing
11
+ }
12
+ }
13
+
14
+ return mergedStyle
15
+ }