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 @@
Proposal to add Metadata to ECMAScript.Metadata Proposal - ECMAScriptlinkpin
+
This section contains amendments to the Reflect object.
-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 @@Proposal to add Metadata to ECMAScript.
This section contains amendments to the Reflect object.
-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({},