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`
|
helpers.objectWithoutPropertiesLoose = () => template.program.ast`
|
||||||
export default function _objectWithoutProperties(source, excluded) {
|
export default function _objectWithoutPropertiesLoose(source, excluded) {
|
||||||
if (source == null) return {};
|
if (source == null) return {};
|
||||||
|
|
||||||
var target = {};
|
var target = {};
|
||||||
@ -598,6 +598,19 @@ helpers.objectWithoutProperties = () => template.program.ast`
|
|||||||
target[key] = source[key];
|
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) {
|
if (Object.getOwnPropertySymbols) {
|
||||||
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
||||||
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
||||||
|
|||||||
@ -128,10 +128,10 @@ export default declare((api, opts) => {
|
|||||||
return [
|
return [
|
||||||
impureComputedPropertyDeclarators,
|
impureComputedPropertyDeclarators,
|
||||||
restElement.argument,
|
restElement.argument,
|
||||||
t.callExpression(file.addHelper("objectWithoutProperties"), [
|
t.callExpression(
|
||||||
t.cloneNode(objRef),
|
file.addHelper(`objectWithoutProperties${loose ? "Loose" : ""}`),
|
||||||
keyExpression,
|
[t.cloneNode(objRef), keyExpression],
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
z = { x, ...y };
|
z = { x, ...y };
|
||||||
|
|
||||||
z = { x, w: { ...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); }
|
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({
|
z = _extends({
|
||||||
@ -7,3 +9,8 @@ z = {
|
|||||||
x,
|
x,
|
||||||
w: _extends({}, y)
|
w: _extends({}, y)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const {
|
||||||
|
q
|
||||||
|
} = z,
|
||||||
|
rest = _objectWithoutPropertiesLoose(z, ["q"]);
|
||||||
|
|||||||
@ -188,10 +188,10 @@ export default declare((api, options) => {
|
|||||||
} else {
|
} else {
|
||||||
keys = t.arrayExpression(keys);
|
keys = t.arrayExpression(keys);
|
||||||
|
|
||||||
value = t.callExpression(this.addHelper("objectWithoutProperties"), [
|
value = t.callExpression(
|
||||||
t.cloneNode(objRef),
|
this.addHelper(`objectWithoutProperties${loose ? "Loose" : ""}`),
|
||||||
keys,
|
[t.cloneNode(objRef), keys],
|
||||||
]);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value));
|
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 _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); }
|
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 _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); }
|
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 _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); }
|
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user