26 lines
643 B
JavaScript
26 lines
643 B
JavaScript
'use strict'
|
|
|
|
module.exports = function parseOptions (params) {
|
|
if (typeof params.plugins === 'function') {
|
|
params.plugins = params.plugins.call(this, this)
|
|
}
|
|
|
|
let plugins
|
|
|
|
if (typeof params.plugins === 'undefined') plugins = []
|
|
else if (Array.isArray(params.plugins)) plugins = params.plugins
|
|
else plugins = [ params.plugins ]
|
|
|
|
const options = {}
|
|
|
|
if (typeof params !== 'undefined') {
|
|
options.parser = params.parser
|
|
options.syntax = params.syntax
|
|
options.stringifier = params.stringifier
|
|
}
|
|
|
|
const exec = params && params.exec
|
|
|
|
return Promise.resolve({ options: options, plugins: plugins, exec: exec })
|
|
}
|