(arguments?: {}): T;
static isClass: boolean;
static isMethod: boolean;
$(): JQuery;
append(): View;
+ // ReSharper disable InconsistentNaming
appendTo(A: string): View;
appendTo(A: HTMLElement): View;
appendTo(A: JQuery): View;
+ // ReSharper restore InconsistentNaming
createChildView(viewClass: {}, attrs?: {}): View;
createChildView(viewClass: string, attrs?: {}): View;
createElement(): View;
@@ -2561,9 +1930,11 @@ declare module Ember {
removeChild(view: View): View;
removeFromParent(): View;
render(buffer: RenderBuffer): void;
+ // ReSharper disable InconsistentNaming
replaceIn(A: string): View;
replaceIn(A: HTMLElement): View;
replaceIn(A: JQuery): View;
+ // ReSharper restore InconsistentNaming
rerender(): void;
ariaRole: string;
attributeBindings: any;
@@ -2616,6 +1987,7 @@ declare module Ember {
function canInvoke(obj: any, methodName: string): boolean;
function changeProperties(callback: Function, binding?: any): void;
function compare(v: any, w: any): number;
+ // ReSharper disable once DuplicatingLocalDeclaration
var computed: {
(callback: Function): ComputedProperty;
alias(dependentKey: string): ComputedProperty;
@@ -2637,7 +2009,9 @@ declare module Ember {
oneWay(dependentKey: string): ComputedProperty;
or(...string): ComputedProperty;
};
+ // ReSharper disable DuplicatingLocalDeclaration
var config: {};
+ // ReSharper restore DuplicatingLocalDeclaration
function controllerFor(container: Container, controllerName: string, lookupOptions?: {}): Controller;
function copy(obj: any, deep: boolean): any;
/**
@@ -2653,8 +2027,10 @@ declare module Ember {
/**
Ember.empty is deprecated. Please use Ember.isEmpty instead.
**/
+ // ReSharper disable once DuplicatingLocalDeclaration
var empty: typeof deprecateFunc;
function endPropertyChanges(): void;
+ // ReSharper disable once DuplicatingLocalDeclaration
var exports: {};
function finishChains(obj: any): void;
function flushPendingChains(): void;
@@ -2687,6 +2063,7 @@ declare module Ember {
function listenersDiff(obj: any, eventName: string, otherActions: any[]): any[];
function listenersFor(obj: any, eventName: string): any[];
function listenersUnion(obj: any, eventName: string, otherActions: any[]): void;
+ // ReSharper disable once DuplicatingLocalDeclaration
var lookup: {}; // TODO: define interface
function makeArray(obj: any): any[];
function merge(original: any, updates: any): any;
@@ -2704,6 +2081,7 @@ declare module Ember {
function oneWay(obj: any, to: string, from: string): Binding;
var onError: Error;
function overrideChains(obj: any, keyName: string, m: any): boolean;
+ // ReSharper disable once DuplicatingLocalDeclaration
var platform: {
addBeforeObserver: ModifyObserver;
addObserver: ModifyObserver;
@@ -2772,6 +2150,7 @@ declare module Ember {
function unwatch(obj: any, keyPath: string): void;
function unwatchKey(obj: any, keyName: string): void;
function unwatchPath(obj: any, keyPath: string): void;
+ // ReSharper disable once DuplicatingLocalDeclaration
var uuid: number;
function valueOf(): {};
function warn(message: string, test?: boolean): void;
@@ -2782,6 +2161,7 @@ declare module Ember {
function wrap(func: Function, superFunc: Function): Function;
}
+// ReSharper disable DuplicatingLocalDeclaration
declare module Em {
/**
Alias for jQuery.
diff --git a/handlebars/handlebars-tests.ts b/handlebars/handlebars-tests.ts
index cfda4d072..1846f943d 100644
--- a/handlebars/handlebars-tests.ts
+++ b/handlebars/handlebars-tests.ts
@@ -1,77 +1,79 @@
///
+import Handlebars = require('handlebars');
+
var context = {
- author: { firstName: "Alan", lastName: "Johnson" },
- body: "I Love Handlebars",
+ author: { firstName: 'Alan', lastName: 'Johnson' },
+ body: 'I Love Handlebars',
comments: [{
- author: { firstName: "Yehuda", lastName: "Katz" },
- body: "Me too!"
+ author: { firstName: 'Yehuda', lastName: 'Katz' },
+ body: 'Me too!'
}]
};
Handlebars.registerHelper('fullName', (person) => {
- return person.firstName + " " + person.lastName;
+ return person.firstName + ' ' + person.lastName;
});
-Handlebars.registerHelper('agree_button', () => {
+Handlebars.registerHelper('agree_button', function() {
return new Handlebars.SafeString(
- ""
+ ''
);
});
-var source = "Hello, my name is {{name}}. I am from {{hometown}}. I have " +
- "{{kids.length}} kids:
" +
- "{{#kids}}- {{name}} is {{age}}
{{/kids}}
";
+var source = 'Hello, my name is {{name}}. I am from {{hometown}}. I have ' +
+ '{{kids.length}} kids:
' +
+ '{{#kids}}- {{name}} is {{age}}
{{/kids}}
';
var template = Handlebars.compile(source);
-var data = { "name": "Alan", "hometown": "Somewhere, TX",
- "kids": [{"name": "Jimmy", "age": "12"}, {"name": "Sally", "age": "4"}]};
+var data = { 'name': 'Alan', 'hometown': 'Somewhere, TX',
+ 'kids': [{'name': 'Jimmy', 'age': '12'}, {'name': 'Sally', 'age': '4'}]};
var result = template(data);
Handlebars.registerHelper('link_to', (context) => {
- return "" + context.body + "";
+ return '' + context.body + '';
});
-var context2 = { posts: [{url: "/hello-world", body: "Hello World!"}] };
-var source2 = "{{#posts}}- {{{link_to this}}}
{{/posts}}
"
+var context2 = { posts: [{url: '/hello-world', body: 'Hello World!'}] };
+var source2 = '{{#posts}}- {{{link_to this}}}
{{/posts}}
';
var template2 = Handlebars.compile(source2);
template2(context2);
Handlebars.registerHelper('link_to', (title, context) => {
- return "" + title + "!"
+ return '' + title + '!';
});
-var context3 = { posts: [{url: "/hello-world", body: "Hello World!"}] };
-var source3 = '{{#posts}}- {{{link_to "Post" this}}}
{{/posts}}
'
+var context3 = { posts: [{url: '/hello-world', body: 'Hello World!'}] };
+var source3 = '{{#posts}}- {{{link_to "Post" this}}}
{{/posts}}
';
var template3 = Handlebars.compile(source3);
template3(context3);
-var source4 = "{{#people}}- {{#link}}{{name}}{{/link}}
{{/people}}
";
-Handlebars.registerHelper('link', (context, options) => {
+var source4 = '{{#people}}- {{#link}}{{name}}{{/link}}
{{/people}}
';
+Handlebars.registerHelper('link', function(context) {
return '' + context.fn(this) + '';
});
var template4 = Handlebars.compile(source4);
-var data2 = { "people": [
- { "name": "Alan", "id": 1 },
- { "name": "Yehuda", "id": 2 }
+var data2 = { 'people': [
+ { 'name': 'Alan', 'id': 1 },
+ { 'name': 'Yehuda', 'id': 2 }
]};
template4(data2);
-var source5 = "{{#people}}- {{> link}}
{{/people}}
";
-Handlebars.registerPartial('link', '{{name}}')
+var source5 = '{{#people}}- {{> link}}
{{/people}}
';
+Handlebars.registerPartial('link', '{{name}}');
var template5 = Handlebars.compile(source5);
-var data3 = { "people": [
- { "name": "Alan", "id": 1 },
- { "name": "Yehuda", "id": 2 }
+var data3 = { 'people': [
+ { 'name': 'Alan', 'id': 1 },
+ { 'name': 'Yehuda', 'id': 2 }
]};
template5(data3);
Handlebars.registerHelper('list', (items, fn) => {
- var out = "";
+ var out = '';
for(var i=0, l=items.length; i" + fn(items[i]) + "";
+ out = out + '- ' + fn(items[i]) + '
';
}
- return out + "
";
+ return out + '
';
});
Handlebars.registerHelper('fullName', (person) => {
- return person.firstName + " " + person.lastName;
-});
\ No newline at end of file
+ return person.firstName + ' ' + person.lastName;
+});
diff --git a/handlebars/handlebars.d.ts b/handlebars/handlebars.d.ts
index 8449fde07..28158031e 100644
--- a/handlebars/handlebars.d.ts
+++ b/handlebars/handlebars.d.ts
@@ -4,30 +4,39 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
-declare module Handlebars {
- function registerHelper(name: string, fn: Function, inverse?: boolean): void;
- function registerPartial(name: string, str: any): void;
- function K(): void;
- function createFrame(object: any): any;
- function Exception(message: string): void;
- class SafeString {
- constructor(str: string);
- static toString(): string;
- }
- function parse(input: string): boolean;
- var logger: Logger;
- function log(level: number, obj: any): void;
- function compile(input: any, options?: any): (context: any, options?: any) => string;
+declare var Handlebars: HandlebarsStatic;
- interface Logger {
- DEBUG: number;
- INFO: number;
- WARN: number;
- ERROR: number;
- level: number;
+interface HandlebarsStatic {
+ registerHelper(name: string, fn: Function, inverse?: boolean): void;
+ registerPartial(name: string, str: any): void;
+ K(): void;
+ createFrame(object: any): any;
+ Exception(message: string): void;
+ SafeString: typeof SafeString;
+ parse(input: string): boolean;
+ logger: Logger;
+ log(level: number, obj: any): void;
+ compile(input: any, options?: any): (context: any, options?: any) => string;
+ Logger: typeof Logger;
+}
- methodMap: { [level: number]: string };
+declare class SafeString {
+ constructor(str: string);
+ static toString(): string;
+}
- log(level: number, obj: string): void;
- }
+interface Logger {
+ DEBUG: number;
+ INFO: number;
+ WARN: number;
+ ERROR: number;
+ level: number;
+
+ methodMap: { [level: number]: string };
+
+ log(level: number, obj: string): void;
+}
+
+declare module "handlebars" {
+ export = Handlebars;
}