ngx-testing-tools
Version:
Makes Angular testing easier
15 lines • 2.48 kB
JavaScript
export function getAnnotation(AnyCtor, metadataName) {
const annotations = AnyCtor['__annotations__'];
if (!annotations)
return null;
for (let i = annotations.length - 1; i >= 0; i--) {
const annotation = annotations[i];
if (isSameMetadataName(annotation, metadataName))
return annotation;
}
return null;
}
function isSameMetadataName(annotation, metadataName) {
return Object.getPrototypeOf(annotation)['ngMetadataName'] === metadataName;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZXN0aW5nLXRvb2xzL3NyYy9saWIvY29tbW9uL2Fubm90YXRpb25zL2Fubm90YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxVQUFVLGFBQWEsQ0FBTyxPQUFnQixFQUFFLFlBQTBCO0lBQzlFLE1BQU0sV0FBVyxHQUFJLE9BQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hELElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRyxFQUFFLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksa0JBQWtCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztZQUFFLE9BQU8sVUFBVSxDQUFDO0lBQ3RFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLFVBQWUsRUFBRSxZQUEwQjtJQUNyRSxPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxZQUFZLENBQUM7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vc2hhcmVkLm1vZGVscyc7XG5cbnR5cGUgTWV0YWRhdGFOYW1lID1cbiAgfCAnQ29tcG9uZW50J1xuICB8ICdEaXJlY3RpdmUnXG4gIHwgJ0luamVjdGFibGUnXG4gIHwgJ05nTW9kdWxlJ1xuICB8ICdQaXBlJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW5ub3RhdGlvbjxULCBBPihBbnlDdG9yOiBUeXBlPFQ+LCBtZXRhZGF0YU5hbWU6IE1ldGFkYXRhTmFtZSk6IE51bGxhYmxlPEE+IHtcbiAgY29uc3QgYW5ub3RhdGlvbnMgPSAoQW55Q3RvciBhcyBhbnkpWydfX2Fubm90YXRpb25zX18nXTtcbiAgaWYgKCFhbm5vdGF0aW9ucykgcmV0dXJuIG51bGw7XG5cbiAgZm9yIChsZXQgaSA9IGFubm90YXRpb25zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtLSkge1xuICAgIGNvbnN0IGFubm90YXRpb24gPSBhbm5vdGF0aW9uc1tpXTtcbiAgICBpZiAoaXNTYW1lTWV0YWRhdGFOYW1lKGFubm90YXRpb24sIG1ldGFkYXRhTmFtZSkpIHJldHVybiBhbm5vdGF0aW9uO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBpc1NhbWVNZXRhZGF0YU5hbWUoYW5ub3RhdGlvbjogYW55LCBtZXRhZGF0YU5hbWU6IE1ldGFkYXRhTmFtZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKGFubm90YXRpb24pWyduZ01ldGFkYXRhTmFtZSddID09PSBtZXRhZGF0YU5hbWU7XG59XG4iXX0=