Introduce objectWithoutPropertiesLoose helper (#8261)
This commit is contained in:
parent
cea562c009
commit
c0c13ae30f
@ -584,8 +584,8 @@ helpers.objectDestructuringEmpty = () => template.program.ast`
|
||||
}
|
||||
`;
|
||||
|
||||
helpers.objectWithoutProperties = () => template.program.ast`
|
||||
export default function _objectWithoutProperties(source, excluded) {
|
||||
helpers.objectWithoutPropertiesLoose = () => template.program.ast`
|
||||
export default function _objectWithoutPropertiesLoose(source, excluded) {
|
||||
if (source == null) return {};
|
||||
|
||||
var target = {};
|
||||
@ -598,6 +598,19 @@ helpers.objectWithoutProperties = () => template.program.ast`
|
||||
target[key] = source[key];
|
||||
}
|
||||
|
||||
return target;
|
||||
}
|
||||
`;
|
||||
|
||||
helpers.objectWithoutProperties = () => template.program.ast`
|
||||
import objectWithoutPropertiesLoose from "objectWithoutPropertiesLoose";
|
||||
|
||||
export default function _objectWithoutProperties(source, excluded) {
|
||||
if (source == null) return {};
|
||||
|
||||
var target = objectWithoutPropertiesLoose(source, excluded);
|
||||
var key, i;
|
||||
|
||||
if (Object.getOwnPropertySymbols) {
|
||||
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
||||
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
||||
|
||||
@ -128,10 +128,10 @@ export default declare((api, opts) => {
|
||||
return [
|
||||
impureComputedPropertyDeclarators,
|
||||
restElement.argument,
|
||||
t.callExpression(file.addHelper("objectWithoutProperties"), [
|
||||
t.cloneNode(objRef),
|
||||
keyExpression,
|
||||
]),
|
||||
t.callExpression(
|
||||
file.addHelper(`objectWithoutProperties${loose ? "Loose" : ""}`),
|
||||
[t.cloneNode(objRef), keyExpression],
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
z = { x, ...y };
|
||||
|
||||
z = { x, w: { ...y } };
|
||||
|
||||
const { q, ...rest } = z;
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
|
||||
z = _extends({
|
||||
@ -7,3 +9,8 @@ z = {
|
||||
x,
|
||||
w: _extends({}, y)
|
||||
};
|
||||
|
||||
const {
|
||||
q
|
||||
} = z,
|
||||
rest = _objectWithoutPropertiesLoose(z, ["q"]);
|
||||
|
||||
@ -188,10 +188,10 @@ export default declare((api, options) => {
|
||||
} else {
|
||||
keys = t.arrayExpression(keys);
|
||||
|
||||
value = t.callExpression(this.addHelper("objectWithoutProperties"), [
|
||||
t.cloneNode(objRef),
|
||||
keys,
|
||||
]);
|
||||
value = t.callExpression(
|
||||
this.addHelper(`objectWithoutProperties${loose ? "Loose" : ""}`),
|
||||
[t.cloneNode(objRef), keys],
|
||||
);
|
||||
}
|
||||
|
||||
this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value));
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
var z = {};
|
||||
var { ...x } = z;
|
||||
var { x, ...y } = z;
|
||||
var { [x]: x, ...y } = z;
|
||||
(function({ x, ...y }) { });
|
||||
|
||||
({ x, y, ...z } = o);
|
||||
@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": [
|
||||
["transform-destructuring", { "loose": true }],
|
||||
"proposal-object-rest-spread"
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
|
||||
var z = {};
|
||||
|
||||
var _z = z,
|
||||
x = _extends({}, _z);
|
||||
|
||||
var _z2 = z,
|
||||
x = _z2.x,
|
||||
y = _objectWithoutPropertiesLoose(_z2, ["x"]);
|
||||
|
||||
var _z3 = z,
|
||||
x = _z3[x],
|
||||
y = _objectWithoutPropertiesLoose(_z3, [x]);
|
||||
|
||||
(function (_ref) {
|
||||
let x = _ref.x,
|
||||
y = _objectWithoutPropertiesLoose(_ref, ["x"]);
|
||||
});
|
||||
|
||||
var _o = o;
|
||||
x = _o.x;
|
||||
y = _o.y;
|
||||
z = _objectWithoutPropertiesLoose(_o, ["x", "y"]);
|
||||
_o;
|
||||
@ -2,7 +2,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
|
||||
|
||||
|
||||
@ -26,7 +26,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
|
||||
|
||||
|
||||
@ -2,7 +2,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user