UNPKG

@fly/cdn

Version:
41 lines 5.15 kB
/** * @module Backends */ import { isObject } from "../util"; import * as errors from "../errors"; /** @hidden */ export function optionNormalizer(map) { return function normalize(input) { if (!map) map = {}; const options = { subdomain: "", directory: "/" }; if (typeof input === "string") { options.subdomain = input.trim(); } else if (isObject(input)) { for (const k of ["subdomain", "directory", "hostname"]) { let alias = map[k]; if (!alias && alias !== false) { alias = k; } if (alias !== false && input[alias]) { const value = input[alias]; options[k] = typeof value === "string" ? value.trim() : value; } } } else { throw errors.invalidInput("options must be a SubdomainOptions object or string"); } if (!options.subdomain) { throw errors.invalidProperty(map["subdomain"] || "subdomain", "is required"); } return options; }; } /** @hidden */ export const normalizeOptions = optionNormalizer(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZG9tYWluX3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmFja2VuZHMvc3ViZG9tYWluX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFTLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBZXBDLGNBQWM7QUFDZCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBOEM7SUFDN0UsT0FBTyxTQUFTLFNBQVMsQ0FBQyxLQUFjO1FBQ3RDLElBQUcsQ0FBQyxHQUFHO1lBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUNqQixNQUFNLE9BQU8sR0FBcUI7WUFDaEMsU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsR0FBRztTQUNmLENBQUM7UUFFRixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNsQzthQUFNLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLEtBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFDO2dCQUNwRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2xCLElBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEtBQUssRUFBQztvQkFDM0IsS0FBSyxHQUFHLENBQUMsQ0FBQTtpQkFDVjtnQkFDRCxJQUFHLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFDO29CQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2lCQUMvRDthQUNGO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ2xGO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDOUU7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsY0FBYztBQUNkLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgQmFja2VuZHNcbiAqL1xuaW1wb3J0IHsgaXNPYmplY3QsIG1lcmdlIH0gZnJvbSBcIi4uL3V0aWxcIjtcbmltcG9ydCAqIGFzIGVycm9ycyBmcm9tIFwiLi4vZXJyb3JzXCI7XG5cbi8qKlxuICogU2V0dGluZ3MgZm9yIGJhY2tlbmRzIHRoYXQgdXNlIHN1YmRvbWFpbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJkb21haW5PcHRpb25zIHtcbiAgW2s6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZFxuICAvKiogQmFja2VuZCdzIHN1YmRvbWFpbjogPHN1YmRvbWFpbj4uZXhhbXBsZS5jb20gKi9cbiAgc3ViZG9tYWluOiBzdHJpbmcsXG4gIC8qKiBTdWJkaXJlY3Rvcnkgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSAoaWYgYW55KSAqL1xuICBkaXJlY3Rvcnk/OiBzdHJpbmcsXG4gIC8qKiBJZiB0aGUgQmFja2VuZCBleHBlY3RzIGEgc3BlY2lmaWMgeC1mb3J3YXJkZWQtaG9zdCwgd2UgbmVlZCB0aGF0IHRvIHByb3h5IHByb3Blcmx5ICovXG4gIGhvc3RuYW1lPzogc3RyaW5nXG59XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uTm9ybWFsaXplcihtYXA/OiB7W2s6c3RyaW5nXTogc3RyaW5nIHwgZmFsc2UgfCB1bmRlZmluZWR9KXtcbiAgcmV0dXJuIGZ1bmN0aW9uIG5vcm1hbGl6ZShpbnB1dDogdW5rbm93bik6IFN1YmRvbWFpbk9wdGlvbnMge1xuICAgIGlmKCFtYXApIG1hcCA9IHt9XG4gICAgY29uc3Qgb3B0aW9uczogU3ViZG9tYWluT3B0aW9ucyA9IHtcbiAgICAgIHN1YmRvbWFpbjogXCJcIixcbiAgICAgIGRpcmVjdG9yeTogXCIvXCJcbiAgICB9O1xuXG4gICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgb3B0aW9ucy5zdWJkb21haW4gPSBpbnB1dC50cmltKCk7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdChpbnB1dCkpIHtcbiAgICAgIGZvcihjb25zdCBrIG9mIFtcInN1YmRvbWFpblwiLCBcImRpcmVjdG9yeVwiLCBcImhvc3RuYW1lXCJdKXtcbiAgICAgICAgbGV0IGFsaWFzID0gbWFwW2tdXG4gICAgICAgIGlmKCFhbGlhcyAmJiBhbGlhcyAhPT0gZmFsc2Upe1xuICAgICAgICAgIGFsaWFzID0ga1xuICAgICAgICB9XG4gICAgICAgIGlmKGFsaWFzICE9PSBmYWxzZSAmJiBpbnB1dFthbGlhc10pe1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gaW5wdXRbYWxpYXNdXG4gICAgICAgICAgb3B0aW9uc1trXSA9IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlLnRyaW0oKSA6IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycm9ycy5pbnZhbGlkSW5wdXQoXCJvcHRpb25zIG11c3QgYmUgYSBTdWJkb21haW5PcHRpb25zIG9iamVjdCBvciBzdHJpbmdcIik7XG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLnN1YmRvbWFpbikge1xuICAgICAgdGhyb3cgZXJyb3JzLmludmFsaWRQcm9wZXJ0eShtYXBbXCJzdWJkb21haW5cIl0gfHwgXCJzdWJkb21haW5cIiwgXCJpcyByZXF1aXJlZFwiKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVPcHRpb25zID0gb3B0aW9uTm9ybWFsaXplcigpOyJdfQ==