UNPKG

integreat-adapter-form

Version:

application/x-www-form-urlencoded adapter for Integreat

33 lines 1.33 kB
import parseFormData from './utils/parseFormData.js'; import stringifyFormData from './utils/stringifyFormData.js'; const firstIfArray = (data) => (Array.isArray(data) ? data[0] : data); const setActionData = (action, payloadData, responseData) => ({ ...action, payload: { ...action.payload, ...(payloadData === undefined ? {} : { data: payloadData }), }, ...(action.response && { response: { ...action.response, ...(responseData === undefined ? {} : { data: responseData }), }, }), }); const adapter = { prepareOptions({ setStructureInKeys = false }, _serviceId) { return { setStructureInKeys }; }, async normalize(action, _options) { const payloadData = parseFormData(action.payload.data); const responseData = parseFormData(action.response?.data); return setActionData(action, payloadData, responseData); }, async serialize(action, { setStructureInKeys }) { const payloadData = stringifyFormData(firstIfArray(action.payload.data), setStructureInKeys); const responseData = stringifyFormData(firstIfArray(action.response?.data), setStructureInKeys); return setActionData(action, payloadData, responseData); }, }; export default adapter; //# sourceMappingURL=index.js.map