-
Notifications
You must be signed in to change notification settings - Fork 10
/
index.js
41 lines (34 loc) · 1.06 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/** ******************************************************************************************************************
* @file Description of file here.
* @author Julian Jensen <jjdanois@gmail.com>
* @since 1.0.0
* @date Sat Dec 16 2017
*********************************************************************************************************************/
"use strict";
require = require( 'esm' )( module, { mode: 'auto' } ); // eslint-disable-line no-native-reassign
const CFG = require( './src/cfg' ).default;
const { Block, Edge } = require( './src/types' );
const {
load_plugins,
plugin,
current
} = require( './src/utils' );
let loaded = false;
/**
* @param {string} s
* @param {object} [o]
* @return {CFG}
*/
function load( s, o )
{
if ( !loaded && o && o.plugins )
{
loaded = true;
load_plugins( o.plugins );
plugin( 'general', 'postload', current );
}
return new CFG( s, o );
}
load.Block = Block;
load.Edge = Edge;
module.exports = load;