UNPKG

@shopify/react-form

Version:

Manage react forms tersely and safely-typed with no magic using React hooks.

27 lines (26 loc) 806 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = require("react"); var utilities_1 = require("../utilities"); function useDirty(fieldBag) { var fields = Object.values(fieldBag); return react_1.useMemo(function () { return fields.some(function (item) { if (utilities_1.isField(item)) { return item.dirty; } if (Array.isArray(item)) { return item.some(fieldsDirty); } return fieldsDirty(item); }); }, tslib_1.__spread(fields)); } exports.useDirty = useDirty; function fieldsDirty(fields) { return Object.keys(fields).some(function (key) { var field = fields[key]; return field.dirty; }); }