2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing
14 * permissions and limitations under the License.
17 import _merge from 'lodash/merge';
19 import Logger from './Logger';
22 * A wrapper for an options object. User-supplied options are merged with defaults,
23 * and the result -- runtime options -- are available by calling #getOptions().
25 export default class Options {
27 // ///////////////////////////////////////////////////////////////////////////////////////////////
30 * Construct options, applying defaults.
31 * @param options optional override options.
33 constructor(options = {}) {
34 this.options = _merge({}, Options.DEFAULTS, options);
37 // ///////////////////////////////////////////////////////////////////////////////////////////////
48 // /////////////////////////////////////////////////////////////////////////////////////////////////
51 * Default options, overridden by anything of the same name.
66 floodColor: '#009fdb',
119 replace: /[^\-\.\+ &%#@\?\(\)\[\]<>\w\d]/g,
124 replace: /[^\-\.\+ &%#@\?\(\)\[\]<>\w\d]/g,
133 replace: /[^\-\.\+ &%#@\?\(\)\[\]<>\w\d]/g,