diff --git a/lib/compiler/index.js b/lib/compiler/index.js index 246e4c7..955fff0 100644 --- a/lib/compiler/index.js +++ b/lib/compiler/index.js @@ -15,17 +15,6 @@ const Session = require( "./session" ); const util = require( "../util" ); const vm = require( "./vm" ); -function processOptions( options, defaults ) { - - const processedOptions = {}; - - util.extend( processedOptions, options ); - util.extend( processedOptions, defaults ); - - return processedOptions; - -} - const compiler = { Session: Session, @@ -64,7 +53,7 @@ const compiler = { options = typeof options !== "undefined" ? options : {}; - options = processOptions( options, { + options = util.processOptions( options, { allowedStartRules: [ ast.rules[ 0 ].name ], cache: false, context: {}, diff --git a/lib/typings/api.d.ts b/lib/typings/api.d.ts index ccae834..69b7e93 100644 --- a/lib/typings/api.d.ts +++ b/lib/typings/api.d.ts @@ -538,8 +538,6 @@ declare namespace peg { interface IObjectUtils { - convertPasses( stages: IStageMap ): compiler.IPassesMap; - clone( source: {} ): {}; each( object: {}, iterator: IIterator ): void; extend( target: {}, source: {} ): {}; @@ -550,7 +548,9 @@ declare namespace peg { } interface util extends IObjectUtils { + noop(): void; convertPasses( stages: IStageMap ): compiler.IPassesMap; + processOptions( options: {}, defaults: {} ): {}; } const util: util; diff --git a/lib/typings/modules.d.ts b/lib/typings/modules.d.ts index e710871..740296a 100644 --- a/lib/typings/modules.d.ts +++ b/lib/typings/modules.d.ts @@ -181,3 +181,9 @@ declare module "pegjs/lib/util/objects" { export default objects; } + +declare module "pegjs/lib/util/process-options" { + + export default peg.util.processOptions; + +} diff --git a/lib/util/index.js b/lib/util/index.js index 526fc7f..ad6ebb3 100644 --- a/lib/util/index.js +++ b/lib/util/index.js @@ -5,5 +5,6 @@ const objects = require( "./objects" ); exports.noop = function noop() { }; exports.convertPasses = require( "./convert-passes" ); +exports.processOptions = require( "./process-options" ); objects.extend( exports, objects ); diff --git a/lib/util/process-options.js b/lib/util/process-options.js new file mode 100644 index 0000000..cf06a83 --- /dev/null +++ b/lib/util/process-options.js @@ -0,0 +1,16 @@ +"use strict"; + +const objects = require( "./objects" ); + +function processOptions( options, defaults ) { + + const processedOptions = {}; + + objects.extend( processedOptions, options ); + objects.extend( processedOptions, defaults ); + + return processedOptions; + +} + +module.exports = processOptions;