Blame view

node_modules/loose-envify/loose-envify.js 791 Bytes
aaac7fed   liuqimichale   add
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
  'use strict';
  
  var stream = require('stream');
  var util = require('util');
  var replace = require('./replace');
  
  var jsonExtRe = /\.json$/;
  
  module.exports = function(rootEnv) {
    rootEnv = rootEnv || process.env;
    return function (file, trOpts) {
      if (jsonExtRe.test(file)) {
        return stream.PassThrough();
      }
      var envs = trOpts ? [rootEnv, trOpts] : [rootEnv];
      return new LooseEnvify(envs);
    };
  };
  
  function LooseEnvify(envs) {
    stream.Transform.call(this);
    this._data = '';
    this._envs = envs;
  }
  util.inherits(LooseEnvify, stream.Transform);
  
  LooseEnvify.prototype._transform = function(buf, enc, cb) {
    this._data += buf;
    cb();
  };
  
  LooseEnvify.prototype._flush = function(cb) {
    var replaced = replace(this._data, this._envs);
    this.push(replaced);
    cb();
  };