/
githubmr
/
facebook-react
Обзор
Документация
Войти
/
githubmr
/
facebook-react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
v16.9.0
scripts/babel/transform-object-assign-require.js
42 строки
1 KB
Héctor Ramos
Drop the year from Facebook copyright headers and the LICENSE file. (#13593)
08 сен 2018, 01:11
Не верифицирован
08 сен 2018, 01:11
b87aabd
Код
Авторство
О чём код?
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; module.exports = function autoImporter(babel) { function getAssignIdent(path, file, state) { if (state.id) { return state.id; } state.id = file.addImport('object-assign', 'default', 'assign'); return state.id; } return { pre: function() { // map from module to generated identifier this.id = null; }, visitor: { CallExpression: function(path, file) { if (path.get('callee').matchesPattern('Object.assign')) { // generate identifier and require if it hasn't been already const id = getAssignIdent(path, file, this); path.node.callee = id; } }, MemberExpression: function(path, file) { if (path.matchesPattern('Object.assign')) { const id = getAssignIdent(path, file, this); path.replaceWith(id); } }, }, }; };