Moved seperate utilities into util route.

master
Futago-za Ryuu 6 years ago
parent 83e3b9edc4
commit 878421ab75

@ -163,12 +163,6 @@ declare module "pegjs/lib/util" {
}
declare module "pegjs/lib/util/convert-passes" {
export default peg.util.convertPasses;
}
declare module "pegjs/lib/util/index" {
export default peg.util;
@ -181,9 +175,3 @@ declare module "pegjs/lib/util/objects" {
export default objects;
}
declare module "pegjs/lib/util/process-options" {
export default peg.util.processOptions;
}

@ -1,30 +0,0 @@
"use strict";
// type Pass = ( ast: {}, options: {} ) => void;
// type StageMap = { [string]: { [string]: Pass } };
// type PassMap = { [string]: Pass[] };
//
// The PEG.js compiler runs each `Pass` on the `PassMap` (it's 2nd argument),
// but the compiler api exposes a `StageMap` so that it is easier for plugin
// developer's to access the built-in passes.
//
// This file exposes a method that will take a `StageMap`, and return a
// `PassMap` that can then be passed to the compiler.
const objects = require( "./objects" );
function convertStage( passes ) {
return Array.isArray( passes )
? passes
: objects.values( passes );
}
function convertPasses( stages ) {
return objects.map( stages, convertStage );
}
module.exports = convertPasses;

@ -1,10 +1,52 @@
"use strict";
const objects = require( "./objects" );
objects.extend( exports, objects );
exports.noop = function noop() { };
exports.convertPasses = require( "./convert-passes" );
exports.processOptions = require( "./process-options" );
/**
* ```ts
* type Session = peg.compiler.Session;
* type Pass = ( ast: {}, session: Session, options: {} ) => void;
* type StageMap = { [string]: { [string]: Pass } };
* type PassMap = { [string]: Pass[] };
* ```
*
* The PEG.js compiler runs each `Pass` on the `PassMap` (the `passes` option on it's 2nd
* argument), but the compiler api exposes a `StageMap` so that it is easier for plugin
* developer's to access the built-in passes.
*
* This method takes a `StageMap`, returning a `PassMap` that can be used by the compiler.
*/
exports.convertPasses = ( () => {
objects.extend( exports, objects );
function convertStage( passes ) {
return Array.isArray( passes )
? passes
: objects.values( passes );
}
function convertPasses( stages ) {
return objects.map( stages, convertStage );
}
return convertPasses;
} )();
exports.processOptions = function processOptions( options, defaults ) {
const processedOptions = {};
objects.extend( processedOptions, options );
objects.extend( processedOptions, defaults );
return processedOptions;
};

@ -1,16 +0,0 @@
"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;
Loading…
Cancel
Save