@angular/tsc-wrapped
Advanced tools
Comparing version 4.0.0-beta.5 to 4.0.0-beta.6
{ | ||
"name": "@angular/tsc-wrapped", | ||
"version": "4.0.0-beta.5", | ||
"version": "4.0.0-beta.6", | ||
"description": "Wraps the tsc CLI, allowing extensions.", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/angular/angular/tree/master/tools/tsc-wrapped", |
@@ -113,2 +113,7 @@ /** | ||
} | ||
// Add arity if the type is generic | ||
var typeParameters = classDeclaration.typeParameters; | ||
if (typeParameters && typeParameters.length) { | ||
result.arity = typeParameters.length; | ||
} | ||
// Add class decorators | ||
@@ -115,0 +120,0 @@ if (classDeclaration.decorators) { |
@@ -29,2 +29,3 @@ /** | ||
extends?: MetadataSymbolicExpression | MetadataError; | ||
arity?: number; | ||
decorators?: (MetadataSymbolicExpression | MetadataError)[]; | ||
@@ -31,0 +32,0 @@ members?: MetadataMap; |
@@ -11,2 +11,3 @@ /** | ||
var collector_1 = require('../src/collector'); | ||
var schema_1 = require('../src/schema'); | ||
var typescript_mocks_1 = require('./typescript.mocks'); | ||
@@ -27,2 +28,3 @@ describe('Collector', function () { | ||
'/unsupported-2.ts', | ||
'class-arity.ts', | ||
'import-star.ts', | ||
@@ -606,2 +608,25 @@ 'exported-classes.ts', | ||
}); | ||
function expectClass(entry) { | ||
var result = schema_1.isClassMetadata(entry); | ||
expect(result).toBeTruthy(); | ||
return result; | ||
} | ||
it('should collect the correct arity for a class', function () { | ||
var metadata = collector.getMetadata(program.getSourceFile('/class-arity.ts')); | ||
var zero = metadata.metadata['Zero']; | ||
if (expectClass(zero)) | ||
expect(zero.arity).toBeUndefined(); | ||
var one = metadata.metadata['One']; | ||
if (expectClass(one)) | ||
expect(one.arity).toBe(1); | ||
var two = metadata.metadata['Two']; | ||
if (expectClass(two)) | ||
expect(two.arity).toBe(2); | ||
var three = metadata.metadata['Three']; | ||
if (expectClass(three)) | ||
expect(three.arity).toBe(3); | ||
var nine = metadata.metadata['Nine']; | ||
if (expectClass(nine)) | ||
expect(nine.arity).toBe(9); | ||
}); | ||
}); | ||
@@ -635,2 +660,3 @@ function override(fileName, content) { | ||
'promise.ts': "\n interface PromiseLike<T> {\n then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): PromiseLike<TResult>;\n then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): PromiseLike<TResult>;\n }\n\n interface Promise<T> {\n then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>;\n then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;\n catch(onrejected?: (reason: any) => T | PromiseLike<T>): Promise<T>;\n catch(onrejected?: (reason: any) => void): Promise<T>;\n }\n\n interface PromiseConstructor {\n prototype: Promise<any>;\n new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;\n reject(reason: any): Promise<void>;\n reject<T>(reason: any): Promise<T>;\n resolve<T>(value: T | PromiseLike<T>): Promise<T>;\n resolve(): Promise<void>;\n }\n\n declare var Promise: PromiseConstructor;\n ", | ||
'class-arity.ts': "\n export class Zero {}\n export class One<T> {}\n export class Two<T, V> {}\n export class Three<T1, T2, T3> {}\n export class Nine<T1, T2, T3, T4, T5, T6, T7, T8, T9> {}\n ", | ||
'unsupported-1.ts': "\n export let {a, b} = {a: 1, b: 2};\n export let [c, d] = [1, 2];\n export let e;\n ", | ||
@@ -637,0 +663,0 @@ 'unsupported-2.ts': "\n import {Injectable} from 'angular2/core';\n\n class Foo {}\n\n @Injectable()\n export class Bar {\n constructor(private f: Foo) {}\n }\n ", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
497877
3952