diff --git a/Reflect.js b/Reflect.js index 6592115..49055cc 100644 --- a/Reflect.js +++ b/Reflect.js @@ -44,13 +44,14 @@ var Reflect; var _Set = typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill(); var _WeakMap = typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill(); // [[Metadata]] internal slot + // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots var Metadata = new _WeakMap(); /** * Applies a set of decorators to a property of a target object. * @param decorators An array of decorators. * @param target The target object. - * @param targetKey (Optional) The property key to decorate. - * @param targetDescriptor (Optional) The property descriptor for the target key + * @param propertyKey (Optional) The property key to decorate. + * @param attributes (Optional) The property descriptor for the target key. * @remarks Decorators are applied in reverse order. * @example * @@ -84,18 +85,18 @@ var Reflect; * Object.getOwnPropertyDescriptor(Example.prototype, "method"))); * */ - function decorate(decorators, target, targetKey, targetDescriptor) { - if (!IsUndefined(targetKey)) { + function decorate(decorators, target, propertyKey, attributes) { + if (!IsUndefined(propertyKey)) { if (!IsArray(decorators)) throw new TypeError(); if (!IsObject(target)) throw new TypeError(); - if (!IsObject(targetDescriptor) && !IsUndefined(targetDescriptor) && !IsNull(targetDescriptor)) + if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes)) throw new TypeError(); - if (IsNull(targetDescriptor)) - targetDescriptor = undefined; - targetKey = ToPropertyKey(targetKey); - return DecorateProperty(decorators, target, targetKey, targetDescriptor); + if (IsNull(attributes)) + attributes = undefined; + propertyKey = ToPropertyKey(propertyKey); + return DecorateProperty(decorators, target, propertyKey, attributes); } else { if (!IsArray(decorators)) @@ -106,6 +107,8 @@ var Reflect; } } Reflect.decorate = decorate; + // 4.1.2 Reflect.metadata(metadataKey, metadataValue) + // https://rbuckton.github.io/reflect-metadata/#reflect.metadata /** * A default metadata decorator factory that can be used on a class, class member, or parameter. * @param metadataKey The key for the metadata entry. @@ -147,18 +150,12 @@ var Reflect; * */ function metadata(metadataKey, metadataValue) { - function decorator(target, targetKey) { - if (!IsUndefined(targetKey)) { - if (!IsObject(target)) - throw new TypeError(); - targetKey = ToPropertyKey(targetKey); - OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, targetKey); - } - else { - if (!IsConstructor(target)) - throw new TypeError(); - OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, /*targetKey*/ undefined); - } + function decorator(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) + throw new TypeError(); + OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); } return decorator; } @@ -168,7 +165,7 @@ var Reflect; * @param metadataKey A key used to store and retrieve metadata. * @param metadataValue A value that contains attached metadata. * @param target The target object on which to define metadata. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @example * * class Example { @@ -202,19 +199,19 @@ var Reflect; * } * */ - function defineMetadata(metadataKey, metadataValue, target, targetKey) { + function defineMetadata(metadataKey, metadataValue, target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); } Reflect.defineMetadata = defineMetadata; /** * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined. * @param metadataKey A key used to store and retrieve metadata. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`. * @example * @@ -244,19 +241,19 @@ var Reflect; * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "method"); * */ - function hasMetadata(metadataKey, target, targetKey) { + function hasMetadata(metadataKey, target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryHasMetadata(metadataKey, target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryHasMetadata(metadataKey, target, propertyKey); } Reflect.hasMetadata = hasMetadata; /** * Gets a value indicating whether the target object has the provided metadata key defined. * @param metadataKey A key used to store and retrieve metadata. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns `true` if the metadata key was defined on the target object; otherwise, `false`. * @example * @@ -286,19 +283,19 @@ var Reflect; * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "method"); * */ - function hasOwnMetadata(metadataKey, target, targetKey) { + function hasOwnMetadata(metadataKey, target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryHasOwnMetadata(metadataKey, target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey); } Reflect.hasOwnMetadata = hasOwnMetadata; /** * Gets the metadata value for the provided metadata key on the target object or its prototype chain. * @param metadataKey A key used to store and retrieve metadata. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns The metadata value for the metadata key if found; otherwise, `undefined`. * @example * @@ -328,19 +325,19 @@ var Reflect; * result = Reflect.getMetadata("custom:annotation", Example.prototype, "method"); * */ - function getMetadata(metadataKey, target, targetKey) { + function getMetadata(metadataKey, target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryGetMetadata(metadataKey, target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryGetMetadata(metadataKey, target, propertyKey); } Reflect.getMetadata = getMetadata; /** * Gets the metadata value for the provided metadata key on the target object. * @param metadataKey A key used to store and retrieve metadata. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns The metadata value for the metadata key if found; otherwise, `undefined`. * @example * @@ -370,18 +367,18 @@ var Reflect; * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "method"); * */ - function getOwnMetadata(metadataKey, target, targetKey) { + function getOwnMetadata(metadataKey, target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryGetOwnMetadata(metadataKey, target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey); } Reflect.getOwnMetadata = getOwnMetadata; /** * Gets the metadata keys defined on the target object or its prototype chain. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns An array of unique metadata keys. * @example * @@ -411,18 +408,18 @@ var Reflect; * result = Reflect.getMetadataKeys(Example.prototype, "method"); * */ - function getMetadataKeys(target, targetKey) { + function getMetadataKeys(target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryMetadataKeys(target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryMetadataKeys(target, propertyKey); } Reflect.getMetadataKeys = getMetadataKeys; /** * Gets the unique metadata keys defined on the target object. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns An array of unique metadata keys. * @example * @@ -452,19 +449,19 @@ var Reflect; * result = Reflect.getOwnMetadataKeys(Example.prototype, "method"); * */ - function getOwnMetadataKeys(target, targetKey) { + function getOwnMetadataKeys(target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - return OrdinaryOwnMetadataKeys(target, targetKey); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryOwnMetadataKeys(target, propertyKey); } Reflect.getOwnMetadataKeys = getOwnMetadataKeys; /** * Deletes the metadata entry from the target object with the provided key. * @param metadataKey A key used to store and retrieve metadata. * @param target The target object on which the metadata is defined. - * @param targetKey (Optional) The property key for the target. + * @param propertyKey (Optional) The property key for the target. * @returns `true` if the metadata entry was found and deleted; otherwise, false. * @example * @@ -494,13 +491,12 @@ var Reflect; * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "method"); * */ - function deleteMetadata(metadataKey, target, targetKey) { - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#deletemetadata-metadatakey-p- + function deleteMetadata(metadataKey, target, propertyKey) { if (!IsObject(target)) throw new TypeError(); - if (!IsUndefined(targetKey)) - targetKey = ToPropertyKey(targetKey); - var metadataMap = GetOrCreateMetadataMap(target, targetKey, /*create*/ false); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false); if (IsUndefined(metadataMap)) return false; if (!metadataMap.delete(metadataKey)) @@ -508,7 +504,7 @@ var Reflect; if (metadataMap.size > 0) return true; var targetMetadata = Metadata.get(target); - targetMetadata.delete(targetKey); + targetMetadata.delete(propertyKey); if (targetMetadata.size > 0) return true; Metadata.delete(target); @@ -556,10 +552,8 @@ var Reflect; } return metadataMap; } - // Ordinary Object Internal Methods and Internal Slots - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinary-object-internal-methods-and-internal-slots - // OrdinaryHasMetadata(MetadataKey, O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinaryhasmetadata--metadatakey-o-p- + // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata function OrdinaryHasMetadata(MetadataKey, O, P) { var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P); if (hasOwn) @@ -569,16 +563,16 @@ var Reflect; return OrdinaryHasMetadata(MetadataKey, parent, P); return false; } - // OrdinaryHasOwnMetadata(MetadataKey, O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinaryhasownmetadata--metadatakey-o-p- + // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata function OrdinaryHasOwnMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*create*/ false); + var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false); if (IsUndefined(metadataMap)) return false; return ToBoolean(metadataMap.has(MetadataKey)); } - // OrdinaryGetMetadata(MetadataKey, O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinarygetmetadata--metadatakey-o-p- + // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata function OrdinaryGetMetadata(MetadataKey, O, P) { var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P); if (hasOwn) @@ -588,22 +582,22 @@ var Reflect; return OrdinaryGetMetadata(MetadataKey, parent, P); return undefined; } - // OrdinaryGetOwnMetadata(MetadataKey, O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinarygetownmetadata--metadatakey-o-p- + // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata function OrdinaryGetOwnMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*create*/ false); + var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false); if (IsUndefined(metadataMap)) return undefined; return metadataMap.get(MetadataKey); } - // OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinarydefineownmetadata--metadatakey-metadatavalue-o-p- + // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*create*/ true); + var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true); metadataMap.set(MetadataKey, MetadataValue); } - // OrdinaryMetadataKeys(O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinarymetadatakeys--o-p- + // 3.1.6.1 OrdinaryMetadataKeys(O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys function OrdinaryMetadataKeys(O, P) { var ownKeys = OrdinaryOwnMetadataKeys(O, P); var parent = OrdinaryGetPrototypeOf(O); @@ -634,42 +628,37 @@ var Reflect; } return keys; } - // OrdinaryOwnMetadataKeys(O, P) - // https://github.com/rbuckton/ReflectDecorators/blob/master/spec/metadata.md#ordinaryownmetadatakeys--o-p- + // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P) + // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys function OrdinaryOwnMetadataKeys(O, P) { - var metadataMap = GetOrCreateMetadataMap(O, P, /*create*/ false); var keys = []; + var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false); if (IsUndefined(metadataMap)) return keys; var keysObj = metadataMap.keys(); var iterator = GetIterator(keysObj); + var k = 0; while (true) { var next = IteratorStep(iterator); + if (!next) { + keys.length = k; + return keys; + } + var nextValue = IteratorValue(next); try { - if (!next) - return keys; - var nextValue = IteratorValue(next); - keys.push(nextValue); + keys[k] = nextValue; } catch (e) { try { - if (next) { - next = false; - IteratorClose(iterator); - } + IteratorClose(iterator); } finally { throw e; } } - finally { - if (next) - IteratorClose(iterator); - } + k++; } } - // ECMAScript Specification - // https://tc39.github.io/ecma262/ // 6 ECMAScript Data Typ0es and Values // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values function Type(x) { @@ -802,6 +791,15 @@ var Reflect; // NOTE: This is an approximation as we cannot check for [[Construct]] internal method. return typeof argument === "function"; } + // 7.2.7 IsPropertyKey(argument) + // https://tc39.github.io/ecma262/#sec-ispropertykey + function IsPropertyKey(argument) { + switch (Type(argument)) { + case 3 /* String */: return true; + case 4 /* Symbol */: return true; + default: return false; + } + } // 7.3 Operations on Objects // https://tc39.github.io/ecma262/#sec-operations-on-objects // 7.3.9 GetMethod(V, P) @@ -1029,20 +1027,20 @@ var Reflect; this._key = CreateUniqueKey(); } WeakMap.prototype.has = function (target) { - var table = GetOrCreateWeakMapTable(target, /*create*/ false); + var table = GetOrCreateWeakMapTable(target, /*Create*/ false); return table !== undefined ? HashMap.has(table, this._key) : false; }; WeakMap.prototype.get = function (target) { - var table = GetOrCreateWeakMapTable(target, /*create*/ false); + var table = GetOrCreateWeakMapTable(target, /*Create*/ false); return table !== undefined ? HashMap.get(table, this._key) : undefined; }; WeakMap.prototype.set = function (target, value) { - var table = GetOrCreateWeakMapTable(target, /*create*/ true); + var table = GetOrCreateWeakMapTable(target, /*Create*/ true); table[this._key] = value; return this; }; WeakMap.prototype.delete = function (target) { - var table = GetOrCreateWeakMapTable(target, /*create*/ false); + var table = GetOrCreateWeakMapTable(target, /*Create*/ false); return table !== undefined ? delete table[this._key] : false; }; WeakMap.prototype.clear = function () { diff --git a/Reflect.js.map b/Reflect.js.map index e17df06..949350e 100644 --- a/Reflect.js.map +++ b/Reflect.js.map @@ -1 +1 @@ -{"version":3,"file":"Reflect.js","sourceRoot":"","sources":["Reflect.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Reflect.js","sourceRoot":"","sources":["Reflect.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Reflect.ts b/Reflect.ts index 8e65aa3..6872ac3 100644 --- a/Reflect.ts +++ b/Reflect.ts @@ -1133,7 +1133,7 @@ namespace Reflect { const hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P); if (hasOwn) return true; const parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) OrdinaryHasMetadata(MetadataKey, parent, P); + if (!IsNull(parent)) return OrdinaryHasMetadata(MetadataKey, parent, P); return false; } diff --git a/docs/index.html b/docs/index.html index f7e70da..7b7a4d1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1451,6 +1451,7 @@

