Newer
Older
vmk-demo-bot / admin / node_modules / gulp-file-include / lib / replace-variable.js
@eugene-sukhodolskiy eugene-sukhodolskiy 18 days ago 499 bytes init
'use strict'

const flatten = require('flatnest').flatten

module.exports = function(content, data, opts) {
  var prefix = opts.prefix + '[ ]*'
  var suffix = opts.suffix ? '[ ]*' + opts.suffix : ''
  data = flatten(data)
  // sort keys by longest keys to iterate in that order
  var keys = Object.keys(data).sort()
  var i = keys.length - 1
  var key

  for (; ~i; i -= 1) {
    key = keys[i]
    content = content.replace(new RegExp(prefix + key + suffix, 'g'), data[key])
  }

  return content
}