"use strict";

var Stringifier = require('./stringifier');

module.exports = function (node, builder) {
  var str = new Stringifier(builder);
  str.stringify(node);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZ2lmeS5lczYiXSwibmFtZXMiOlsiU3RyaW5naWZpZXIiLCJyZXF1aXJlIiwibW9kdWxlIiwiZXhwb3J0cyIsIm5vZGUiLCJidWlsZGVyIiwic3RyIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOztBQUFBLElBQU1BLFdBQVcsR0FBR0MsT0FBTyxDQUFDLGVBQUQsQ0FBM0I7O0FBRUFDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixVQUFDQyxJQUFELEVBQU9DLE9BQVAsRUFBbUI7QUFDbEMsTUFBSUMsR0FBRyxHQUFHLElBQUlOLFdBQUosQ0FBZ0JLLE9BQWhCLENBQVY7QUFDQUMsRUFBQUEsR0FBRyxDQUFDQyxTQUFKLENBQWNILElBQWQ7QUFDRCxDQUhEIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU3RyaW5naWZpZXIgPSByZXF1aXJlKCcuL3N0cmluZ2lmaWVyJylcblxubW9kdWxlLmV4cG9ydHMgPSAobm9kZSwgYnVpbGRlcikgPT4ge1xuICBsZXQgc3RyID0gbmV3IFN0cmluZ2lmaWVyKGJ1aWxkZXIpXG4gIHN0ci5zdHJpbmdpZnkobm9kZSlcbn1cbiJdfQ==