UNPKG

@fly/edge

Version:
51 lines 4.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertUrl = exports.assertPresent = exports.invalidProperty = exports.invalidInput = exports.InputError = exports.ValidationError = void 0; /** @module HTTP */ /** @ignore */ class ValidationError extends Error { constructor(field, message) { super(`${field} ${message}`); this.field = field; } } exports.ValidationError = ValidationError; /** @ignore */ class InputError extends Error { } exports.InputError = InputError; /** @ignore */ function invalidInput(message) { return new InputError(message); } exports.invalidInput = invalidInput; /** @ignore */ function invalidProperty(prop, message) { return new ValidationError(prop, message); } exports.invalidProperty = invalidProperty; /** @ignore */ function assertPresent(value, propertyName) { if (!value) { throw new ValidationError(propertyName, "is required"); } } exports.assertPresent = assertPresent; /** @ignore */ function assertUrl(value, propertyName) { if (value instanceof URL) { return; } if (typeof value === "string") { try { //console.log("assertUrl", {value}) const x = new URL(value); //console.log("after url assertUrl", { value, x }) return; } catch (err) { } } throw new ValidationError(propertyName, "must be a valid url"); } exports.assertUrl = assertUrl; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQkFBbUI7QUFDbkIsY0FBYztBQUNkLE1BQWEsZUFBZ0IsU0FBUSxLQUFLO0lBRXhDLFlBQVksS0FBYSxFQUFFLE9BQWU7UUFDeEMsS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBTkQsMENBTUM7QUFFRCxjQUFjO0FBQ2QsTUFBYSxVQUFXLFNBQVEsS0FBSztDQUFJO0FBQXpDLGdDQUF5QztBQUV6QyxjQUFjO0FBQ2QsU0FBZ0IsWUFBWSxDQUFDLE9BQWU7SUFDMUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRkQsb0NBRUM7QUFFRCxjQUFjO0FBQ2QsU0FBZ0IsZUFBZSxDQUFDLElBQVksRUFBRSxPQUFlO0lBQzNELE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFGRCwwQ0FFQztBQUVELGNBQWM7QUFDZCxTQUFnQixhQUFhLENBQUMsS0FBYyxFQUFFLFlBQW9CO0lBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksZUFBZSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztLQUN4RDtBQUNILENBQUM7QUFKRCxzQ0FJQztBQUVELGNBQWM7QUFDZCxTQUFnQixTQUFTLENBQUMsS0FBbUIsRUFBRSxZQUFvQjtJQUNqRSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUU7UUFDeEIsT0FBTztLQUNSO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsSUFBSTtZQUNGLG1DQUFtQztZQUNuQyxNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixrREFBa0Q7WUFDbEQsT0FBTztTQUNSO1FBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRztLQUNsQjtJQUVELE1BQU0sSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDakUsQ0FBQztBQWZELDhCQWVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgSFRUUCAqL1xuLyoqIEBpZ25vcmUgKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihmaWVsZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihgJHtmaWVsZH0gJHttZXNzYWdlfWApO1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgfVxufVxuXG4vKiogQGlnbm9yZSAqL1xuZXhwb3J0IGNsYXNzIElucHV0RXJyb3IgZXh0ZW5kcyBFcnJvciB7IH1cblxuLyoqIEBpZ25vcmUgKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnZhbGlkSW5wdXQobWVzc2FnZTogc3RyaW5nKTogRXJyb3Ige1xuICByZXR1cm4gbmV3IElucHV0RXJyb3IobWVzc2FnZSk7XG59XG5cbi8qKiBAaWdub3JlICovXG5leHBvcnQgZnVuY3Rpb24gaW52YWxpZFByb3BlcnR5KHByb3A6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogRXJyb3Ige1xuICByZXR1cm4gbmV3IFZhbGlkYXRpb25FcnJvcihwcm9wLCBtZXNzYWdlKTtcbn1cblxuLyoqIEBpZ25vcmUgKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRQcmVzZW50KHZhbHVlOiB1bmtub3duLCBwcm9wZXJ0eU5hbWU6IHN0cmluZykge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihwcm9wZXJ0eU5hbWUsIFwiaXMgcmVxdWlyZWRcIik7XG4gIH1cbn1cblxuLyoqIEBpZ25vcmUgKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRVcmwodmFsdWU6IHN0cmluZyB8IFVSTCwgcHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVVJMKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIHRyeSB7XG4gICAgICAvL2NvbnNvbGUubG9nKFwiYXNzZXJ0VXJsXCIsIHt2YWx1ZX0pXG4gICAgICBjb25zdCB4ID0gbmV3IFVSTCh2YWx1ZSk7XG4gICAgICAvL2NvbnNvbGUubG9nKFwiYWZ0ZXIgdXJsIGFzc2VydFVybFwiLCB7IHZhbHVlLCB4IH0pXG4gICAgICByZXR1cm47XG4gICAgfSBjYXRjaCAoZXJyKSB7IH1cbiAgfVxuXG4gIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IocHJvcGVydHlOYW1lLCBcIm11c3QgYmUgYSB2YWxpZCB1cmxcIik7XG59XG4iXX0=