From be83964dad022642fc38a8784b1f4d3a8b5f9094 Mon Sep 17 00:00:00 2001 From: Andrew Gaspar Date: Thu, 15 Aug 2013 17:17:36 -0500 Subject: [PATCH] Made knockout.d.ts support both AMD and static loading. --- knockout/knockout.amd.d.ts | 88 ----------------------------------- knockout/knockout.d.ts | 4 ++ knockout/knockoutamd-tests.ts | 9 ++++ 3 files changed, 13 insertions(+), 88 deletions(-) delete mode 100644 knockout/knockout.amd.d.ts create mode 100644 knockout/knockoutamd-tests.ts diff --git a/knockout/knockout.amd.d.ts b/knockout/knockout.amd.d.ts deleted file mode 100644 index 8eb34385db..0000000000 --- a/knockout/knockout.amd.d.ts +++ /dev/null @@ -1,88 +0,0 @@ -// Type definitions for Knockout 2.2 (as an AMD module) -// Project: http://knockoutjs.com -// Definitions by: Boris Yankov -// Definitions: https://github.com/borisyankov/DefinitelyTyped -/// - -declare module 'knockout' { - export var utils: KnockoutUtils; - export var memoization: KnockoutMemoization; - export var bindingHandlers: KnockoutBindingHandlers; - export var virtualElements: KnockoutVirtualElements; - export var extenders: KnockoutExtenders; - export function applyBindings(viewModel: any, rootNode?: any): void; - export function applyBindingsToDescendants(viewModel: any, rootNode: any): void; - export function applyBindingsToNode(node: Element, options: any, viewModel: any): void; - export var subscribable: KnockoutSubscribableStatic; - export var observable: KnockoutObservableStatic; - export var computed: KnockoutComputedStatic; - export var observableArray: KnockoutObservableArrayStatic; - export function contextFor(node: any): any; - export function isSubscribable(instance: any): boolean; - export function toJSON(viewModel: any, replacer?: Function, space?: any): string; - export function toJS(viewModel: any): any; - export function isObservable(instance: any): boolean; - export function isComputed(instance: any): boolean; - export function dataFor(node: any): any; - export function removeNode(node: Element); - export function cleanNode(node: Element); - export function renderTemplate(template: Function, viewModel: any, options?: any, target?: any, renderMode?: any); - export function renderTemplate(template: string, viewModel: any, options?: any, target?: any, renderMode?: any); - - ////////////////////////////////// - //// templateSources.js - //////////////////////////////////// - export var templateSources: KnockoutTemplateSources; - //////////////////////////////////// - //// templateEngine.js - //////////////////////////////////// - export var templateEngine: { - prototype: KnockoutTemplateEngine; - new (): KnockoutTemplateEngine; - }; - //////////////////////////////////// - //// templateRewriting.js - //////////////////////////////////// - export var templateRewriting: { - ensureTemplateIsRewritten(template, templateEngine, templateDocument); - memoizeBindingAttributeSyntax(htmlString: string, templateEngine: KnockoutTemplateEngine); - applyMemoizedBindingsToNextSibling(bindings); - }; - //////////////////////////////////// - //// nativeTemplateEngine.js - //////////////////////////////////// - export var nativeTemplateEngine: { - prototype: KnockoutNativeTemplateEngine; - new (): KnockoutNativeTemplateEngine; - instance: KnockoutNativeTemplateEngine; - }; - //////////////////////////////////// - //// jqueryTmplTemplateEngine.js - //////////////////////////////////// - export var jqueryTmplTemplateEngine: { - prototype: KnockoutTemplateEngine; - renderTemplateSource(templateSource, bindingContext, options); - createJavaScriptEvaluatorBlock(script: string): string; - addTemplate(templateName, templateMarkup); - }; - //////////////////////////////////// - //// templating.js - //////////////////////////////////// - export function setTemplateEngine(templateEngine: KnockoutNativeTemplateEngine); - export function renderTemplate(template, dataOrBindingContext, options, targetNodeOrNodeArray, renderMode); - export function renderTemplateForEach(template, arrayOrObservableArray, options, targetNode, parentBindingContext); - export var expressionRewriting: { - bindingRewriteValidators: any; - }; - - /////////////////////////////////// - export var bindingProvider: any; - - //////////////////////////////////// - //// selectExtensions.js - //////////////////////////////////// - export var selectExtensions: { - readValue(element: any); - writeValue(element: any, value: any); - } -} \ No newline at end of file diff --git a/knockout/knockout.d.ts b/knockout/knockout.d.ts index c5653889cc..5b1bdd63f9 100644 --- a/knockout/knockout.d.ts +++ b/knockout/knockout.d.ts @@ -491,4 +491,8 @@ interface KnockoutStatic { }; } +declare module "knockout" { + export = ko; +} + declare var ko: KnockoutStatic; diff --git a/knockout/knockoutamd-tests.ts b/knockout/knockoutamd-tests.ts new file mode 100644 index 0000000000..dd2124b70d --- /dev/null +++ b/knockout/knockoutamd-tests.ts @@ -0,0 +1,9 @@ +import ko = require("knockout"); + +var myArray = ko.observableArray([1, 2, 3]); + +class MyViewModel { + name = ko.observable("Jeff"); +} + +ko.applyBindings(new MyViewModel()); \ No newline at end of file