@foxy.io/sdk
Version:
Universal SDK for a full server-side and a limited in-browser access to Foxy hAPI.
31 lines (30 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyEdit = exports.setData = exports.setErrors = exports.setFailure = exports.validate = exports.clearData = exports.clearEdits = exports.clearErrors = exports.clearFailure = void 0;
const xstate_1 = require("xstate");
/** XState action that clears last request's failure info. */
exports.clearFailure = xstate_1.assign({ failure: null });
/** XState action that clears all validation errors. */
exports.clearErrors = xstate_1.assign({ errors: [] });
/** XState action that undoes all local changes to the resource. */
exports.clearEdits = xstate_1.assign({ edits: null });
/** XState action that removes resource snapshot. */
exports.clearData = xstate_1.assign({ data: null });
/** Placeholder for XState action that validates data and changes to it, setting errors array. */
exports.validate = exports.clearErrors;
/** XState action that stores non-v8n-related request rejection info in context. */
exports.setFailure = xstate_1.assign({
failure: (_, evt) => evt.data,
});
/** XState action that stores v8n-related request rejection info in context. */
exports.setErrors = xstate_1.assign({
errors: (_, evt) => evt.data,
});
/** XState action that stores resource data passed with SET_DATA event. */
exports.setData = xstate_1.assign({
data: (_, evt) => evt.data,
});
/** XState action that updates context with values from partial resource passed with EDIT event. */
exports.applyEdit = xstate_1.assign({
edits: (ctx, evt) => (Object.assign(Object.assign({}, ctx.edits), evt.data)),
});