Skip to content

Commit 547789c

Browse files
committed
Add export for configure
1 parent 6b21d85 commit 547789c

File tree

2 files changed

+29
-27
lines changed

2 files changed

+29
-27
lines changed

lib/configure.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
module.exports = configure
2+
3+
function configure(base, extension) {
4+
var index = -1
5+
var key
6+
7+
// First do subextensions.
8+
if (extension.extensions) {
9+
while (++index < extension.extensions.length) {
10+
configure(base, extension.extensions[index])
11+
}
12+
}
13+
14+
for (key in extension) {
15+
if (key === 'extensions') {
16+
// Empty.
17+
} else if (key === 'unsafe' || key === 'join') {
18+
base[key] = base[key].concat(extension[key] || [])
19+
} else if (key === 'handlers') {
20+
base[key] = Object.assign(base[key], extension[key] || {})
21+
} else {
22+
base.options[key] = extension[key]
23+
}
24+
}
25+
26+
return base
27+
}

lib/index.js

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
module.exports = toMarkdown
22

33
var zwitch = require('zwitch')
4+
var configure = require('./configure')
45
var defaultHandlers = require('./handle')
5-
var defaultUnsafe = require('./unsafe')
66
var defaultJoin = require('./join')
7+
var defaultUnsafe = require('./unsafe')
78

89
function toMarkdown(tree, options) {
910
var settings = options || {}
@@ -64,32 +65,6 @@ function unknown(node) {
6465
throw new Error('Cannot handle unknown node `' + node.type + '`')
6566
}
6667

67-
function configure(base, extension) {
68-
var index = -1
69-
var key
70-
71-
// First do subextensions.
72-
if (extension.extensions) {
73-
while (++index < extension.extensions.length) {
74-
configure(base, extension.extensions[index])
75-
}
76-
}
77-
78-
for (key in extension) {
79-
if (key === 'extensions') {
80-
// Empty.
81-
} else if (key === 'unsafe' || key === 'join') {
82-
base[key] = base[key].concat(extension[key] || [])
83-
} else if (key === 'handlers') {
84-
base[key] = Object.assign(base[key], extension[key] || {})
85-
} else {
86-
base.options[key] = extension[key]
87-
}
88-
}
89-
90-
return base
91-
}
92-
9368
function joinDefinition(left, right) {
9469
// No blank line between adjacent definitions.
9570
if (left.type === 'definition' && left.type === right.type) {

0 commit comments

Comments
 (0)