UNPKG

@trademe/ensure

Version:

31 lines (30 loc) 2.88 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ export class EnsureError extends Error { /** * @param {?=} message */ constructor(message) { super(dedent(message)); Object.setPrototypeOf(this, new.target.prototype); } } /** * @param {?} str * @return {?} */ export function dedent(str) { const /** @type {?} */ lines = str.split(/\n/); const /** @type {?} */ minWhipeSpace = lines.reduce((p, n) => { const /** @type {?} */ whitespaceCount = n.search(/\S/); if (whitespaceCount < 0) { return p; } return whitespaceCount < p ? whitespaceCount : p; }, Infinity); const /** @type {?} */ newLines = lines.map(l => l.substr(minWhipeSpace)); return newLines.join('\n'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5zdXJlLWVycm9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRyYWRlbWUvZW5zdXJlLyIsInNvdXJjZXMiOlsiZW5zdXJlLWVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLGtCQUFtQixTQUFRLEtBQUs7Ozs7SUFDbEMsWUFDSSxPQUFnQjtRQUVoQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUNyRDtDQUNKOzs7OztBQUVELE1BQU0saUJBQWtCLEdBQVc7SUFDL0IsdUJBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsdUJBQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDeEMsdUJBQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsRUFBRSxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNaO1FBQ0QsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3BELEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFYix1QkFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN6RCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbnN1cmVFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbWVzc2FnZT86IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcihkZWRlbnQobWVzc2FnZSkpO1xuICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgbmV3LnRhcmdldC5wcm90b3R5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZGVudCAoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpbmVzID0gc3RyLnNwbGl0KC9cXG4vKTtcbiAgICBjb25zdCBtaW5XaGlwZVNwYWNlID0gbGluZXMucmVkdWNlKChwLCBuKSA9PiB7XG4gICAgICAgIGNvbnN0IHdoaXRlc3BhY2VDb3VudCA9IG4uc2VhcmNoKC9cXFMvKTtcbiAgICAgICAgaWYgKHdoaXRlc3BhY2VDb3VudCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB3aGl0ZXNwYWNlQ291bnQgPCBwID8gd2hpdGVzcGFjZUNvdW50IDogcDtcbiAgICB9LCBJbmZpbml0eSk7XG5cbiAgICBjb25zdCBuZXdMaW5lcyA9IGxpbmVzLm1hcChsID0+IGwuc3Vic3RyKG1pbldoaXBlU3BhY2UpKTtcbiAgICByZXR1cm4gbmV3TGluZXMuam9pbignXFxuJyk7XG59XG4iXX0=