Skip to content

Commit

Permalink
Merge pull request #1 from jedmao/eggers-ts
Browse files Browse the repository at this point in the history
TypeScript Fixes
  • Loading branch information
eggers committed Jan 12, 2014
2 parents 96ab8cb + 9c9a7dc commit a6535ff
Show file tree
Hide file tree
Showing 14 changed files with 102 additions and 105 deletions.
4 changes: 3 additions & 1 deletion app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -221,13 +221,15 @@ Generator.prototype.askForModules = function askForModules() {

if (this.cookiesModule) {
angMods.push("'ngCookies'");
this.env.options.ngCookies = true;
}

if (this.resourceModule) {
angMods.push("'ngResource'");
this.env.options.ngResource = true;
}
if (this.sanitizeModule) {
angMods.push("'ngSanitize'");
this.env.options.ngSanitize = true;
}
if (this.routeModule) {
angMods.push("'ngRoute'");
Expand Down
3 changes: 3 additions & 0 deletions main/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ util.inherits(Generator, ScriptBase);

Generator.prototype.createAppFile = function createAppFile() {
this.angularModules = this.env.options.angularDeps;
this.ngCookies = this.env.options.ngCookies;
this.ngResource = this.env.options.ngResource;
this.ngSanitize = this.env.options.ngSanitize;
this.ngRoute = this.env.options.ngRoute;
this.appTemplate('app', 'scripts/app');
};
12 changes: 6 additions & 6 deletions templates/typescript/app.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/// <reference path="../bower_components/dt-angular/angular.d.ts" />
<% if (ngRoute) { %>/// <reference path="../bower_components/dt-angular/angular-route.d.ts" /><% } %>
/// <reference path="../bower_components/dt-angular/angular-resource.d.ts" />
/// <reference path="../bower_components/dt-angular/angular-sanitize.d.ts" />
/// <reference path="../bower_components/dt-angular/angular-resource.d.ts" />
/// <reference path="../bower_components/dt-angular/angular.d.ts" /><% if (ngCookies) { %>
/// <reference path="../bower_components/dt-angular/angular-cookies.d.ts" /><% } %><% if (ngResource) { %>
/// <reference path="../bower_components/dt-angular/angular-resource.d.ts" /><% } %><% if (ngSanitize) { %>
/// <reference path="../bower_components/dt-angular/angular-sanitize.d.ts" /><% } %><% if (ngRoute) { %>
/// <reference path="../bower_components/dt-angular/angular-route.d.ts" /><% } %>

'use strict';

angular.module('<%= scriptAppName %>', [<%= angularModules %>])<% if (ngRoute) { %>
.config(function ($routeProvider:ng.route.IRouteProvider) {
.config(($routeProvider:ng.route.IRouteProvider) => {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
Expand Down
24 changes: 12 additions & 12 deletions templates/typescript/controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
'use strict';

module <%= scriptAppName %> {
export interface I<%= classedName %>Scope extends ng.IScope {
awesomeThings: any[];
}
export class <%= classedName %>Ctrl {
export interface I<%= classedName %>Scope extends ng.IScope {
awesomeThings: any[];
}

export class <%= classedName %>Ctrl {

constructor (private $scope:I<%= classedName %>Scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}
constructor (private $scope: I<%= classedName %>Scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}
}
}

angular.module('<%= scriptAppName %>')
Expand Down
20 changes: 10 additions & 10 deletions templates/typescript/decorator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

'use strict';

module <%= scriptAppName %>{
export function <%= cameledName %>DecoratorProvider($provide:ng.auto.IProvideService):void {
//decorate <%= cameledName %>
$provide.decorator('<%= cameledName %>', <%= cameledName %>Decorator);
}
module <%= scriptAppName %> {
export function <%= cameledName %>DecoratorProvider($provide: ng.auto.IProvideService): void {
//decorate <%= cameledName %>
$provide.decorator('<%= cameledName %>', <%= cameledName %>Decorator);
}

export function <%= cameledName %>Decorator($delegate) {
// decorate the $delegate
return $delegate;
}
export function <%= cameledName %>Decorator($delegate: any) {
// decorate the $delegate
return $delegate;
}
}

angular.module('<%= scriptAppName %>')
.config(<%= scriptAppName %>.<%= cameledName %>DecoratorProvider);
.config(<%= scriptAppName %>.<%= cameledName %>DecoratorProvider);
24 changes: 12 additions & 12 deletions templates/typescript/directive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@

module <%= scriptAppName %> {

export class <%= classedName %> implements ng.IDirective {
template = '<div></div>';
restrict = 'E';
link = function (scope, element: JQuery, attrs: ng.IAttributes):void {
element.text('this is the <%= cameledName %> directive');
}
}
export function <%= cameledName %>Factory() {
return new <%= scriptAppName %>.<%= classedName %>();
}
export class <%= classedName %> implements ng.IDirective {
template = '<div></div>';
restrict = 'E';
link = (scope: ng.IScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes): void => {
element.text('this is the <%= cameledName %> directive');
}
}

export function <%= cameledName %>Factory() {
return new <%= scriptAppName %>.<%= classedName %>();
}

}

angular.module('<%= scriptAppName %>')
Expand Down
18 changes: 9 additions & 9 deletions templates/typescript/filter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
'use strict';

module <%= scriptAppName %> {
export function <%= cameledName %>FilterFactory():Function {
return <%= cameledName %>Filter;
}
function <%= cameledName %>Filter(input, param) {
//usage {{"text" | <%= cameledName %>: "suffix"}}
//returns '<%= cameledName %> filter: text suffix'
return '<%= cameledName %> filter: ' + input + (param ? ' ' + param: '');
}
export function <%= cameledName %>FilterFactory(): Function {
return <%= cameledName %>Filter;
}

function <%= cameledName %>Filter(input, param) {
//usage {{"text" | <%= cameledName %>: "suffix"}}
//returns '<%= cameledName %> filter: text suffix'
return '<%= cameledName %> filter: ' + input + (param ? ' ' + param: '');
}
}

angular.module('<%= scriptAppName %>')
Expand Down
21 changes: 11 additions & 10 deletions templates/typescript/service/factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@
'use strict';

module <%= scriptAppName %> {
export function <%= cameledName %>Factory() {
return new <%= classedName %>(42);
}
export class <%= classedName %> {
export function <%= cameledName %>Factory() {
return new <%= classedName %>(42);
}

constructor (private meaningOfLife) {
}
export class <%= classedName %> {

someMethod(){
return this.meaningOfLife
}
}
constructor (private meaningOfLife) {
}

someMethod() {
return this.meaningOfLife;
}
}
}

angular.module('<%= scriptAppName %>')
Expand Down
25 changes: 12 additions & 13 deletions templates/typescript/service/provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,18 @@

module <%= scriptAppName %> {

var salutation:string;

export class Greeter {
greet = () => salutation;
}


export class <%= classedName %>Provider {
$get = () => new Greeter();

// Public API for configuration
setSalutation = (s:string) => salutation = s;
}
var salutation: string;

export class Greeter {
greet = () => salutation;
}

export class <%= classedName %>Provider {
$get = () => new Greeter();

// Public API for configuration
setSalutation = (s: string) => salutation = s;
}

}

Expand Down
14 changes: 7 additions & 7 deletions templates/typescript/service/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
'use strict';

module <%= scriptAppName %> {
export class <%= classedName %> {
awesomeThings:any[] = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}
export class <%= classedName %> {
awesomeThings:any[] = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}
}

angular.module('<%= scriptAppName %>')
Expand Down
14 changes: 6 additions & 8 deletions templates/typescript/spec/controller.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,26 @@
/// <reference path="../../../app/bower_components/dt-angular/angular.d.ts" />
/// <reference path="../../../app/bower_components/dt-angular/angular-mocks.d.ts" />
/// <reference path="../../../app/bower_components/dt-jasmine/jasmine.d.ts" />

/// <reference path="../../../app/scripts/controllers/<%= cameledName.toLowerCase() %>.ts" />

'use strict';

describe('Controller: <%= classedName %>Ctrl', function () {
describe('Controller: <%= classedName %>Ctrl', () => {

// load the controller's module
beforeEach(module('<%= scriptAppName %>'));

var <%= classedName %>Ctrl,
scope;
var <%= classedName %>Ctrl: <%= scriptAppName %>.<%= classedName %>Ctrl,
scope: <%= scriptAppName %>.I<%= classedName %>Scope;

// Initialize the controller and a mock scope
beforeEach(inject(function ($controller, $rootScope) {
scope = $rootScope.$new();
beforeEach(inject(($controller: ng.IControllerService, $rootScope: ng.IRootScopeService) => {
scope = <any>$rootScope.$new();
<%= classedName %>Ctrl = $controller('<%= classedName %>Ctrl', {
$scope: scope
});
}));

it('should attach a list of awesomeThings to the scope', function () {
it('should attach a list of awesomeThings to the scope', () => {
expect(scope.awesomeThings.length).toBe(3);
});
});
12 changes: 5 additions & 7 deletions templates/typescript/spec/directive.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
/// <reference path="../../../app/bower_components/dt-angular/angular.d.ts" />
/// <reference path="../../../app/bower_components/dt-angular/angular-mocks.d.ts" />
/// <reference path="../../../app/bower_components/dt-jasmine/jasmine.d.ts" />

/// <reference path="../../../app/scripts/directives/<%= cameledName.toLowerCase() %>.ts" />

'use strict';

describe('Directive: <%= cameledName %>', function () {
describe('Directive: <%= cameledName %>', () => {

// load the directive's module
beforeEach(module('<%= scriptAppName %>'));

var element,
scope;
var element: JQuery,
scope: ng.IScope;

beforeEach(inject(function ($rootScope) {
beforeEach(inject(($rootScope: ng.IRootScopeService) => {
scope = $rootScope.$new();
}));

it('should make hidden element visible', inject(function ($compile) {
it('should make hidden element visible', inject(($compile: ng.ICompileService) => {
element = angular.element('<<%= _.dasherize(name) %>></<%= _.dasherize(name) %>>');
element = $compile(element)(scope);
expect(element.text()).toBe('this is the <%= cameledName %> directive');
Expand Down
8 changes: 3 additions & 5 deletions templates/typescript/spec/filter.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
/// <reference path="../../../app/bower_components/dt-angular/angular.d.ts" />
/// <reference path="../../../app/bower_components/dt-angular/angular-mocks.d.ts" />
/// <reference path="../../../app/bower_components/dt-jasmine/jasmine.d.ts" />

/// <reference path="../../../app/scripts/filters/<%= cameledName.toLowerCase() %>.ts" />

'use strict';

describe('Filter: <%= cameledName %>', function () {
describe('Filter: <%= cameledName %>', () => {

// load the filter's module
beforeEach(module('<%= scriptAppName %>'));

// initialize a new instance of the filter before each test
var <%= cameledName %>;
beforeEach(inject(function ($filter) {
beforeEach(inject($filter => {
<%= cameledName %> = $filter('<%= cameledName %>');
}));

it('should return the input prefixed with "<%= cameledName %> filter:"', function () {
it('should return the input prefixed with "<%= cameledName %> filter:"', () => {
var text = 'angularjs';
expect(<%= cameledName %>(text)).toBe('<%= cameledName %> filter: ' + text);
});
Expand Down
8 changes: 3 additions & 5 deletions templates/typescript/spec/service.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
/// <reference path="../../../app/bower_components/dt-angular/angular.d.ts" />
/// <reference path="../../../app/bower_components/dt-angular/angular-mocks.d.ts" />
/// <reference path="../../../app/bower_components/dt-jasmine/jasmine.d.ts" />

/// <reference path="../../../app/scripts/services/<%= cameledName.toLowerCase() %>.ts" />

'use strict';

describe('Service: <%= cameledName %>', function () {
describe('Service: <%= cameledName %>', () => {

// load the service's module
beforeEach(module('<%= scriptAppName %>'));

// instantiate service
var <%= cameledName %>;
beforeEach(inject(function (_<%= cameledName %>_) {
beforeEach(inject(_<%= cameledName %>_ => {
<%= cameledName %> = _<%= cameledName %>_;
}));

it('should do something', function () {
it('should do something', () => {
expect(!!<%= cameledName %>).toBe(true);
});

Expand Down

0 comments on commit a6535ff

Please sign in to comment.