UNPKG

comic-vine-sdk

Version:

A JS/TS client for the Comic Vine API

32 lines 3.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadOptions = void 0; const zod_1 = require("zod"); const index_js_1 = require("../errors/index.js"); const options = zod_1.z.object({ /** * The base url for the Comic Vine API. * This could be used to set a proxy when using the library in a browser. * It also ensures that if the comic vine url was to change it wouldn't be a breaking change to the library. * @default https://comicvine.gamespot.com/api/ */ baseUrl: zod_1.z .string() .url() .optional() .default('https://comicvine.gamespot.com/api/'), }); const loadOptions = (userOptions) => { try { return options.parse(userOptions !== null && userOptions !== void 0 ? userOptions : {}); } catch (error) { if (error instanceof zod_1.ZodError) { const validationError = error.issues[0]; throw new index_js_1.OptionsValidationError(validationError.path, validationError.message); } throw (0, index_js_1.customError)(error); } }; exports.loadOptions = loadOptions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3B0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBa0M7QUFDbEMsaURBQXlFO0FBRXpFLE1BQU0sT0FBTyxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkI7Ozs7O09BS0c7SUFDSCxPQUFPLEVBQUUsT0FBQztTQUNQLE1BQU0sRUFBRTtTQUNSLEdBQUcsRUFBRTtTQUNMLFFBQVEsRUFBRTtTQUNWLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQztDQUNsRCxDQUFDLENBQUM7QUFLSSxNQUFNLFdBQVcsR0FBRyxDQUFDLFdBQXlCLEVBQUUsRUFBRTtJQUN2RCxJQUFJLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxLQUFLLFlBQVksY0FBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLElBQUksaUNBQXNCLENBQzlCLGVBQWUsQ0FBQyxJQUFJLEVBQ3BCLGVBQWUsQ0FBQyxPQUFPLENBQ3hCLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxJQUFBLHNCQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUMsQ0FBQztBQWJXLFFBQUEsV0FBVyxlQWF0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHosIFpvZEVycm9yIH0gZnJvbSAnem9kJztcbmltcG9ydCB7IGN1c3RvbUVycm9yLCBPcHRpb25zVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL2luZGV4LmpzJztcblxuY29uc3Qgb3B0aW9ucyA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIHVybCBmb3IgdGhlIENvbWljIFZpbmUgQVBJLlxuICAgKiBUaGlzIGNvdWxkIGJlIHVzZWQgdG8gc2V0IGEgcHJveHkgd2hlbiB1c2luZyB0aGUgbGlicmFyeSBpbiBhIGJyb3dzZXIuXG4gICAqIEl0IGFsc28gZW5zdXJlcyB0aGF0IGlmIHRoZSBjb21pYyB2aW5lIHVybCB3YXMgdG8gY2hhbmdlIGl0IHdvdWxkbid0IGJlIGEgYnJlYWtpbmcgY2hhbmdlIHRvIHRoZSBsaWJyYXJ5LlxuICAgKiBAZGVmYXVsdCBodHRwczovL2NvbWljdmluZS5nYW1lc3BvdC5jb20vYXBpL1xuICAgKi9cbiAgYmFzZVVybDogelxuICAgIC5zdHJpbmcoKVxuICAgIC51cmwoKVxuICAgIC5vcHRpb25hbCgpXG4gICAgLmRlZmF1bHQoJ2h0dHBzOi8vY29taWN2aW5lLmdhbWVzcG90LmNvbS9hcGkvJyksXG59KTtcblxuZXhwb3J0IHR5cGUgdXNlck9wdGlvbnMgPSB6LmlucHV0PHR5cGVvZiBvcHRpb25zPjtcbmV4cG9ydCB0eXBlIE9wdGlvbnMgPSB6Lm91dHB1dDx0eXBlb2Ygb3B0aW9ucz47XG5cbmV4cG9ydCBjb25zdCBsb2FkT3B0aW9ucyA9ICh1c2VyT3B0aW9ucz86IHVzZXJPcHRpb25zKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG9wdGlvbnMucGFyc2UodXNlck9wdGlvbnMgPz8ge30pO1xuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFpvZEVycm9yKSB7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3IgPSBlcnJvci5pc3N1ZXNbMF07XG4gICAgICB0aHJvdyBuZXcgT3B0aW9uc1ZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgdmFsaWRhdGlvbkVycm9yLnBhdGgsXG4gICAgICAgIHZhbGlkYXRpb25FcnJvci5tZXNzYWdlLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhyb3cgY3VzdG9tRXJyb3IoZXJyb3IpO1xuICB9XG59O1xuIl19