Skip to content

Commit 481d352

Browse files
authored
Merge pull request #157 from bloomberg/private-fields-in-in
Add new private class element helper: __classPrivateFieldIn
2 parents 251802e + c1fbc71 commit 481d352

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed

modules/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const {
2424
__importDefault,
2525
__classPrivateFieldGet,
2626
__classPrivateFieldSet,
27+
__classPrivateFieldIn,
2728
} = tslib;
2829
export {
2930
__extends,
@@ -50,4 +51,5 @@ export {
5051
__importDefault,
5152
__classPrivateFieldGet,
5253
__classPrivateFieldSet,
54+
__classPrivateFieldIn,
5355
};

tslib.d.ts

+7
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,11 @@ export declare function __classPrivateFieldSet<T extends new (...args: any[]) =>
127127
kind: "a",
128128
f: (v: V) => void
129129
): V;
130+
/**
131+
* Checking the existence of a private field/method/accessor
132+
*/
133+
export declare function __classPrivateFieldIn(
134+
state: (new (...args: any[]) => unknown) | { has(o: any): boolean },
135+
receiver: unknown,
136+
): boolean;
130137
export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void;

tslib.es6.js

+5
Original file line numberDiff line numberDiff line change
@@ -237,3 +237,8 @@ export function __classPrivateFieldSet(receiver, state, value, kind, f) {
237237
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
238238
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
239239
}
240+
241+
export function __classPrivateFieldIn(state, receiver) {
242+
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
243+
return typeof state === "function" ? receiver === state : state.has(receiver);
244+
}

tslib.js

+7
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ var __importStar;
3636
var __importDefault;
3737
var __classPrivateFieldGet;
3838
var __classPrivateFieldSet;
39+
var __classPrivateFieldIn;
3940
var __createBinding;
4041
(function (factory) {
4142
var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
@@ -279,6 +280,11 @@ var __createBinding;
279280
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
280281
};
281282

283+
__classPrivateFieldIn = function (state, receiver) {
284+
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
285+
return typeof state === "function" ? receiver === state : state.has(receiver);
286+
};
287+
282288
exporter("__extends", __extends);
283289
exporter("__assign", __assign);
284290
exporter("__rest", __rest);
@@ -303,4 +309,5 @@ var __createBinding;
303309
exporter("__importDefault", __importDefault);
304310
exporter("__classPrivateFieldGet", __classPrivateFieldGet);
305311
exporter("__classPrivateFieldSet", __classPrivateFieldSet);
312+
exporter("__classPrivateFieldIn", __classPrivateFieldIn);
306313
});

0 commit comments

Comments
 (0)