doff
Version:
A powerful tool to free your objects and arrays from unwanted content
39 lines (26 loc) • 809 B
JavaScript
;
// Load modules
const Doff = require('./Doff');
const Options = require('./options');
const Util = require('./util');
// Internal logic
const INSTANCE = createInstance();
function createInstance(options) {
const context = new Doff(options);
const instance = Util.bind(Doff.prototype.aim, context);
Util.extend(instance, Doff.prototype, context);
Util.extend(instance, context);
return instance;
}
// Define exports
exports = module.exports = INSTANCE;
exports.use = function(options) {
Options.Default.use(options);
return INSTANCE;
};
exports.create = function(options = {}) {
if (options.isolate === true) {
return createInstance(options);
}
return createInstance(Util.merge.with({ atomic: { keys: ['reference'] } }).exec({}, Options.Default, options));
};