Skip to content

Commit

Permalink
review
Browse files Browse the repository at this point in the history
  • Loading branch information
liuxingbaoyu committed Mar 5, 2024
1 parent 36f79d0 commit c701ff0
Show file tree
Hide file tree
Showing 107 changed files with 746 additions and 738 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -840,8 +840,8 @@ const privateNameHandlerLoose: Handler<PrivateNameState> = {
const { name } = (member.node.property as t.PrivateName).id;

if (process.env.BABEL_8_BREAKING || newHelpers(file)) {
return template.expression`BASE(REF, PROP)`({
BASE: file.addHelper("classPrivateFieldGetLoose"),
return template.expression`BASE(REF, PROP, 1)`({
BASE: file.addHelper("assertClassBrandLoose"),
REF: t.cloneNode(object),
PROP: t.cloneNode(privateNamesMap.get(name).id),
});
Expand Down Expand Up @@ -872,8 +872,8 @@ const privateNameHandlerLoose: Handler<PrivateNameState> = {
const { name } = (member.node.property as t.PrivateName).id;

if (process.env.BABEL_8_BREAKING || newHelpers(file)) {
return template.expression`BASE(REF, PROP, 1)[PROP]`({
BASE: file.addHelper("classPrivateFieldGetLoose"),
return template.expression`BASE(REF, PROP)[PROP]`({
BASE: file.addHelper("assertClassBrandLoose"),
REF: t.cloneNode(object),
PROP: t.cloneNode(privateNamesMap.get(name).id),
});
Expand Down
5 changes: 5 additions & 0 deletions packages/babel-helpers/src/helpers-generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ export default Object.freeze({
"7.24.0",
'export default function _assertClassBrand(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}',
),
// size: 172, gzip size: 160
assertClassBrandLoose: helper(
"7.24.1",
'export default function _classPrivateFieldGetLoose(e,t,r){if(!{}.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return r?e[t]:e}',
),
// size: 544, gzip size: 300
asyncGeneratorDelegate: helper(
"7.0.0-beta.0",
Expand Down
9 changes: 0 additions & 9 deletions packages/babel-helpers/src/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -893,15 +893,6 @@ helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")`
}
`;

helpers.classPrivateFieldGetLoose = helper("7.24.0")`
export default function _classPrivateFieldBase2(receiver, privateKey, retThis) {
if (!{}.hasOwnProperty.call(receiver, privateKey)) {
throw TypeError("attempted to use private field on non-instance");
}
return retThis ? receiver : receiver[privateKey];
}
`;

// TODO(Babel 8): Remove
helpers.classPrivateFieldGet = helper("7.0.0-beta.0")`
import classApplyDescriptorGet from "classApplyDescriptorGet";
Expand Down
12 changes: 12 additions & 0 deletions packages/babel-helpers/src/helpers/assertClassBrandLoose.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/* @minVersion 7.24.1 */

export default function _classPrivateFieldGetLoose(
receiver: any,
privateKey: string | symbol,
returnProperty: boolean,
) {
if (!{}.hasOwnProperty.call(receiver, privateKey)) {
throw TypeError("attempted to use private field on non-instance");
}
return returnProperty ? receiver[privateKey] : receiver;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ class A {
}
method() {
var _obj, _obj2, _obj3, _obj4, _obj5, _obj6;
(_obj = obj) === null || _obj === void 0 ? void 0 : babelHelpers.classPrivateFieldGetLoose(_obj, _x, 1)[_x] = 1;
(_obj2 = obj) === null || _obj2 === void 0 ? void 0 : babelHelpers.classPrivateFieldGetLoose(_obj2, _x, 1)[_x] += 2;
(_obj3 = obj) === null || _obj3 === void 0 ? void 0 : babelHelpers.classPrivateFieldGetLoose(_obj3, _x, 1)[_x] ??= 3;
(_obj4 = obj) === null || _obj4 === void 0 ? void 0 : babelHelpers.classPrivateFieldGetLoose(_obj4, _x).y = 4;
(_obj5 = obj) === null || _obj5 === void 0 ? void 0 : babelHelpers.classPrivateFieldGetLoose(_obj5, _x).y += 5;
(_obj6 = obj) === null || _obj6 === void 0 ? void 0 : babelHelpers.classPrivateFieldGetLoose(_obj6, _x).y ??= 6;
(_obj = obj) === null || _obj === void 0 ? void 0 : babelHelpers.assertClassBrandLoose(_obj, _x)[_x] = 1;
(_obj2 = obj) === null || _obj2 === void 0 ? void 0 : babelHelpers.assertClassBrandLoose(_obj2, _x)[_x] += 2;
(_obj3 = obj) === null || _obj3 === void 0 ? void 0 : babelHelpers.assertClassBrandLoose(_obj3, _x)[_x] ??= 3;
(_obj4 = obj) === null || _obj4 === void 0 ? void 0 : babelHelpers.assertClassBrandLoose(_obj4, _x, 1).y = 4;
(_obj5 = obj) === null || _obj5 === void 0 ? void 0 : babelHelpers.assertClassBrandLoose(_obj5, _x, 1).y += 5;
(_obj6 = obj) === null || _obj6 === void 0 ? void 0 : babelHelpers.assertClassBrandLoose(_obj6, _x, 1).y ??= 6;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ var Foo = /*#__PURE__*/function () {
babelHelpers.createClass(Foo, [{
key: "test",
value: function test(other) {
babelHelpers.classPrivateFieldGetLoose(this, _foo, 1)[_foo] += 1;
babelHelpers.classPrivateFieldGetLoose(this, _foo, 1)[_foo] = 2;
babelHelpers.classPrivateFieldGetLoose(other.obj, _foo, 1)[_foo] += 1;
babelHelpers.classPrivateFieldGetLoose(other.obj, _foo, 1)[_foo] = 2;
babelHelpers.assertClassBrandLoose(this, _foo)[_foo] += 1;
babelHelpers.assertClassBrandLoose(this, _foo)[_foo] = 2;
babelHelpers.assertClassBrandLoose(other.obj, _foo)[_foo] += 1;
babelHelpers.assertClassBrandLoose(other.obj, _foo)[_foo] = 2;
}
}]);
return Foo;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,34 +13,34 @@ var Point = /*#__PURE__*/function () {
writable: true,
value: void 0
});
babelHelpers.classPrivateFieldGetLoose(this, _x, 1)[_x] = +x;
babelHelpers.classPrivateFieldGetLoose(this, _y, 1)[_y] = +y;
babelHelpers.assertClassBrandLoose(this, _x)[_x] = +x;
babelHelpers.assertClassBrandLoose(this, _y)[_y] = +y;
}
babelHelpers.createClass(Point, [{
key: "x",
get: function () {
return babelHelpers.classPrivateFieldGetLoose(this, _x);
return babelHelpers.assertClassBrandLoose(this, _x, 1);
},
set: function (value) {
babelHelpers.classPrivateFieldGetLoose(this, _x, 1)[_x] = +value;
babelHelpers.assertClassBrandLoose(this, _x)[_x] = +value;
}
}, {
key: "y",
get: function () {
return babelHelpers.classPrivateFieldGetLoose(this, _y);
return babelHelpers.assertClassBrandLoose(this, _y, 1);
},
set: function (value) {
babelHelpers.classPrivateFieldGetLoose(this, _y, 1)[_y] = +value;
babelHelpers.assertClassBrandLoose(this, _y)[_y] = +value;
}
}, {
key: "equals",
value: function equals(p) {
return babelHelpers.classPrivateFieldGetLoose(this, _x) === babelHelpers.classPrivateFieldGetLoose(p, _x) && babelHelpers.classPrivateFieldGetLoose(this, _y) === babelHelpers.classPrivateFieldGetLoose(p, _y);
return babelHelpers.assertClassBrandLoose(this, _x, 1) === babelHelpers.assertClassBrandLoose(p, _x, 1) && babelHelpers.assertClassBrandLoose(this, _y, 1) === babelHelpers.assertClassBrandLoose(p, _y, 1);
}
}, {
key: "toString",
value: function toString() {
return `Point<${babelHelpers.classPrivateFieldGetLoose(this, _x)},${babelHelpers.classPrivateFieldGetLoose(this, _y)}>`;
return `Point<${babelHelpers.assertClassBrandLoose(this, _x, 1)},${babelHelpers.assertClassBrandLoose(this, _y, 1)}>`;
}
}]);
return Point;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var C = /*#__PURE__*/babelHelpers.createClass(function C() {
"use strict";

babelHelpers.classCallCheck(this, C);
this.y = babelHelpers.classPrivateFieldGetLoose(this, _x);
this.y = babelHelpers.assertClassBrandLoose(this, _x, 1);
Object.defineProperty(this, _x, {
writable: true,
value: void 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
writable: true,
value: void 0
});
babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client] = 1;
[this.x = babelHelpers.classPrivateFieldGetLoose(this, _client), babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client], this.y = babelHelpers.classPrivateFieldGetLoose(this, _client)] = props;
babelHelpers.assertClassBrandLoose(this, _client)[_client] = 1;
[this.x = babelHelpers.assertClassBrandLoose(this, _client, 1), babelHelpers.assertClassBrandLoose(this, _client)[_client], this.y = babelHelpers.assertClassBrandLoose(this, _client, 1)] = props;
});
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
writable: true,
value: void 0
});
[x, ...babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client]] = props;
[x, ...babelHelpers.assertClassBrandLoose(this, _client)[_client]] = props;
});
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
writable: true,
value: void 0
});
[babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client] = 5] = props;
[babelHelpers.assertClassBrandLoose(this, _client)[_client] = 5] = props;
});
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
"use strict";

