@@ -10,8 +10,19 @@ const processProps = require('./process-props');
1010const processAttributes = require ( './process-attributes' ) ;
1111const { processPushes, processStacks} = require ( './process-stacks' ) ;
1212const { setFilledSlots, processSlotContent, processFillContent} = require ( './process-slots' ) ;
13+ const defaults = require ( 'lodash/defaults' ) ;
14+ const assignWith = require ( 'lodash/assignWith' ) ;
1315const mergeWith = require ( 'lodash/mergeWith' ) ;
1416const template = require ( 'lodash/template' ) ;
17+ const get = require ( 'lodash/get' ) ;
18+ const has = require ( 'lodash/has' ) ;
19+ const isObjectLike = require ( 'lodash/isObjectLike' ) ;
20+ const isArray = require ( 'lodash/isArray' ) ;
21+ const isEmpty = require ( 'lodash/isEmpty' ) ;
22+ const isBoolean = require ( 'lodash/isBoolean' ) ;
23+ const isUndefined = require ( 'lodash/isUndefined' ) ; // value === undefined
24+ const isNull = require ( 'lodash/isNull' ) ; // value === null
25+ const isNil = require ( 'lodash/isNil' ) ; // value == null
1526
1627// const {inspect} = require('util');
1728// const debug = true;
@@ -45,7 +56,21 @@ module.exports = (options = {}) => tree => {
4556 options . plugins = options . plugins || [ ] ;
4657 options . attrsParserRules = options . attrsParserRules || { } ;
4758 options . strict = typeof options . strict === 'undefined' ? true : options . strict ;
48- options . utilities = options . utilities || { merge : mergeWith , template} ;
59+ options . utilities = options . utilities || {
60+ defaults,
61+ assign : assignWith ,
62+ merge : mergeWith ,
63+ template,
64+ get,
65+ has,
66+ isObject : isObjectLike ,
67+ isArray,
68+ isEmpty,
69+ isBoolean,
70+ isUndefined,
71+ isNull,
72+ isNil
73+ } ;
4974
5075 // Merge customizer callback passed to lodash mergeWith
5176 // for merge attribute `props` and all attributes starting with `merge:`
0 commit comments