UNPKG

unstructured-client

Version:

<h3 align="center"> <img src="https://raw.githubusercontent.com/Unstructured-IO/unstructured/main/img/unstructured_logo.png" height="200" > </h3>

368 lines 12.3 kB
"use strict"; /* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.appendForm = exports.encodeDeepObjectQuery = exports.encodePipeDelimitedQuery = exports.encodeSpaceDelimitedQuery = exports.encodeFormQuery = exports.encodeJSONQuery = exports.queryEncoder = exports.queryJoin = exports.encodeSimple = exports.encodeJSON = exports.encodeDeepObjectObject = exports.encodeDeepObject = exports.encodeBodyForm = exports.encodePipeDelimited = exports.encodeSpaceDelimited = exports.encodeForm = exports.encodeLabel = exports.encodeMatrix = exports.EncodingError = void 0; const base64_js_1 = require("./base64.js"); const is_plain_object_js_1 = require("./is-plain-object.js"); class EncodingError extends Error { constructor(message) { super(message); this.name = "EncodingError"; } } exports.EncodingError = EncodingError; function encodeMatrix(key, value, options) { let out = ""; const pairs = options?.explode ? explode(key, value) : [[key, value]]; if (pairs.every(([_, v]) => v == null)) { return; } const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; const encodeValue = (v) => encodeString(serializeValue(v)); pairs.forEach(([pk, pv]) => { let tmp = ""; let encValue = null; if (pv == null) { return; } else if (Array.isArray(pv)) { encValue = mapDefined(pv, (v) => `${encodeValue(v)}`)?.join(","); } else if ((0, is_plain_object_js_1.isPlainObject)(pv)) { const mapped = mapDefinedEntries(Object.entries(pv), ([k, v]) => { return `,${encodeString(k)},${encodeValue(v)}`; }); encValue = mapped?.join("").slice(1); } else { encValue = `${encodeValue(pv)}`; } if (encValue == null) { return; } const keyPrefix = encodeString(pk); tmp = `${keyPrefix}=${encValue}`; // trim trailing '=' if value was empty if (tmp === `${keyPrefix}=`) { tmp = tmp.slice(0, -1); } // If we end up with the nothing then skip forward if (!tmp) { return; } out += `;${tmp}`; }); return out; } exports.encodeMatrix = encodeMatrix; function encodeLabel(key, value, options) { let out = ""; const pairs = options?.explode ? explode(key, value) : [[key, value]]; if (pairs.every(([_, v]) => v == null)) { return; } const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; const encodeValue = (v) => encodeString(serializeValue(v)); pairs.forEach(([pk, pv]) => { let encValue = ""; if (pv == null) { return; } else if (Array.isArray(pv)) { encValue = mapDefined(pv, (v) => `${encodeValue(v)}`)?.join("."); } else if ((0, is_plain_object_js_1.isPlainObject)(pv)) { const mapped = mapDefinedEntries(Object.entries(pv), ([k, v]) => { return `.${encodeString(k)}.${encodeValue(v)}`; }); encValue = mapped?.join("").slice(1); } else { const k = options?.explode && (0, is_plain_object_js_1.isPlainObject)(value) ? `${encodeString(pk)}=` : ""; encValue = `${k}${encodeValue(pv)}`; } out += encValue == null ? "" : `.${encValue}`; }); return out; } exports.encodeLabel = encodeLabel; function formEncoder(sep) { return (key, value, options) => { let out = ""; const pairs = options?.explode ? explode(key, value) : [[key, value]]; if (pairs.every(([_, v]) => v == null)) { return; } const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; const encodeValue = (v) => encodeString(serializeValue(v)); const encodedSep = encodeString(sep); pairs.forEach(([pk, pv]) => { let tmp = ""; let encValue = null; if (pv == null) { return; } else if (Array.isArray(pv)) { encValue = mapDefined(pv, (v) => `${encodeValue(v)}`)?.join(encodedSep); } else if ((0, is_plain_object_js_1.isPlainObject)(pv)) { encValue = mapDefinedEntries(Object.entries(pv), ([k, v]) => { return `${encodeString(k)}${encodedSep}${encodeValue(v)}`; })?.join(encodedSep); } else { encValue = `${encodeValue(pv)}`; } if (encValue == null) { return; } tmp = `${encodeString(pk)}=${encValue}`; // If we end up with the nothing then skip forward if (!tmp || tmp === "=") { return; } out += `&${tmp}`; }); return out.slice(1); }; } exports.encodeForm = formEncoder(","); exports.encodeSpaceDelimited = formEncoder(" "); exports.encodePipeDelimited = formEncoder("|"); function encodeBodyForm(key, value, options) { let out = ""; const pairs = options?.explode ? explode(key, value) : [[key, value]]; const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; const encodeValue = (v) => encodeString(serializeValue(v)); pairs.forEach(([pk, pv]) => { let tmp = ""; let encValue = ""; if (pv == null) { return; } else if (Array.isArray(pv)) { encValue = JSON.stringify(pv, jsonReplacer); } else if ((0, is_plain_object_js_1.isPlainObject)(pv)) { encValue = JSON.stringify(pv, jsonReplacer); } else { encValue = `${encodeValue(pv)}`; } tmp = `${encodeString(pk)}=${encValue}`; // If we end up with the nothing then skip forward if (!tmp || tmp === "=") { return; } out += `&${tmp}`; }); return out.slice(1); } exports.encodeBodyForm = encodeBodyForm; function encodeDeepObject(key, value, options) { if (value == null) { return; } if (!(0, is_plain_object_js_1.isPlainObject)(value)) { throw new EncodingError(`Value of parameter '${key}' which uses deepObject encoding must be an object or null`); } return encodeDeepObjectObject(key, value, options); } exports.encodeDeepObject = encodeDeepObject; function encodeDeepObjectObject(key, value, options) { if (value == null) { return; } let out = ""; const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; if (!(0, is_plain_object_js_1.isPlainObject)(value)) { throw new EncodingError(`Expected parameter '${key}' to be an object.`); } Object.entries(value).forEach(([ck, cv]) => { if (cv == null) { return; } const pk = `${key}[${ck}]`; if ((0, is_plain_object_js_1.isPlainObject)(cv)) { const objOut = encodeDeepObjectObject(pk, cv, options); out += objOut == null ? "" : `&${objOut}`; return; } const pairs = Array.isArray(cv) ? cv : [cv]; const encoded = mapDefined(pairs, (v) => { return `${encodeString(pk)}=${encodeString(serializeValue(v))}`; })?.join("&"); out += encoded == null ? "" : `&${encoded}`; }); return out.slice(1); } exports.encodeDeepObjectObject = encodeDeepObjectObject; function encodeJSON(key, value, options) { if (typeof value === "undefined") { return; } const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; const encVal = encodeString(JSON.stringify(value, jsonReplacer)); return options?.explode ? encVal : `${encodeString(key)}=${encVal}`; } exports.encodeJSON = encodeJSON; const encodeSimple = (key, value, options) => { let out = ""; const pairs = options?.explode ? explode(key, value) : [[key, value]]; if (pairs.every(([_, v]) => v == null)) { return; } const encodeString = (v) => { return options?.charEncoding === "percent" ? encodeURIComponent(v) : v; }; const encodeValue = (v) => encodeString(serializeValue(v)); pairs.forEach(([pk, pv]) => { let tmp = ""; if (pv == null) { return; } else if (Array.isArray(pv)) { tmp = mapDefined(pv, (v) => `${encodeValue(v)}`)?.join(","); } else if ((0, is_plain_object_js_1.isPlainObject)(pv)) { const mapped = mapDefinedEntries(Object.entries(pv), ([k, v]) => { return `,${encodeString(k)},${encodeValue(v)}`; }); tmp = mapped?.join("").slice(1); } else { const k = options?.explode && (0, is_plain_object_js_1.isPlainObject)(value) ? `${pk}=` : ""; tmp = `${k}${encodeValue(pv)}`; } out += tmp ? `,${tmp}` : ""; }); return out.slice(1); }; exports.encodeSimple = encodeSimple; function explode(key, value) { if (Array.isArray(value)) { return value.map((v) => [key, v]); } else if ((0, is_plain_object_js_1.isPlainObject)(value)) { const o = value ?? {}; return Object.entries(o).map(([k, v]) => [k, v]); } else { return [[key, value]]; } } function serializeValue(value) { if (value == null) { return ""; } else if (value instanceof Date) { return value.toISOString(); } else if (value instanceof Uint8Array) { return (0, base64_js_1.bytesToBase64)(value); } else if (typeof value === "object") { return JSON.stringify(value, jsonReplacer); } return `${value}`; } function jsonReplacer(_, value) { if (value instanceof Uint8Array) { return (0, base64_js_1.bytesToBase64)(value); } else { return value; } } function mapDefined(inp, mapper) { const res = inp.reduce((acc, v) => { if (v == null) { return acc; } const m = mapper(v); if (m == null) { return acc; } acc.push(m); return acc; }, []); return res.length ? res : null; } function mapDefinedEntries(inp, mapper) { const acc = []; for (const [k, v] of inp) { if (v == null) { continue; } const m = mapper([k, v]); if (m == null) { continue; } acc.push(m); } return acc.length ? acc : null; } function queryJoin(...args) { return args.filter(Boolean).join("&"); } exports.queryJoin = queryJoin; function queryEncoder(f) { const bulkEncode = function (values, options) { const opts = { ...options, explode: options?.explode ?? true, charEncoding: options?.charEncoding ?? "percent", }; const encoded = Object.entries(values).map(([key, value]) => { return f(key, value, opts); }); return queryJoin(...encoded); }; return bulkEncode; } exports.queryEncoder = queryEncoder; exports.encodeJSONQuery = queryEncoder(encodeJSON); exports.encodeFormQuery = queryEncoder(exports.encodeForm); exports.encodeSpaceDelimitedQuery = queryEncoder(exports.encodeSpaceDelimited); exports.encodePipeDelimitedQuery = queryEncoder(exports.encodePipeDelimited); exports.encodeDeepObjectQuery = queryEncoder(encodeDeepObject); function appendForm(fd, key, value, fileName) { if (value == null) { return; } else if (value instanceof Blob && fileName) { fd.append(key, value, fileName); } else if (value instanceof Blob) { fd.append(key, value); } else { fd.append(key, String(value)); } } exports.appendForm = appendForm; //# sourceMappingURL=encodings.js.map