babelHelpers.classCallCheck(this, Foo);
[babelHelpers.classPrivateFieldGetLoose(Foo, _client, 1)[_client]] = props;
[babelHelpers.assertClassBrandLoose(Foo, _client)[_client]] = props;
});
Object.defineProperty(Foo, _client, {
writable: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
writable: true,
value: void 0
});
[babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client]] = props;
[babelHelpers.assertClassBrandLoose(this, _client)[_client]] = props;
});
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
writable: true,
value: void 0
});
babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client] = 'foo';
babelHelpers.assertClassBrandLoose(this, _client)[_client] = 'foo';
({
x: this.x = babelHelpers.classPrivateFieldGetLoose(this, _client),
y: babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client],
z: this.z = babelHelpers.classPrivateFieldGetLoose(this, _client)
x: this.x = babelHelpers.assertClassBrandLoose(this, _client, 1),
y: babelHelpers.assertClassBrandLoose(this, _client)[_client],
z: this.z = babelHelpers.assertClassBrandLoose(this, _client, 1)
} = props);
});
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
});
({
x,
...babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client]
...babelHelpers.assertClassBrandLoose(this, _client)[_client]
} = props);
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
value: void 0
});
({
client: babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client] = 5
client: babelHelpers.assertClassBrandLoose(this, _client)[_client] = 5
} = props);
});
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {

babelHelpers.classCallCheck(this, Foo);
({
client: babelHelpers.classPrivateFieldGetLoose(Foo, _client, 1)[_client]
client: babelHelpers.assertClassBrandLoose(Foo, _client)[_client]
} = props);
});
Object.defineProperty(Foo, _client, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo(props) {
value: void 0
});
({
client: babelHelpers.classPrivateFieldGetLoose(this, _client, 1)[_client]
client: babelHelpers.assertClassBrandLoose(this, _client)[_client]
} = props);
});
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ class Foo {
return this;
}
test() {
var _babelHelpers$classPr, _babelHelpers$classPr2, _babelHelpers$classPr3, _babelHelpers$classPr4;
(_babelHelpers$classPr = babelHelpers.classPrivateFieldGetLoose(this, _nullish, 1))[_nullish] ?? (_babelHelpers$classPr[_nullish] = 42);
(_babelHelpers$classPr2 = babelHelpers.classPrivateFieldGetLoose(this, _and, 1))[_and] && (_babelHelpers$classPr2[_and] = 0);
(_babelHelpers$classPr3 = babelHelpers.classPrivateFieldGetLoose(this, _or, 1))[_or] || (_babelHelpers$classPr3[_or] = 0);
(_babelHelpers$classPr4 = babelHelpers.classPrivateFieldGetLoose(this.self(), _nullish, 1))[_nullish] ?? (_babelHelpers$classPr4[_nullish] = 42);
var _babelHelpers$assertC, _babelHelpers$assertC2, _babelHelpers$assertC3, _babelHelpers$assertC4;
(_babelHelpers$assertC = babelHelpers.assertClassBrandLoose(this, _nullish))[_nullish] ?? (_babelHelpers$assertC[_nullish] = 42);
(_babelHelpers$assertC2 = babelHelpers.assertClassBrandLoose(this, _and))[_and] && (_babelHelpers$assertC2[_and] = 0);
(_babelHelpers$assertC3 = babelHelpers.assertClassBrandLoose(this, _or))[_or] || (_babelHelpers$assertC3[_or] = 0);
(_babelHelpers$assertC4 = babelHelpers.assertClassBrandLoose(this.self(), _nullish))[_nullish] ?? (_babelHelpers$assertC4[_nullish] = 42);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo() {
});
Object.defineProperty(this, _y, {
writable: true,
value: babelHelpers.classPrivateFieldGetLoose(this, _x)
value: babelHelpers.assertClassBrandLoose(this, _x, 1)
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ class Foo {
});
}
static test() {
return babelHelpers.classPrivateFieldGetLoose(Foo, _foo);
return babelHelpers.assertClassBrandLoose(Foo, _foo, 1);
}
test() {
return babelHelpers.classPrivateFieldGetLoose(this, _bar);
return babelHelpers.assertClassBrandLoose(this, _bar, 1);
}
}
Object.defineProperty(Foo, _foo, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ var Foo = /*#__PURE__*/function () {
babelHelpers.createClass(Foo, [{
key: "test",
value: function test() {
var _babelHelpers$classPr;
var _babelHelpers$assertC;
var _foo2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo");
_babelHelpers$classPr = babelHelpers.classPrivateFieldGetLoose(this, _foo2);
_babelHelpers$assertC = babelHelpers.assertClassBrandLoose(this, _foo2, 1);
var Nested = /*#__PURE__*/function () {
function Nested() {
babelHelpers.classCallCheck(this, Nested);
Expand All @@ -24,12 +24,12 @@ var Foo = /*#__PURE__*/function () {
});
}
babelHelpers.createClass(Nested, [{
key: _babelHelpers$classPr,
key: _babelHelpers$assertC,
value: function () {}
}]);
return Nested;
}();
babelHelpers.classPrivateFieldGetLoose(this, _foo);
babelHelpers.assertClassBrandLoose(this, _foo, 1);
}
}]);
return Foo;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,17 @@ var Foo = /*#__PURE__*/function () {
babelHelpers.createClass(Foo, [{
key: "test",
value: function test() {
var Nested = /*#__PURE__*/function (_babelHelpers$classPr) {
var Nested = /*#__PURE__*/function (_babelHelpers$assertC) {
function Nested() {
babelHelpers.classCallCheck(this, Nested);
}
babelHelpers.createClass(Nested, [{
key: _babelHelpers$classPr,
key: _babelHelpers$assertC,
value: function () {}
}]);
return Nested;
}(babelHelpers.classPrivateFieldGetLoose(this, _foo));
babelHelpers.classPrivateFieldGetLoose(this, _foo);
}(babelHelpers.assertClassBrandLoose(this, _foo, 1));
babelHelpers.assertClassBrandLoose(this, _foo, 1);
}
}]);
return Foo;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ var Foo = /*#__PURE__*/function () {
key: "test",
value: function test() {
var _foo3;
var _babelHelpers$classPr;
var _babelHelpers$assertC;
var _foo2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo");
var Nested = /*#__PURE__*/function (_ref) {
babelHelpers.inherits(Nested, _ref);
Expand All @@ -28,14 +28,14 @@ var Foo = /*#__PURE__*/function () {
return _this;
}
return babelHelpers.createClass(Nested);
}((_foo3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo"), _babelHelpers$classPr = babelHelpers.classPrivateFieldGetLoose(this, _foo3), /*#__PURE__*/function () {
}((_foo3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo"), _babelHelpers$assertC = babelHelpers.assertClassBrandLoose(this, _foo3, 1), /*#__PURE__*/function () {
function _class() {
babelHelpers.classCallCheck(this, _class);
Object.defineProperty(this, _foo3, {
writable: true,
value: 2
});
this[_babelHelpers$classPr] = 2;
this[_babelHelpers$assertC] = 2;
}
return babelHelpers.createClass(_class);
}()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var Foo = /*#__PURE__*/function () {
babelHelpers.createClass(Foo, [{
key: "test",
value: function test() {
var _babelHelpers$classPr;
var _babelHelpers$assertC;
var _foo2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("foo");
var Nested = /*#__PURE__*/function (_ref) {
babelHelpers.inherits(Nested, _ref);
Expand All @@ -27,10 +27,10 @@ var Foo = /*#__PURE__*/function () {
return _this;
}
return babelHelpers.createClass(Nested);
}((_babelHelpers$classPr = babelHelpers.classPrivateFieldGetLoose(this, _foo), /*#__PURE__*/function () {
}((_babelHelpers$assertC = babelHelpers.assertClassBrandLoose(this, _foo, 1), /*#__PURE__*/function () {
function _class() {
babelHelpers.classCallCheck(this, _class);
this[_babelHelpers$classPr] = 2;
this[_babelHelpers$assertC] = 2;
}
return babelHelpers.createClass(_class);
}()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ var Foo = /*#__PURE__*/function () {
babelHelpers.createClass(Nested, [{
key: "test",
value: function test() {
babelHelpers.classPrivateFieldGetLoose(this, _foo);
babelHelpers.classPrivateFieldGetLoose(this, _bar2);
babelHelpers.assertClassBrandLoose(this, _foo, 1);
babelHelpers.assertClassBrandLoose(this, _bar2, 1);
}
}]);
return Nested;
}();
babelHelpers.classPrivateFieldGetLoose(this, _foo);
babelHelpers.classPrivateFieldGetLoose(this, _bar);
babelHelpers.assertClassBrandLoose(this, _foo, 1);
babelHelpers.assertClassBrandLoose(this, _bar, 1);
}
}]);
return Foo;
Expand Down

0 comments on commit c701ff0

Please sign in to comment.