Skip to content

Commit

Permalink
Fallback to Symbol.for("Symbol.metadata")
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Jan 16, 2022
1 parent 2fc8ad9 commit 0876e7a
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion packages/babel-helpers/src/helpers-generated.ts

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions packages/babel-helpers/src/helpers/applyDecs.js
Expand Up @@ -76,7 +76,7 @@ function createMetadataMethodsForProperty(metadataMap, kind, property) {
}

function convertMetadataMapToFinal(obj, metadataMap) {
var parentMetadataMap = obj[Symbol.metadata];
var parentMetadataMap = obj[Symbol.metadata || Symbol.for("Symbol.metadata")];
var metadataKeys = Object.getOwnPropertySymbols(metadataMap);

if (metadataKeys.length === 0) return;
Expand Down Expand Up @@ -115,7 +115,7 @@ function convertMetadataMapToFinal(obj, metadataMap) {
Object.setPrototypeOf(metadataMap, parentMetadataMap);
}

obj[Symbol.metadata] = metadataMap;
obj[Symbol.metadata || Symbol.for("Symbol.metadata")] = metadataMap;
}

function createAddInitializerMethod(initializers) {
Expand Down
Expand Up @@ -7,4 +7,4 @@ function dec(_, { setMetadata }) {
@dec
class Foo {}

expect(Foo[Symbol.metadata][key].constructor).toBe(123);
expect(Foo[Symbol.for("Symbol.metadata")][key].constructor).toBe(123);
Expand Up @@ -26,5 +26,5 @@ class Bar extends Foo {
@dec3 a;
}

expect(Foo.prototype[Symbol.metadata][key].public.a).toBe(456);
expect(Bar.prototype[Symbol.metadata][key].public.a).toBe(789);
expect(Foo.prototype[Symbol.for("Symbol.metadata")][key].public.a).toBe(456);
expect(Bar.prototype[Symbol.for("Symbol.metadata")][key].public.a).toBe(789);
Expand Up @@ -12,5 +12,5 @@ class Bar extends Foo {
@dec #b;
}

expect(Foo.prototype[Symbol.metadata][key].private).toEqual([123]);
expect(Bar.prototype[Symbol.metadata][key].private).toEqual([123, 123]);
expect(Foo.prototype[Symbol.for("Symbol.metadata")][key].private).toEqual([123]);
expect(Bar.prototype[Symbol.for("Symbol.metadata")][key].private).toEqual([123, 123]);
Expand Up @@ -12,7 +12,7 @@ class Bar extends Foo {
@dec b;
}

expect(Foo.prototype[Symbol.metadata][key].public.a).toEqual(123);
expect(Foo.prototype[Symbol.metadata][key].public.b).toEqual(undefined);
expect(Bar.prototype[Symbol.metadata][key].public.a).toEqual(123);
expect(Bar.prototype[Symbol.metadata][key].public.b).toEqual(123);
expect(Foo.prototype[Symbol.for("Symbol.metadata")][key].public.a).toEqual(123);
expect(Foo.prototype[Symbol.for("Symbol.metadata")][key].public.b).toEqual(undefined);
expect(Bar.prototype[Symbol.for("Symbol.metadata")][key].public.a).toEqual(123);
expect(Bar.prototype[Symbol.for("Symbol.metadata")][key].public.b).toEqual(123);
Expand Up @@ -8,4 +8,4 @@ class Foo {
@dec #a;
}

expect(Foo.prototype[Symbol.metadata][key].private[0]).toBe(123);
expect(Foo.prototype[Symbol.for("Symbol.metadata")][key].private[0]).toBe(123);
Expand Up @@ -8,4 +8,4 @@ class Foo {
@dec a;
}

expect(Foo.prototype[Symbol.metadata][key].public.a).toBe(123);
expect(Foo.prototype[Symbol.for("Symbol.metadata")][key].public.a).toBe(123);
Expand Up @@ -8,4 +8,4 @@ class Foo {
@dec static #a;
}

expect(Foo[Symbol.metadata][key].private[0]).toBe(123);
expect(Foo[Symbol.for("Symbol.metadata")][key].private[0]).toBe(123);
Expand Up @@ -8,4 +8,4 @@ class Foo {
@dec static a;
}

expect(Foo[Symbol.metadata][key].public.a).toBe(123);
expect(Foo[Symbol.for("Symbol.metadata")][key].public.a).toBe(123);

0 comments on commit 0876e7a

Please sign in to comment.