Metadata Proposal - ECMAScriptlinkpin

+ Note
A shim for this API can be found here: https://github.com/rbuckton/ReflectDecorators

Proposal to add Metadata to ECMAScript.

@@ -1649,7 +1650,6 @@

4Reflection

4.1The Reflect Objectlinkpin

This section contains amendments to the Reflect object.

- Note
A shim for this API can be found here: https://github.com/rbuckton/ReflectDecorators

4.1.1Metadata Decorator Functionslinkpin

A metadata decorator function is an anonymous built-in function that has [[MetadataKey]] and [[MetadataValue]] internal slots.

diff --git a/gulpfile.js b/gulpfile.js index 7ab7d61..52b9bc6 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -18,7 +18,7 @@ gulp.task("build:reflect", () => gulp .pipe(project()) .pipe(gulp.dest("."))); -gulp.task("build:tests", () => gulp +gulp.task("build:tests", ["build:reflect"], () => gulp .src(["test/**/*.ts"]) .pipe(tests()) .pipe(gulp.dest("test"))); @@ -33,15 +33,15 @@ gulp.task("build:spec", () => gulp })) .pipe(gulp.dest("docs"))); -gulp.task("build", ["build:reflect", "build:tests", "build:spec"]); +gulp.task("build", ["build:tests", "build:spec"]); gulp.task("test", ["build:tests"], () => gulp .src(["test/**/*.js"], { read: false }) - .pipe(mocha())); + .pipe(mocha({ reporter: "dot" }))); -gulp.task("watch:reflect", ["test"], () => gulp.watch(["Reflect.ts", "test/**/*"], ["test"])); -gulp.task("watch:spec", ["build:spec"], () => gulp.watch(["spec.html"], ["build:spec"])); -gulp.task("watch", ["test", "watch:reflect", "watch:spec"], () => { +gulp.task("watch:reflect", () => gulp.watch(["Reflect.ts", "tsconfig.json", "test/**/*.ts", "test/**/tsconfig.json"], ["test"])); +gulp.task("watch:spec", () => gulp.watch(["spec.html"], ["build:spec"])); +gulp.task("watch", ["watch:reflect", "watch:spec"], () => { const server = gls.static("docs", 8080); const promise = server.start(); gulp.watch(["docs/**/*"], file => server.notify(file)); diff --git a/spec.html b/spec.html index 018dc91..85d2a92 100644 --- a/spec.html +++ b/spec.html @@ -19,6 +19,7 @@

Metadata Proposal - ECMAScript

+ A shim for this API can be found here: https://github.com/rbuckton/ReflectDecorators

Proposal to add Metadata to ECMAScript.

@@ -313,7 +314,6 @@

Reflection

The Reflect Object

This section contains amendments to the Reflect object.

- A shim for this API can be found here: https://github.com/rbuckton/ReflectDecorators

Metadata Decorator Functions

A metadata decorator function is an anonymous built-in function that has [[MetadataKey]] and [[MetadataValue]] internal slots.

diff --git a/test/reflect-metadata.ts b/test/reflect-metadata.ts index 578b51f..27dc9dd 100644 --- a/test/reflect-metadata.ts +++ b/test/reflect-metadata.ts @@ -15,9 +15,9 @@ describe("Reflect.metadata", () => { assert.throws(() => decorator(undefined, "name"), TypeError); }); - it("DecoratorThrowsWithInvalidTargetWithoutTargetKey", () => { + it("DecoratorThrowsWithInvalidTargetKey", () => { let decorator = Reflect.metadata("key", "value"); - assert.throws(() => decorator({}, undefined), TypeError); + assert.throws(() => decorator({}, {}), TypeError); }); it("OnTargetWithoutTargetKey", () => {