You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
670 B
35 lines
670 B
'use strict' |
|
|
|
var hasOwnProperty = require('../constant/has-own-property.js') |
|
|
|
// Combine several HTML extensions into one. |
|
function combineHtmlExtensions(extensions) { |
|
var handlers = {} |
|
var index = -1 |
|
|
|
while (++index < extensions.length) { |
|
extension(handlers, extensions[index]) |
|
} |
|
|
|
return handlers |
|
} |
|
|
|
function extension(handlers, extension) { |
|
var hook |
|
var left |
|
var right |
|
var type |
|
|
|
for (hook in extension) { |
|
left = hasOwnProperty.call(handlers, hook) |
|
? handlers[hook] |
|
: (handlers[hook] = {}) |
|
right = extension[hook] |
|
|
|
for (type in right) { |
|
left[type] = right[type] |
|
} |
|
} |
|
} |
|
|
|
module.exports = combineHtmlExtensions
|
|
|