UNPKG

comic-vine-sdk

Version:

A JS/TS client for the Comic Vine API

34 lines 5.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertCamelCaseToSnakeCase = exports.convertSnakeCaseToCamelCase = exports.toSnakeCase = exports.toCamelCase = void 0; const is_object_js_1 = require("./is-object.js"); const toCamelCase = (str) => { return str.replace(/([-_][a-z])/gi, ($1) => { return $1.toUpperCase().replace('-', '').replace('_', ''); }); }; exports.toCamelCase = toCamelCase; const toSnakeCase = (str) => str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`); exports.toSnakeCase = toSnakeCase; const convertCase = (caseConverter, object) => { if ((0, is_object_js_1.isObject)(object)) { const newObject = {}; Object.keys(object).forEach((key) => { newObject[caseConverter(key)] = convertCase(caseConverter, object[key]); }); return newObject; } else if (Array.isArray(object)) { return object.map((arrayElement) => convertCase(caseConverter, arrayElement)); } return object; }; const convertSnakeCaseToCamelCase = (object) => { return convertCase(exports.toCamelCase, object); }; exports.convertSnakeCaseToCamelCase = convertSnakeCaseToCamelCase; const convertCamelCaseToSnakeCase = (object) => { return convertCase(exports.toSnakeCase, object); }; exports.convertCamelCaseToSnakeCase = convertCamelCaseToSnakeCase; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY2FzZS1jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTBDO0FBRW5DLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7SUFDakQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUpXLFFBQUEsV0FBVyxlQUl0QjtBQUVLLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDekMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztBQURuRCxRQUFBLFdBQVcsZUFDd0M7QUFJaEUsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsYUFBNEIsRUFDNUIsTUFBZSxFQUNOLEVBQUU7SUFDWCxJQUFJLElBQUEsdUJBQVEsRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxHQUE0QixFQUFFLENBQUM7UUFFOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFpQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDN0QsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FDekMsYUFBYSxFQUNaLE1BQWtDLENBQUMsR0FBRyxDQUFDLENBQ3pDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUNqQyxXQUFXLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVLLE1BQU0sMkJBQTJCLEdBQUcsQ0FDekMsTUFBZSxFQUNILEVBQUU7SUFDZCxPQUFPLFdBQVcsQ0FBQyxtQkFBVyxFQUFFLE1BQU0sQ0FBZSxDQUFDO0FBQ3hELENBQUMsQ0FBQztBQUpXLFFBQUEsMkJBQTJCLCtCQUl0QztBQUVLLE1BQU0sMkJBQTJCLEdBQUcsQ0FDekMsTUFBZSxFQUNILEVBQUU7SUFDZCxPQUFPLFdBQVcsQ0FBQyxtQkFBVyxFQUFFLE1BQU0sQ0FBZSxDQUFDO0FBQ3hELENBQUMsQ0FBQztBQUpXLFFBQUEsMkJBQTJCLCtCQUl0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi9pcy1vYmplY3QuanMnO1xuXG5leHBvcnQgY29uc3QgdG9DYW1lbENhc2UgPSAoc3RyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbLV9dW2Etel0pL2dpLCAoJDEpID0+IHtcbiAgICByZXR1cm4gJDEudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJycpLnJlcGxhY2UoJ18nLCAnJyk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICBzdHIucmVwbGFjZSgvW0EtWl0vZywgKGxldHRlcikgPT4gYF8ke2xldHRlci50b0xvd2VyQ2FzZSgpfWApO1xuXG50eXBlIENhc2VDb252ZXJ0ZXIgPSAoc3RyOiBzdHJpbmcpID0+IHN0cmluZztcblxuY29uc3QgY29udmVydENhc2UgPSAoXG4gIGNhc2VDb252ZXJ0ZXI6IENhc2VDb252ZXJ0ZXIsXG4gIG9iamVjdDogdW5rbm93bixcbik6IHVua25vd24gPT4ge1xuICBpZiAoaXNPYmplY3Qob2JqZWN0KSkge1xuICAgIGNvbnN0IG5ld09iamVjdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKG9iamVjdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBuZXdPYmplY3RbY2FzZUNvbnZlcnRlcihrZXkpXSA9IGNvbnZlcnRDYXNlKFxuICAgICAgICBjYXNlQ29udmVydGVyLFxuICAgICAgICAob2JqZWN0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtrZXldLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdPYmplY3Q7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgcmV0dXJuIG9iamVjdC5tYXAoKGFycmF5RWxlbWVudCkgPT5cbiAgICAgIGNvbnZlcnRDYXNlKGNhc2VDb252ZXJ0ZXIsIGFycmF5RWxlbWVudCksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBvYmplY3Q7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydFNuYWtlQ2FzZVRvQ2FtZWxDYXNlID0gPFJldHVyblR5cGU+KFxuICBvYmplY3Q6IHVua25vd24sXG4pOiBSZXR1cm5UeXBlID0+IHtcbiAgcmV0dXJuIGNvbnZlcnRDYXNlKHRvQ2FtZWxDYXNlLCBvYmplY3QpIGFzIFJldHVyblR5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydENhbWVsQ2FzZVRvU25ha2VDYXNlID0gPFJldHVyblR5cGU+KFxuICBvYmplY3Q6IHVua25vd24sXG4pOiBSZXR1cm5UeXBlID0+IHtcbiAgcmV0dXJuIGNvbnZlcnRDYXNlKHRvU25ha2VDYXNlLCBvYmplY3QpIGFzIFJldHVyblR5cGU7XG59O1xuIl19