UNPKG

@chubbyts/chubbyts-decode-encode

Version:

A simple decode/encode solution for json / jsonx / url-encoded / xml / yaml.

31 lines (30 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createUrlEncodedTypeEncoder = void 0; const qs_1 = require("qs"); const index_1 = require("../index.cjs"); const encodeValue = (value) => { if ((0, index_1.isObject)(value)) { return Object.fromEntries(Object.entries(value).map(([subKey, subValue]) => [subKey, encodeValue(subValue)])); } if ((0, index_1.isArray)(value)) { return value.map(encodeValue); } if ((0, index_1.isNumber)(value)) { return value.toString(); } if ((0, index_1.isBoolean)(value)) { return value ? 'true' : 'false'; } if ((0, index_1.isNull)(value)) { return 'null'; } return value; }; const createUrlEncodedTypeEncoder = () => { return { encode: (data) => (0, qs_1.stringify)(encodeValue(data), { encodeValuesOnly: true }), contentType: 'application/x-www-form-urlencoded', }; }; exports.createUrlEncodedTypeEncoder = createUrlEncodedTypeEncoder;