shiqiyue-linkedin-private-api
Version:

59 lines • 2.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.querySerializer = exports.paramsSerializer2 = exports.paramsSerializer = void 0;
const lodash_1 = require("lodash");
const querystring_1 = require("querystring");
const encodeFilter = (value, key) => encodeURIComponent(`${key}->${lodash_1.castArray(value).join('|')}`);
const encodeFilter2 = (value, key) => encodeURIComponent(`${key}:${lodash_1.castArray(value).join('|')}`);
const encodeFilter3 = (value, key) => (`${key}:${lodash_1.castArray(value).join(',')}`);
const paramsSerializer = (params) => {
const encodedParams = lodash_1.mapValues(params, value => {
if (!lodash_1.isArray(value) && !lodash_1.isPlainObject(value)) {
return value.toString();
}
if (lodash_1.isArray(value)) {
return `List(${value.join(',')})`;
}
const encodedList = lodash_1.reduce(value, (res, filterVal, filterKey) => `${res}${res ? ',' : ''}${encodeFilter(filterVal, filterKey)}`, '');
return `List(${encodedList})`;
});
return querystring_1.stringify(encodedParams, undefined, undefined, {
encodeURIComponent: uri => uri,
});
};
exports.paramsSerializer = paramsSerializer;
const paramsSerializer2 = (params) => {
const encodedParams = lodash_1.mapValues(params, value => {
if (!lodash_1.isArray(value) && !lodash_1.isPlainObject(value)) {
return value.toString();
}
if (lodash_1.isArray(value)) {
return `List(${value.join(',')})`;
}
const encodedList = lodash_1.reduce(value, (res, filterVal, filterKey) => `${res}${res ? ',' : ''}${encodeFilter2(filterVal, filterKey)}`, '');
return `(${encodedList})`;
});
return querystring_1.stringify(encodedParams, undefined, undefined, {
encodeURIComponent: uri => uri,
});
};
exports.paramsSerializer2 = paramsSerializer2;
const querySerializer = (params) => {
const encodedParams = lodash_1.mapValues(params, value => {
if (!lodash_1.isArray(value) && !lodash_1.isPlainObject(value)) {
return value.toString();
}
if (lodash_1.isArray(value)) {
return `List(${value.join(',')})`;
}
const encodedList = exports.querySerializer(value);
return `${encodedList}`;
});
const rs = [];
for (const encodedParamsKey in encodedParams) {
rs.push(`${encodedParamsKey}:${lodash_1.castArray(encodedParams[encodedParamsKey]).join(',')}`);
}
return `(${rs.join(',')})`;
};
exports.querySerializer = querySerializer;
//# sourceMappingURL=paramsSerializer.js.map