UNPKG

unmock-core

Version:

[![npm](https://img.shields.io/npm/v/unmock-core.svg)][npmjs] [![CircleCI](https://circleci.com/gh/unmock/unmock-js.svg?style=svg)](https://circleci.com/gh/unmock/unmock-js) [![codecov](https://codecov.io/gh/unmock/unmock-js/branch/dev/graph/badge.svg)](h

49 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); class UnmockOptions { constructor(options) { this.useInProduction = false; this.logger = { log: () => undefined }; this.reset(options); this.whitelist = this.whitelist || ["127.0.0.1", "127.0.0.0", "localhost"]; this.regexWhitelist = this.whitelistToRegex(this.whitelist); } reset(options) { if (options === undefined) { return this; } const { logger, signature, whitelist, useInProduction } = options; this.logger = logger || this.logger; this.signature = signature || this.signature; this.whitelist = whitelist ? whitelist : this.whitelist; this.regexWhitelist = this.whitelistToRegex(this.whitelist); this.useInProduction = useInProduction || this.useInProduction; return this; } isWhitelisted(host) { if (this.regexWhitelist === undefined) { return false; } return this.regexWhitelist.filter(wl => wl.test(host)).length > 0; } whitelistToRegex(whitelist) { if (whitelist === undefined) { return []; } whitelist = whitelist instanceof Array ? whitelist : [whitelist]; return whitelist.map((item) => { if (item instanceof RegExp) { return item; } return new RegExp("^" + item .split(/\*+/) .map(lodash_1.escapeRegExp) .join(".*") + "$"); }); } } exports.UnmockOptions = UnmockOptions; //# sourceMappingURL=options.js.map