"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = buildExpressionTemplate; var _babelTemplate = require("babel-template"); var _babelTemplate2 = _interopRequireDefault(_babelTemplate); var _invariant = require("../invariant.js"); var _invariant2 = _interopRequireDefault(_invariant); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Copyright (c) 2017-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ function buildExpressionTemplate(code) { var template = void 0; return function (preludeGenerator) { return function (obj) { if (template === undefined) template = (0, _babelTemplate2.default)(code); if (preludeGenerator !== undefined && code.includes("global")) obj = Object.assign({ global: preludeGenerator.memoizeReference("global") }, obj); var result = template(obj).expression; (0, _invariant2.default)(result !== undefined, "Code does not represent an expression: " + code); return result; }; }; } //# sourceMappingURL=builder.js.map