mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #1385 from borisyankov/switch-0.9.5
all definition files are ready to use on TypeScript 0.9.5
This commit is contained in:
@@ -203,7 +203,7 @@ List of Definitions
|
||||
* [Riot.js](https://github.com/moot/riotjs) (by [vvakame](https://github.com/vvakame))
|
||||
* [Restify](https://github.com/mcavage/node-restify) (by [Bret Little](https://github.com/blittle))
|
||||
* [Royalslider](http://dimsemenov.com/plugins/royal-slider/) (by [Christiaan Rakowski](https://github.com/csrakowski))
|
||||
* [Rx.js](http://rx.codeplex.com/) (by [gsino](http://www.codeplex.com/site/users/view/gsino))
|
||||
* [Rx.js](http://rx.codeplex.com/) (by [gsino](http://www.codeplex.com/site/users/view/gsino), [Igor Oleinikov](https://github.com/Igorbek), [Carl de Billy](http://carl.debilly.net/), [zoetrope](https://github.com/zoetrope))
|
||||
* [Raphael](http://raphaeljs.com/) (by [CheCoxshall](https://github.com/CheCoxshall))
|
||||
* [Restangular](https://github.com/mgonto/restangular/) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [require.js](http://requirejs.org/) (by [Josh Baldwin](https://github.com/jbaldwin/))
|
||||
|
||||
+14202
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env node
|
||||
require('./tsc.js')
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -2,6 +2,10 @@
|
||||
|
||||
var myApp = angular.module('testModule');
|
||||
|
||||
interface MyAppScope extends ng.IScope {
|
||||
items: string[];
|
||||
things: string[];
|
||||
}
|
||||
|
||||
myApp.config((
|
||||
$stateProvider: ng.ui.IStateProvider,
|
||||
@@ -19,7 +23,7 @@ myApp.config((
|
||||
.state('state1.list', {
|
||||
url: "/list",
|
||||
templateUrl: "partials/state1.list.html",
|
||||
controller: function($scope) {
|
||||
controller: function ($scope: MyAppScope) {
|
||||
$scope.items = ["A", "List", "Of", "Items"];
|
||||
}
|
||||
})
|
||||
@@ -30,7 +34,7 @@ myApp.config((
|
||||
.state('state2.list', {
|
||||
url: "/list",
|
||||
templateUrl: "partials/state2.list.html",
|
||||
controller: function($scope) {
|
||||
controller: function ($scope: MyAppScope) {
|
||||
$scope.things = ["A", "Set", "Of", "Things"];
|
||||
}
|
||||
}).state('index', {
|
||||
|
||||
@@ -83,5 +83,5 @@ var resourceService: ng.resource.IResourceService;
|
||||
|
||||
resourceClass = resourceServiceFactoryFunction<IMyResourceClass>(resourceService);
|
||||
|
||||
resourceServiceFactoryFunction = function (resourceService) { return resourceClass };
|
||||
resourceServiceFactoryFunction = function (resourceService: ng.resource.IResourceService) { return <any>resourceClass; };
|
||||
mod = mod.factory('factory name', resourceServiceFactoryFunction);
|
||||
|
||||
@@ -20,7 +20,7 @@ angular.module('http-auth-interceptor', [])
|
||||
* Required by HTTP interceptor.
|
||||
* Function is attached to provider to be invisible for regular users of this service.
|
||||
*/
|
||||
this.pushToBuffer = function (config: ng.IRequestConfig, deferred: ng.IDeferred) {
|
||||
this.pushToBuffer = function (config: ng.IRequestConfig, deferred: ng.IDeferred<any>) {
|
||||
buffer.push({
|
||||
config: config,
|
||||
deferred: deferred
|
||||
|
||||
@@ -135,7 +135,7 @@ async.waterfall([
|
||||
], function (err, result) { });
|
||||
|
||||
|
||||
var q = async.queue(function (task, callback) {
|
||||
var q = async.queue(function (task: any, callback) {
|
||||
console.log('hello ' + task.name);
|
||||
callback();
|
||||
}, 2);
|
||||
|
||||
@@ -59,7 +59,7 @@ query.read().done(printOut); //Execute query remotly and return data filtered
|
||||
|
||||
//testing more complicated Query in composition with previous using function Predicate and Projection
|
||||
var minlength = 15; //parameter value for filter Predicate
|
||||
query.where(function (len: number) { return this.text != null && this.text.length > len }, minlength)
|
||||
query.where(function (len?: number) { return this.text != null && this.text.length > len }, minlength)
|
||||
.orderByDescending('id').skip(2).take(3) //some other ordering and paging filters
|
||||
.select(function () { return { abc: this.text + '|' + this.id }; }) //Projection
|
||||
.read().done(printOut); //return 3 object {abd: 'ttttttttttttttt|ID'}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
/// <reference path="bootstrap.datepicker.d.ts"/>
|
||||
/// <reference path="bootstrap.datepicker.d.ts"/>
|
||||
|
||||
function tests_simple() {
|
||||
$('#datepicker').datepicker();
|
||||
@@ -11,30 +10,32 @@ function tests_simple() {
|
||||
$('#datepicker').datepicker('setEndDate', '2012-12-31');
|
||||
$('#date-end')
|
||||
.datepicker()
|
||||
.on('changeDate', function (ev) { });
|
||||
.on('changeDate', function (ev) { ev; });
|
||||
|
||||
var startDate = new Date(2012, 1, 20);
|
||||
var endDate = new Date(2012, 1, 25);
|
||||
$('#date-start')
|
||||
.datepicker()
|
||||
.on('changeDate', function (ev) {
|
||||
//.on("changeDate", function (ev) { // bug https://typescript.codeplex.com/workitem/1976
|
||||
.on("changeDate", function (ev: DatepickerEventObject) {
|
||||
if (ev.date.valueOf() > endDate.valueOf()) {
|
||||
$('#alert').show().find('strong').text('The start date must be before the end date.');
|
||||
} else {
|
||||
$('#alert').hide();
|
||||
startDate = new Date(ev.date);
|
||||
startDate = ev.date;
|
||||
$('#date-start-display').text($('#date-start').data('date'));
|
||||
}
|
||||
$('#date-start').datepicker('hide');
|
||||
});
|
||||
$('#date-end')
|
||||
.datepicker()
|
||||
.on('changeDate', function (ev) {
|
||||
//.on('changeDate', function (ev) { // bug https://typescript.codeplex.com/workitem/1976
|
||||
.on('changeDate', function (ev: DatepickerEventObject) {
|
||||
if (ev.date.valueOf() < startDate.valueOf()) {
|
||||
$('#alert').show().find('strong').text('The end date must be after the start date.');
|
||||
} else {
|
||||
$('#alert').hide();
|
||||
endDate = new Date(ev.date);
|
||||
endDate = ev.date;
|
||||
$('#date-end-display').text($('#date-end').data('date'));
|
||||
}
|
||||
$('#date-end').datepicker('hide');
|
||||
@@ -55,25 +56,27 @@ $(function () {
|
||||
var startDate = new Date(2012, 1, 20);
|
||||
var endDate = new Date(2012, 1, 25);
|
||||
$('#dp4').datepicker()
|
||||
.on('changeDate', function (ev) {
|
||||
//.on('changeDate', function (ev) { // bug https://typescript.codeplex.com/workitem/1976
|
||||
.on('changeDate', function (ev: DatepickerEventObject) {
|
||||
if (ev.date.valueOf() > endDate.valueOf()) {
|
||||
$('#alert').show().find('strong').text('The start date can not be greater then the end date');
|
||||
} else {
|
||||
$('#alert').hide();
|
||||
startDate = new Date(ev.date);
|
||||
startDate = ev.date;
|
||||
$('#startDate').text($('#dp4').data('date'));
|
||||
}
|
||||
$('#dp4').datepicker('hide');
|
||||
});
|
||||
$('#dp5').datepicker()
|
||||
.on('changeDate', function (ev) {
|
||||
//.on('changeDate', function (ev) { // bug https://typescript.codeplex.com/workitem/1976
|
||||
.on('changeDate', function (ev: DatepickerEventObject) {
|
||||
if (ev.date.valueOf() < startDate.valueOf()) {
|
||||
$('#alert').show().find('strong').text('The end date can not be less then the start date');
|
||||
} else {
|
||||
$('#alert').hide();
|
||||
endDate = new Date(ev.date);
|
||||
endDate = ev.date;
|
||||
$('#endDate').text($('#dp5').data('date'));
|
||||
}
|
||||
$('#dp5').datepicker('hide');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
+10
-5
@@ -3,7 +3,6 @@
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
|
||||
interface DatepickerOptions {
|
||||
@@ -19,15 +18,21 @@ interface DatepickerOptions {
|
||||
language?: string;
|
||||
}
|
||||
|
||||
interface DatepickerEventObject extends JQueryEventObject {
|
||||
date: Date;
|
||||
format(format?: string): string;
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
datepicker(): JQuery;
|
||||
datepicker(methodName: string): JQuery;
|
||||
datepicker(methodName: string, params: any): JQuery;
|
||||
datepicker(options: DatepickerOptions): JQuery;
|
||||
|
||||
off(events?: "changeDate", selector?: any, handler?: (eventObject: any) => any): JQuery;
|
||||
off(events: "changeDate", selector?: string, handler?: (eventObject: DatepickerEventObject) => any): JQuery;
|
||||
off(events: "changeDate", handler: (eventObject: DatepickerEventObject) => any): JQuery;
|
||||
|
||||
on(events: "changeDate", selector?: string, data?: any, handler?: (eventObject: any) => any): JQuery;
|
||||
on(events: "changeDate", selector?: string, handler?: (eventObject: any) => any): JQuery;
|
||||
on(events: "changeDate", handler?: (eventObject: any) => any): JQuery;
|
||||
on(events: "changeDate", selector: string, data: any, handler?: (eventObject: DatepickerEventObject) => any): JQuery;
|
||||
on(events: "changeDate", selector: string, handler: (eventObject: DatepickerEventObject) => any): JQuery;
|
||||
on(events: 'changeDate', handler: (eventObject: DatepickerEventObject) => any): JQuery;
|
||||
}
|
||||
|
||||
@@ -1,787 +0,0 @@
|
||||
/// <reference path="breeze-1.0.d.ts" />
|
||||
|
||||
import breeze = Breeze;
|
||||
import core = BreezeCore;
|
||||
|
||||
function test_dataType() {
|
||||
var typ = breeze.DataType.DateTime;
|
||||
var nm = typ.getName();
|
||||
var isNumber = typ.isNumeric;
|
||||
var dv = typ.defaultValue;
|
||||
var symbs = breeze.DataType.getSymbols();
|
||||
var x = typ.parentEnum === <BreezeCore.IEnum> breeze.DataType;
|
||||
var isFalse = breeze.DataType.contains(breeze.DataType.Double);
|
||||
var dt = breeze.DataType.fromName("Decimal");
|
||||
}
|
||||
|
||||
function test_dataProperty() {
|
||||
var lastNameProp = new breeze.DataProperty({
|
||||
name: "lastName",
|
||||
dataType: breeze.DataType.String,
|
||||
isNullable: true,
|
||||
maxLength: 20
|
||||
});
|
||||
var personEntityType: breeze.EntityType;
|
||||
personEntityType.addProperty(lastNameProp);
|
||||
}
|
||||
|
||||
function test_dataService() {
|
||||
var ds = new breeze.DataService({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
hasServerMetadata: true
|
||||
});
|
||||
var em = new breeze.EntityManager({
|
||||
dataService: ds
|
||||
});
|
||||
}
|
||||
|
||||
function test_entityAspect() {
|
||||
var order: breeze.Entity;
|
||||
order.entityAspect.acceptChanges();
|
||||
var entityKey = order.entityAspect.getKey();
|
||||
var valErrors = order.entityAspect.getValidationErrors();
|
||||
var orderDateErrors = order.entityAspect.getValidationErrors("OrderDate");
|
||||
var orderDateProperty = order.entityType.getProperty("OrderDate");
|
||||
var orderDateErrors = order.entityAspect.getValidationErrors(orderDateProperty);
|
||||
order.entityAspect.loadNavigationProperty("Orders").then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (exception) { });
|
||||
order.entityAspect.rejectChanges();
|
||||
order.entityAspect.setDeleted();
|
||||
order.entityAspect.setModified();
|
||||
order.entityAspect.setUnchanged();
|
||||
var isOk = order.entityAspect.validateEntity();
|
||||
if (!isOk) {
|
||||
var errors = order.entityAspect.getValidationErrors();
|
||||
}
|
||||
var isOk = order.entityAspect.validateProperty("Order");
|
||||
var orderDateProperty = order.entityType.getProperty("OrderDate");
|
||||
//var isOk = order.entityAspect.validateProperty(OrderDateProperty);
|
||||
order.entityAspect.propertyChanged.subscribe(function (propertyChangedArgs) {
|
||||
var entity = propertyChangedArgs.entity;
|
||||
var propertyNameChanged = propertyChangedArgs.propertyName;
|
||||
var oldValue = propertyChangedArgs.oldValue;
|
||||
var newValue = propertyChangedArgs.newValue;
|
||||
});
|
||||
order.entityAspect.validationErrorsChanged.subscribe(function (validationChangeArgs) {
|
||||
var entity = validationChangeArgs.entity;
|
||||
var errorsAdded = validationChangeArgs.added;
|
||||
var errorsCleared = validationChangeArgs.removed;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function test_entityKey() {
|
||||
var em1: breeze.EntityManager;
|
||||
var employee1: breeze.Entity;
|
||||
var empType = em1.metadataStore.getEntityType("Employee");
|
||||
var entityKey = new breeze.EntityKey(<breeze.EntityType> empType, 1);
|
||||
var empKey = employee1.entityAspect.getKey();
|
||||
var empTerrType = em1.metadataStore.getEntityType("EmployeeTerritory");
|
||||
var empTerrKey = new breeze.EntityKey(<breeze.EntityType> empTerrType, [1, 77]);
|
||||
var empType = em1.metadataStore.getEntityType("Employee");
|
||||
var empKey1 = new breeze.EntityKey(<breeze.EntityType> empType, 1);
|
||||
var empKey2 = employee1.entityAspect.getKey();
|
||||
if (empKey1.equals(empKey2)) { }
|
||||
if (breeze.EntityKey.equals(empKey1, empKey2)) { }
|
||||
}
|
||||
|
||||
function test_metadataStore() {
|
||||
var ms = new breeze.MetadataStore();
|
||||
var entityManager = new breeze.EntityManager({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
metadataStore: ms
|
||||
});
|
||||
var em1: breeze.EntityManager;
|
||||
em1.setProperties({ metadataStore: ms });
|
||||
var metadataAsString = ms.exportMetadata();
|
||||
window.localStorage.setItem("metadata", metadataAsString);
|
||||
var metadataFromStorage = window.localStorage.getItem("metadata");
|
||||
var newMetadataStore = new breeze.MetadataStore();
|
||||
newMetadataStore.importMetadata(metadataFromStorage);
|
||||
var ms = new breeze.MetadataStore();
|
||||
ms.fetchMetadata("api/NorthwindIBModel")
|
||||
.then(function (rawMetadata) { })
|
||||
.fail(function (exception) { });
|
||||
var odType = em1.metadataStore.getEntityType("OrderDetail");
|
||||
var badType = em1.metadataStore.getEntityType("Foo", false);
|
||||
var allTypes = em1.metadataStore.getEntityTypes();
|
||||
if (!em1.metadataStore.hasMetadataFor("api/NorthwindIBModel")) { }
|
||||
var metadataAsString = ms.exportMetadata();
|
||||
window.localStorage.setItem("metadata", metadataAsString);
|
||||
var metadataFromStorage = window.localStorage.getItem("metadata");
|
||||
var newMetadataStore = breeze.MetadataStore.importMetadata(metadataFromStorage);
|
||||
var metadataAsString = ms.exportMetadata();
|
||||
window.localStorage.setItem("metadata", metadataAsString);
|
||||
var metadataFromStorage = window.localStorage.getItem("metadata");
|
||||
var newMetadataStore = new breeze.MetadataStore();
|
||||
newMetadataStore.importMetadata(metadataFromStorage);
|
||||
if (em1.metadataStore.isEmpty()) { }
|
||||
var Customer = function () {
|
||||
this.miscData = "asdf";
|
||||
}
|
||||
em1.metadataStore.registerEntityTypeCtor("Customer", Customer);
|
||||
}
|
||||
|
||||
function test_entityManager() {
|
||||
var entityManager = new breeze.EntityManager("api/NorthwindIBModel");
|
||||
var entityManager = new breeze.EntityManager({ serviceName: "api/NorthwindIBModel" });
|
||||
var metadataStore = new breeze.MetadataStore();
|
||||
var entityManager = new breeze.EntityManager({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
metadataStore: metadataStore
|
||||
});
|
||||
return new breeze.QueryOptions({
|
||||
mergeStrategy: null,
|
||||
fetchStrategy: this.fetchStrategy
|
||||
});
|
||||
var queryOptions = new breeze.QueryOptions({
|
||||
mergeStrategy: breeze.MergeStrategy.OverwriteChanges,
|
||||
fetchStrategy: breeze.FetchStrategy.FromServer
|
||||
});
|
||||
var validationOptions = new breeze.ValidationOptions({
|
||||
validateOnAttach: true,
|
||||
validateOnSave: true,
|
||||
validateOnQuery: false
|
||||
});
|
||||
var entityManager = new breeze.EntityManager({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
queryOptions: queryOptions,
|
||||
validationOptions: validationOptions
|
||||
});
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var cust1 = custType.createEntity();
|
||||
em1.addEntity(cust1);
|
||||
em1.attachEntity(cust1, breeze.EntityState.Added);
|
||||
em1.clear();
|
||||
var em2 = em1.createEmptyCopy();
|
||||
em1.detachEntity(cust1);
|
||||
var serviceName: string;
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
em.executeQuery(query)
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
em.executeQuery(query,
|
||||
function (data) {
|
||||
var orders = data.results;
|
||||
},
|
||||
function (err) {
|
||||
});
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
query.execute()
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
var orders = em.executeQueryLocally(query);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(breeze.FetchStrategy.FromLocalCache);
|
||||
em.executeQuery(query)
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var bundle = em1.exportEntities();
|
||||
window.localStorage.setItem("myEntityManager", bundle);
|
||||
var bundleFromStorage = window.localStorage.getItem("myEntityManager");
|
||||
var em2 = new breeze.EntityManager({
|
||||
serviceName: em1.serviceName,
|
||||
metadataStore: em1.metadataStore
|
||||
});
|
||||
em2.importEntities(bundleFromStorage);
|
||||
var entitiesToExport: breeze.Entity[];
|
||||
var bundle = em1.exportEntities(entitiesToExport);
|
||||
em2.importEntities(bundle, { mergeStrategy: breeze.MergeStrategy.PreserveChanges });
|
||||
var em1 = new breeze.EntityManager("api/NorthwindIBModel");
|
||||
em1.fetchMetadata()
|
||||
.then(function () {
|
||||
var metadataStore = em1.metadataStore;
|
||||
})
|
||||
.fail(function (exception) {
|
||||
});
|
||||
var employeeType = em1.metadataStore.getEntityType("Employee");
|
||||
var employeeKey = new breeze.EntityKey(<breeze.EntityType> employeeType, 1);
|
||||
var employee = em1.fetchEntityByKey(employeeKey);
|
||||
var emp2 = em1.fetchEntityByKey("Employee", 6);
|
||||
var emp3 = em1.fetchEntityByKey("Entityee", [6]);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var custumer = custType.createEntity();
|
||||
var customerId = em.generateTempKeyValue(custumer);
|
||||
em1.saveChanges()
|
||||
.then(function (data) {
|
||||
var sameCust1 = data.results[0];
|
||||
});
|
||||
var changedEntities = em1.getChanges();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var changedCustomers = em1.getChanges(custType);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var changedCustomersAndOrders = em1.getChanges([custType, orderType]);
|
||||
var entities = em1.getEntities();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customers = em1.getEntities(custType);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var customersAndOrders = em1.getChanges([custType, orderType]);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var addedCustomersAndOrders = em1.getEntities([custType, orderType], breeze.EntityState.Added);
|
||||
if (em1.hasChanges()) { }
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
if (em1.hasChanges(custType)) { }
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
if (em1.hasChanges([custType, orderType])) { }
|
||||
var bundle = em1.exportEntities();
|
||||
window.localStorage.setItem("myEntityManager", bundle);
|
||||
var bundleFromStorage = window.localStorage.getItem("myEntityManager");
|
||||
var em2 = breeze.EntityManager.importEntities(bundleFromStorage);
|
||||
var bundle = em1.exportEntities();
|
||||
var em2 = new breeze.EntityManager({
|
||||
serviceName: em1.serviceName,
|
||||
metadataStore: em1.metadataStore
|
||||
});
|
||||
em2.importEntities(bundle);
|
||||
var bundle = em1.exportEntities();
|
||||
em2.importEntities(bundle, { mergeStrategy: breeze.MergeStrategy.PreserveChanges });
|
||||
em.saveChanges().then(function (saveResult) {
|
||||
var savedEntities = saveResult.entities;
|
||||
var keyMappings = saveResult.keyMappings;
|
||||
}).fail(function (e) {
|
||||
});
|
||||
var saveOptions = new breeze.SaveOptions({ allowConcurrentSaves: true });
|
||||
var entitiesToSave: breeze.Entity[];
|
||||
em.saveChanges(entitiesToSave, saveOptions).then(function (saveResult) {
|
||||
var savedEntities = saveResult.entities;
|
||||
var keyMappings = saveResult.keyMappings;
|
||||
}).fail(function (e) {
|
||||
});
|
||||
em.saveChanges(entitiesToSave, null,
|
||||
function (saveResult) {
|
||||
var savedEntities = saveResult.entities;
|
||||
var keyMappings = saveResult.keyMappings;
|
||||
}, function (e) { }
|
||||
);
|
||||
em1.setProperties({
|
||||
serviceName: "api/foo",
|
||||
});
|
||||
var em = new breeze.EntityManager({ serviceName: "api/NorthwindIBModel" });
|
||||
em.entityChanged.subscribe(function (changeArgs) {
|
||||
var action = changeArgs.entityAction;
|
||||
var entity = changeArgs.entity;
|
||||
});
|
||||
var em = new breeze.EntityManager({ serviceName: "api/NorthwindIBModel" });
|
||||
em.hasChangesChanged.subscribe(function (args) {
|
||||
var hasChangesChanged = args.hasChanges;
|
||||
var entityManager = args.entityManager;
|
||||
});
|
||||
}
|
||||
|
||||
function test_entityQuery() {
|
||||
var query = new breeze.EntityQuery("Customers");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.orderBy("Region");
|
||||
var serviceName: string;
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
query.execute()
|
||||
.then(function (data) { })
|
||||
.fail(function (err) { });
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
query.execute(
|
||||
function (data) {
|
||||
var orders = data.results;
|
||||
},
|
||||
function (err) { });
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
em.executeQuery(query)
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
var orders = query.executeLocally();
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.expand("Orders");
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.expand("Customer, Employee");
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.expand("Customer, OrderDetails, OrderDetails.Product");
|
||||
var query = breeze.EntityQuery.from("Customers");
|
||||
var query = new breeze.EntityQuery("Customers");
|
||||
var query = new breeze.EntityQuery().from("Customers");
|
||||
var customer: breeze.Entity;
|
||||
var customers: breeze.Entity[];
|
||||
var customersQuery = breeze.EntityQuery.fromEntities(customers);
|
||||
var customersQuery = breeze.EntityQuery.fromEntities(customers)
|
||||
.where("Region", breeze.FilterQueryOp.NotEquals, null);
|
||||
var customerQuery = breeze.EntityQuery.fromEntities(customer);
|
||||
var metadataStore: breeze.MetadataStore;
|
||||
var empType = metadataStore.getEntityType("Employee");
|
||||
var entityKey = new breeze.EntityKey(<breeze.EntityType> empType, 1);
|
||||
var query = breeze.EntityQuery.fromEntityKey(entityKey);
|
||||
var employee: breeze.Entity;
|
||||
var entityKey = employee.entityAspect.getKey();
|
||||
var query = breeze.EntityQuery.fromEntityKey(entityKey);
|
||||
var ordersNavProp = employee.entityType.getProperty("Orders");
|
||||
var query = breeze.EntityQuery.fromEntityNavigation(employee, <breeze.NavigationProperty> ordersNavProp);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("CompanyName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("Region, CompanyName");
|
||||
var query = new breeze.EntityQuery("Products")
|
||||
.orderBy("Category.CategoryName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("CompanyName desc");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("Region desc, CompanyName desc");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderByDesc("CompanyName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.select("CompanyName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.select("Orders");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.select("CompanyName, Orders");
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.where("Customer.CompanyName", "startsWith", "C")
|
||||
.select("Customer.CompanyName, Customer, OrderDate");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.skip(5);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.take(5);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.top(5);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.using(em);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.using(breeze.MergeStrategy.PreserveChanges);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.using(breeze.FetchStrategy.FromLocalCache);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", breeze.FilterQueryOp.StartsWith, "C");
|
||||
var pred = new breeze.Predicate("CompanyName", breeze.FilterQueryOp.StartsWith, "C");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where(pred);
|
||||
var pred = breeze.Predicate.create("CompanyName", "startswith", "C").and("Region", breeze.FilterQueryOp.Equals, null);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where(pred);
|
||||
var query = new breeze.EntityQuery("Products")
|
||||
.where("Category.CategoryName", "startswith", "S");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("toLower(CompanyName)", "startsWith", "c");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("toUpper(substring(CompanyName, 1, 2))", breeze.FilterQueryOp.Equals, "OM");
|
||||
}
|
||||
|
||||
function test_entityState() {
|
||||
var anEntity: breeze.Entity;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isAdded();
|
||||
return es === breeze.EntityState.Added;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isAddedModifiedOrDeleted();
|
||||
return es === breeze.EntityState.Added || es === breeze.EntityState.Modified || es === breeze.EntityState.Deleted;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isDeleted();
|
||||
return es === breeze.EntityState.Deleted;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isDetached();
|
||||
return es === breeze.EntityState.Detached;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isModified();
|
||||
return es === breeze.EntityState.Modified;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isUnchanged();
|
||||
return es === breeze.EntityState.Unchanged;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isUnchangedOrModified();
|
||||
|
||||
return es === breeze.EntityState.Unchanged || es === breeze.EntityState.Modified;
|
||||
}
|
||||
|
||||
function test_entityType() {
|
||||
var myMetadataStore: breeze.MetadataStore;
|
||||
var myEntityType: breeze.EntityType;
|
||||
var dataProperty1, dataProperty2, navigationProperty1: breeze.DataProperty;
|
||||
var em1: breeze.EntityManager;
|
||||
var entityManager = new breeze.EntityType({
|
||||
metadataStore: myMetadataStore,
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
name: "person",
|
||||
namespace: "myAppNamespace"
|
||||
});
|
||||
myEntityType.addProperty(dataProperty1);
|
||||
myEntityType.addProperty(dataProperty2);
|
||||
myEntityType.addProperty(navigationProperty1);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var countryProp = custType.getProperty("Country");
|
||||
var valFn = function (v) {
|
||||
if (v == null) return true;
|
||||
return (v.substring(0,2) === "US");
|
||||
};
|
||||
var countryValidator = new breeze.Validator("countryIsUS", valFn,
|
||||
{ displayName: "Country", messageTemplate: "'%displayName%' must start with 'US'" });
|
||||
custType.addValidator(countryValidator, countryProp);
|
||||
countryProp.validators.push(countryValidator);
|
||||
var someEntityLevelValidator: breeze.Validator;
|
||||
custType.addValidator(someEntityLevelValidator);
|
||||
custType.validators.push(someEntityLevelValidator);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var cust1 = custType.createEntity();
|
||||
em1.addEntity(cust1);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customerNameDataProp = custType.getDataProperty("CustomerName");
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customerOrdersNavProp = custType.getDataProperty("Orders");
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var arrayOfProps = custType.getProperties();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var companyNameProp = custType.getProperty("CompanyName");
|
||||
var orderDetailType = <breeze.EntityType> em1.metadataStore.getEntityType("OrderDetail");
|
||||
var companyNameProp2 = orderDetailType.getProperty("Order.Customer.CompanyName");
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var arrayOfPropNames = custType.getPropertyNames();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
custType.setProperties({
|
||||
autoGeneratedKeyType: breeze.AutoGeneratedKeyType.Identity,
|
||||
defaultResourceName: "CustomersAndIncludedOrders"
|
||||
});
|
||||
}
|
||||
|
||||
//function test_enum() {
|
||||
// var prototype = {
|
||||
// nextDay: function () {
|
||||
// var nextIndex = (this.dayIndex + 1) % 7;
|
||||
// return DayOfWeek.getSymbols()[nextIndex];
|
||||
// }
|
||||
// };
|
||||
// var DayOfWeek = new core.Enum("DayOfWeek", prototype);
|
||||
// DayOfWeek.Monday = DayOfWeek.addSymbol({ dayIndex: 0 });
|
||||
// var symbol = DayOfWeek.Friday;
|
||||
// if (DayOfWeek.contains(symbol)) { }
|
||||
// var dayOfWeek = DayOfWeek.from("Thursday");
|
||||
// var symbols = DayOfWeek.getNames();
|
||||
// var symbols = DayOfWeek.getSymbols();
|
||||
// if (core.Enum.isSymbol(DayOfWeek.Wednesday)) { };
|
||||
// DayOfWeek.seal();
|
||||
// var name = DayOfWeek.Monday.getName();
|
||||
// var name = DayOfWeek.Monday.toString();
|
||||
|
||||
|
||||
// var prototype = {
|
||||
// nextDay: function () {
|
||||
// var nextIndex = (this.dayIndex + 1) % 7;
|
||||
// return DayOfWeek.getSymbols()[nextIndex];
|
||||
// }
|
||||
// };
|
||||
// var DayOfWeek = new core.Enum("DayOfWeek", prototype);
|
||||
// DayOfWeek.Monday = DayOfWeek.addSymbol({ dayIndex: 0 });
|
||||
// DayOfWeek.Tuesday = DayOfWeek.addSymbol({ dayIndex: 1 });
|
||||
// DayOfWeek.Wednesday = DayOfWeek.addSymbol({ dayIndex: 2 });
|
||||
// DayOfWeek.Thursday = DayOfWeek.addSymbol({ dayIndex: 3 });
|
||||
// DayOfWeek.Friday = DayOfWeek.addSymbol({ dayIndex: 4 });
|
||||
// DayOfWeek.Saturday = DayOfWeek.addSymbol({ dayIndex: 5, isWeekend: true });
|
||||
// DayOfWeek.Sunday = DayOfWeek.addSymbol({ dayIndex: 6, isWeekend: true });
|
||||
// DayOfWeek.seal();
|
||||
// DayOfWeek.Monday.nextDay() === DayOfWeek.Tuesday;
|
||||
// DayOfWeek.Sunday.nextDay() === DayOfWeek.Monday;
|
||||
// DayOfWeek.Tuesday.isWeekend === undefined;
|
||||
// DayOfWeek.Saturday.isWeekend == true;
|
||||
// DayOfWeek instanceof core.Enum;
|
||||
// core.Enum.isSymbol(DayOfWeek.Wednesday);
|
||||
// DayOfWeek.contains(DayOfWeek.Thursday);
|
||||
// DayOfWeek.Tuesday.parentEnum == DayOfWeek;
|
||||
// DayOfWeek.getSymbols().length === 7;
|
||||
// DayOfWeek.Friday.toString() === "Friday";
|
||||
//}
|
||||
|
||||
function test_event() {
|
||||
var myEntityManager: breeze.EntityManager;
|
||||
var myEntity, person: breeze.Entity;
|
||||
var salaryEvent = new core.Event("salaryEvent", person);
|
||||
core.Event.enable("propertyChanged", myEntityManager, false);
|
||||
core.Event.enable("propertyChanged", myEntityManager, true);
|
||||
core.Event.enable("propertyChanged", myEntity.entityAspect, false);
|
||||
core.Event.enable("propertyChanged", myEntity.entityAspect, <Function> null);
|
||||
core.Event.enable("validationErrorsChanged", myEntityManager, function (em) {
|
||||
return em.customTag === "blue";
|
||||
});
|
||||
core.Event.isEnabled("propertyChanged", myEntityManager);
|
||||
salaryEvent.publish({ eventType: "payRaise", amount: 100 });
|
||||
salaryEvent.publish({ eventType: "payRaise", amount: 100 }, true);
|
||||
salaryEvent.publish({ eventType: "payRaise", amount: 100 }, true, function (error) { });
|
||||
salaryEvent.publishAsync({ eventType: "payRaise", amount: 100 });
|
||||
salaryEvent.publishAsync({ eventType: "payRaise", amount: 100 }, function (error) { });
|
||||
salaryEvent.subscribe(function (eventArgs) {
|
||||
if (eventArgs.eventType === "payRaise") { }
|
||||
});
|
||||
var order: breeze.Entity;
|
||||
order.entityAspect.propertyChanged.subscribe(function (pcEvent) {
|
||||
if (pcEvent.propertyName === "OrderDate") { }
|
||||
});
|
||||
var token = order.entityAspect.propertyChanged.subscribe(function (pcEvent) { });
|
||||
order.entityAspect.propertyChanged.unsubscribe(token);
|
||||
}
|
||||
|
||||
function test_localQueryComparisonOptions() {
|
||||
var lqco = new breeze.LocalQueryComparisonOptions({
|
||||
name: "caseSensitive-nonSQL",
|
||||
isCaseSensitive: true,
|
||||
usesSql92CompliantStringComparison: false
|
||||
});
|
||||
lqco.setAsDefault();
|
||||
var ms = new breeze.MetadataStore({ localQueryComparisonOptions: lqco });
|
||||
var em = new breeze.EntityManager({ metadataStore: ms });
|
||||
var lqco = new breeze.LocalQueryComparisonOptions({
|
||||
isCaseSensitive: false,
|
||||
usesSql92CompliantStringComparison: true
|
||||
});
|
||||
lqco.setAsDefault();
|
||||
}
|
||||
|
||||
function test_namingConventions() {
|
||||
var namingConv = new breeze.NamingConvention({
|
||||
serverPropertyNameToClient: function (serverPropertyName) {
|
||||
return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
|
||||
},
|
||||
clientPropertyNameToServer: function (clientPropertyName) {
|
||||
return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
|
||||
}
|
||||
});
|
||||
var nc = new breeze.NamingConvention({
|
||||
serverPropertyNameToClient: function (x) {
|
||||
return "xxx";
|
||||
}
|
||||
});
|
||||
var ms = new breeze.MetadataStore({ namingConvention: namingConv });
|
||||
var em = new breeze.EntityManager({ metadataStore: ms });
|
||||
var namingConv = new breeze.NamingConvention({
|
||||
serverPropertyNameToClient: function (serverPropertyName) {
|
||||
return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
|
||||
},
|
||||
clientPropertyNameToServer: function (clientPropertyName) {
|
||||
return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
|
||||
}
|
||||
});
|
||||
namingConv.setAsDefault();
|
||||
}
|
||||
|
||||
function test_navigationProperty() {
|
||||
var homeAddressProp = new breeze.NavigationProperty({
|
||||
name: "homeAddress",
|
||||
entityTypeName: "Address:#myNamespace",
|
||||
isScalar: true,
|
||||
associationName: "address_person",
|
||||
foreignKeyNames: ["homeAddressId"]
|
||||
});
|
||||
var homeAddressIdProp = new breeze.DataProperty({
|
||||
name: "homeAddressId",
|
||||
dataType: breeze.DataType.Int32
|
||||
});
|
||||
var personEntityType: breeze.EntityType;
|
||||
personEntityType.addProperty(homeAddressProp);
|
||||
personEntityType.addProperty(homeAddressIdProp);
|
||||
}
|
||||
|
||||
function test_predicate() {
|
||||
var p1 = new breeze.Predicate("CompanyName", "StartsWith", "B");
|
||||
var p1a = breeze.Predicate.create("CompanyName", "==", "City");
|
||||
var p2a = p1a.and(p1a.not());
|
||||
var query = new breeze.EntityQuery("Customers").where(p1);
|
||||
var p2 = new breeze.Predicate("Region", breeze.FilterQueryOp.Equals, null);
|
||||
var query = new breeze.EntityQuery("Customers").where(p2);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = p1.and(p2, p3);
|
||||
var preds = [p2, p3];
|
||||
var newPred = p1.and(preds);
|
||||
var p4 = breeze.Predicate.create("ShipCity", "startswith", "F")
|
||||
.and("Size", "gt", 2000);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = breeze.Predicate.and(p1, p2, p3);
|
||||
var preds = [p1, p2, p3];
|
||||
var newPred = breeze.Predicate.and(preds);
|
||||
var p1 = breeze.Predicate.create("Freight", "gt", 100);
|
||||
var predArgs: any[] = ["Freight", "gt", 100];
|
||||
var p1 = breeze.Predicate.create(predArgs);
|
||||
var p1 = new breeze.Predicate("Freight", "gt", 100);
|
||||
var p1 = new breeze.Predicate("CompanyName", "StartsWith", "B");
|
||||
if (breeze.Predicate.isPredicate(p1)) { }
|
||||
var p1 = breeze.Predicate.create("Freight", "gt", 100);
|
||||
var not_p1 = breeze.Predicate.not(p1);
|
||||
var not_p1 = p1.not();
|
||||
var not_p1 = breeze.Predicate.create("Freight", "le", 100);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = breeze.Predicate.or(p1, p2, p3);
|
||||
var preds = [p1, p2, p3];
|
||||
var newPred = breeze.Predicate.or(preds);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = p1.and(p2, p3);
|
||||
var preds = [p2, p3];
|
||||
var newPred = p1.and(preds);
|
||||
var p4 = breeze.Predicate.create("ShipCity", "startswith", "F")
|
||||
.or("Size", "gt", 2000);
|
||||
}
|
||||
|
||||
function test_queryOptions() {
|
||||
var em1: breeze.EntityManager;
|
||||
var newQo = new breeze.QueryOptions({ mergeStrategy: breeze.MergeStrategy.OverwriteChanges });
|
||||
em1.setProperties({ queryOptions: newQo });
|
||||
var newQo = new breeze.QueryOptions({ mergeStrategy: breeze.MergeStrategy.OverwriteChanges });
|
||||
newQo.setAsDefault();
|
||||
var queryOptions = em1.queryOptions.using(breeze.MergeStrategy.PreserveChanges);
|
||||
var queryOptions = em1.queryOptions.using(breeze.FetchStrategy.FromLocalCache);
|
||||
var queryOptions = em1.queryOptions.using({ mergeStrategy: breeze.MergeStrategy.OverwriteChanges });
|
||||
}
|
||||
|
||||
function test_validationOptions() {
|
||||
var newVo = new breeze.ValidationOptions({ validateOnSave: false, validateOnAttach: false });
|
||||
var em1: breeze.EntityManager;
|
||||
em1.setProperties({ validationOptions: newVo });
|
||||
var validationOptions = new breeze.ValidationOptions()
|
||||
var newOptions = validationOptions.using({ validateOnQuery: true, validateOnSave: false });
|
||||
newOptions.setAsDefault();
|
||||
var validationOptions = new breeze.ValidationOptions();
|
||||
var newOptions = validationOptions.using({ validateOnQuery: true, validateOnSave: false });
|
||||
}
|
||||
|
||||
function test_validator() {
|
||||
var valFn = function (v) {
|
||||
if (v == null) return true;
|
||||
return ( v.substr(0,2)=== "US");
|
||||
};
|
||||
var countryValidator = new breeze.Validator("countryIsUS", valFn, {
|
||||
displayName: "Country",
|
||||
messageTemplate: "'%displayName%' must start with 'US'"
|
||||
});
|
||||
var metadataStore: breeze.MetadataStore;
|
||||
var custType = <breeze.EntityType> metadataStore.getEntityType("Customer");
|
||||
var countryProp = custType.getProperty("Country");
|
||||
countryProp.validators.push(countryValidator);
|
||||
function isValidZipCode(value) {
|
||||
var re = /^\d{5}([\-]\d{4})?$/;
|
||||
return (re.test(value));
|
||||
}
|
||||
var valFn = function (v) {
|
||||
if (v.getProperty("Country") === "USA") {
|
||||
var postalCode = v.getProperty("PostalCode");
|
||||
return isValidZipCode(postalCode);
|
||||
}
|
||||
return true;
|
||||
};
|
||||
var zipCodeValidator = new breeze.Validator("zipCodeValidator", valFn,
|
||||
{ messageTemplate: "For the US, this is not a valid PostalCode" });
|
||||
var em1: breeze.EntityManager;
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
custType.validators.push(zipCodeValidator);
|
||||
var numericRangeValidator = function (context) {
|
||||
var valFn = function (v, ctx) {
|
||||
if (v == null) return true;
|
||||
if (typeof (v) !== "number") return false;
|
||||
if (ctx.min != null && v < ctx.min) return false;
|
||||
if (ctx.max != null && v > ctx.max) return false;
|
||||
return true;
|
||||
};
|
||||
return new breeze.Validator("numericRange", valFn, {
|
||||
messageTemplate: "'%displayName%' must be an integer between the values of %min% and %max%",
|
||||
min: context.min,
|
||||
max: context.max
|
||||
});
|
||||
};
|
||||
freightProperty.validators.push(numericRangeValidator({ min: 100, max: 500 }));
|
||||
var productType = <breeze.EntityType> em1.metadataStore.getEntityType("Product");
|
||||
var discontinuedProperty = productType.getProperty("Discontinued");
|
||||
discontinuedProperty.validators.push(breeze.Validator.bool());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
regionProperty.validators.push(breeze.Validator.byte());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var orderDateProperty = orderType.getProperty("OrderDate");
|
||||
orderDateProperty.validators.push(breeze.Validator.date());
|
||||
var v0 = breeze.Validator.maxLength({ maxLength: 5, displayName: "City" });
|
||||
v0.validate("adasdfasdf");
|
||||
var errMessage = v0.getMessage();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customerIdProperty = custType.getProperty("CustomerID");
|
||||
customerIdProperty.validators.push(breeze.Validator.guid());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.int16());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.int32());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.int64());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.maxLength({ maxLength: 5 }));
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.number());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.required());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.string());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.stringLength({ minLength: 2, maxLength: 5 }));
|
||||
var validator = breeze.Validator.maxLength({ maxLength: 5, displayName: "City" });
|
||||
var result = validator.validate("asdf");
|
||||
var ok = result === null;
|
||||
result = validator.validate("adasdfasdf");
|
||||
var errMsg = result.errorMessage;
|
||||
var context = result.context;
|
||||
var sameValidator = result.validator;
|
||||
var valFn = function (v) {
|
||||
if (v == null) return true;
|
||||
return (v.substr(0,2) === "US");
|
||||
};
|
||||
var countryValidator = new breeze.Validator("countryIsUS", valFn, { displayName: "Country" });
|
||||
breeze.Validator.messageTemplates["countryIsUS"] = "'%displayName%' must start with 'US'";
|
||||
}
|
||||
|
||||
function test_demo() {
|
||||
|
||||
var manager = new breeze.EntityManager('api/northwind');
|
||||
|
||||
var query = new breeze.EntityQuery()
|
||||
.from("Employees");
|
||||
|
||||
manager.executeQuery(query).then(function (data) { });
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-731
@@ -1,731 +0,0 @@
|
||||
// Type definitions for Breeze 1.0
|
||||
// Project: http://www.breezejs.com/
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
// Updated Jan 14 2011 - Jay Traband (www.ideablade.com)
|
||||
|
||||
|
||||
declare module BreezeCore {
|
||||
|
||||
interface ErrorCallback {
|
||||
(error: Error): void;
|
||||
}
|
||||
|
||||
interface IEnum {
|
||||
contains(object: any): boolean;
|
||||
fromName(name: string): EnumSymbol;
|
||||
getNames(): string[];
|
||||
getSymbols(): EnumSymbol[];
|
||||
}
|
||||
|
||||
class Enum implements IEnum {
|
||||
constructor (name: string, methodObj?: any);
|
||||
|
||||
addSymbol(propertiesObj?: any): EnumSymbol;
|
||||
contains(object: any): boolean;
|
||||
fromName(name: string): EnumSymbol;
|
||||
getNames(): string[];
|
||||
getSymbols(): EnumSymbol[];
|
||||
static isSymbol(object: any): boolean;
|
||||
seal(): void;
|
||||
}
|
||||
|
||||
class EnumSymbol {
|
||||
parentEnum: IEnum;
|
||||
|
||||
getName(): string;
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
class Event {
|
||||
constructor (name: string, publisher: any, defaultErrorCallback?: ErrorCallback);
|
||||
|
||||
static enable(eventName: string, target: any): void;
|
||||
static enable(eventName: string, target: any, isEnabled: boolean): void;
|
||||
static enable(eventName: string, target: any, isEnabled: Function): void;
|
||||
|
||||
static isEnabled(eventName: string, target: any): boolean;
|
||||
publish(data: any, publishAsync?: boolean, errorCallback?: ErrorCallback): void;
|
||||
publishAsync(data: any, errorCallback?: ErrorCallback): void;
|
||||
subscribe(callback?: (data: any) => void ): number;
|
||||
unsubscribe(unsubKey: number): boolean;
|
||||
}
|
||||
}
|
||||
|
||||
declare module Breeze {
|
||||
|
||||
interface Entity {
|
||||
entityAspect: EntityAspect;
|
||||
entityType: EntityType;
|
||||
}
|
||||
|
||||
interface ComplexObject {
|
||||
complexAspect: ComplexAspect;
|
||||
complexType: ComplexType;
|
||||
}
|
||||
|
||||
interface IProperty {
|
||||
name: string;
|
||||
parentEntityType: EntityType;
|
||||
validators: Validator[];
|
||||
isDataProperty: boolean;
|
||||
isNavigationProperty: boolean;
|
||||
}
|
||||
|
||||
interface IStructuralType {
|
||||
complexProperties: DataProperty[];
|
||||
dataProperties: DataProperty[];
|
||||
name: string;
|
||||
namespace: string;
|
||||
shortName: string;
|
||||
unmappedProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
}
|
||||
|
||||
class AutoGeneratedKeyType {
|
||||
static Identity: AutoGeneratedKeyType;
|
||||
static KeyGenerator: AutoGeneratedKeyType;
|
||||
static None: AutoGeneratedKeyType;
|
||||
}
|
||||
|
||||
class ComplexAspect {
|
||||
complexObject: ComplexObject;
|
||||
entityAspect: EntityAspect;
|
||||
parent: Object;
|
||||
parentProperty: DataProperty;
|
||||
propertyPath: string;
|
||||
originalValues: Object;
|
||||
}
|
||||
|
||||
class ComplexType implements IStructuralType {
|
||||
complexProperties: DataProperty[];
|
||||
dataProperties: DataProperty[];
|
||||
name: string;
|
||||
namespace: string;
|
||||
shortName: string;
|
||||
unmappedProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
addProperty(dataProperty: DataProperty);
|
||||
getProperties(): DataProperty[];
|
||||
}
|
||||
|
||||
class DataProperty implements IProperty {
|
||||
complexTypeName: string;
|
||||
concurrencyMode: string;
|
||||
dataType: DataTypeSymbol;
|
||||
defaultValue: any;
|
||||
fixedLength: boolean;
|
||||
isComplexProperty: boolean;
|
||||
isDataProperty: boolean;
|
||||
isNavigationProperty: boolean;
|
||||
isNullable: boolean;
|
||||
isPartOfKey: boolean;
|
||||
isUnmapped: boolean;
|
||||
|
||||
maxLength: number;
|
||||
name: string;
|
||||
nameOnServer: string;
|
||||
parentEntityType: EntityType;
|
||||
relatedNavigationProperty: NavigationProperty;
|
||||
validators: Validator[];
|
||||
constructor (config: DataPropertyOptions);
|
||||
}
|
||||
|
||||
interface DataPropertyOptions {
|
||||
complexTypeName?: string;
|
||||
concurrencyMode?: string;
|
||||
dataType?: DataTypeSymbol;
|
||||
defaultValue?: any;
|
||||
fixedLength?: boolean;
|
||||
isNullable?: boolean;
|
||||
isPartOfKey?: boolean;
|
||||
isUnmapped?: boolean;
|
||||
maxLength?: number;
|
||||
name?: string;
|
||||
nameOnServer?: string;
|
||||
validators?: Validator[];
|
||||
}
|
||||
|
||||
class DataService {
|
||||
adapterName: string;
|
||||
hasServerMetadata: boolean;
|
||||
serviceName: string;
|
||||
constructor(config: DataServiceOptions);
|
||||
}
|
||||
|
||||
interface DataServiceOptions {
|
||||
adapterName?: string;
|
||||
hasServerMetadata?: boolean;
|
||||
serviceName?: string;
|
||||
}
|
||||
|
||||
class DataTypeSymbol extends BreezeCore.EnumSymbol {
|
||||
defaultValue: any;
|
||||
isNumeric: boolean;
|
||||
}
|
||||
interface DataType extends BreezeCore.IEnum {
|
||||
Binary: DataTypeSymbol;
|
||||
Boolean: DataTypeSymbol;
|
||||
Byte: DataTypeSymbol;
|
||||
DateTime: DataTypeSymbol;
|
||||
Decimal: DataTypeSymbol;
|
||||
Double: DataTypeSymbol;
|
||||
Guid: DataTypeSymbol;
|
||||
Int16: DataTypeSymbol;
|
||||
Int32: DataTypeSymbol;
|
||||
Int64: DataTypeSymbol;
|
||||
Single: DataTypeSymbol;
|
||||
String: DataTypeSymbol;
|
||||
Time: DataTypeSymbol;
|
||||
Undefined: DataTypeSymbol;
|
||||
toDataType(typeName: string): DataTypeSymbol;
|
||||
parseDateFromServer(date: any): Date;
|
||||
|
||||
}
|
||||
var DataType: DataType;
|
||||
|
||||
class EntityActionSymbol extends BreezeCore.EnumSymbol {
|
||||
}
|
||||
interface EntityAction extends BreezeCore.IEnum {
|
||||
AcceptChanges: EntityActionSymbol;
|
||||
Attach: EntityActionSymbol;
|
||||
AttachOnImport: EntityActionSymbol;
|
||||
AttachOnQuery: EntityActionSymbol;
|
||||
Clear: EntityActionSymbol;
|
||||
Detach: EntityActionSymbol;
|
||||
EntityStateChange: EntityActionSymbol;
|
||||
MergeOnImport: EntityActionSymbol;
|
||||
MergeOnSave: EntityActionSymbol;
|
||||
MergeOnQuery: EntityActionSymbol;
|
||||
PropertyChange: EntityActionSymbol;
|
||||
RejectChanges: EntityActionSymbol;
|
||||
}
|
||||
var EntityAction: EntityAction;
|
||||
|
||||
class EntityAspect {
|
||||
entity: Entity;
|
||||
entityManager: EntityManager;
|
||||
entityState: EntityStateSymbol;
|
||||
isBeingSaved: boolean;
|
||||
originalValues: any;
|
||||
|
||||
propertyChanged: PropertyChangedEvent;
|
||||
validationErrorsChanged: ValidationErrorsChangedEvent;
|
||||
|
||||
acceptChanges(): void;
|
||||
addValidationError(validationError: ValidationError): void;
|
||||
clearValidationErrors(): void;
|
||||
getKey(forceRefresh?: boolean): EntityKey;
|
||||
|
||||
getValidationErrors(): ValidationError[];
|
||||
getValidationErrors(property: string): ValidationError[];
|
||||
getValidationErrors(property: IProperty): ValidationError[];
|
||||
|
||||
loadNavigationProperty(navigationProperty: string, callback?: Function, errorCallback?: Function): Promise;
|
||||
loadNavigationProperty(navigationProperty: NavigationProperty, callback?: Function, errorCallback?: Function): Promise;
|
||||
|
||||
rejectChanges(): void;
|
||||
|
||||
removeValidationError(validator: Validator): void;
|
||||
removeValidationError(validator: Validator, property: DataProperty): void;
|
||||
removeValidationError(validator: Validator, property: NavigationProperty): void;
|
||||
|
||||
setDeleted(): void;
|
||||
setModified(): void;
|
||||
setUnchanged(): void;
|
||||
validateEntity(): boolean;
|
||||
|
||||
validateProperty(property: string, context?: any): boolean;
|
||||
validateProperty(property: DataProperty, context?: any): boolean;
|
||||
validateProperty(property: NavigationProperty, context?: any): boolean;
|
||||
}
|
||||
|
||||
class PropertyChangedEventArgs {
|
||||
entity: Entity;
|
||||
propertyName: string;
|
||||
oldValue: any;
|
||||
newValue: any;
|
||||
}
|
||||
|
||||
class PropertyChangedEvent extends BreezeCore.Event {
|
||||
subscribe(callback?: (data: PropertyChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class ValidationErrorsChangedEventArgs {
|
||||
entity: Entity;
|
||||
added: ValidationError[];
|
||||
removed: ValidationError[];
|
||||
}
|
||||
|
||||
class ValidationErrorsChangedEvent extends BreezeCore.Event {
|
||||
subscribe(callback?: (data: ValidationErrorsChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class EntityKey {
|
||||
constructor (entityType: EntityType, keyValue: any);
|
||||
constructor (entityType: EntityType, keyValues: any[]);
|
||||
|
||||
equals(entityKey: EntityKey): boolean;
|
||||
static equals(k1: EntityKey, k2: EntityKey): boolean;
|
||||
}
|
||||
|
||||
class EntityManager {
|
||||
dataService: DataService;
|
||||
keyGeneratorCtor: Function;
|
||||
metadataStore: MetadataStore;
|
||||
queryOptions: QueryOptions;
|
||||
saveOptions: SaveOptions;
|
||||
serviceName: string;
|
||||
validationOptions: ValidationOptions;
|
||||
|
||||
entityChanged: EntityChangedEvent;
|
||||
hasChangesChanged: BreezeCore.Event;
|
||||
|
||||
constructor (config?: EntityManagerOptions);
|
||||
constructor (config?: string);
|
||||
|
||||
addEntity(entity: Entity): Entity;
|
||||
attachEntity(entity: Entity, entityState?: EntityStateSymbol): Entity;
|
||||
clear(): void;
|
||||
createEmptyCopy(): EntityManager;
|
||||
detachEntity(entity: Entity): boolean;
|
||||
createEntity(entityTypeName: string, propertyInitializer: {}): Entity;
|
||||
|
||||
executeQuery(query: string, callback?: ExecuteQuerySuccessCallback, errorCallback?: ExecuteQueryErrorCallback): Promise;
|
||||
executeQuery(query: EntityQuery, callback?: ExecuteQuerySuccessCallback, errorCallback?: ExecuteQueryErrorCallback): Promise;
|
||||
|
||||
executeQueryLocally(query: EntityQuery): Entity[];
|
||||
exportEntities(entities?: Entity[]): string;
|
||||
fetchEntityByKey(typeName: string, keyValue: any, checkLocalCacheFirst?: boolean): Entity;
|
||||
fetchEntityByKey(typeName: string, keyValues: any[], checkLocalCacheFirst?: boolean): Entity;
|
||||
fetchEntityByKey(entityKey: EntityKey): Entity;
|
||||
fetchMetadata(callback?: (schema: any) => void , errorCallback?: BreezeCore.ErrorCallback): Promise;
|
||||
generateTempKeyValue(entity: Entity): any;
|
||||
getChanges(): Entity[];
|
||||
getChanges(entityTypeName: string): Entity[];
|
||||
getChanges(entityTypeNames: string[]): Entity[];
|
||||
getChanges(entityType: EntityType): Entity[];
|
||||
getChanges(entityTypes: EntityType[]): Entity[];
|
||||
|
||||
getEntities(entityTypeName: string, entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityTypeNames?: string[], entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityTypeName?: string, entityStates?: EntityStateSymbol[]): Entity[];
|
||||
getEntities(entityTypeNames?: string[], entityStates?: EntityStateSymbol[]): Entity[];
|
||||
|
||||
getEntities(entityType: EntityType, entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityTypes?: EntityType[], entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityType?: EntityType, entityStates?: EntityStateSymbol[]): Entity[];
|
||||
getEntities(entityTypes?: EntityType[], entityStates?: EntityStateSymbol[]): Entity[];
|
||||
|
||||
getEntityByKey(typeName: string, keyValue: any): Entity;
|
||||
getEntityByKey(typeName: string, keyValues: any[]): Entity;
|
||||
getEntityByKey(entityKey: EntityKey): Entity;
|
||||
|
||||
hasChanges(): boolean;
|
||||
hasChanges(entityTypeName: string): boolean;
|
||||
hasChanges(entityTypeNames: string[]): boolean;
|
||||
hasChanges(entityType: EntityType): boolean;
|
||||
hasChanges(entityTypes: EntityType[]): boolean;
|
||||
|
||||
static importEntities(exportedString: string, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
importEntities(exportedString: string, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
|
||||
rejectChanges(): Entity[];
|
||||
saveChanges(entities?: Entity[], saveOptions?: SaveOptions, callback?: SaveChangesSuccessCallback, errorCallback?: SaveChangesErrorCallback): Promise;
|
||||
setProperties(config: EntityManagerProperties): void;
|
||||
}
|
||||
|
||||
interface EntityManagerOptions {
|
||||
serviceName?: string;
|
||||
dataService?: DataService;
|
||||
metadataStore?: MetadataStore;
|
||||
queryOptions?: QueryOptions;
|
||||
saveOptions?: SaveOptions;
|
||||
validationOptions?: ValidationOptions;
|
||||
keyGeneratorCtor?: Function;
|
||||
}
|
||||
|
||||
interface EntityManagerProperties {
|
||||
serviceName?: string;
|
||||
dataService?: DataService;
|
||||
queryOptions?: QueryOptions;
|
||||
saveOptions?: SaveOptions;
|
||||
validationOptions?: ValidationOptions;
|
||||
keyGeneratorCtor?: Function;
|
||||
}
|
||||
|
||||
interface ExecuteQuerySuccessCallback {
|
||||
(data: { results: Entity[]; query: EntityQuery; XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
interface ExecuteQueryErrorCallback {
|
||||
(error: { query: EntityQuery; XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
interface SaveChangesSuccessCallback {
|
||||
(saveResult: { entities: Entity[]; keyMappings: any; XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
interface SaveChangesErrorCallback {
|
||||
(error: { XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
class EntityChangedEventArgs {
|
||||
entity: Entity;
|
||||
entityAction: EntityActionSymbol;
|
||||
args: Object;
|
||||
}
|
||||
|
||||
class EntityChangedEvent extends BreezeCore.Event {
|
||||
subscribe(callback?: (data: EntityChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class EntityQuery {
|
||||
entityManager: EntityManager;
|
||||
orderByClause: OrderByClause;
|
||||
parameters: Object;
|
||||
queryOptions: QueryOptions;
|
||||
resourceName: string;
|
||||
skipCount: number;
|
||||
takeCount: number;
|
||||
wherePredicate: Predicate;
|
||||
|
||||
constructor (resourceName?: string);
|
||||
|
||||
execute(callback?: ExecuteQuerySuccessCallback, errorCallback?: ExecuteQueryErrorCallback): Promise;
|
||||
executeLocally(): Entity[];
|
||||
expand(propertyPaths: string[]): EntityQuery;
|
||||
expand(propertyPaths: string): EntityQuery;
|
||||
static from(resourceName: string): EntityQuery;
|
||||
from(resourceName: string): EntityQuery;
|
||||
static fromEntities(entity: Entity): EntityQuery;
|
||||
static fromEntities(entities: Entity[]): EntityQuery;
|
||||
static fromEntityKey(entityKey: EntityKey): EntityQuery;
|
||||
static fromEntityNavigation(entity: Entity, navigationProperty: NavigationProperty): EntityQuery;
|
||||
inlineCount(enabled?: boolean): EntityQuery;
|
||||
orderBy(propertyPaths: string): EntityQuery;
|
||||
orderBy(propertyPaths: string[]): EntityQuery;
|
||||
orderByDesc(propertyPaths: string): EntityQuery;
|
||||
orderByDesc(propertyPaths: string[]): EntityQuery;
|
||||
select(propertyPaths: string): EntityQuery;
|
||||
select(propertyPaths: string[]): EntityQuery;
|
||||
skip(count: number): EntityQuery;
|
||||
take(count: number): EntityQuery;
|
||||
top(count: number): EntityQuery;
|
||||
|
||||
using(obj: EntityManager): EntityQuery;
|
||||
using(obj: MergeStrategySymbol): EntityQuery;
|
||||
using(obj: FetchStrategySymbol): EntityQuery;
|
||||
|
||||
where(predicate: Predicate): EntityQuery;
|
||||
where(property: string, operator: string, value: any): EntityQuery;
|
||||
where(property: string, operator: FilterQueryOpSymbol, value: any): EntityQuery;
|
||||
where(predicate: FilterQueryOpSymbol): EntityQuery;
|
||||
withParameters(params: Object): EntityQuery;
|
||||
}
|
||||
|
||||
interface OrderByClause {
|
||||
}
|
||||
|
||||
class EntityStateSymbol extends BreezeCore.EnumSymbol {
|
||||
isAdded(): boolean;
|
||||
isAddedModifiedOrDeleted(): boolean;
|
||||
isDeleted(): boolean;
|
||||
isDetached(): boolean;
|
||||
isModified(): boolean;
|
||||
isUnchanged(): boolean;
|
||||
isUnchangedOrModified(): boolean;
|
||||
}
|
||||
interface EntityState extends BreezeCore.IEnum {
|
||||
Added: EntityStateSymbol;
|
||||
Deleted: EntityStateSymbol;
|
||||
Detached: EntityStateSymbol;
|
||||
Modified: EntityStateSymbol;
|
||||
Unchanged: EntityStateSymbol;
|
||||
}
|
||||
var EntityState: EntityState;
|
||||
|
||||
class EntityType implements IStructuralType {
|
||||
autoGeneratedKeyType: AutoGeneratedKeyType;
|
||||
complexProperties: DataProperty[];
|
||||
concurrencyProperties: DataProperty[];
|
||||
dataProperties: DataProperty[];
|
||||
defaultResourceName: string;
|
||||
foreignKeyProperties: DataProperty[];
|
||||
keyProperties: DataProperty[];
|
||||
metadataStore: MetadataStore;
|
||||
name: string;
|
||||
namespace: string;
|
||||
navigationProperties: NavigationProperty[];
|
||||
shortName: string;
|
||||
unmappedProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
|
||||
constructor (config: MetadataStore);
|
||||
constructor (config: EntityTypeOptions);
|
||||
|
||||
addProperty(property: IProperty): void;
|
||||
addValidator(validator: Validator, property?: IProperty): void;
|
||||
createEntity(initialValues?: Object): Entity;
|
||||
getDataProperty(propertyName: string): DataProperty;
|
||||
getEntityCtor(): Function;
|
||||
getNavigationProperty(propertyName: string): NavigationProperty;
|
||||
getProperties(): IProperty[];
|
||||
getProperty(propertyPath: string, throwIfNotFound?: boolean): IProperty;
|
||||
getPropertyNames(): string[];
|
||||
setProperties(config: EntityTypeProperties): void;
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
interface EntityTypeOptions {
|
||||
shortName?: string;
|
||||
namespace?: string;
|
||||
autogeneratedKeyType?: AutoGeneratedKeyType;
|
||||
defaultResourceName?: string;
|
||||
}
|
||||
|
||||
interface EntityTypeProperties {
|
||||
autogeneratedKeyType?: AutoGeneratedKeyType;
|
||||
defaultResourceName?: string;
|
||||
}
|
||||
|
||||
class FetchStrategySymbol extends BreezeCore.EnumSymbol {
|
||||
}
|
||||
interface FetchStrategy extends BreezeCore.IEnum {
|
||||
FromLocalCache: FetchStrategySymbol;
|
||||
FromServer: FetchStrategySymbol;
|
||||
}
|
||||
var FetchStrategy: FetchStrategy;
|
||||
|
||||
class FilterQueryOpSymbol extends BreezeCore.EnumSymbol {
|
||||
}
|
||||
interface FilterQueryOp extends BreezeCore.IEnum {
|
||||
Contains: FilterQueryOpSymbol;
|
||||
EndsWith: FilterQueryOpSymbol;
|
||||
Equals: FilterQueryOpSymbol;
|
||||
GreaterThan: FilterQueryOpSymbol;
|
||||
GreaterThanOrEqual: FilterQueryOpSymbol;
|
||||
LessThan: FilterQueryOpSymbol;
|
||||
LessThanOrEqual: FilterQueryOpSymbol;
|
||||
NotEquals: FilterQueryOpSymbol;
|
||||
StartsWith: FilterQueryOpSymbol;
|
||||
}
|
||||
var FilterQueryOp: FilterQueryOp;
|
||||
|
||||
class LocalQueryComparisonOptions {
|
||||
static caseInsensitiveSQL: LocalQueryComparisonOptions;
|
||||
static defaultInstance: LocalQueryComparisonOptions;
|
||||
|
||||
constructor (config: { name?: string; isCaseSensitive?: boolean; usesSql92CompliantStringComparison?: boolean; });
|
||||
|
||||
setAsDefault(): void;
|
||||
}
|
||||
|
||||
class MergeStrategySymbol extends BreezeCore.EnumSymbol {
|
||||
}
|
||||
interface MergeStrategy extends BreezeCore.IEnum {
|
||||
OverwriteChanges: MergeStrategySymbol;
|
||||
PreserveChanges: MergeStrategySymbol;
|
||||
}
|
||||
var MergeStrategy: MergeStrategy;
|
||||
|
||||
class MetadataStore {
|
||||
namingConvention: NamingConvention;
|
||||
|
||||
constructor (config?: MetadataStoreOptions);
|
||||
addDataService(dataService: DataService): void;
|
||||
addEntityType(structuralType: IStructuralType): void;
|
||||
exportMetadata(): string;
|
||||
fetchMetadata(dataService: string, callback?: (data) => void , errorCallback?: BreezeCore.ErrorCallback): Promise;
|
||||
fetchMetadata(dataService: DataService, callback?: (data) => void , errorCallback?: BreezeCore.ErrorCallback): Promise;
|
||||
getDataService(serviceName: string): DataService;
|
||||
getEntityType(entityTypeName: string, okIfNotFound?: boolean): IStructuralType;
|
||||
getEntityTypes(): IStructuralType[];
|
||||
hasMetadataFor(serviceName: string): boolean;
|
||||
static importMetadata(exportedString: string): MetadataStore;
|
||||
importMetadata(exportedString: string): MetadataStore;
|
||||
isEmpty(): boolean;
|
||||
registerEntityTypeCtor(entityTypeName: string, entityCtor: Function, initializationFn?: (entity: Entity) =>void ): void;
|
||||
trackUnmappedType(entityCtor: Function, interceptor?: Function);
|
||||
}
|
||||
|
||||
interface MetadataStoreOptions {
|
||||
namingConvention?: NamingConvention;
|
||||
localQueryComparisonOptions?: LocalQueryComparisonOptions;
|
||||
}
|
||||
|
||||
class NamingConvention {
|
||||
static camelCase: NamingConvention;
|
||||
static defaultInstance: NamingConvention;
|
||||
static none: NamingConvention;
|
||||
|
||||
constructor (config: NamingConventionOptions);
|
||||
|
||||
clientPropertyNameToServer(clientPropertyName: string): string;
|
||||
clientPropertyNameToServer(clientPropertyName: string, property: IProperty): string;
|
||||
|
||||
serverPropertyNameToClient(serverPropertyName: string): string;
|
||||
serverPropertyNameToClient(serverPropertyName: string, property: IProperty): string;
|
||||
|
||||
setAsDefault();
|
||||
}
|
||||
|
||||
interface NamingConventionOptions {
|
||||
serverPropertyNameToClient?: (name: string) => string;
|
||||
clientPropertyNameToServer?: (name: string) => string;
|
||||
}
|
||||
|
||||
class NavigationProperty implements IProperty {
|
||||
associationName: string;
|
||||
entityType: EntityType;
|
||||
foreignKeyNames: string[];
|
||||
inverse: NavigationProperty;
|
||||
isDataProperty: boolean;
|
||||
isNavigationProperty: boolean;
|
||||
isScalar: boolean;
|
||||
name: string;
|
||||
parentEntityType: EntityType;
|
||||
relatedDataProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
|
||||
constructor (config: NavigationPropertyOptions);
|
||||
}
|
||||
|
||||
interface NavigationPropertyOptions {
|
||||
name?: string;
|
||||
nameOnServer?: string;
|
||||
entityTypeName: string;
|
||||
isScalar?: boolean;
|
||||
associationName?: string;
|
||||
foreignKeyNames?: string[];
|
||||
foreignKeyNamesOnServer?: string[];
|
||||
validators?: Validator[];
|
||||
}
|
||||
|
||||
class Predicate {
|
||||
constructor (property: string, operator: string, value: any, valueIsLiteral?: boolean);
|
||||
constructor (property: string, operator: FilterQueryOpSymbol, value: any, valueIsLiteral?: boolean);
|
||||
|
||||
and: PredicateMethod;
|
||||
static and: PredicateMethod;
|
||||
|
||||
static create: PredicateMethod;
|
||||
|
||||
static isPredicate(o: any): boolean;
|
||||
|
||||
static not(predicate: Predicate): Predicate;
|
||||
not(): Predicate;
|
||||
|
||||
static or: PredicateMethod;
|
||||
or: PredicateMethod;
|
||||
|
||||
toFunction(): Function;
|
||||
toString(): string;
|
||||
validate(entityType: EntityType): void;
|
||||
}
|
||||
|
||||
interface PredicateMethod {
|
||||
(predicates: Predicate[]): Predicate;
|
||||
(...predicates: Predicate[]): Predicate;
|
||||
(property: string, operator: string, value: any, valueIsLiteral?: boolean): Predicate;
|
||||
(property: string, operator: FilterQueryOpSymbol, value: any, valueIsLiteral?: boolean): Predicate;
|
||||
}
|
||||
|
||||
class Promise {
|
||||
fail(errorCallback: Function): Promise;
|
||||
fin(finallyCallback: Function): Promise;
|
||||
then(callback: Function): Promise;
|
||||
}
|
||||
|
||||
class QueryOptions {
|
||||
static defaultInstance: QueryOptions;
|
||||
fetchStrategy: FetchStrategySymbol;
|
||||
mergeStrategy: MergeStrategySymbol;
|
||||
|
||||
constructor (config?: QueryOptionsConfiguration);
|
||||
|
||||
setAsDefault(): void;
|
||||
using(config: QueryOptionsConfiguration): QueryOptions;
|
||||
using(config: MergeStrategySymbol): QueryOptions;
|
||||
using(config: FetchStrategySymbol): QueryOptions;
|
||||
}
|
||||
|
||||
interface QueryOptionsConfiguration {
|
||||
fetchStrategy?: FetchStrategySymbol;
|
||||
mergeStrategy?: MergeStrategySymbol;
|
||||
}
|
||||
|
||||
class SaveOptions {
|
||||
allowConcurrentSaves: boolean;
|
||||
static defaultInstance: SaveOptions;
|
||||
|
||||
constructor (config?: { allowConcurrentSaves?: boolean; });
|
||||
|
||||
setAsDefault(): SaveOptions;
|
||||
}
|
||||
|
||||
class ValidationError {
|
||||
context: any;
|
||||
errorMessage: string;
|
||||
property: IProperty;
|
||||
propertyName: string;
|
||||
validator: Validator;
|
||||
|
||||
constructor (validator: Validator, context: any, errorMessage: string);
|
||||
}
|
||||
|
||||
class ValidationOptions {
|
||||
static defaultInstance: ValidationOptions;
|
||||
validateOnAttach: boolean;
|
||||
validateOnPropertyChange: boolean;
|
||||
validateOnQuery: boolean;
|
||||
validateOnSave: boolean;
|
||||
|
||||
constructor (config?: ValidationOptionsConfiguration);
|
||||
|
||||
setAsDefault(): ValidationOptions;
|
||||
using(config: ValidationOptionsConfiguration): ValidationOptions;
|
||||
}
|
||||
|
||||
interface ValidationOptionsConfiguration {
|
||||
validateOnAttach?: boolean;
|
||||
validateOnSave?: boolean;
|
||||
validateOnQuery?: boolean;
|
||||
validateOnPropertyChange?: boolean;
|
||||
}
|
||||
|
||||
class Validator {
|
||||
static messageTemplates: any;
|
||||
|
||||
constructor (name: string, validatorFn: ValidatorFunction, context?: any);
|
||||
|
||||
static bool(): Validator;
|
||||
static byte(): Validator;
|
||||
static date(): Validator;
|
||||
static duration(): Validator;
|
||||
getMessage(): string;
|
||||
static guid(): Validator;
|
||||
static int16(): Validator;
|
||||
static int32(): Validator;
|
||||
static int64(): Validator;
|
||||
static maxLength(context: { maxLength: number; }): Validator;
|
||||
static number(): Validator;
|
||||
static required(): Validator;
|
||||
static string(): Validator;
|
||||
static stringLength(context: { maxLength: number; minLength: number; }): Validator;
|
||||
validate(value: any, context?: any): ValidationError;
|
||||
}
|
||||
|
||||
interface ValidatorFunction {
|
||||
(value: any, context: ValidatorFunctionContext): void;
|
||||
}
|
||||
|
||||
interface ValidatorFunctionContext {
|
||||
value: any;
|
||||
validatorName: string;
|
||||
displayName: string;
|
||||
messageTemplate: string;
|
||||
message?: string;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
@@ -1,797 +0,0 @@
|
||||
/// <reference path="breeze-1.2.d.ts" />
|
||||
|
||||
import core = breezeCore;
|
||||
|
||||
function test_dataType() {
|
||||
var typ = breeze.DataType.DateTime;
|
||||
var nm = typ.getName();
|
||||
var isNumber = typ.isNumeric;
|
||||
var dv = typ.defaultValue;
|
||||
var symbs = breeze.DataType.getSymbols();
|
||||
var x = typ.parentEnum === <breezeCore.IEnum> breeze.DataType;
|
||||
var isFalse = breeze.DataType.contains(breeze.DataType.Double);
|
||||
var dt = breeze.DataType.fromName("Decimal");
|
||||
|
||||
}
|
||||
|
||||
function test_dataProperty() {
|
||||
var lastNameProp = new breeze.DataProperty({
|
||||
name: "lastName",
|
||||
dataType: breeze.DataType.String,
|
||||
isNullable: true,
|
||||
maxLength: 20
|
||||
});
|
||||
var personEntityType: breeze.EntityType;
|
||||
personEntityType.addProperty(lastNameProp);
|
||||
}
|
||||
|
||||
function test_dataService() {
|
||||
var ds = new breeze.DataService({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
hasServerMetadata: true
|
||||
});
|
||||
var em = new breeze.EntityManager({
|
||||
dataService: ds
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function test_entityAspect() {
|
||||
var order: breeze.Entity;
|
||||
order.entityAspect.acceptChanges();
|
||||
var entityKey = order.entityAspect.getKey();
|
||||
var valErrors = order.entityAspect.getValidationErrors();
|
||||
var orderDateErrors = order.entityAspect.getValidationErrors("OrderDate");
|
||||
var orderDateProperty = order.entityType.getProperty("OrderDate");
|
||||
var orderDateErrors = order.entityAspect.getValidationErrors(orderDateProperty);
|
||||
order.entityAspect.loadNavigationProperty("Orders").then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (exception) { });
|
||||
order.entityAspect.rejectChanges();
|
||||
order.entityAspect.setDeleted();
|
||||
order.entityAspect.setModified();
|
||||
order.entityAspect.setUnchanged();
|
||||
var isOk = order.entityAspect.validateEntity();
|
||||
if (!isOk) {
|
||||
var errors = order.entityAspect.getValidationErrors();
|
||||
}
|
||||
var isOk = order.entityAspect.validateProperty("Order");
|
||||
var orderDateProperty = order.entityType.getProperty("OrderDate");
|
||||
//var isOk = order.entityAspect.validateProperty(OrderDateProperty);
|
||||
order.entityAspect.propertyChanged.subscribe(function (propertyChangedArgs) {
|
||||
var entity = propertyChangedArgs.entity;
|
||||
var propertyNameChanged = propertyChangedArgs.propertyName;
|
||||
var oldValue = propertyChangedArgs.oldValue;
|
||||
var newValue = propertyChangedArgs.newValue;
|
||||
});
|
||||
order.entityAspect.validationErrorsChanged.subscribe(function (validationChangeArgs) {
|
||||
var entity = validationChangeArgs.entity;
|
||||
var errorsAdded = validationChangeArgs.added;
|
||||
var errorsCleared = validationChangeArgs.removed;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function test_entityKey() {
|
||||
var em1: breeze.EntityManager;
|
||||
var employee1: breeze.Entity;
|
||||
var empType = em1.metadataStore.getEntityType("Employee");
|
||||
var entityKey = new breeze.EntityKey(<breeze.EntityType> empType, 1);
|
||||
var empKey = employee1.entityAspect.getKey();
|
||||
var empTerrType = em1.metadataStore.getEntityType("EmployeeTerritory");
|
||||
var empTerrKey = new breeze.EntityKey(<breeze.EntityType> empTerrType, [1, 77]);
|
||||
var empType = em1.metadataStore.getEntityType("Employee");
|
||||
var empKey1 = new breeze.EntityKey(<breeze.EntityType> empType, 1);
|
||||
var empKey2 = employee1.entityAspect.getKey();
|
||||
if (empKey1.equals(empKey2)) { }
|
||||
if (breeze.EntityKey.equals(empKey1, empKey2)) { }
|
||||
}
|
||||
|
||||
function test_metadataStore() {
|
||||
var ms = new breeze.MetadataStore();
|
||||
var entityManager = new breeze.EntityManager({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
metadataStore: ms
|
||||
});
|
||||
var em1: breeze.EntityManager;
|
||||
em1.setProperties({ metadataStore: ms });
|
||||
var metadataAsString = ms.exportMetadata();
|
||||
window.localStorage.setItem("metadata", metadataAsString);
|
||||
var metadataFromStorage = window.localStorage.getItem("metadata");
|
||||
var newMetadataStore = new breeze.MetadataStore();
|
||||
newMetadataStore.importMetadata(metadataFromStorage);
|
||||
var ms = new breeze.MetadataStore();
|
||||
ms.fetchMetadata("api/NorthwindIBModel")
|
||||
.then(function (rawMetadata) { })
|
||||
.fail(function (exception) { });
|
||||
var odType = em1.metadataStore.getEntityType("OrderDetail");
|
||||
var badType = em1.metadataStore.getEntityType("Foo", false);
|
||||
var allTypes = em1.metadataStore.getEntityTypes();
|
||||
if (!em1.metadataStore.hasMetadataFor("api/NorthwindIBModel")) { }
|
||||
var metadataAsString = ms.exportMetadata();
|
||||
window.localStorage.setItem("metadata", metadataAsString);
|
||||
var metadataFromStorage = window.localStorage.getItem("metadata");
|
||||
var newMetadataStore = breeze.MetadataStore.importMetadata(metadataFromStorage);
|
||||
var metadataAsString = ms.exportMetadata();
|
||||
window.localStorage.setItem("metadata", metadataAsString);
|
||||
var metadataFromStorage = window.localStorage.getItem("metadata");
|
||||
var newMetadataStore = new breeze.MetadataStore();
|
||||
newMetadataStore.importMetadata(metadataFromStorage);
|
||||
if (em1.metadataStore.isEmpty()) { }
|
||||
var Customer = function () {
|
||||
this.miscData = "asdf";
|
||||
}
|
||||
em1.metadataStore.registerEntityTypeCtor("Customer", Customer);
|
||||
}
|
||||
|
||||
function test_entityManager() {
|
||||
var entityManager = new breeze.EntityManager("api/NorthwindIBModel");
|
||||
var em1 = new breeze.EntityManager({ serviceName: "api/NorthwindIBModel" });
|
||||
var metadataStore = new breeze.MetadataStore();
|
||||
var entityManager = new breeze.EntityManager({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
metadataStore: metadataStore
|
||||
});
|
||||
|
||||
return new breeze.QueryOptions({
|
||||
mergeStrategy: null,
|
||||
fetchStrategy: this.fetchStrategy
|
||||
});
|
||||
var queryOptions = new breeze.QueryOptions({
|
||||
mergeStrategy: breeze.MergeStrategy.OverwriteChanges,
|
||||
fetchStrategy: breeze.FetchStrategy.FromServer
|
||||
});
|
||||
var validationOptions = new breeze.ValidationOptions({
|
||||
validateOnAttach: true,
|
||||
validateOnSave: true,
|
||||
validateOnQuery: false
|
||||
});
|
||||
var entityManager = new breeze.EntityManager({
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
queryOptions: queryOptions,
|
||||
validationOptions: validationOptions
|
||||
});
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var cust1 = custType.createEntity();
|
||||
em1.addEntity(cust1);
|
||||
|
||||
var cust2 = em1.createEntity("Customer", { companyName: "foo" });
|
||||
var cust3 = em1.createEntity("foo", { xxx: 3 }, breeze.EntityState.Added);
|
||||
|
||||
em1.attachEntity(cust1, breeze.EntityState.Added);
|
||||
em1.clear();
|
||||
var em2 = em1.createEmptyCopy();
|
||||
em1.detachEntity(cust1);
|
||||
var serviceName: string;
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
em.executeQuery(query)
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
em.executeQuery(query,
|
||||
function (data) {
|
||||
var orders = data.results;
|
||||
},
|
||||
function (err) {
|
||||
});
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
query.execute()
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
var orders = em.executeQueryLocally(query);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(breeze.FetchStrategy.FromLocalCache);
|
||||
em.executeQuery(query)
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var bundle = em1.exportEntities();
|
||||
window.localStorage.setItem("myEntityManager", bundle);
|
||||
var bundleFromStorage = window.localStorage.getItem("myEntityManager");
|
||||
var em2 = new breeze.EntityManager({
|
||||
serviceName: em1.serviceName,
|
||||
metadataStore: em1.metadataStore
|
||||
});
|
||||
em2.importEntities(bundleFromStorage);
|
||||
var entitiesToExport: breeze.Entity[];
|
||||
var bundle = em1.exportEntities(entitiesToExport);
|
||||
em2.importEntities(bundle, { mergeStrategy: breeze.MergeStrategy.PreserveChanges });
|
||||
var em1 = new breeze.EntityManager("api/NorthwindIBModel");
|
||||
em1.fetchMetadata()
|
||||
.then(function () {
|
||||
var metadataStore = em1.metadataStore;
|
||||
})
|
||||
.fail(function (exception) {
|
||||
});
|
||||
var employeeType = em1.metadataStore.getEntityType("Employee");
|
||||
var employeeKey = new breeze.EntityKey(<breeze.EntityType> employeeType, 1);
|
||||
var employee = em1.fetchEntityByKey(employeeKey);
|
||||
var emp2 = em1.fetchEntityByKey("Employee", 6);
|
||||
var emp3 = em1.fetchEntityByKey("Entityee", [6]);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var custumer = custType.createEntity();
|
||||
var customerId = em.generateTempKeyValue(custumer);
|
||||
em1.saveChanges()
|
||||
.then(function (data) {
|
||||
var sameCust1 = data.results[0];
|
||||
});
|
||||
var changedEntities = em1.getChanges();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var changedCustomers = em1.getChanges(custType);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var changedCustomersAndOrders = em1.getChanges([custType, orderType]);
|
||||
var entities = em1.getEntities();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customers = em1.getEntities(custType);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var customersAndOrders = em1.getChanges([custType, orderType]);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var addedCustomersAndOrders = em1.getEntities([custType, orderType], breeze.EntityState.Added);
|
||||
if (em1.hasChanges()) { }
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
if (em1.hasChanges(custType)) { }
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
if (em1.hasChanges([custType, orderType])) { };
|
||||
|
||||
var bundle = em1.exportEntities();
|
||||
window.localStorage.setItem("myEntityManager", bundle);
|
||||
var bundleFromStorage = window.localStorage.getItem("myEntityManager");
|
||||
var em2 = breeze.EntityManager.importEntities(bundleFromStorage);
|
||||
var bundle = em1.exportEntities();
|
||||
var em2 = new breeze.EntityManager({
|
||||
serviceName: em1.serviceName,
|
||||
metadataStore: em1.metadataStore
|
||||
});
|
||||
em2.importEntities(bundle);
|
||||
var bundle = em1.exportEntities();
|
||||
em2.importEntities(bundle, { mergeStrategy: breeze.MergeStrategy.PreserveChanges });
|
||||
em.saveChanges().then(function (saveResult) {
|
||||
var savedEntities = saveResult.entities;
|
||||
var keyMappings = saveResult.keyMappings;
|
||||
}).fail(function (e) {
|
||||
});
|
||||
var saveOptions = new breeze.SaveOptions({ allowConcurrentSaves: true });
|
||||
var entitiesToSave: breeze.Entity[];
|
||||
em.saveChanges(entitiesToSave, saveOptions).then(function (saveResult) {
|
||||
var savedEntities = saveResult.entities;
|
||||
var keyMappings = saveResult.keyMappings;
|
||||
}).fail(function (e) {
|
||||
});
|
||||
em.saveChanges(entitiesToSave, null,
|
||||
function (saveResult) {
|
||||
var savedEntities = saveResult.entities;
|
||||
var keyMappings = saveResult.keyMappings;
|
||||
}, function (e) { }
|
||||
);
|
||||
em1.setProperties({
|
||||
serviceName: "api/foo",
|
||||
});
|
||||
var em = new breeze.EntityManager({ serviceName: "api/NorthwindIBModel" });
|
||||
em.entityChanged.subscribe(function (changeArgs) {
|
||||
var action = changeArgs.entityAction;
|
||||
var entity = changeArgs.entity;
|
||||
});
|
||||
var em = new breeze.EntityManager({ serviceName: "api/NorthwindIBModel" });
|
||||
em.hasChangesChanged.subscribe(function (args) {
|
||||
var hasChanges = args.hasChanges;
|
||||
var entityManager = args.entityManager;
|
||||
});
|
||||
}
|
||||
|
||||
function test_entityQuery() {
|
||||
var query = new breeze.EntityQuery("Customers");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.orderBy("Region");
|
||||
var serviceName: string;
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
query.execute()
|
||||
.then(function (data) { })
|
||||
.fail(function (err) { });
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
query.execute(
|
||||
function (data) {
|
||||
var orders = data.results;
|
||||
},
|
||||
function (err) { });
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders");
|
||||
em.executeQuery(query)
|
||||
.then(function (data) {
|
||||
var orders = data.results;
|
||||
}).fail(function (err) {
|
||||
});
|
||||
var query = new breeze.EntityQuery("Orders").using(em);
|
||||
var orders = query.executeLocally();
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.expand("Orders");
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.expand("Customer, Employee");
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.expand("Customer, OrderDetails, OrderDetails.Product");
|
||||
var query = breeze.EntityQuery.from("Customers");
|
||||
var query = new breeze.EntityQuery("Customers");
|
||||
var query = new breeze.EntityQuery().from("Customers");
|
||||
var customer: breeze.Entity;
|
||||
var customers: breeze.Entity[];
|
||||
var customersQuery = breeze.EntityQuery.fromEntities(customers);
|
||||
var customersQuery = breeze.EntityQuery.fromEntities(customers)
|
||||
.where("Region", breeze.FilterQueryOp.NotEquals, null);
|
||||
var customerQuery = breeze.EntityQuery.fromEntities(customer);
|
||||
var metadataStore: breeze.MetadataStore;
|
||||
var empType = metadataStore.getEntityType("Employee");
|
||||
var entityKey = new breeze.EntityKey(<breeze.EntityType> empType, 1);
|
||||
var query = breeze.EntityQuery.fromEntityKey(entityKey);
|
||||
var employee: breeze.Entity;
|
||||
var entityKey = employee.entityAspect.getKey();
|
||||
var query = breeze.EntityQuery.fromEntityKey(entityKey);
|
||||
var ordersNavProp = employee.entityType.getProperty("Orders");
|
||||
var query = breeze.EntityQuery.fromEntityNavigation(employee, <breeze.NavigationProperty> ordersNavProp);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("CompanyName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("Region, CompanyName");
|
||||
var query = new breeze.EntityQuery("Products")
|
||||
.orderBy("Category.CategoryName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("CompanyName desc");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderBy("Region desc, CompanyName desc");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.orderByDesc("CompanyName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.select("CompanyName");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.select("Orders");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.select("CompanyName, Orders");
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.where("Customer.CompanyName", "startsWith", "C")
|
||||
.select("Customer.CompanyName, Customer, OrderDate");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C")
|
||||
.skip(5);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.take(5);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.top(5);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.using(em);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.using(breeze.MergeStrategy.PreserveChanges);
|
||||
var em = new breeze.EntityManager(serviceName);
|
||||
var query = new breeze.EntityQuery("Orders")
|
||||
.using(breeze.FetchStrategy.FromLocalCache);
|
||||
var adapter = new breeze.JsonResultsAdapter({ name: "foo", visitNode: function (x) { return x; } });
|
||||
var q2 = query.using(adapter);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", "startsWith", "C");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("CompanyName", breeze.FilterQueryOp.StartsWith, "C");
|
||||
var pred = new breeze.Predicate("CompanyName", breeze.FilterQueryOp.StartsWith, "C");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where(pred);
|
||||
var pred = breeze.Predicate.create("CompanyName", "startswith", "C").and("Region", breeze.FilterQueryOp.Equals, null);
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where(pred);
|
||||
var query = new breeze.EntityQuery("Products")
|
||||
.where("Category.CategoryName", "startswith", "S");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("toLower(CompanyName)", "startsWith", "c");
|
||||
var query = new breeze.EntityQuery("Customers")
|
||||
.where("toUpper(substring(CompanyName, 1, 2))", breeze.FilterQueryOp.Equals, "OM");
|
||||
var q2 = query.toType("foo").orderBy("foo2");
|
||||
}
|
||||
|
||||
function test_entityState() {
|
||||
var anEntity: breeze.Entity;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isAdded();
|
||||
return es === breeze.EntityState.Added;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isAddedModifiedOrDeleted();
|
||||
return es === breeze.EntityState.Added || es === breeze.EntityState.Modified || es === breeze.EntityState.Deleted;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isDeleted();
|
||||
return es === breeze.EntityState.Deleted;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isDetached();
|
||||
return es === breeze.EntityState.Detached;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isModified();
|
||||
return es === breeze.EntityState.Modified;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isUnchanged();
|
||||
return es === breeze.EntityState.Unchanged;
|
||||
var es = anEntity.entityAspect.entityState;
|
||||
return es.isUnchangedOrModified();
|
||||
|
||||
return es === breeze.EntityState.Unchanged || es === breeze.EntityState.Modified;
|
||||
}
|
||||
|
||||
function test_entityType() {
|
||||
var myMetadataStore: breeze.MetadataStore;
|
||||
var myEntityType: breeze.EntityType;
|
||||
var dataProperty1, dataProperty2, navigationProperty1: breeze.DataProperty;
|
||||
var em1: breeze.EntityManager;
|
||||
var entityManager = new breeze.EntityType({
|
||||
metadataStore: myMetadataStore,
|
||||
serviceName: "api/NorthwindIBModel",
|
||||
name: "person",
|
||||
namespace: "myAppNamespace"
|
||||
});
|
||||
myEntityType.addProperty(dataProperty1);
|
||||
myEntityType.addProperty(dataProperty2);
|
||||
myEntityType.addProperty(navigationProperty1);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var countryProp = custType.getProperty("Country");
|
||||
var valFn = function (v) {
|
||||
if (v == null) return true;
|
||||
return (v.substring(0,2) === "US");
|
||||
};
|
||||
var countryValidator = new breeze.Validator("countryIsUS", valFn,
|
||||
{ displayName: "Country", messageTemplate: "'%displayName%' must start with 'US'" });
|
||||
custType.addValidator(countryValidator, countryProp);
|
||||
countryProp.validators.push(countryValidator);
|
||||
var someEntityLevelValidator: breeze.Validator;
|
||||
custType.addValidator(someEntityLevelValidator);
|
||||
custType.validators.push(someEntityLevelValidator);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var cust1 = custType.createEntity();
|
||||
em1.addEntity(cust1);
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customerNameDataProp = custType.getDataProperty("CustomerName");
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customerOrdersNavProp = custType.getDataProperty("Orders");
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var arrayOfProps = custType.getProperties();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var companyNameProp = custType.getProperty("CompanyName");
|
||||
var orderDetailType = <breeze.EntityType> em1.metadataStore.getEntityType("OrderDetail");
|
||||
var companyNameProp2 = orderDetailType.getProperty("Order.Customer.CompanyName");
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var arrayOfPropNames = custType.getPropertyNames();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
custType.setProperties({
|
||||
autoGeneratedKeyType: breeze.AutoGeneratedKeyType.Identity,
|
||||
defaultResourceName: "CustomersAndIncludedOrders"
|
||||
});
|
||||
}
|
||||
|
||||
//function test_enum() {
|
||||
// var prototype = {
|
||||
// nextDay: function () {
|
||||
// var nextIndex = (this.dayIndex + 1) % 7;
|
||||
// return DayOfWeek.getSymbols()[nextIndex];
|
||||
// }
|
||||
// };
|
||||
// var DayOfWeek = new core.Enum("DayOfWeek", prototype);
|
||||
// DayOfWeek.Monday = DayOfWeek.addSymbol({ dayIndex: 0 });
|
||||
// var symbol = DayOfWeek.Friday;
|
||||
// if (DayOfWeek.contains(symbol)) { }
|
||||
// var dayOfWeek = DayOfWeek.from("Thursday");
|
||||
// var symbols = DayOfWeek.getNames();
|
||||
// var symbols = DayOfWeek.getSymbols();
|
||||
// if (core.Enum.isSymbol(DayOfWeek.Wednesday)) { };
|
||||
// DayOfWeek.seal();
|
||||
// var name = DayOfWeek.Monday.getName();
|
||||
// var name = DayOfWeek.Monday.toString();
|
||||
|
||||
|
||||
// var prototype = {
|
||||
// nextDay: function () {
|
||||
// var nextIndex = (this.dayIndex + 1) % 7;
|
||||
// return DayOfWeek.getSymbols()[nextIndex];
|
||||
// }
|
||||
// };
|
||||
// var DayOfWeek = new core.Enum("DayOfWeek", prototype);
|
||||
// DayOfWeek.Monday = DayOfWeek.addSymbol({ dayIndex: 0 });
|
||||
// DayOfWeek.Tuesday = DayOfWeek.addSymbol({ dayIndex: 1 });
|
||||
// DayOfWeek.Wednesday = DayOfWeek.addSymbol({ dayIndex: 2 });
|
||||
// DayOfWeek.Thursday = DayOfWeek.addSymbol({ dayIndex: 3 });
|
||||
// DayOfWeek.Friday = DayOfWeek.addSymbol({ dayIndex: 4 });
|
||||
// DayOfWeek.Saturday = DayOfWeek.addSymbol({ dayIndex: 5, isWeekend: true });
|
||||
// DayOfWeek.Sunday = DayOfWeek.addSymbol({ dayIndex: 6, isWeekend: true });
|
||||
// DayOfWeek.seal();
|
||||
// DayOfWeek.Monday.nextDay() === DayOfWeek.Tuesday;
|
||||
// DayOfWeek.Sunday.nextDay() === DayOfWeek.Monday;
|
||||
// DayOfWeek.Tuesday.isWeekend === undefined;
|
||||
// DayOfWeek.Saturday.isWeekend == true;
|
||||
// DayOfWeek instanceof core.Enum;
|
||||
// core.Enum.isSymbol(DayOfWeek.Wednesday);
|
||||
// DayOfWeek.contains(DayOfWeek.Thursday);
|
||||
// DayOfWeek.Tuesday.parentEnum == DayOfWeek;
|
||||
// DayOfWeek.getSymbols().length === 7;
|
||||
// DayOfWeek.Friday.toString() === "Friday";
|
||||
//}
|
||||
|
||||
function test_event() {
|
||||
var myEntityManager: breeze.EntityManager;
|
||||
var myEntity, person: breeze.Entity;
|
||||
var salaryEvent = new core.Event("salaryEvent", person);
|
||||
core.Event.enable("propertyChanged", myEntityManager, false);
|
||||
core.Event.enable("propertyChanged", myEntityManager, true);
|
||||
core.Event.enable("propertyChanged", myEntity.entityAspect, false);
|
||||
core.Event.enable("propertyChanged", myEntity.entityAspect, <Function> null);
|
||||
core.Event.enable("validationErrorsChanged", myEntityManager, function (em) {
|
||||
return em.customTag === "blue";
|
||||
});
|
||||
core.Event.isEnabled("propertyChanged", myEntityManager);
|
||||
salaryEvent.publish({ eventType: "payRaise", amount: 100 });
|
||||
salaryEvent.publish({ eventType: "payRaise", amount: 100 }, true);
|
||||
salaryEvent.publish({ eventType: "payRaise", amount: 100 }, true, function (error) { });
|
||||
salaryEvent.publishAsync({ eventType: "payRaise", amount: 100 });
|
||||
salaryEvent.publishAsync({ eventType: "payRaise", amount: 100 }, function (error) { });
|
||||
salaryEvent.subscribe(function (eventArgs) {
|
||||
if (eventArgs.eventType === "payRaise") { }
|
||||
});
|
||||
var order: breeze.Entity;
|
||||
order.entityAspect.propertyChanged.subscribe(function (pcEvent) {
|
||||
if (pcEvent.propertyName === "OrderDate") { }
|
||||
});
|
||||
var token = order.entityAspect.propertyChanged.subscribe(function (pcEvent) { });
|
||||
order.entityAspect.propertyChanged.unsubscribe(token);
|
||||
}
|
||||
|
||||
function test_localQueryComparisonOptions() {
|
||||
var lqco = new breeze.LocalQueryComparisonOptions({
|
||||
name: "caseSensitive-nonSQL",
|
||||
isCaseSensitive: true,
|
||||
usesSql92CompliantStringComparison: false
|
||||
});
|
||||
lqco.setAsDefault();
|
||||
var ms = new breeze.MetadataStore({ localQueryComparisonOptions: lqco });
|
||||
var em = new breeze.EntityManager({ metadataStore: ms });
|
||||
var lqco = new breeze.LocalQueryComparisonOptions({
|
||||
isCaseSensitive: false,
|
||||
usesSql92CompliantStringComparison: true
|
||||
});
|
||||
lqco.setAsDefault();
|
||||
}
|
||||
|
||||
function test_namingConventions() {
|
||||
var namingConv = new breeze.NamingConvention({
|
||||
serverPropertyNameToClient: function (serverPropertyName) {
|
||||
return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
|
||||
},
|
||||
clientPropertyNameToServer: function (clientPropertyName) {
|
||||
return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
|
||||
}
|
||||
});
|
||||
var nc = new breeze.NamingConvention({
|
||||
serverPropertyNameToClient: function (x) {
|
||||
return "xxx";
|
||||
}
|
||||
});
|
||||
var ms = new breeze.MetadataStore({ namingConvention: namingConv });
|
||||
var em = new breeze.EntityManager({ metadataStore: ms });
|
||||
var namingConv = new breeze.NamingConvention({
|
||||
serverPropertyNameToClient: function (serverPropertyName) {
|
||||
return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
|
||||
},
|
||||
clientPropertyNameToServer: function (clientPropertyName) {
|
||||
return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
|
||||
}
|
||||
});
|
||||
namingConv.setAsDefault();
|
||||
}
|
||||
|
||||
function test_navigationProperty() {
|
||||
var homeAddressProp = new breeze.NavigationProperty({
|
||||
name: "homeAddress",
|
||||
entityTypeName: "Address:#myNamespace",
|
||||
isScalar: true,
|
||||
associationName: "address_person",
|
||||
foreignKeyNames: ["homeAddressId"]
|
||||
});
|
||||
var homeAddressIdProp = new breeze.DataProperty({
|
||||
name: "homeAddressId",
|
||||
dataType: breeze.DataType.Int32
|
||||
});
|
||||
var personEntityType: breeze.EntityType;
|
||||
personEntityType.addProperty(homeAddressProp);
|
||||
personEntityType.addProperty(homeAddressIdProp);
|
||||
}
|
||||
|
||||
function test_predicate() {
|
||||
var p1 = new breeze.Predicate("CompanyName", "StartsWith", "B");
|
||||
var p1a = breeze.Predicate.create("CompanyName", "==", "City");
|
||||
var p2a = p1a.and(p1a.not());
|
||||
var query = new breeze.EntityQuery("Customers").where(p1);
|
||||
var p2 = new breeze.Predicate("Region", breeze.FilterQueryOp.Equals, null);
|
||||
var query = new breeze.EntityQuery("Customers").where(p2);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = p1.and(p2, p3);
|
||||
var preds = [p2, p3];
|
||||
var newPred = p1.and(preds);
|
||||
var p4 = breeze.Predicate.create("ShipCity", "startswith", "F")
|
||||
.and("Size", "gt", 2000);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = breeze.Predicate.and(p1, p2, p3);
|
||||
var preds = [p1, p2, p3];
|
||||
var newPred = breeze.Predicate.and(preds);
|
||||
var p1 = breeze.Predicate.create("Freight", "gt", 100);
|
||||
var predArgs: any[] = ["Freight", "gt", 100];
|
||||
var p1 = breeze.Predicate.create(predArgs);
|
||||
var p1 = new breeze.Predicate("Freight", "gt", 100);
|
||||
var p1 = new breeze.Predicate("CompanyName", "StartsWith", "B");
|
||||
if (breeze.Predicate.isPredicate(p1)) { }
|
||||
var p1 = breeze.Predicate.create("Freight", "gt", 100);
|
||||
var not_p1 = breeze.Predicate.not(p1);
|
||||
var not_p1 = p1.not();
|
||||
var not_p1 = breeze.Predicate.create("Freight", "le", 100);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = breeze.Predicate.or(p1, p2, p3);
|
||||
var preds = [p1, p2, p3];
|
||||
var newPred = breeze.Predicate.or(preds);
|
||||
var dt = new Date(88, 9, 12);
|
||||
var p1 = breeze.Predicate.create("OrderDate", "ne", dt);
|
||||
var p2 = breeze.Predicate.create("ShipCity", "startsWith", "C");
|
||||
var p3 = breeze.Predicate.create("Freight", ">", 100);
|
||||
var newPred = p1.and(p2, p3);
|
||||
var preds = [p2, p3];
|
||||
var newPred = p1.and(preds);
|
||||
var p4 = breeze.Predicate.create("ShipCity", "startswith", "F")
|
||||
.or("Size", "gt", 2000);
|
||||
}
|
||||
|
||||
function test_queryOptions() {
|
||||
var em1: breeze.EntityManager;
|
||||
var newQo = new breeze.QueryOptions({ mergeStrategy: breeze.MergeStrategy.OverwriteChanges });
|
||||
em1.setProperties({ queryOptions: newQo });
|
||||
var newQo = new breeze.QueryOptions({ mergeStrategy: breeze.MergeStrategy.OverwriteChanges });
|
||||
newQo.setAsDefault();
|
||||
var queryOptions = em1.queryOptions.using(breeze.MergeStrategy.PreserveChanges);
|
||||
var queryOptions = em1.queryOptions.using(breeze.FetchStrategy.FromLocalCache);
|
||||
var queryOptions = em1.queryOptions.using({ mergeStrategy: breeze.MergeStrategy.OverwriteChanges });
|
||||
}
|
||||
|
||||
function test_validationOptions() {
|
||||
var newVo = new breeze.ValidationOptions({ validateOnSave: false, validateOnAttach: false });
|
||||
var em1: breeze.EntityManager;
|
||||
em1.setProperties({ validationOptions: newVo });
|
||||
var validationOptions = new breeze.ValidationOptions()
|
||||
var newOptions = validationOptions.using({ validateOnQuery: true, validateOnSave: false });
|
||||
newOptions.setAsDefault();
|
||||
var validationOptions = new breeze.ValidationOptions();
|
||||
var newOptions = validationOptions.using({ validateOnQuery: true, validateOnSave: false });
|
||||
}
|
||||
|
||||
function test_validator() {
|
||||
var valFn = function (v) {
|
||||
if (v == null) return true;
|
||||
return ( v.substr(0,2)=== "US");
|
||||
};
|
||||
var countryValidator = new breeze.Validator("countryIsUS", valFn, {
|
||||
displayName: "Country",
|
||||
messageTemplate: "'%displayName%' must start with 'US'"
|
||||
});
|
||||
var metadataStore: breeze.MetadataStore;
|
||||
var custType = <breeze.EntityType> metadataStore.getEntityType("Customer");
|
||||
var countryProp = custType.getProperty("Country");
|
||||
countryProp.validators.push(countryValidator);
|
||||
function isValidZipCode(value) {
|
||||
var re = /^\d{5}([\-]\d{4})?$/;
|
||||
return (re.test(value));
|
||||
}
|
||||
var valFn = function (v) {
|
||||
if (v.getProperty("Country") === "USA") {
|
||||
var postalCode = v.getProperty("PostalCode");
|
||||
return isValidZipCode(postalCode);
|
||||
}
|
||||
return true;
|
||||
};
|
||||
var zipCodeValidator = new breeze.Validator("zipCodeValidator", valFn,
|
||||
{ messageTemplate: "For the US, this is not a valid PostalCode" });
|
||||
var em1: breeze.EntityManager;
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
custType.validators.push(zipCodeValidator);
|
||||
var numericRangeValidator = function (context) {
|
||||
var valFn = function (v, ctx) {
|
||||
if (v == null) return true;
|
||||
if (typeof (v) !== "number") return false;
|
||||
if (ctx.min != null && v < ctx.min) return false;
|
||||
if (ctx.max != null && v > ctx.max) return false;
|
||||
return true;
|
||||
};
|
||||
return new breeze.Validator("numericRange", valFn, {
|
||||
messageTemplate: "'%displayName%' must be an integer between the values of %min% and %max%",
|
||||
min: context.min,
|
||||
max: context.max
|
||||
});
|
||||
};
|
||||
freightProperty.validators.push(numericRangeValidator({ min: 100, max: 500 }));
|
||||
var productType = <breeze.EntityType> em1.metadataStore.getEntityType("Product");
|
||||
var discontinuedProperty = productType.getProperty("Discontinued");
|
||||
discontinuedProperty.validators.push(breeze.Validator.bool());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
regionProperty.validators.push(breeze.Validator.byte());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var orderDateProperty = orderType.getProperty("OrderDate");
|
||||
orderDateProperty.validators.push(breeze.Validator.date());
|
||||
var v0 = breeze.Validator.maxLength({ maxLength: 5, displayName: "City" });
|
||||
v0.validate("adasdfasdf");
|
||||
var errMessage = v0.getMessage();
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var customerIdProperty = custType.getProperty("CustomerID");
|
||||
customerIdProperty.validators.push(breeze.Validator.guid());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.int16());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.int32());
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.int64());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.maxLength({ maxLength: 5 }));
|
||||
var orderType = <breeze.EntityType> em1.metadataStore.getEntityType("Order");
|
||||
var freightProperty = orderType.getProperty("Freight");
|
||||
freightProperty.validators.push(breeze.Validator.number());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.required());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.string());
|
||||
var custType = <breeze.EntityType> em1.metadataStore.getEntityType("Customer");
|
||||
var regionProperty = custType.getProperty("Region");
|
||||
regionProperty.validators.push(breeze.Validator.stringLength({ minLength: 2, maxLength: 5 }));
|
||||
var validator = breeze.Validator.maxLength({ maxLength: 5, displayName: "City" });
|
||||
var result = validator.validate("asdf");
|
||||
var ok = result === null;
|
||||
result = validator.validate("adasdfasdf");
|
||||
var errMsg = result.errorMessage;
|
||||
var context = result.context;
|
||||
var sameValidator = result.validator;
|
||||
var valFn = function (v) {
|
||||
if (v == null) return true;
|
||||
return (v.substr(0,2) === "US");
|
||||
};
|
||||
var countryValidator = new breeze.Validator("countryIsUS", valFn, { displayName: "Country" });
|
||||
breeze.Validator.messageTemplates["countryIsUS"] = "'%displayName%' must start with 'US'";
|
||||
}
|
||||
|
||||
function test_demo() {
|
||||
|
||||
var manager = new breeze.EntityManager('api/northwind');
|
||||
|
||||
var query = new breeze.EntityQuery()
|
||||
.from("Employees");
|
||||
|
||||
manager.executeQuery(query).then(function (data) { });
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-779
@@ -1,779 +0,0 @@
|
||||
// Type definitions for Breeze 1.2.7
|
||||
// Project: http://www.breezejs.com/
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>,
|
||||
// IdeaBlade <https://github.com/IdeaBlade/Breeze/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
// Updated March 27 2013 - John Lantz (www.ideablade.com)
|
||||
|
||||
|
||||
declare module breezeCore {
|
||||
|
||||
interface ErrorCallback {
|
||||
(error: Error): void;
|
||||
}
|
||||
|
||||
interface IEnum {
|
||||
contains(object: any): boolean;
|
||||
fromName(name: string): EnumSymbol;
|
||||
getNames(): string[];
|
||||
getSymbols(): EnumSymbol[];
|
||||
}
|
||||
|
||||
class Enum implements IEnum {
|
||||
constructor (name: string, methodObj?: any);
|
||||
|
||||
addSymbol(propertiesObj?: any): EnumSymbol;
|
||||
contains(object: any): boolean;
|
||||
fromName(name: string): EnumSymbol;
|
||||
getNames(): string[];
|
||||
getSymbols(): EnumSymbol[];
|
||||
static isSymbol(object: any): boolean;
|
||||
seal(): void;
|
||||
}
|
||||
|
||||
class EnumSymbol {
|
||||
parentEnum: IEnum;
|
||||
|
||||
getName(): string;
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
class Event {
|
||||
constructor (name: string, publisher: any, defaultErrorCallback?: ErrorCallback);
|
||||
|
||||
static enable(eventName: string, target: any): void;
|
||||
static enable(eventName: string, target: any, isEnabled: boolean): void;
|
||||
static enable(eventName: string, target: any, isEnabled: Function): void;
|
||||
|
||||
static isEnabled(eventName: string, target: any): boolean;
|
||||
publish(data: any, publishAsync?: boolean, errorCallback?: ErrorCallback): void;
|
||||
publishAsync(data: any, errorCallback?: ErrorCallback): void;
|
||||
subscribe(callback?: (data: any) => void ): number;
|
||||
unsubscribe(unsubKey: number): boolean;
|
||||
}
|
||||
}
|
||||
|
||||
declare module breeze {
|
||||
|
||||
interface Entity {
|
||||
entityAspect: EntityAspect;
|
||||
entityType: EntityType;
|
||||
}
|
||||
|
||||
interface ComplexObject {
|
||||
complexAspect: ComplexAspect;
|
||||
complexType: ComplexType;
|
||||
}
|
||||
|
||||
interface IProperty {
|
||||
name: string;
|
||||
parentEntityType: EntityType;
|
||||
validators: Validator[];
|
||||
isDataProperty: boolean;
|
||||
isNavigationProperty: boolean;
|
||||
}
|
||||
|
||||
interface IStructuralType {
|
||||
complexProperties: DataProperty[];
|
||||
dataProperties: DataProperty[];
|
||||
name: string;
|
||||
namespace: string;
|
||||
shortName: string;
|
||||
unmappedProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
}
|
||||
|
||||
class AutoGeneratedKeyType {
|
||||
static Identity: AutoGeneratedKeyType;
|
||||
static KeyGenerator: AutoGeneratedKeyType;
|
||||
static None: AutoGeneratedKeyType;
|
||||
}
|
||||
|
||||
class ComplexAspect {
|
||||
complexObject: ComplexObject;
|
||||
entityAspect: EntityAspect;
|
||||
parent: Object;
|
||||
parentProperty: DataProperty;
|
||||
propertyPath: string;
|
||||
originalValues: Object;
|
||||
}
|
||||
|
||||
class ComplexType implements IStructuralType {
|
||||
complexProperties: DataProperty[];
|
||||
dataProperties: DataProperty[];
|
||||
name: string;
|
||||
namespace: string;
|
||||
shortName: string;
|
||||
unmappedProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
addProperty(dataProperty: DataProperty);
|
||||
getProperties(): DataProperty[];
|
||||
}
|
||||
|
||||
class DataProperty implements IProperty {
|
||||
complexTypeName: string;
|
||||
concurrencyMode: string;
|
||||
dataType: DataTypeSymbol;
|
||||
defaultValue: any;
|
||||
fixedLength: boolean;
|
||||
isComplexProperty: boolean;
|
||||
isDataProperty: boolean;
|
||||
isNavigationProperty: boolean;
|
||||
isNullable: boolean;
|
||||
isPartOfKey: boolean;
|
||||
isUnmapped: boolean;
|
||||
|
||||
maxLength: number;
|
||||
name: string;
|
||||
nameOnServer: string;
|
||||
parentEntityType: EntityType;
|
||||
relatedNavigationProperty: NavigationProperty;
|
||||
validators: Validator[];
|
||||
constructor (config: DataPropertyOptions);
|
||||
}
|
||||
|
||||
interface DataPropertyOptions {
|
||||
complexTypeName?: string;
|
||||
concurrencyMode?: string;
|
||||
dataType?: DataTypeSymbol;
|
||||
defaultValue?: any;
|
||||
fixedLength?: boolean;
|
||||
isNullable?: boolean;
|
||||
isPartOfKey?: boolean;
|
||||
isUnmapped?: boolean;
|
||||
maxLength?: number;
|
||||
name?: string;
|
||||
nameOnServer?: string;
|
||||
validators?: Validator[];
|
||||
}
|
||||
|
||||
class DataService {
|
||||
adapterName: string;
|
||||
hasServerMetadata: boolean;
|
||||
serviceName: string;
|
||||
jsonResultsAdapter: JsonResultsAdapter;
|
||||
constructor(config: DataServiceOptions);
|
||||
}
|
||||
|
||||
interface DataServiceOptions {
|
||||
adapterName?: string;
|
||||
hasServerMetadata?: boolean;
|
||||
serviceName?: string;
|
||||
jsonResultsAdapter?: JsonResultsAdapter;
|
||||
}
|
||||
|
||||
class JsonResultsAdapter {
|
||||
name: string;
|
||||
extractResults: (data: {}) => {};
|
||||
visitNode: (node: {}, queryContext: QueryContext, nodeContext: NodeContext) => { entityType?: EntityType; nodeId?: any; nodeRefId?: any; ignore?: boolean; };
|
||||
constructor(config: {
|
||||
name: string;
|
||||
extractResults?: (data: {}) => {};
|
||||
visitNode: (node: {}, queryContext: QueryContext, nodeContext: NodeContext) => { entityType?: EntityType; nodeId?: any; nodeRefId?: any; ignore?: boolean; };
|
||||
});
|
||||
}
|
||||
|
||||
interface QueryContext {
|
||||
query: any; // how to also say it could be an EntityQuery or a string
|
||||
entityManager: EntityManager;
|
||||
jsonResultsAdapter: JsonResultsAdapter;
|
||||
mergeStrategy: MergeStrategy;
|
||||
}
|
||||
|
||||
interface NodeContext {
|
||||
nodeType: string;
|
||||
}
|
||||
|
||||
|
||||
|
||||
class DataTypeSymbol extends breezeCore.EnumSymbol {
|
||||
defaultValue: any;
|
||||
isNumeric: boolean;
|
||||
}
|
||||
interface DataType extends breezeCore.IEnum {
|
||||
Binary: DataTypeSymbol;
|
||||
Boolean: DataTypeSymbol;
|
||||
Byte: DataTypeSymbol;
|
||||
DateTime: DataTypeSymbol;
|
||||
Decimal: DataTypeSymbol;
|
||||
Double: DataTypeSymbol;
|
||||
Guid: DataTypeSymbol;
|
||||
Int16: DataTypeSymbol;
|
||||
Int32: DataTypeSymbol;
|
||||
Int64: DataTypeSymbol;
|
||||
Single: DataTypeSymbol;
|
||||
String: DataTypeSymbol;
|
||||
Time: DataTypeSymbol;
|
||||
Undefined: DataTypeSymbol;
|
||||
toDataType(typeName: string): DataTypeSymbol;
|
||||
parseDateFromServer(date: any): Date;
|
||||
|
||||
}
|
||||
var DataType: DataType;
|
||||
|
||||
class EntityActionSymbol extends breezeCore.EnumSymbol {
|
||||
}
|
||||
interface EntityAction extends breezeCore.IEnum {
|
||||
AcceptChanges: EntityActionSymbol;
|
||||
Attach: EntityActionSymbol;
|
||||
AttachOnImport: EntityActionSymbol;
|
||||
AttachOnQuery: EntityActionSymbol;
|
||||
Clear: EntityActionSymbol;
|
||||
Detach: EntityActionSymbol;
|
||||
EntityStateChange: EntityActionSymbol;
|
||||
MergeOnImport: EntityActionSymbol;
|
||||
MergeOnSave: EntityActionSymbol;
|
||||
MergeOnQuery: EntityActionSymbol;
|
||||
PropertyChange: EntityActionSymbol;
|
||||
RejectChanges: EntityActionSymbol;
|
||||
}
|
||||
var EntityAction: EntityAction;
|
||||
|
||||
class EntityAspect {
|
||||
entity: Entity;
|
||||
entityManager: EntityManager;
|
||||
entityState: EntityStateSymbol;
|
||||
isBeingSaved: boolean;
|
||||
originalValues: any;
|
||||
|
||||
propertyChanged: PropertyChangedEvent;
|
||||
validationErrorsChanged: ValidationErrorsChangedEvent;
|
||||
|
||||
acceptChanges(): void;
|
||||
addValidationError(validationError: ValidationError): void;
|
||||
clearValidationErrors(): void;
|
||||
getKey(forceRefresh?: boolean): EntityKey;
|
||||
|
||||
getValidationErrors(): ValidationError[];
|
||||
getValidationErrors(property: string): ValidationError[];
|
||||
getValidationErrors(property: IProperty): ValidationError[];
|
||||
|
||||
loadNavigationProperty(navigationProperty: string, callback?: Function, errorCallback?: Function): Promise;
|
||||
loadNavigationProperty(navigationProperty: NavigationProperty, callback?: Function, errorCallback?: Function): Promise;
|
||||
|
||||
rejectChanges(): void;
|
||||
|
||||
removeValidationError(validator: Validator): void;
|
||||
removeValidationError(validator: Validator, property: DataProperty): void;
|
||||
removeValidationError(validator: Validator, property: NavigationProperty): void;
|
||||
|
||||
setDeleted(): void;
|
||||
setModified(): void;
|
||||
setUnchanged(): void;
|
||||
setDetached(): boolean;
|
||||
validateEntity(): boolean;
|
||||
|
||||
validateProperty(property: string, context?: any): boolean;
|
||||
validateProperty(property: DataProperty, context?: any): boolean;
|
||||
validateProperty(property: NavigationProperty, context?: any): boolean;
|
||||
}
|
||||
|
||||
class PropertyChangedEventArgs {
|
||||
entity: Entity;
|
||||
propertyName: string;
|
||||
oldValue: any;
|
||||
newValue: any;
|
||||
}
|
||||
|
||||
class PropertyChangedEvent extends breezeCore.Event {
|
||||
subscribe(callback?: (data: PropertyChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class ValidationErrorsChangedEventArgs {
|
||||
entity: Entity;
|
||||
added: ValidationError[];
|
||||
removed: ValidationError[];
|
||||
}
|
||||
|
||||
class ValidationErrorsChangedEvent extends breezeCore.Event {
|
||||
subscribe(callback?: (data: ValidationErrorsChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class EntityKey {
|
||||
constructor (entityType: EntityType, keyValue: any);
|
||||
constructor (entityType: EntityType, keyValues: any[]);
|
||||
|
||||
equals(entityKey: EntityKey): boolean;
|
||||
static equals(k1: EntityKey, k2: EntityKey): boolean;
|
||||
}
|
||||
|
||||
class EntityManager {
|
||||
dataService: DataService;
|
||||
keyGeneratorCtor: Function;
|
||||
metadataStore: MetadataStore;
|
||||
queryOptions: QueryOptions;
|
||||
saveOptions: SaveOptions;
|
||||
serviceName: string;
|
||||
validationOptions: ValidationOptions;
|
||||
|
||||
entityChanged: EntityChangedEvent;
|
||||
hasChangesChanged: HasChangesChangedEvent;
|
||||
|
||||
constructor (config?: EntityManagerOptions);
|
||||
constructor (config?: string);
|
||||
|
||||
addEntity(entity: Entity): Entity;
|
||||
attachEntity(entity: Entity, entityState?: EntityStateSymbol): Entity;
|
||||
clear(): void;
|
||||
createEmptyCopy(): EntityManager;
|
||||
createEntity(typeName: string, config?: {}, entityState?: EntityStateSymbol) : Entity;
|
||||
detachEntity(entity: Entity): boolean;
|
||||
executeQuery(query: string, callback?: ExecuteQuerySuccessCallback, errorCallback?: ExecuteQueryErrorCallback): Promise;
|
||||
executeQuery(query: EntityQuery, callback?: ExecuteQuerySuccessCallback, errorCallback?: ExecuteQueryErrorCallback): Promise;
|
||||
|
||||
executeQueryLocally(query: EntityQuery): Entity[];
|
||||
exportEntities(entities?: Entity[]): string;
|
||||
fetchEntityByKey(typeName: string, keyValue: any, checkLocalCacheFirst?: boolean): Promise;
|
||||
fetchEntityByKey(typeName: string, keyValues: any[], checkLocalCacheFirst?: boolean): Promise;
|
||||
fetchEntityByKey(entityKey: EntityKey): Promise;
|
||||
fetchMetadata(callback?: (schema: any) => void , errorCallback?: breezeCore.ErrorCallback): Promise;
|
||||
generateTempKeyValue(entity: Entity): any;
|
||||
getChanges(): Entity[];
|
||||
getChanges(entityTypeName: string): Entity[];
|
||||
getChanges(entityTypeNames: string[]): Entity[];
|
||||
getChanges(entityType: EntityType): Entity[];
|
||||
getChanges(entityTypes: EntityType[]): Entity[];
|
||||
|
||||
getEntities(entityTypeName: string, entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityTypeNames?: string[], entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityTypeName?: string, entityStates?: EntityStateSymbol[]): Entity[];
|
||||
getEntities(entityTypeNames?: string[], entityStates?: EntityStateSymbol[]): Entity[];
|
||||
|
||||
getEntities(entityType: EntityType, entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityTypes?: EntityType[], entityState?: EntityStateSymbol): Entity[];
|
||||
getEntities(entityType?: EntityType, entityStates?: EntityStateSymbol[]): Entity[];
|
||||
getEntities(entityTypes?: EntityType[], entityStates?: EntityStateSymbol[]): Entity[];
|
||||
|
||||
getEntityByKey(typeName: string, keyValue: any): Entity;
|
||||
getEntityByKey(typeName: string, keyValues: any[]): Entity;
|
||||
getEntityByKey(entityKey: EntityKey): Entity;
|
||||
|
||||
hasChanges(): boolean;
|
||||
hasChanges(entityTypeName: string): boolean;
|
||||
hasChanges(entityTypeNames: string[]): boolean;
|
||||
hasChanges(entityType: EntityType): boolean;
|
||||
hasChanges(entityTypes: EntityType[]): boolean;
|
||||
|
||||
static importEntities(exportedString: string, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
importEntities(exportedString: any, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
|
||||
rejectChanges(): Entity[];
|
||||
saveChanges(entities?: Entity[], saveOptions?: SaveOptions, callback?: SaveChangesSuccessCallback, errorCallback?: SaveChangesErrorCallback): Promise;
|
||||
setProperties(config: EntityManagerProperties): void;
|
||||
|
||||
helper: {
|
||||
unwrapInstance(structObj: Entity, isOData: boolean): any;
|
||||
unwrapOriginalValues(target: Entity, metadataStore: MetadataStore, isOData: boolean): any;
|
||||
unwrapChangedValues(target: Entity, metadataStore: MetadataStore, isOData: boolean): any;
|
||||
getEntityKeyFromRawEntity(rawEntity: any, entityType: EntityType, isClient: boolean): EntityKey;
|
||||
};
|
||||
}
|
||||
|
||||
interface EntityManagerOptions {
|
||||
serviceName?: string;
|
||||
dataService?: DataService;
|
||||
metadataStore?: MetadataStore;
|
||||
queryOptions?: QueryOptions;
|
||||
saveOptions?: SaveOptions;
|
||||
validationOptions?: ValidationOptions;
|
||||
keyGeneratorCtor?: Function;
|
||||
}
|
||||
|
||||
interface EntityManagerProperties {
|
||||
serviceName?: string;
|
||||
dataService?: DataService;
|
||||
queryOptions?: QueryOptions;
|
||||
saveOptions?: SaveOptions;
|
||||
validationOptions?: ValidationOptions;
|
||||
keyGeneratorCtor?: Function;
|
||||
}
|
||||
|
||||
interface ExecuteQuerySuccessCallback {
|
||||
(data: { results: Entity[]; query: EntityQuery; XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
interface ExecuteQueryErrorCallback {
|
||||
(error: { query: EntityQuery; XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
interface SaveChangesSuccessCallback {
|
||||
(saveResult: { entities: Entity[]; keyMappings: any; XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
interface SaveChangesErrorCallback {
|
||||
(error: { XHR: XMLHttpRequest; }): void;
|
||||
}
|
||||
|
||||
class EntityChangedEventArgs {
|
||||
entity: Entity;
|
||||
entityAction: EntityActionSymbol;
|
||||
args: Object;
|
||||
}
|
||||
|
||||
class EntityChangedEvent extends breezeCore.Event {
|
||||
subscribe(callback?: (data: EntityChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class HasChangesChangedEventArgs {
|
||||
entityManager: EntityManager;
|
||||
hasChanges: boolean;
|
||||
}
|
||||
|
||||
class HasChangesChangedEvent extends breezeCore.Event {
|
||||
subscribe(callback?: (data: HasChangesChangedEventArgs) => void ): number;
|
||||
}
|
||||
|
||||
class EntityQuery {
|
||||
entityManager: EntityManager;
|
||||
orderByClause: OrderByClause;
|
||||
parameters: Object;
|
||||
queryOptions: QueryOptions;
|
||||
resourceName: string;
|
||||
skipCount: number;
|
||||
takeCount: number;
|
||||
wherePredicate: Predicate;
|
||||
|
||||
constructor (resourceName?: string);
|
||||
|
||||
execute(callback?: ExecuteQuerySuccessCallback, errorCallback?: ExecuteQueryErrorCallback): Promise;
|
||||
executeLocally(): Entity[];
|
||||
expand(propertyPaths: string[]): EntityQuery;
|
||||
expand(propertyPaths: string): EntityQuery;
|
||||
static from(resourceName: string): EntityQuery;
|
||||
from(resourceName: string): EntityQuery;
|
||||
static fromEntities(entity: Entity): EntityQuery;
|
||||
static fromEntities(entities: Entity[]): EntityQuery;
|
||||
static fromEntityKey(entityKey: EntityKey): EntityQuery;
|
||||
static fromEntityNavigation(entity: Entity, navigationProperty: NavigationProperty): EntityQuery;
|
||||
inlineCount(enabled?: boolean): EntityQuery;
|
||||
orderBy(propertyPaths: string): EntityQuery;
|
||||
orderBy(propertyPaths: string[]): EntityQuery;
|
||||
orderByDesc(propertyPaths: string): EntityQuery;
|
||||
orderByDesc(propertyPaths: string[]): EntityQuery;
|
||||
select(propertyPaths: string): EntityQuery;
|
||||
select(propertyPaths: string[]): EntityQuery;
|
||||
skip(count: number): EntityQuery;
|
||||
take(count: number): EntityQuery;
|
||||
top(count: number): EntityQuery;
|
||||
toType(typeName: string): EntityQuery;
|
||||
toType(type: EntityType): EntityQuery;
|
||||
|
||||
using(obj: EntityManager): EntityQuery;
|
||||
using(obj: MergeStrategySymbol): EntityQuery;
|
||||
using(obj: FetchStrategySymbol): EntityQuery;
|
||||
using(obj: JsonResultsAdapter): EntityQuery;
|
||||
|
||||
where(predicate: Predicate): EntityQuery;
|
||||
where(property: string, operator: string, value: any): EntityQuery;
|
||||
where(property: string, operator: FilterQueryOpSymbol, value: any): EntityQuery;
|
||||
where(predicate: FilterQueryOpSymbol): EntityQuery;
|
||||
withParameters(params: Object): EntityQuery;
|
||||
}
|
||||
|
||||
interface OrderByClause {
|
||||
}
|
||||
|
||||
class EntityStateSymbol extends breezeCore.EnumSymbol {
|
||||
isAdded(): boolean;
|
||||
isAddedModifiedOrDeleted(): boolean;
|
||||
isDeleted(): boolean;
|
||||
isDetached(): boolean;
|
||||
isModified(): boolean;
|
||||
isUnchanged(): boolean;
|
||||
isUnchangedOrModified(): boolean;
|
||||
}
|
||||
interface EntityState extends breezeCore.IEnum {
|
||||
Added: EntityStateSymbol;
|
||||
Deleted: EntityStateSymbol;
|
||||
Detached: EntityStateSymbol;
|
||||
Modified: EntityStateSymbol;
|
||||
Unchanged: EntityStateSymbol;
|
||||
}
|
||||
var EntityState: EntityState;
|
||||
|
||||
class EntityType implements IStructuralType {
|
||||
autoGeneratedKeyType: AutoGeneratedKeyType;
|
||||
complexProperties: DataProperty[];
|
||||
concurrencyProperties: DataProperty[];
|
||||
dataProperties: DataProperty[];
|
||||
defaultResourceName: string;
|
||||
foreignKeyProperties: DataProperty[];
|
||||
keyProperties: DataProperty[];
|
||||
metadataStore: MetadataStore;
|
||||
name: string;
|
||||
namespace: string;
|
||||
navigationProperties: NavigationProperty[];
|
||||
shortName: string;
|
||||
unmappedProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
|
||||
constructor (config: MetadataStore);
|
||||
constructor (config: EntityTypeOptions);
|
||||
|
||||
addProperty(property: IProperty): void;
|
||||
addValidator(validator: Validator, property?: IProperty): void;
|
||||
createEntity(initialValues?: Object): Entity;
|
||||
getDataProperty(propertyName: string): DataProperty;
|
||||
getEntityCtor(): Function;
|
||||
getNavigationProperty(propertyName: string): NavigationProperty;
|
||||
getProperties(): IProperty[];
|
||||
getProperty(propertyPath: string, throwIfNotFound?: boolean): IProperty;
|
||||
getPropertyNames(): string[];
|
||||
setProperties(config: EntityTypeProperties): void;
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
interface EntityTypeOptions {
|
||||
shortName?: string;
|
||||
namespace?: string;
|
||||
autogeneratedKeyType?: AutoGeneratedKeyType;
|
||||
defaultResourceName?: string;
|
||||
}
|
||||
|
||||
interface EntityTypeProperties {
|
||||
autogeneratedKeyType?: AutoGeneratedKeyType;
|
||||
defaultResourceName?: string;
|
||||
}
|
||||
|
||||
class FetchStrategySymbol extends breezeCore.EnumSymbol {
|
||||
}
|
||||
interface FetchStrategy extends breezeCore.IEnum {
|
||||
FromLocalCache: FetchStrategySymbol;
|
||||
FromServer: FetchStrategySymbol;
|
||||
}
|
||||
var FetchStrategy: FetchStrategy;
|
||||
|
||||
class FilterQueryOpSymbol extends breezeCore.EnumSymbol {
|
||||
}
|
||||
interface FilterQueryOp extends breezeCore.IEnum {
|
||||
Contains: FilterQueryOpSymbol;
|
||||
EndsWith: FilterQueryOpSymbol;
|
||||
Equals: FilterQueryOpSymbol;
|
||||
GreaterThan: FilterQueryOpSymbol;
|
||||
GreaterThanOrEqual: FilterQueryOpSymbol;
|
||||
LessThan: FilterQueryOpSymbol;
|
||||
LessThanOrEqual: FilterQueryOpSymbol;
|
||||
NotEquals: FilterQueryOpSymbol;
|
||||
StartsWith: FilterQueryOpSymbol;
|
||||
}
|
||||
var FilterQueryOp: FilterQueryOp;
|
||||
|
||||
class LocalQueryComparisonOptions {
|
||||
static caseInsensitiveSQL: LocalQueryComparisonOptions;
|
||||
static defaultInstance: LocalQueryComparisonOptions;
|
||||
|
||||
constructor (config: { name?: string; isCaseSensitive?: boolean; usesSql92CompliantStringComparison?: boolean; });
|
||||
|
||||
setAsDefault(): void;
|
||||
}
|
||||
|
||||
class MergeStrategySymbol extends breezeCore.EnumSymbol {
|
||||
}
|
||||
interface MergeStrategy extends breezeCore.IEnum {
|
||||
OverwriteChanges: MergeStrategySymbol;
|
||||
PreserveChanges: MergeStrategySymbol;
|
||||
}
|
||||
var MergeStrategy: MergeStrategy;
|
||||
|
||||
class MetadataStore {
|
||||
namingConvention: NamingConvention;
|
||||
|
||||
constructor (config?: MetadataStoreOptions);
|
||||
addDataService(dataService: DataService): void;
|
||||
addEntityType(structuralType: IStructuralType): void;
|
||||
exportMetadata(): string;
|
||||
fetchMetadata(dataService: string, callback?: (data) => void , errorCallback?: breezeCore.ErrorCallback): Promise;
|
||||
fetchMetadata(dataService: DataService, callback?: (data) => void , errorCallback?: breezeCore.ErrorCallback): Promise;
|
||||
getDataService(serviceName: string): DataService;
|
||||
getEntityType(entityTypeName: string, okIfNotFound?: boolean): IStructuralType;
|
||||
getEntityTypes(): IStructuralType[];
|
||||
hasMetadataFor(serviceName: string): boolean;
|
||||
static importMetadata(exportedString: string): MetadataStore;
|
||||
importMetadata(exportedString: string): MetadataStore;
|
||||
isEmpty(): boolean;
|
||||
registerEntityTypeCtor(entityTypeName: string, entityCtor: Function, initializationFn?: (entity: Entity) =>void ): void;
|
||||
trackUnmappedType(entityCtor: Function, interceptor?: Function);
|
||||
setEntityTypeForResourceName(resourceName: string, entityTypeOrName: string): void;
|
||||
}
|
||||
|
||||
interface MetadataStoreOptions {
|
||||
namingConvention?: NamingConvention;
|
||||
localQueryComparisonOptions?: LocalQueryComparisonOptions;
|
||||
}
|
||||
|
||||
class NamingConvention {
|
||||
static camelCase: NamingConvention;
|
||||
static defaultInstance: NamingConvention;
|
||||
static none: NamingConvention;
|
||||
name: string;
|
||||
|
||||
constructor (config: NamingConventionOptions);
|
||||
|
||||
clientPropertyNameToServer(clientPropertyName: string): string;
|
||||
clientPropertyNameToServer(clientPropertyName: string, property: IProperty): string;
|
||||
|
||||
serverPropertyNameToClient(serverPropertyName: string): string;
|
||||
serverPropertyNameToClient(serverPropertyName: string, property: IProperty): string;
|
||||
|
||||
setAsDefault();
|
||||
}
|
||||
|
||||
interface NamingConventionOptions {
|
||||
serverPropertyNameToClient?: (name: string) => string;
|
||||
clientPropertyNameToServer?: (name: string) => string;
|
||||
}
|
||||
|
||||
class NavigationProperty implements IProperty {
|
||||
associationName: string;
|
||||
entityType: EntityType;
|
||||
foreignKeyNames: string[];
|
||||
inverse: NavigationProperty;
|
||||
isDataProperty: boolean;
|
||||
isNavigationProperty: boolean;
|
||||
isScalar: boolean;
|
||||
name: string;
|
||||
parentEntityType: EntityType;
|
||||
relatedDataProperties: DataProperty[];
|
||||
validators: Validator[];
|
||||
|
||||
constructor (config: NavigationPropertyOptions);
|
||||
}
|
||||
|
||||
interface NavigationPropertyOptions {
|
||||
name?: string;
|
||||
nameOnServer?: string;
|
||||
entityTypeName: string;
|
||||
isScalar?: boolean;
|
||||
associationName?: string;
|
||||
foreignKeyNames?: string[];
|
||||
foreignKeyNamesOnServer?: string[];
|
||||
validators?: Validator[];
|
||||
}
|
||||
|
||||
class Predicate {
|
||||
constructor (property: string, operator: string, value: any, valueIsLiteral?: boolean);
|
||||
constructor (property: string, operator: FilterQueryOpSymbol, value: any, valueIsLiteral?: boolean);
|
||||
|
||||
and: PredicateMethod;
|
||||
static and: PredicateMethod;
|
||||
|
||||
static create: PredicateMethod;
|
||||
|
||||
static isPredicate(o: any): boolean;
|
||||
|
||||
static not(predicate: Predicate): Predicate;
|
||||
not(): Predicate;
|
||||
|
||||
static or: PredicateMethod;
|
||||
or: PredicateMethod;
|
||||
|
||||
toFunction(): Function;
|
||||
toString(): string;
|
||||
validate(entityType: EntityType): void;
|
||||
}
|
||||
|
||||
interface PredicateMethod {
|
||||
(predicates: Predicate[]): Predicate;
|
||||
(...predicates: Predicate[]): Predicate;
|
||||
(property: string, operator: string, value: any, valueIsLiteral?: boolean): Predicate;
|
||||
(property: string, operator: FilterQueryOpSymbol, value: any, valueIsLiteral?: boolean): Predicate;
|
||||
}
|
||||
|
||||
class Promise {
|
||||
fail(errorCallback: Function): Promise;
|
||||
fin(finallyCallback: Function): Promise;
|
||||
then(callback: Function): Promise;
|
||||
}
|
||||
|
||||
class QueryOptions {
|
||||
static defaultInstance: QueryOptions;
|
||||
fetchStrategy: FetchStrategySymbol;
|
||||
mergeStrategy: MergeStrategySymbol;
|
||||
|
||||
constructor (config?: QueryOptionsConfiguration);
|
||||
|
||||
setAsDefault(): void;
|
||||
using(config: QueryOptionsConfiguration): QueryOptions;
|
||||
using(config: MergeStrategySymbol): QueryOptions;
|
||||
using(config: FetchStrategySymbol): QueryOptions;
|
||||
}
|
||||
|
||||
interface QueryOptionsConfiguration {
|
||||
fetchStrategy?: FetchStrategySymbol;
|
||||
mergeStrategy?: MergeStrategySymbol;
|
||||
}
|
||||
|
||||
class SaveOptions {
|
||||
allowConcurrentSaves: boolean;
|
||||
static defaultInstance: SaveOptions;
|
||||
|
||||
constructor (config?: { allowConcurrentSaves?: boolean; });
|
||||
|
||||
setAsDefault(): SaveOptions;
|
||||
}
|
||||
|
||||
class ValidationError {
|
||||
context: any;
|
||||
errorMessage: string;
|
||||
property: IProperty;
|
||||
propertyName: string;
|
||||
validator: Validator;
|
||||
|
||||
constructor (validator: Validator, context: any, errorMessage: string);
|
||||
}
|
||||
|
||||
class ValidationOptions {
|
||||
static defaultInstance: ValidationOptions;
|
||||
validateOnAttach: boolean;
|
||||
validateOnPropertyChange: boolean;
|
||||
validateOnQuery: boolean;
|
||||
validateOnSave: boolean;
|
||||
|
||||
constructor (config?: ValidationOptionsConfiguration);
|
||||
|
||||
setAsDefault(): ValidationOptions;
|
||||
using(config: ValidationOptionsConfiguration): ValidationOptions;
|
||||
}
|
||||
|
||||
interface ValidationOptionsConfiguration {
|
||||
validateOnAttach?: boolean;
|
||||
validateOnSave?: boolean;
|
||||
validateOnQuery?: boolean;
|
||||
validateOnPropertyChange?: boolean;
|
||||
}
|
||||
|
||||
class Validator {
|
||||
static messageTemplates: any;
|
||||
|
||||
constructor (name: string, validatorFn: ValidatorFunction, context?: any);
|
||||
|
||||
static bool(): Validator;
|
||||
static byte(): Validator;
|
||||
static date(): Validator;
|
||||
static duration(): Validator;
|
||||
getMessage(): string;
|
||||
static guid(): Validator;
|
||||
static int16(): Validator;
|
||||
static int32(): Validator;
|
||||
static int64(): Validator;
|
||||
static maxLength(context: { maxLength: number; }): Validator;
|
||||
static number(): Validator;
|
||||
static required(): Validator;
|
||||
static string(): Validator;
|
||||
static stringLength(context: { maxLength: number; minLength: number; }): Validator;
|
||||
validate(value: any, context?: any): ValidationError;
|
||||
}
|
||||
|
||||
interface ValidatorFunction {
|
||||
(value: any, context: ValidatorFunctionContext): void;
|
||||
}
|
||||
|
||||
interface ValidatorFunctionContext {
|
||||
value: any;
|
||||
validatorName: string;
|
||||
displayName: string;
|
||||
messageTemplate: string;
|
||||
message?: string;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
+17
-22
@@ -71,7 +71,7 @@ declare module breeze.core {
|
||||
|
||||
export function requireLib(libnames: string, errMessage: string): Object;
|
||||
export function using(obj: Object, property: string, tempValue: any, fn: () => any): any;
|
||||
export function memoize(fn:(...any) => any): any;
|
||||
export function memoize(fn:Function): any;
|
||||
export function getUuid(): string;
|
||||
export function durationToSeconds(duration: string): number;
|
||||
|
||||
@@ -416,10 +416,10 @@ declare module breeze {
|
||||
hasChanges(entityType: EntityType): boolean;
|
||||
hasChanges(entityTypes: EntityType[]): boolean;
|
||||
|
||||
static importEntities(exportedString: string, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
static importEntities(exportedData: Object, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
importEntities(exportedString: string, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
importEntities(exportedData: Object, config?: { mergeStrategy?: MergeStrategySymbol; }): EntityManager;
|
||||
static importEntities(exportedString: string, config?: { mergeStrategy?: StrategySymbol; }): EntityManager;
|
||||
static importEntities(exportedData: Object, config?: { mergeStrategy?: StrategySymbol; }): EntityManager;
|
||||
importEntities(exportedString: string, config?: { mergeStrategy?: StrategySymbol; }): EntityManager;
|
||||
importEntities(exportedData: Object, config?: { mergeStrategy?: StrategySymbol; }): EntityManager;
|
||||
|
||||
rejectChanges(): Entity[];
|
||||
saveChanges(entities?: Entity[], saveOptions?: SaveOptions, callback?: SaveChangesSuccessCallback, errorCallback?: SaveChangesErrorCallback): Q.Promise<SaveResult>;
|
||||
@@ -520,8 +520,7 @@ declare module breeze {
|
||||
using(obj: DataService): EntityQuery;
|
||||
using(obj: JsonResultsAdapter): EntityQuery;
|
||||
using(obj: QueryOptions): EntityQuery;
|
||||
using(obj: MergeStrategySymbol): EntityQuery;
|
||||
using(obj: FetchStrategySymbol): EntityQuery;
|
||||
using(obj: StrategySymbol): EntityQuery;
|
||||
|
||||
where(predicate: Predicate): EntityQuery;
|
||||
where(property: string, operator: string, value: any): EntityQuery;
|
||||
@@ -599,13 +598,10 @@ declare module breeze {
|
||||
interface EntityTypeProperties {
|
||||
autoGeneratedKeyType?: AutoGeneratedKeyType;
|
||||
defaultResourceName?: string;
|
||||
}
|
||||
|
||||
class FetchStrategySymbol extends breeze.core.EnumSymbol {
|
||||
}
|
||||
}
|
||||
interface FetchStrategy extends breeze.core.IEnum {
|
||||
FromLocalCache: FetchStrategySymbol;
|
||||
FromServer: FetchStrategySymbol;
|
||||
FromLocalCache: StrategySymbol;
|
||||
FromServer: StrategySymbol;
|
||||
}
|
||||
var FetchStrategy: FetchStrategy;
|
||||
|
||||
@@ -634,11 +630,11 @@ declare module breeze {
|
||||
setAsDefault(): void;
|
||||
}
|
||||
|
||||
class MergeStrategySymbol extends breeze.core.EnumSymbol {
|
||||
class StrategySymbol extends breeze.core.EnumSymbol {
|
||||
}
|
||||
interface MergeStrategy extends breeze.core.IEnum {
|
||||
OverwriteChanges: MergeStrategySymbol;
|
||||
PreserveChanges: MergeStrategySymbol;
|
||||
OverwriteChanges: StrategySymbol;
|
||||
PreserveChanges: StrategySymbol;
|
||||
}
|
||||
var MergeStrategy: MergeStrategy;
|
||||
|
||||
@@ -749,20 +745,19 @@ declare module breeze {
|
||||
|
||||
class QueryOptions {
|
||||
static defaultInstance: QueryOptions;
|
||||
fetchStrategy: FetchStrategySymbol;
|
||||
mergeStrategy: MergeStrategySymbol;
|
||||
fetchStrategy: StrategySymbol;
|
||||
mergeStrategy: StrategySymbol;
|
||||
|
||||
constructor (config?: QueryOptionsConfiguration);
|
||||
|
||||
setAsDefault(): void;
|
||||
using(config: QueryOptionsConfiguration): QueryOptions;
|
||||
using(config: MergeStrategySymbol): QueryOptions;
|
||||
using(config: FetchStrategySymbol): QueryOptions;
|
||||
using(config: StrategySymbol): QueryOptions;
|
||||
}
|
||||
|
||||
interface QueryOptionsConfiguration {
|
||||
fetchStrategy?: FetchStrategySymbol;
|
||||
mergeStrategy?: MergeStrategySymbol;
|
||||
fetchStrategy?: StrategySymbol;
|
||||
mergeStrategy?: StrategySymbol;
|
||||
}
|
||||
|
||||
interface QueryResult {
|
||||
|
||||
Vendored
+17
-17
@@ -6,28 +6,28 @@
|
||||
/// <reference path="../node/node.d.ts" />
|
||||
|
||||
declare module "browser-harness" {
|
||||
import events = require("events");
|
||||
import nodeEvents = require("events");
|
||||
|
||||
interface HarnessEvents extends events.NodeEventEmitter {
|
||||
once(event: string, listener: (driver: Driver) => void): events.NodeEventEmitter;
|
||||
once(event: 'ready', listener: (driver: Driver) => void): events.NodeEventEmitter;
|
||||
interface HarnessEvents extends nodeEvents.NodeEventEmitter {
|
||||
once(event: string, listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
|
||||
once(event: 'ready', listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
|
||||
|
||||
on(event: string, listener: (driver: Driver) => void): events.NodeEventEmitter;
|
||||
on(event: 'ready', listener: (driver: Driver) => void): events.NodeEventEmitter;
|
||||
on(event: string, listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
|
||||
on(event: 'ready', listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
|
||||
}
|
||||
|
||||
interface DriverEvents extends events.NodeEventEmitter {
|
||||
once(event: string, listener: (text: string) => void): events.NodeEventEmitter;
|
||||
once(event: 'console.log', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
once(event: 'console.warn', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
once(event: 'console.error', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
once(event: 'window.onerror', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
interface DriverEvents extends nodeEvents.NodeEventEmitter {
|
||||
once(event: string, listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
once(event: 'console.log', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
once(event: 'console.warn', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
once(event: 'console.error', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
once(event: 'window.onerror', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
|
||||
on(event: string, listener: (text: string) => void): events.NodeEventEmitter;
|
||||
on(event: 'console.log', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
on(event: 'console.warn', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
on(event: 'console.error', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
on(event: 'window.onerror', listener: (text: string) => void): events.NodeEventEmitter;
|
||||
on(event: string, listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
on(event: 'console.log', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
on(event: 'console.warn', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
on(event: 'console.error', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
on(event: 'window.onerror', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
|
||||
}
|
||||
|
||||
export interface Driver {
|
||||
|
||||
@@ -18,7 +18,7 @@ program
|
||||
program
|
||||
.command('setup [env]')
|
||||
.description('run setup commands for all envs')
|
||||
.action(function (env) {
|
||||
.action(function (env?) {
|
||||
env = env || 'all';
|
||||
console.log('setup for %s env(s)', env);
|
||||
});
|
||||
@@ -27,7 +27,7 @@ program
|
||||
// $ deploy production
|
||||
program
|
||||
.command('*')
|
||||
.action(function (env) {
|
||||
.action(function (env?) {
|
||||
console.log('deploying "%s"', env);
|
||||
});
|
||||
|
||||
|
||||
@@ -4,10 +4,14 @@ import couchbase = require('couchbase');
|
||||
var db = new couchbase.Connection({ bucket: "default" }, function (err) {
|
||||
if (err) throw err;
|
||||
|
||||
db.set('testdoc', { name: 'Frank' }, function (err, result) {
|
||||
if (err) throw err;
|
||||
// TS 0.9.5 bug https://typescript.codeplex.com/workitem/2035, todo: remove cast after fix
|
||||
(<couchbase.Connection>db).set('testdoc', { name: 'Frank' }, function (err, result) {
|
||||
if (err) throw err;
|
||||
|
||||
db.get('testdoc', function (err, result) {
|
||||
var s: string = err.message;
|
||||
|
||||
// TS 0.9.5 bug https://typescript.codeplex.com/workitem/2035, todo: remove cast after fix
|
||||
(<couchbase.Connection>db).get('testdoc', function (err, result) {
|
||||
if (err) throw err;
|
||||
|
||||
console.log(result.value);
|
||||
|
||||
@@ -44,28 +44,30 @@ paymentsByTotal.filterFunction(d => 0 <= d && d < 10 || 20 <= d && d < 30);
|
||||
paymentsByTotal.filterAll(); // selects all payments
|
||||
|
||||
var topPayments = paymentsByTotal.top(4); // the top four payments, by total
|
||||
topPayments[0]; // the biggest payment
|
||||
{var p: Payment = topPayments[0];} // the biggest payment
|
||||
topPayments[1]; // the second-biggest payment
|
||||
|
||||
var allPayments = paymentsByTotal.top(Infinity);
|
||||
|
||||
var bottomPayments = paymentsByTotal.bottom(4); // the bottom four payments, by total
|
||||
bottomPayments[0]; // the smallest payment
|
||||
{var p: Payment = bottomPayments[0];} // the smallest payment
|
||||
bottomPayments[1]; // the second-smallest payment
|
||||
|
||||
var paymentGroupsByTotal = paymentsByTotal.group(total => Math.floor(total / 100));
|
||||
|
||||
paymentGroupsByTotal.size();
|
||||
|
||||
paymentGroupsByTotal.reduce((p, v) => p + 1, (p, v) => p - 1, () => 0);
|
||||
// bug of TS 0.9.5 https://typescript.codeplex.com/discussions/471751
|
||||
//paymentGroupsByTotal.reduce((p, v) => p + 1, (p, v) => p - 1, () => 0);
|
||||
paymentGroupsByTotal.reduce<number>((p, v) => p + 1, (p, v) => p - 1, () => 0);
|
||||
|
||||
paymentGroupsByTotal.reduceCount();
|
||||
|
||||
var paymentsByType = payments.dimension(d => d.type),
|
||||
paymentVolumeByType = paymentsByType.group().reduceSum(d => d.total),
|
||||
topTypes = paymentVolumeByType.top(1);
|
||||
topTypes[0].key; // the top payment type (e.g., "tab")
|
||||
topTypes[0].value; // the payment volume for that type (e.g., 900)
|
||||
{var s: string = topTypes[0].key;} // the top payment type (e.g., "tab")
|
||||
{var n: number = topTypes[0].value;} // the payment volume for that type (e.g., 900)
|
||||
|
||||
interface Group {
|
||||
count: number;
|
||||
@@ -101,7 +103,7 @@ topTotals[0].value; // reduced value for that type (e.g., {count:8, total:920})
|
||||
|
||||
paymentGroupsByTotal.orderNatural();
|
||||
|
||||
var paymentCountByType = paymentsByType.group();
|
||||
var paymentCountByType = paymentsByType.group().reduceCount();
|
||||
topTypes = paymentCountByType.top(1);
|
||||
topTypes[0].key; // the top payment type (e.g., "tab")
|
||||
topTypes[0].value; // the count of payments of that type (e.g., 8)
|
||||
|
||||
Vendored
+2
-2
@@ -102,8 +102,8 @@ declare module CrossFilter {
|
||||
top(k: number): T[];
|
||||
bottom(k: number): T[];
|
||||
dispose(): void;
|
||||
group(): Group<T, TDimension, number>;
|
||||
group<TGroup>(groupValue: (data: T) => TGroup): Group<T, TDimension, TGroup>;
|
||||
group(): Group<T, TDimension, TDimension>;
|
||||
group<TGroup>(groupValue: (data: TDimension) => TGroup): Group<T, TDimension, TGroup>;
|
||||
groupAll(): GroupAll<T>;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+14
-14
@@ -88,8 +88,8 @@ declare module CryptoJS{
|
||||
createEncryptor(key: WordArray, cfg?: C): ICipher<C>
|
||||
createDecryptor(key: WordArray, cfg?: C): ICipher<C>
|
||||
|
||||
create(xformMode: number, key: WordArray, cfg?: C): ICipher<C>
|
||||
init(xformMode: number, key: WordArray, cfg?: C): void
|
||||
create(xformMode?: number, key?: WordArray, cfg?: C): ICipher<C>
|
||||
init(xformMode?: number, key?: WordArray, cfg?: C): void
|
||||
|
||||
process(dataUpdate: WordArray): WordArray
|
||||
process(dataUpdate: string): WordArray
|
||||
@@ -110,7 +110,7 @@ declare module CryptoJS{
|
||||
createEncryptor(key: WordArray, cfg?: C): IStreamCipher<C>
|
||||
createDecryptor(key: WordArray, cfg?: C): IStreamCipher<C>
|
||||
|
||||
create(xformMode: number, key: WordArray, cfg?: C): IStreamCipher<C>
|
||||
create(xformMode?: number, key?: WordArray, cfg?: C): IStreamCipher<C>
|
||||
|
||||
blockSize: number
|
||||
}
|
||||
@@ -119,8 +119,8 @@ declare module CryptoJS{
|
||||
interface BlockCipherMode extends Base{
|
||||
createEncryptor(cipher: Cipher, iv: number[]): mode.IBlockCipherEncryptor
|
||||
createDecryptor(cipher: Cipher, iv: number[]): mode.IBlockCipherDecryptor
|
||||
init(cipher: Cipher, iv: number[]): void
|
||||
create(cipher: Cipher, iv: number[]): BlockCipherMode
|
||||
init(cipher?: Cipher, iv?: number[]): void
|
||||
create(cipher?: Cipher, iv?: number[]): BlockCipherMode
|
||||
}
|
||||
|
||||
//BlockCipher has interface same as IStreamCipher
|
||||
@@ -144,8 +144,8 @@ declare module CryptoJS{
|
||||
}
|
||||
|
||||
interface CipherParams extends Base, CipherParamsData{
|
||||
init(cipherParams: CipherParamsData): void
|
||||
create(cipherParams: CipherParamsData): CipherParams
|
||||
init(cipherParams?: CipherParamsData): void
|
||||
create(cipherParams?: CipherParamsData): CipherParams
|
||||
toString(formatter?: format.IFormatter): string
|
||||
}
|
||||
|
||||
@@ -279,7 +279,7 @@ declare module CryptoJS{
|
||||
createEncryptor(key: lib.WordArray, cfg?: lib.IBlockCipherCfg): IBlockCipherImpl
|
||||
createDecryptor(key: lib.WordArray, cfg?: lib.IBlockCipherCfg): IBlockCipherImpl
|
||||
|
||||
create(xformMode: number, key: lib.WordArray, cfg?: lib.IBlockCipherCfg): IBlockCipherImpl
|
||||
create(xformMode?: number, key?: lib.WordArray, cfg?: lib.IBlockCipherCfg): IBlockCipherImpl
|
||||
}
|
||||
|
||||
interface AES extends IBlockCipherImpl{}
|
||||
@@ -304,10 +304,10 @@ declare module CryptoJS{
|
||||
}
|
||||
|
||||
interface HMAC extends lib.Base{
|
||||
init(hasher: lib.Hasher, key: lib.WordArray): void
|
||||
init(hasher: lib.Hasher, key: string): void
|
||||
create(hasher: lib.Hasher, key: lib.WordArray): HMAC
|
||||
create(hasher: lib.Hasher, key: string): HMAC
|
||||
init(hasher?: lib.Hasher, key?: lib.WordArray): void
|
||||
init(hasher?: lib.Hasher, key?: string): void
|
||||
create(hasher?: lib.Hasher, key?: lib.WordArray): HMAC
|
||||
create(hasher?: lib.Hasher, key?: string): HMAC
|
||||
|
||||
update(messageUpdate: lib.WordArray): HMAC
|
||||
update(messageUpdate: string): HMAC
|
||||
@@ -407,8 +407,8 @@ declare module CryptoJS{
|
||||
high: number
|
||||
low: number
|
||||
|
||||
init(high: number, low: number): void
|
||||
create(high: number, low: number): Word
|
||||
init(high?: number, low?: number): void
|
||||
create(high?: number, low?: number): Word
|
||||
}
|
||||
|
||||
interface WordArray extends lib.Base{
|
||||
|
||||
@@ -63,9 +63,9 @@ YUI.add('algo-aes-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -87,9 +87,9 @@ YUI.add('algo-des-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -15,9 +15,9 @@ YUI.add('pad-iso10126-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -63,9 +63,9 @@ YUI.add('algo-rabbit-legacy-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -67,9 +67,9 @@ YUI.add('algo-rabbit-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -51,9 +51,9 @@ YUI.add('algo-rc4-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -71,9 +71,9 @@ YUI.add('algo-tripledes-test', function (Y) {
|
||||
|
||||
// Replace random method with one that returns a predictable value
|
||||
C.lib.WordArray.random = function (nBytes) {
|
||||
var words = [];
|
||||
var words: number[] = [];
|
||||
for (var i = 0; i < nBytes; i += 4) {
|
||||
words.push([0x11223344]);
|
||||
words.push(0x11223344);
|
||||
}
|
||||
|
||||
return C.lib.WordArray.create(words, nBytes);
|
||||
|
||||
@@ -28,6 +28,6 @@ gantt.init("scheduler_here", start);
|
||||
gantt.load("/data/events");
|
||||
|
||||
//events
|
||||
gantt.attachEvent("onBeforeLightbox", function (id: string) {
|
||||
gantt.attachEvent("onBeforeLightbox", function (id?: string) {
|
||||
gantt.showTask(id);
|
||||
});
|
||||
@@ -28,6 +28,6 @@ scheduler.init("scheduler_here", start);
|
||||
scheduler.load("/data/events");
|
||||
|
||||
//events
|
||||
scheduler.attachEvent("onEmptyClick", function (ev: Event) {
|
||||
scheduler.attachEvent("onEmptyClick", function (ev?: Event) {
|
||||
var date: Date = scheduler.getActionData(ev).date;
|
||||
});
|
||||
Vendored
+3
-2
@@ -140,7 +140,7 @@ declare module createjs {
|
||||
toArray(): number[];
|
||||
|
||||
// implements Array interface start
|
||||
concat<ColorMatrix extends number[]>(...items: ColorMatrix[]): number[];
|
||||
concat<ColorMatrix>(...items: ColorMatrix[]): number[];
|
||||
join(separator?: string): string;
|
||||
pop(): number;
|
||||
push(...items: number[]): number;
|
||||
@@ -162,8 +162,9 @@ declare module createjs {
|
||||
reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue?: number): number;
|
||||
reduce<ColorMatrix>(callbackfn: (previousValue: ColorMatrix, currentValue: number, currentIndex: number, array: number[]) => ColorMatrix, initialValue: ColorMatrix): ColorMatrix;
|
||||
reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue?: number): number;
|
||||
reduceRight<U>(callbackfn: (previousValue: ColorMatrix, currentValue: number, currentIndex: number, array: number[]) => ColorMatrix, initialValue: ColorMatrix): ColorMatrix;
|
||||
reduceRight<ColorMatrix>(callbackfn: (previousValue: ColorMatrix, currentValue: number, currentIndex: number, array: number[]) => ColorMatrix, initialValue: ColorMatrix): ColorMatrix;
|
||||
length: number;
|
||||
[n: number]: number;
|
||||
// implements Array interface end
|
||||
}
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -17,14 +17,14 @@ declare module Expect {
|
||||
*
|
||||
* @param fn callback to match error string against
|
||||
*/
|
||||
throwError(fn?: Function): void;
|
||||
throwError(fn?: (exception: any) => void): void;
|
||||
|
||||
/**
|
||||
* Assert that the function throws.
|
||||
*
|
||||
* @param fn callback to match error string against
|
||||
*/
|
||||
throwException(fn?: Function): void;
|
||||
throwException(fn?: (exception: any) => void): void;
|
||||
|
||||
/**
|
||||
* Assert that the function throws.
|
||||
|
||||
Vendored
-30521
File diff suppressed because it is too large
Load Diff
@@ -8,10 +8,10 @@ function sample1() {
|
||||
|
||||
canvas.on({
|
||||
'object:moving': function (e) {
|
||||
e.target.opacity = 0.5;
|
||||
(<any>e.target).opacity = 0.5;
|
||||
},
|
||||
'object:modified': function (e) {
|
||||
e.target.opacity = 1;
|
||||
(<any>e.target).opacity = 1;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
window.requestAnimationFrame(runAnimation);
|
||||
};
|
||||
|
||||
()=>{
|
||||
(()=>{
|
||||
window.addEventListener('GamepadConnected', (e: GamepadEvent)=>{
|
||||
console.log('Gamepad ' + e.gamepad.index + ' connected!');
|
||||
}, false);
|
||||
@@ -69,4 +69,4 @@
|
||||
|
||||
runAnimation();
|
||||
}
|
||||
}();
|
||||
})();
|
||||
Vendored
+2
-2
@@ -64,6 +64,6 @@ interface GlDatePicker {
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
glDatePicker(options?: GlDatePickerOptions): JQuery;
|
||||
glDatePicker(ret: boolean): GlDatePicker;
|
||||
glDatePicker(ret: boolean): GlDatePicker;
|
||||
glDatePicker(options?: GlDatePickerOptions): JQuery;
|
||||
}
|
||||
@@ -96,9 +96,9 @@ GM_xmlhttpRequest({
|
||||
"Accept": "text/xml" // If not specified, browser defaults will be used.
|
||||
},
|
||||
onload: function(response) {
|
||||
var responseXML = response.responseXML;
|
||||
var responseXML = (<any>response).responseXML;
|
||||
// Inject responseXML into existing Object (only appropriate for XML content).
|
||||
if (!response.responseXML) {
|
||||
if (!responseXML) {
|
||||
responseXML = new DOMParser()
|
||||
.parseFromString(response.responseText, "text/xml");
|
||||
}
|
||||
@@ -205,7 +205,7 @@ var finalUrl: string = syncResult.finalUrl;
|
||||
var readyState: number = syncResult.readyState;
|
||||
var responseHeaders: string = syncResult.responseHeaders;
|
||||
var responseText: string = syncResult.responseText;
|
||||
var status: number = syncResult.status;
|
||||
(function() { var status: number = syncResult.status; })(); // conflict with state defined in lib.d.ts
|
||||
var statusText: string = syncResult.statusText;
|
||||
|
||||
//// Asynchronous
|
||||
|
||||
Vendored
+6
-19
@@ -1,6 +1,6 @@
|
||||
// Type definitions for Grunt 0.4.x
|
||||
// Project: http://gruntjs.com
|
||||
// Definitions by: Jeff May <https://github.com/jeffmay/>
|
||||
// Definitions by: Jeff May <https://github.com/jeffmay/>, Basarat Ali Syed <https://github.com/basarat/>
|
||||
// Definitions: https://github.com/jeffmay/DefinitelyTyped
|
||||
|
||||
/// <reference path="../node/node.d.ts" />
|
||||
@@ -117,27 +117,14 @@ declare module minimatch {
|
||||
declare module grunt {
|
||||
|
||||
module config {
|
||||
|
||||
|
||||
/**
|
||||
* {@link http://gruntjs.com/sample-gruntfile}
|
||||
*/
|
||||
interface IProjectConfig extends IConfigOptionFormat {
|
||||
pkg: string
|
||||
}
|
||||
|
||||
/**
|
||||
* @see IProjectConfig
|
||||
*/
|
||||
interface IConfigOptionFormat {
|
||||
[plugin: string]: IConfigPluginFormat
|
||||
}
|
||||
|
||||
/**
|
||||
* A map of plugin task names to config objects.
|
||||
*/
|
||||
interface IConfigPluginFormat {
|
||||
[task: string]: grunt.task.ITaskOptions
|
||||
}
|
||||
interface IProjectConfig{
|
||||
[plugin: string]: any
|
||||
pkg: any; // unfortunate. It is actually a string
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link http://gruntjs.com/api/grunt.config}
|
||||
|
||||
@@ -10,7 +10,7 @@ var context = {
|
||||
body: 'Me too!'
|
||||
}]
|
||||
};
|
||||
Handlebars.registerHelper('fullName', (person) => {
|
||||
Handlebars.registerHelper('fullName', (person: typeof context.author) => {
|
||||
return person.firstName + ' ' + person.lastName;
|
||||
});
|
||||
|
||||
@@ -28,17 +28,18 @@ 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) => {
|
||||
Handlebars.registerHelper('link_to', (context: typeof post) => {
|
||||
return '<a href="' + context.url + '">' + context.body + '</a>';
|
||||
});
|
||||
|
||||
var context2 = { posts: [{url: '/hello-world', body: 'Hello World!'}] };
|
||||
var post = { url: '/hello-world', body: 'Hello World!' };
|
||||
var context2 = { posts: [post] };
|
||||
var source2 = '<ul>{{#posts}}<li>{{{link_to this}}}</li>{{/posts}}</ul>';
|
||||
|
||||
var template2 = Handlebars.compile(source2);
|
||||
template2(context2);
|
||||
|
||||
Handlebars.registerHelper('link_to', (title, context) => {
|
||||
Handlebars.registerHelper('link_to', (title: string, context: typeof post) => {
|
||||
return '<a href="/posts' + context.url + '">' + title + '!</a>';
|
||||
});
|
||||
|
||||
@@ -48,7 +49,7 @@ var template3 = Handlebars.compile(source3);
|
||||
template3(context3);
|
||||
|
||||
var source4 = '<ul>{{#people}}<li>{{#link}}{{name}}{{/link}}</li>{{/people}}</ul>';
|
||||
Handlebars.registerHelper('link', function(context) {
|
||||
Handlebars.registerHelper('link', function(context: any) {
|
||||
return '<a href="/people/' + this.id + '">' + context.fn(this) + '</a>';
|
||||
});
|
||||
var template4 = Handlebars.compile(source4);
|
||||
@@ -67,13 +68,13 @@ var data3 = { 'people': [
|
||||
]};
|
||||
template5(data3);
|
||||
|
||||
Handlebars.registerHelper('list', (items, fn) => {
|
||||
Handlebars.registerHelper('list', (items: any, fn: (item: any) => string) => {
|
||||
var out = '<ul>';
|
||||
for(var i=0, l=items.length; i<l; i++) {
|
||||
out = out + '<li>' + fn(items[i]) + '</li>';
|
||||
}
|
||||
return out + '</ul>';
|
||||
});
|
||||
Handlebars.registerHelper('fullName', (person) => {
|
||||
Handlebars.registerHelper('fullName', (person: typeof context.author) => {
|
||||
return person.firstName + ' ' + person.lastName;
|
||||
});
|
||||
|
||||
@@ -24,7 +24,6 @@ describe('i18next', function () {
|
||||
dynamicLoad: false,
|
||||
useLocalStorage: false,
|
||||
sendMissing: false,
|
||||
resStore: false,
|
||||
getAsync: true,
|
||||
returnObjectTrees: false,
|
||||
debug: true,
|
||||
|
||||
Vendored
+1
-1
@@ -48,7 +48,7 @@ declare module Ix {
|
||||
|
||||
startWith(...values: T[]): Enumerable<T>;
|
||||
|
||||
scan<TSeed, TAccumulator>(seed: TSeed, accumulate: (acc: TAccumulator, item: T) => TAccumulator): Enumerable<TAccumulator>;
|
||||
scan<TAccumulate>(seed: TAccumulate, accumulate: (acc: TAccumulate, item: T) => TAccumulate): Enumerable<TAccumulate>;
|
||||
scan(accumulate: (acc: T, item: T) => T): Enumerable<T>;
|
||||
|
||||
takeLast(count: number): Enumerable<T>;
|
||||
|
||||
+10
-9
@@ -41,7 +41,8 @@ ax.aggregate("", (acc, i) => acc + i, acc=> acc.length);
|
||||
ax.aggregate("", (acc, i) => acc + i);
|
||||
ax.aggregate((acc, i) => acc + i);
|
||||
|
||||
ax.reduce((acc, i) => acc + i, 100);
|
||||
//ax.reduce((acc, i) => acc + i, 100); // bug: https://typescript.codeplex.com/workitem/1960
|
||||
ax.reduce<number>((acc, i) => acc + i, 100);
|
||||
ax.reduce((acc, i) => acc + i);
|
||||
|
||||
ax.all(item => true);
|
||||
@@ -83,7 +84,7 @@ dx.distinct((d1, d2) => d1 === d2);
|
||||
ax.elementAt(2);
|
||||
ax.elementAtOrDefault(2);
|
||||
|
||||
//ax.except(bx, ec_ns); // bug https://typescript.codeplex.com/workitem/1841
|
||||
ax.except(bx, ec_ns);
|
||||
bx.except(fx);
|
||||
|
||||
ax.first();
|
||||
@@ -96,14 +97,14 @@ ax.singleOrDefault();
|
||||
ax.forEach(a => console.log(a));
|
||||
ax.forEach(a => console.log(a), cx);
|
||||
|
||||
//bx.groupBy(b => b.length); // spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
bx.groupBy(b => b.length);
|
||||
bx.groupBy(b => b.length, b => "[" + b + "]");
|
||||
bx.groupBy(b => b.length, b => "[" + b + "]", (l, values) => l + values.count());
|
||||
bx.groupBy(b => b.length, false, (l, values) => l + values.count());
|
||||
bx.groupBy(b => b.length, b => "[" + b + "]", (l, values) => l + values.count(), ec_nn);
|
||||
bx.groupBy(b => b.length, b => "[" + b + "]", false, (x, y) => x == y);
|
||||
bx.groupBy(b => b.length, false, (l, values) => l + values.count(), ec_nn);
|
||||
//bx.groupBy(b => b.length, false, false, ec_nn); // spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
bx.groupBy(b => b.length, false, false, ec_nn);
|
||||
|
||||
ax.groupJoin(bx, a => a, b => b, (a, b) => [a, b], ec_ns);
|
||||
ax.groupJoin(bx, a => a, b => b.length, (a, b) => [a, b]);
|
||||
@@ -111,7 +112,7 @@ ax.groupJoin(bx, a => a, b => b.length, (a, b) => [a, b]);
|
||||
ax.join(bx, a => a, b => b, (a, b) => [a, b], ec_ns);
|
||||
ax.join(bx, a => a, b => b.length, (a, b) => [a, b]);
|
||||
|
||||
//ax.intersect(bx, ec_ns); // bug https://typescript.codeplex.com/workitem/1841
|
||||
ax.intersect(bx, ec_ns);
|
||||
ax.intersect(cx);
|
||||
ax.union(cx);
|
||||
|
||||
@@ -142,14 +143,14 @@ ax.takeWhile(a => a > 10);
|
||||
ax.toArray();
|
||||
|
||||
bx.toDictionary(b => b.length, b => 10, ec_nn);
|
||||
//bx.toDictionary(b => b.length, false, ec_nn); // spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
bx.toDictionary(b => b.length, false, ec_nn);
|
||||
bx.toDictionary(b => b.length, b => 10);
|
||||
//bx.toDictionary(b => b.length); // spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
bx.toDictionary(b => b.length);
|
||||
|
||||
bx.toLookup(b => b.length, b => 10, ec_nn);
|
||||
//bx.toLookup(b => b.length, false, ec_nn); // spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
bx.toLookup(b => b.length, false, ec_nn);
|
||||
bx.toLookup(b => b.length, b => 10);
|
||||
//bx.toLookup(b => b.length); // spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
bx.toLookup(b => b.length);
|
||||
|
||||
ax.where(a=> a > 10, {});
|
||||
ax.where(a=> a > 10);
|
||||
|
||||
Vendored
+12
-18
@@ -91,9 +91,8 @@ declare module Ix {
|
||||
groupBy<TKey, TElement>(
|
||||
keySelector: (item: T) => TKey,
|
||||
elementSelector: (item: T) => TElement): Grouping<TKey, TElement>;
|
||||
// spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
/*groupBy<TKey>(
|
||||
keySelector: (item: T) => TKey): Grouping<TKey, T>;*/
|
||||
groupBy<TKey>(
|
||||
keySelector: (item: T) => TKey): Grouping<TKey, T>;
|
||||
|
||||
// if need to set comparer without resultSelector
|
||||
groupBy<TKey, TElement>(
|
||||
@@ -108,12 +107,11 @@ declare module Ix {
|
||||
resultSelector: (key: TKey, values: Enumerable<T>) => TResult,
|
||||
comparer?: EqualityComparer<TKey, TKey>): Enumerable<TResult>;
|
||||
// if need to set comparer without elementSelector and resultSelector
|
||||
// spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
/*groupBy<TKey>(
|
||||
groupBy<TKey>(
|
||||
keySelector: (item: T) => TKey,
|
||||
_: boolean,
|
||||
__: boolean,
|
||||
comparer: EqualityComparer<TKey, TKey>): Grouping<TKey, T>;*/
|
||||
comparer: EqualityComparer<TKey, TKey>): Grouping<TKey, T>;
|
||||
|
||||
groupJoin<TInner, TOuterKey, TInnerKey, TResult>(
|
||||
inner: Enumerable<TInner>,
|
||||
@@ -169,29 +167,25 @@ declare module Ix {
|
||||
keySelector: (item: T) => TKey,
|
||||
elementSelector: (item: T) => TValue,
|
||||
comparer?: EqualityComparer<TKey, TKey>): Dictionary<TKey, TValue>;
|
||||
// spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
/*toDictionary<TKey>(
|
||||
keySelector: (item: T) => TKey): Dictionary<TKey, T>;*/
|
||||
toDictionary<TKey>(
|
||||
keySelector: (item: T) => TKey): Dictionary<TKey, T>;
|
||||
// if need to set comparer without elementSelector
|
||||
// spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
/*toDictionary<TKey>(
|
||||
toDictionary<TKey>(
|
||||
keySelector: (item: T) => TKey,
|
||||
_: boolean,
|
||||
comparer: EqualityComparer<TKey, TKey>): Dictionary<TKey, T>;*/
|
||||
comparer: EqualityComparer<TKey, TKey>): Dictionary<TKey, T>;
|
||||
|
||||
toLookup<TKey, TValue>(
|
||||
keySelector: (item: T) => TKey,
|
||||
elementSelector: (item: T) => TValue,
|
||||
comparer?: EqualityComparer<TKey, TKey>): Lookup<TKey, TValue>;
|
||||
// spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
/*toLookup<TKey>(
|
||||
keySelector: (item: T) => TKey): Lookup<TKey, T>;*/
|
||||
toLookup<TKey>(
|
||||
keySelector: (item: T) => TKey): Lookup<TKey, T>;
|
||||
// if need to set comparer without elementSelector
|
||||
// spec 3.5.2, waiting for restriction on generative recursion removal
|
||||
/*toLookup<TKey>(
|
||||
toLookup<TKey>(
|
||||
keySelector: (item: T) => TKey,
|
||||
_: boolean,
|
||||
comparer: EqualityComparer<TKey, TKey>): Lookup<TKey, T>;*/
|
||||
comparer: EqualityComparer<TKey, TKey>): Lookup<TKey, T>;
|
||||
|
||||
where(selector: EnumerablePredicate<T>, thisArg?: any): Enumerable<T>;
|
||||
filter(selector: EnumerablePredicate<T>, thisArg?: any): Enumerable<T>;
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ task('default', function (params) {
|
||||
});
|
||||
|
||||
desc('This task has prerequisites.');
|
||||
task('hasPrereqs', ['foo', 'bar', 'baz'], function (params) {
|
||||
task('hasPrereqs', ['foo', 'bar', 'baz'], function () {
|
||||
console.log('Ran some prereqs first.');
|
||||
});
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -34,7 +34,7 @@ declare module joint {
|
||||
embed(cell: Cell);
|
||||
unembed(cell: Cell);
|
||||
getEmbeddedCells(): Cell[];
|
||||
clone<T>(opt?: any): T; // @todo: return can either be Cell or Cell[].
|
||||
clone(opt?: any): Backbone.Model; // @todo: return can either be Cell or Cell[].
|
||||
attr(attrs: any): Cell;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+5
-5
@@ -57,18 +57,18 @@ interface JQDateRangeSliderOptions extends JQRangeSliderOptions {
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
rangeSlider(options?: JQNumericRangeSliderOptions): JQuery;
|
||||
rangeSlider(method: string): any;
|
||||
rangeSlider(method: string, value: number): JQuery;
|
||||
rangeSlider(method: string, min: number, max: number): JQuery;
|
||||
rangeSlider(options?: JQNumericRangeSliderOptions): JQuery;
|
||||
|
||||
editRangeSlider(options?: JQNumericRangeSliderOptions): JQuery;
|
||||
editRangeSlider(method: string): any;
|
||||
editRangeSlider(method: string, value: number): JQuery;
|
||||
editRangeSlider(method: string, min: number, max: number): JQuery;
|
||||
editRangeSlider(method: string, min: number, max: number): JQuery
|
||||
editRangeSlider(options?: JQNumericRangeSliderOptions): JQuery;
|
||||
|
||||
dateRangeSlider(options?: JQRangeSliderOptions): JQuery;
|
||||
dateRangeSlider(method: string): any;
|
||||
dateRangeSlider(method: string, value: Date): JQuery;
|
||||
dateRangeSlider(method: string, min: Date, max: Date): JQuery;
|
||||
dateRangeSlider(method: string, min: Date, max: Date): JQuery
|
||||
dateRangeSlider(options?: JQRangeSliderOptions): JQuery;
|
||||
}
|
||||
|
||||
@@ -587,7 +587,7 @@ QUnit.module( 'jQuery.fn' );
|
||||
$.elemUrlAttr({ span: 'arbitrary_attr' });
|
||||
var test_elems = 'a form link span'.split(' ');
|
||||
|
||||
function init_url_attr( container, url ) {
|
||||
function init_url_attr( _, url ) {
|
||||
var container = $('<div/>').hide().appendTo('body');
|
||||
$.each( test_elems, function(i,v){
|
||||
$('<' + v + '/>')
|
||||
|
||||
Vendored
+1
-1
@@ -138,7 +138,7 @@ interface GridsterOptions {
|
||||
/**
|
||||
* Return the data you want for each widget in the serialization.
|
||||
**/
|
||||
serialize_params?: <T>($w: JQuery, wgd: GridsterCoords) => T;
|
||||
serialize_params?: ($w: JQuery, wgd: GridsterCoords) => any;
|
||||
|
||||
/**
|
||||
* An object with all options for Collision class you want to overwrite. @see GridsterCollision or docs for more info.
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ declare module JQueryTinyCarousel {
|
||||
/**
|
||||
* Function that executes after every move (default: null)
|
||||
*/
|
||||
callback? : Function;
|
||||
callback? : (element: HTMLElement, index: number) => void;
|
||||
}
|
||||
}
|
||||
interface JQuery {
|
||||
|
||||
@@ -140,14 +140,14 @@ function test_validate() {
|
||||
}
|
||||
});
|
||||
$(".selector").validate({
|
||||
highlight: function (element, errorClass, validClass) {
|
||||
highlight: function (element: HTMLInputElement, errorClass, validClass) {
|
||||
$(element).addClass(errorClass).removeClass(validClass);
|
||||
$(element.form).find("label[for=" + element.id + "]")
|
||||
$((<HTMLInputElement>element).form).find("label[for=" + element.id + "]")
|
||||
.addClass(errorClass);
|
||||
},
|
||||
unhighlight: function (element, errorClass, validClass) {
|
||||
unhighlight: function (element: HTMLInputElement, errorClass, validClass) {
|
||||
$(element).removeClass(errorClass).addClass(validClass);
|
||||
$(element.form).find("label[for=" + element.id + "]")
|
||||
$((<HTMLInputElement>element).form).find("label[for=" + element.id + "]")
|
||||
.removeClass(errorClass);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2372,7 +2372,8 @@ function test_EventIsCallable() {
|
||||
var ev = jQuery.Event('click');
|
||||
}
|
||||
|
||||
$.when($.ajax("/my/page.json")).then((a,b,c) => a.asdf); // is type JQueryPromise<any>
|
||||
$.when<any>($.ajax("/my/page.json")).then(a => a.asdf); // is type JQueryPromise<any>
|
||||
$.when($.ajax("/my/page.json")).then((a?,b?,c?) => a.asdf); // is type JQueryPromise<any>
|
||||
$.when("asdf", "jkl;").done((x,y) => x.length + y.length, (x,y) => x.length + y.length);
|
||||
|
||||
var f1 = $.when("fetch"); // Is type JQueryPromise<string>
|
||||
|
||||
Vendored
+2
-1
@@ -863,7 +863,8 @@ interface JQuery {
|
||||
toggle(showOrHide: boolean): JQuery;
|
||||
|
||||
// Events
|
||||
bind(eventType: string, eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery;
|
||||
bind(eventType: string, eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery;
|
||||
bind(eventType: string, handler: (eventObject: JQueryEventObject) => any): JQuery;
|
||||
bind(eventType: string, eventData: any, preventBubble: boolean): JQuery;
|
||||
bind(eventType: string, preventBubble: boolean): JQuery;
|
||||
bind(...events: any[]): JQuery;
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@
|
||||
// Definitions by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
|
||||
/// <reference path="../knockout/knockout.d.ts"/>
|
||||
/// <reference path="../rx.js/rx.js.d.ts"/>
|
||||
/// <reference path="../rx.js/rx.d.ts"/>
|
||||
|
||||
interface KnockoutSubscribableFunctions<T> {
|
||||
toObservable(event?: string): Rx.IObservable<T>;
|
||||
|
||||
Vendored
-90
@@ -1,90 +0,0 @@
|
||||
// Type definitions for Knockout 2.2 (as an AMD module)
|
||||
// Project: http://knockoutjs.com
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
///<reference path="knockout.d.ts" />
|
||||
|
||||
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): void;
|
||||
export function cleanNode(node: Element): Element;
|
||||
export function renderTemplate(template: Function, viewModel: any, options?: any, target?: any, renderMode?: any): any;
|
||||
export function renderTemplate(template: string, viewModel: any, options?: any, target?: any, renderMode?: any): any;
|
||||
|
||||
//////////////////////////////////
|
||||
//// templateSources.js
|
||||
////////////////////////////////////
|
||||
export var templateSources: KnockoutTemplateSources;
|
||||
////////////////////////////////////
|
||||
//// templateEngine.js
|
||||
////////////////////////////////////
|
||||
export var templateEngine: {
|
||||
prototype: KnockoutTemplateEngine;
|
||||
new (): KnockoutTemplateEngine;
|
||||
};
|
||||
////////////////////////////////////
|
||||
//// templateRewriting.js
|
||||
////////////////////////////////////
|
||||
export var templateRewriting: {
|
||||
ensureTemplateIsRewritten(template: Node, templateEngine: KnockoutTemplateEngine, templateDocument: Document): any;
|
||||
ensureTemplateIsRewritten(template: string, templateEngine: KnockoutTemplateEngine, templateDocument: Document): any;
|
||||
memoizeBindingAttributeSyntax(htmlString: string, templateEngine: KnockoutTemplateEngine): any;
|
||||
applyMemoizedBindingsToNextSibling(bindings: any, nodeName: string): string;
|
||||
};
|
||||
////////////////////////////////////
|
||||
//// nativeTemplateEngine.js
|
||||
////////////////////////////////////
|
||||
export var nativeTemplateEngine: {
|
||||
prototype: KnockoutNativeTemplateEngine;
|
||||
new (): KnockoutNativeTemplateEngine;
|
||||
instance: KnockoutNativeTemplateEngine;
|
||||
};
|
||||
////////////////////////////////////
|
||||
//// jqueryTmplTemplateEngine.js
|
||||
////////////////////////////////////
|
||||
export var jqueryTmplTemplateEngine: {
|
||||
prototype: KnockoutTemplateEngine;
|
||||
renderTemplateSource(templateSource: Object, bindingContext: KnockoutBindingContext, options: Object): Node[];
|
||||
createJavaScriptEvaluatorBlock(script: string): string;
|
||||
addTemplate(templateName: string, templateMarkup: string): void;
|
||||
};
|
||||
////////////////////////////////////
|
||||
//// templating.js
|
||||
////////////////////////////////////
|
||||
export function renderTemplate(template: Function, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any;
|
||||
export function renderTemplate(template: any, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any;
|
||||
export function renderTemplate(template: Function, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any;
|
||||
export function renderTemplate(template: any, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any;
|
||||
export function renderTemplate(template: Function, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any;
|
||||
export function renderTemplate(template: any, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any;
|
||||
export function renderTemplate(template: Function, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any;
|
||||
export function renderTemplate(template: any, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any;
|
||||
export function renderTemplateForEach(template: Function, arrayOrObservableArray: any[], options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any;
|
||||
export function renderTemplateForEach(template: any, arrayOrObservableArray: any[], options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any;
|
||||
export function renderTemplateForEach(template: Function, arrayOrObservableArray: KnockoutObservable<any[]>, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any;
|
||||
export function renderTemplateForEach(template: any, arrayOrObservableArray: KnockoutObservable <any[]>, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any;
|
||||
export var expressionRewriting: {
|
||||
bindingRewriteValidators: any;
|
||||
};
|
||||
|
||||
///////////////////////////////////
|
||||
export var bindingProvider: any;
|
||||
}
|
||||
@@ -107,7 +107,7 @@ function testGetter() {
|
||||
}
|
||||
|
||||
function test_observableArrays() {
|
||||
var myObservableArray = ko.observableArray();
|
||||
var myObservableArray = ko.observableArray<any>();
|
||||
myObservableArray.push('Some value');
|
||||
var anotherObservableArray = ko.observableArray([
|
||||
{ name: "Bungle", type: "Bear" },
|
||||
|
||||
@@ -258,7 +258,7 @@ moment.lang('en', {
|
||||
});
|
||||
|
||||
moment.lang('en', {
|
||||
months : function (momentToFormat, format) {
|
||||
months : function (momentToFormat: Moment, format: string) {
|
||||
// momentToFormat is the moment currently being formatted
|
||||
// format is the formatting string
|
||||
if (/^MMMM/.test(format)) { // if the format starts with 'MMMM'
|
||||
@@ -277,7 +277,7 @@ moment.lang('en', {
|
||||
});
|
||||
|
||||
moment.lang('en', {
|
||||
monthsShort : function (momentToFormat, format) {
|
||||
monthsShort : function (momentToFormat: Moment, format: string) {
|
||||
if (/^MMMM/.test(format)) {
|
||||
return this.nominative[momentToFormat.month()];
|
||||
} else {
|
||||
@@ -293,7 +293,7 @@ moment.lang('en', {
|
||||
});
|
||||
|
||||
moment.lang('en', {
|
||||
weekdays : function (momentToFormat, format) {
|
||||
weekdays : function (momentToFormat: Moment) {
|
||||
return this.weekdays[momentToFormat.day()];
|
||||
}
|
||||
});
|
||||
@@ -303,7 +303,7 @@ moment.lang('en', {
|
||||
});
|
||||
|
||||
moment.lang('en', {
|
||||
weekdaysShort : function (momentToFormat, format) {
|
||||
weekdaysShort : function (momentToFormat: Moment) {
|
||||
return this.weekdaysShort[momentToFormat.day()];
|
||||
}
|
||||
});
|
||||
@@ -313,7 +313,7 @@ moment.lang('en', {
|
||||
});
|
||||
|
||||
moment.lang('en', {
|
||||
weekdaysMin : function (momentToFormat, format) {
|
||||
weekdaysMin : function (momentToFormat: Moment) {
|
||||
return this.weekdaysMin[momentToFormat.day()];
|
||||
}
|
||||
});
|
||||
|
||||
@@ -26,7 +26,7 @@ import TArray = require('ref-array');
|
||||
{
|
||||
var func = ffi.ForeignFunction(new Buffer(10), 'int', [ 'int' ]);
|
||||
func(-5);
|
||||
func.async(-5, function(err, res) {});
|
||||
func.async(-5, function(err: any, res: any) {});
|
||||
}
|
||||
{
|
||||
var printfPointer = ffi.DynamicLibrary().get('printf');
|
||||
|
||||
Vendored
+6
-6
@@ -17,7 +17,7 @@ declare module "git" {
|
||||
|
||||
git(functionName:any, options:any, ...args:any[]):void; // last element is callback
|
||||
|
||||
call_git(prefix:string, command:any, postfix:string, options:any, args:any, callback:Function):void;
|
||||
call_git(prefix:string, command:any, postfix:string, options:any, args:any, callback: (error: any, result: string) => void):void;
|
||||
|
||||
rev_list(callback:Function):void;
|
||||
|
||||
@@ -46,9 +46,9 @@ declare module "git" {
|
||||
// not implemented!
|
||||
clone(options:any, originalPath:any, targetPath:any, callback:Function):void;
|
||||
|
||||
diff(commit1:any, commit2:any, callback:Function):void;
|
||||
diff(commit1:any, commit2:any, callback: (error: any, patch: string) => void):void;
|
||||
|
||||
diff(commit1:any, commit2:any, options:any, callback:Function):void;
|
||||
diff(commit1: any, commit2: any, options: any, callback: (error: any, patch: string) => void):void;
|
||||
|
||||
fs_exist(path:any, callback:Function):void;
|
||||
|
||||
@@ -488,11 +488,11 @@ declare module "git" {
|
||||
fork_bare(path:any, options:any, callback:Function):void;
|
||||
|
||||
// buggy?
|
||||
diff(a:string, callback:Function):void;
|
||||
diff(a: string, callback: (error: any, patch: string) => void):void;
|
||||
|
||||
diff(a:string, b:string, callback:Function):void;
|
||||
diff(a: string, b: string, callback: (error: any, patch: string) => void):void;
|
||||
|
||||
diff(a:string, b:string, paths:any, callback:Function):void;
|
||||
diff(a: string, b: string, paths: any, callback: (error: any, patch: string) => void):void;
|
||||
|
||||
commit_diff(commit:string, callback:Function):void;
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -333,8 +333,8 @@ declare module 'redis' {
|
||||
retry_delay : number;
|
||||
retry_backoff: number;
|
||||
|
||||
auth(password: string, callback: Function): void;
|
||||
AUTH(password: string, callback: Function): void;
|
||||
auth(password?: string, callback?: Function): void;
|
||||
AUTH(password?: string, callback?: Function): void;
|
||||
|
||||
end(): RedisClient;
|
||||
|
||||
|
||||
+1
-1
@@ -2,6 +2,6 @@
|
||||
"name": "DefinitelyTyped",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"test": "node ./_infrastructure/tests/runner.js --tsc-version 0.9.1.1"
|
||||
"test": "node ./_infrastructure/tests/runner.js --tsc-version 0.9.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
/// <reference path="pdf.d.ts" />
|
||||
|
||||
var pdf: PDFPageProxy;
|
||||
|
||||
//
|
||||
// Fetch the PDF document from the URL using promises
|
||||
//
|
||||
|
||||
Vendored
+1
-1
@@ -27,7 +27,7 @@ interface PDFPromise<T> {
|
||||
isRejected(): boolean;
|
||||
resolve(value: T): void;
|
||||
reject(reason: string): void;
|
||||
then<T>(onResolve: (promise: T) => void, onReject?: (reason: string) => void): PDFPromise<T>;
|
||||
then(onResolve: (promise: T) => void, onReject?: (reason: string) => void): PDFPromise<T>;
|
||||
}
|
||||
|
||||
interface PDFTreeNode {
|
||||
|
||||
@@ -318,7 +318,7 @@ function test_file() {
|
||||
var reader = new FileReader();
|
||||
reader.onloadend = function (evt) {
|
||||
console.log("Read as data URL");
|
||||
console.log(evt.target.result);
|
||||
console.log((<any>evt.target).result);
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
@@ -326,7 +326,7 @@ function test_file() {
|
||||
var reader = new FileReader();
|
||||
reader.onloadend = function (evt) {
|
||||
console.log("Read as text");
|
||||
console.log(evt.target.result);
|
||||
console.log((<any>evt.target).result);
|
||||
};
|
||||
reader.readAsText(file);
|
||||
}
|
||||
|
||||
Vendored
+1
-5
@@ -3,10 +3,6 @@
|
||||
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
interface EventTarget {
|
||||
result: any;
|
||||
}
|
||||
|
||||
interface GeolocationError {
|
||||
code: number;
|
||||
message: string;
|
||||
@@ -54,7 +50,7 @@ interface CameraOptions {
|
||||
mediaType?: number;
|
||||
correctOrientation?: boolean;
|
||||
saveToPhotoAlbum?: boolean;
|
||||
popoverOptions?: number;
|
||||
popoverOptions?: CameraPopoverOptions;
|
||||
}
|
||||
|
||||
interface CameraPictureSourceTypeObject {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
///<reference path="pixi.d.ts"/>
|
||||
///<reference path="webgl.d.ts"/>
|
||||
|
||||
function PixiTests()
|
||||
{
|
||||
|
||||
var stage = new PIXI.Stage(0xFFFFFF, true);
|
||||
|
||||
@@ -1188,3 +1190,5 @@ function update22()
|
||||
|
||||
requestAnimFrame(update);
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -23,7 +23,7 @@ Q.delay(8, 1000).then(x => x.toExponential());
|
||||
Q.delay(Q("asdf"), 1000).then(x => x.length);
|
||||
Q.delay("asdf", 1000).then(x => x.length);
|
||||
|
||||
var eventualAdd = Q.promised((a: number, b: number) => a + b);
|
||||
var eventualAdd = Q.promised((a?: number, b?: number) => a + b);
|
||||
eventualAdd(Q(1), Q(2)).then(x => x.toExponential());
|
||||
|
||||
var eventually = function (eventually) {
|
||||
@@ -90,7 +90,7 @@ Q.all(promiseArray).then(nums => nums.map(num => num.toPrecision(2)).join(','));
|
||||
|
||||
Q.all<number>(myNums).then(nums => nums.map(Math.round));
|
||||
|
||||
Q.fbind((dateString) => new Date(dateString), "11/11/1991")().then(d => d.toLocaleDateString());
|
||||
Q.fbind((dateString?: string) => new Date(dateString), "11/11/1991")().then(d => d.toLocaleDateString());
|
||||
|
||||
Q.when(8, num => num + "!");
|
||||
Q.when(Q(8), num => num + "!").then(str => str.split(','));
|
||||
|
||||
@@ -106,14 +106,14 @@ declare module Q {
|
||||
export function nsend<T>(nodeModule: any, functionName: string, ...args: any[]): Promise<T>;
|
||||
export function nmcall<T>(nodeModule: any, functionName: string, ...args: any[]): Promise<T>;
|
||||
|
||||
export function all<T>(promises: any[]): Promise<T[]>;
|
||||
export function all<T>(promises: IPromise<T>[]): Promise<T[]>;
|
||||
export function all<T>(promises: any[]): Promise<T[]>;
|
||||
|
||||
export function allSettled<T>(promises: any[]): Promise<PromiseState<T>[]>;
|
||||
export function allSettled<T>(promises: IPromise<T>[]): Promise<PromiseState<T>[]>;
|
||||
export function allSettled<T>(promises: any[]): Promise<PromiseState<T>[]>;
|
||||
|
||||
export function allResolved<T>(promises: any[]): Promise<Promise<T>[]>;
|
||||
export function allResolved<T>(promises: IPromise<T>[]): Promise<Promise<T>[]>;
|
||||
export function allResolved<T>(promises: any[]): Promise<Promise<T>[]>;
|
||||
|
||||
export function spread<U>(promises: any[], onFulfilled: (...args: any[]) => IPromise<U>, onRejected: (reason: any) => IPromise<U>): Promise<U>;
|
||||
export function spread<U>(promises: any[], onFulfilled: (...args: any[]) => IPromise<U>, onRejected: (reason: any) => U): Promise<U>;
|
||||
|
||||
@@ -31,7 +31,7 @@ require.config({
|
||||
// load AMD module main.ts (compiled to main.js)
|
||||
// and include shims $, _, Backbone
|
||||
|
||||
require(['main'], (main, $, _, Backbone) => {
|
||||
require(['main'], (main: any, $: any, _: any, Backbone: any) => {
|
||||
|
||||
var app = main.AppMain();
|
||||
app.run();
|
||||
@@ -39,5 +39,5 @@ require(['main'], (main, $, _, Backbone) => {
|
||||
});
|
||||
|
||||
var recOne = require.config({ baseUrl: 'js' });
|
||||
recOne(['core'], function (core) {/*some code*/});
|
||||
recOne(['core'], function (core: any) {/*some code*/});
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ r.connect({host:"localhost", port: 28015}, function(err, conn) {
|
||||
|
||||
users.insert({name: "bob"}).run(conn, function() {})
|
||||
|
||||
users.filter(function(doc) {
|
||||
users.filter(function(doc?) {
|
||||
return doc("henry").eq("bob")
|
||||
})
|
||||
.between("james", "beth")
|
||||
|
||||
@@ -25,7 +25,7 @@ routie("users/bob"); // window.location.hash will be #users/bob
|
||||
|
||||
// Routie also supports regex style routes, so you can do advanced routing like this:
|
||||
|
||||
routie("users/:name", function (name) {
|
||||
routie("users/:name", function (name: string) {
|
||||
// name == "bob";
|
||||
});
|
||||
|
||||
@@ -33,7 +33,7 @@ routie("users/bob");
|
||||
|
||||
// Optional params:
|
||||
|
||||
routie("users/?:name", function (name) {
|
||||
routie("users/?:name", function (name: string) {
|
||||
//name == undefined
|
||||
//then
|
||||
//name == bob
|
||||
|
||||
@@ -8,7 +8,7 @@ $(".royalSlider").royalSlider({
|
||||
keyboardNavEnabled: true
|
||||
});
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
autoScaleSlider: true,
|
||||
@@ -20,7 +20,7 @@ jQuery(document).ready(function ($) {
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
autoScaleSlider: true,
|
||||
@@ -32,7 +32,7 @@ jQuery(document).ready(function ($) {
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
autoScaleSlider: true,
|
||||
@@ -45,7 +45,7 @@ jQuery(document).ready(function ($) {
|
||||
});
|
||||
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
autoScaleSlider: true,
|
||||
@@ -57,7 +57,7 @@ jQuery(document).ready(function ($) {
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
autoScaleSlider: true,
|
||||
@@ -69,7 +69,7 @@ jQuery(document).ready(function ($) {
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
autoScaleSlider: true,
|
||||
@@ -81,7 +81,7 @@ jQuery(document).ready(function ($) {
|
||||
});
|
||||
});
|
||||
|
||||
jQuery(document).ready(function ($) {
|
||||
jQuery(document).ready(function () {
|
||||
$(".royalSlider").royalSlider({
|
||||
// general options go gere
|
||||
keyboardNavEnabled: true,
|
||||
@@ -171,7 +171,7 @@ slider.ev.on('rsAfterSlideChange', function (event) {
|
||||
slider.ev.on('rsBeforeAnimStart', function (event) {
|
||||
// before animation between slides start
|
||||
});
|
||||
slider.ev.on('rsBeforeMove', function (event, type, userAction) {
|
||||
slider.ev.on('rsBeforeMove', function (event: JQueryEventObject, type?: string, userAction?: boolean) {
|
||||
// before any transition start (including after drag release)
|
||||
// "type" - can be "next", "prev", or ID of slide to move
|
||||
// userAction (Boolean) - defines if action is triggered by user (e.g. will be false if movement is triggered by autoPlay)
|
||||
@@ -188,7 +188,7 @@ slider.ev.on('rsDragRelease', function () {
|
||||
slider.ev.on('rsBeforeDestroy', function () {
|
||||
// triggers before slider in destroyed
|
||||
});
|
||||
slider.ev.on('rsOnCreateVideoElement', function (e, url) {
|
||||
slider.ev.on('rsOnCreateVideoElement', function (e: JQueryEventObject, url?: string) {
|
||||
// triggers before video element is created, after click on play button.
|
||||
// Read more in Tips&Tricks section
|
||||
});
|
||||
@@ -214,7 +214,7 @@ slider.slides[2].holder.on('rsAfterContentSet', function () {
|
||||
// fires when third slide content is loaded and added to DOM
|
||||
});
|
||||
// or globally
|
||||
slider.ev.on('rsAfterContentSet', function (e, slideObject) {
|
||||
slider.ev.on('rsAfterContentSet', function (e: JQueryEventObject, slideObject?: RoyalSlider.RoyalSlider) {
|
||||
// fires when every time when slide content is loaded and added to DOM
|
||||
});
|
||||
|
||||
@@ -224,7 +224,7 @@ slider.ev.on('rsAfterContentSet', function (e, slideObject) {
|
||||
slider.ev.on('rsAfterInit', function () {
|
||||
// after slider is initialized,
|
||||
});
|
||||
slider.ev.on('rsBeforeParseNode', function (e, content, obj) {
|
||||
slider.ev.on('rsBeforeParseNode', function (e: JQueryEventObject, content?: any, obj?: any) {
|
||||
// before slide node is parsed
|
||||
// content - HTML object of slide that is parsed
|
||||
// obj - RoyalSlider data object (stores image URLs)
|
||||
|
||||
Vendored
+55
@@ -0,0 +1,55 @@
|
||||
///<reference path="rx.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Aggregates package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Rx {
|
||||
export interface Observable<T> {
|
||||
aggregate(accumulator: (acc: T, value: T) => T): Observable<T>;
|
||||
aggregate<TAcc>(seed: TAcc, accumulator: (acc: TAcc, value: T) => TAcc): Observable<TAcc>;
|
||||
|
||||
reduce(accumulator: (acc: T, value: T) => T): Observable<T>;
|
||||
reduce<TAcc>(accumulator: (acc: TAcc, value: T) => TAcc, seed: TAcc): Observable<TAcc>; // TS0.9.5: won't work https://typescript.codeplex.com/discussions/471751
|
||||
|
||||
any(predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<boolean>;
|
||||
some(predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<boolean>; // alias for any
|
||||
|
||||
isEmpty(): Observable<boolean>;
|
||||
all(predicate?: (value: T) => boolean, thisArg?: any): Observable<boolean>;
|
||||
every(predicate?: (value: T) => boolean, thisArg?: any): Observable<boolean>; // alias for all
|
||||
contains(value: T): Observable<boolean>;
|
||||
contains<TOther>(value: TOther, comparer: (value1: T, value2: TOther) => boolean): Observable<boolean>;
|
||||
count(predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<number>;
|
||||
sum(keySelector?: (value: T, index: number, source: Observable<T>) => number, thisArg?: any): Observable<number>;
|
||||
minBy<TKey>(keySelector: (item: T) => TKey, comparer: (value1: TKey, value2: TKey) => number): Observable<T>;
|
||||
minBy(keySelector: (item: T) => number): Observable<T>;
|
||||
min(comparer?: (value1: T, value2: T) => number): Observable<T>;
|
||||
maxBy<TKey>(keySelector: (item: T) => TKey, comparer: (value1: TKey, value2: TKey) => number): Observable<T>;
|
||||
maxBy(keySelector: (item: T) => number): Observable<T>;
|
||||
max(comparer?: (value1: T, value2: T) => number): Observable<number>;
|
||||
average(keySelector?: (value: T, index: number, source: Observable<T>) => number, thisArg?: any): Observable<number>;
|
||||
|
||||
sequenceEqual<TOther>(second: Observable<TOther>, comparer: (value1: T, value2: TOther) => number): Observable<boolean>;
|
||||
sequenceEqual(second: Observable<T>): Observable<boolean>;
|
||||
sequenceEqual<TOther>(second: TOther[], comparer: (value1: T, value2: TOther) => number): Observable<boolean>;
|
||||
sequenceEqual(second: T[]): Observable<boolean>;
|
||||
|
||||
elementAt(index: number): Observable<T>;
|
||||
elementAtOrDefault(index: number, defaultValue?: T): Observable<T>;
|
||||
|
||||
single(predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
singleOrDefault(predicate?: (value: T, index: number, source: Observable<T>) => boolean, defaultValue?: T, thisArg?: any): Observable<T>;
|
||||
|
||||
first(predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
firstOrDefault(predicate?: (value: T, index: number, source: Observable<T>) => boolean, defaultValue?: T, thisArg?: any): Observable<T>;
|
||||
|
||||
last(predicate?: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
lastOrDefault(predicate?: (value: T, index: number, source: Observable<T>) => boolean, defaultValue?: T, thisArg?: any): Observable<T>;
|
||||
|
||||
find(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
findIndex(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<number>;
|
||||
}
|
||||
}
|
||||
Vendored
+94
@@ -0,0 +1,94 @@
|
||||
///<reference path="rx.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Async package 2.2
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: zoetrope <https://github.com/zoetrope>
|
||||
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Rx {
|
||||
interface ObservableStatic {
|
||||
start<T>(func: () => T, scheduler?: IScheduler, context?: any): Observable<T>;
|
||||
|
||||
toAsync<TResult>(func: () => TResult, scheduler?: IScheduler, context?: any): () => Observable<TResult>;
|
||||
toAsync<T1, TResult>(func: (arg1: T1) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1) => Observable<TResult>;
|
||||
toAsync<T1, TResult>(func: (arg1?: T1) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1) => Observable<TResult>;
|
||||
toAsync<T1, TResult>(func: (...args: T1[]) => TResult, scheduler?: IScheduler, context?: any): (...args: T1[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, TResult>(func: (arg1: T1, arg2: T2) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2) => Observable<TResult>;
|
||||
toAsync<T1, T2, TResult>(func: (arg1: T1, arg2?: T2) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2?: T2) => Observable<TResult>;
|
||||
toAsync<T1, T2, TResult>(func: (arg1?: T1, arg2?: T2) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1, arg2?: T2) => Observable<TResult>;
|
||||
toAsync<T1, T2, TResult>(func: (arg1: T1, ...args: T2[]) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, ...args: T2[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, TResult>(func: (arg1?: T1, ...args: T2[]) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1, ...args: T2[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1: T1, arg2: T2, arg3: T3) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1: T1, arg2: T2, arg3?: T3) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3?: T3) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1: T1, arg2?: T2, arg3?: T3) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2?: T2, arg3?: T3) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1?: T1, arg2?: T2, arg3?: T3) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1, arg2?: T2, arg3?: T3) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1: T1, arg2: T2, ...args: T3[]) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, ...args: T3[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1: T1, arg2?: T2, ...args: T3[]) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2?: T2, ...args: T3[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, TResult>(func: (arg1?: T1, arg2?: T2, ...args: T3[]) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1, arg2?: T2, ...args: T3[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2: T2, arg3: T3, arg4?: T4) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3, arg4?: T4) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2: T2, arg3?: T3, arg4?: T4) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3?: T3, arg4?: T4) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2?: T2, arg3?: T3, arg4?: T4) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2?: T2, arg3?: T3, arg4?: T4) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1?: T1, arg2?: T2, arg3?: T3, arg4?: T4) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1, arg2?: T2, arg3?: T3, arg4?: T4) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2: T2, arg3: T3, ...args: T4[]) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3, ...args: T4[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2: T2, arg3?: T3, ...args: T4[]) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3?: T3, ...args: T4[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => TResult, scheduler?: IScheduler, context?: any): (arg1: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => Observable<TResult>;
|
||||
toAsync<T1, T2, T3, T4, TResult>(func: (arg1?: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => TResult, scheduler?: IScheduler, context?: any): (arg1?: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => Observable<TResult>;
|
||||
|
||||
fromCallback: {
|
||||
// with single result callback without selector
|
||||
<TResult>(func: (callback: (result: TResult) => any) => any, scheduler?: IScheduler, context?: any): () => Observable<TResult>;
|
||||
<T1, TResult>(func: (arg1: T1, callback: (result: TResult) => any) => any, scheduler?: IScheduler, context?: any): (arg1: T1) => Observable<TResult>;
|
||||
<T1, T2, TResult>(func: (arg1: T1, arg2: T2, callback: (result: TResult) => any) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2) => Observable<TResult>;
|
||||
<T1, T2, T3, TResult>(func: (arg1: T1, arg2: T2, arg3: T3, callback: (result: TResult) => any) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3) => Observable<TResult>;
|
||||
// with any callback with selector
|
||||
<TCallbackResult, TResult>(func: (callback: Function) => any, scheduler: IScheduler, context: any, selector: (args: TCallbackResult[]) => TResult): () => Observable<TResult>;
|
||||
<T1, TCallbackResult, TResult>(func: (arg1: T1, callback: Function) => any, scheduler: IScheduler, context: any, selector: (args: TCallbackResult[]) => TResult): (arg1: T1) => Observable<TResult>;
|
||||
<T1, T2, TCallbackResult, TResult>(func: (arg1: T1, arg2: T2, callback: Function) => any, scheduler: IScheduler, context: any, selector: (args: TCallbackResult[]) => TResult): (arg1: T1, arg2: T2) => Observable<TResult>;
|
||||
<T1, T2, T3, TCallbackResult, TResult>(func: (arg1: T1, arg2: T2, arg3: T3, callback: Function) => any, scheduler: IScheduler, context: any, selector: (args: TCallbackResult[]) => TResult): (arg1: T1, arg2: T2, arg3: T3) => Observable<TResult>;
|
||||
// with any callback without selector
|
||||
<TResult>(func: (callback: Function) => any, scheduler?: IScheduler, context?: any): () => Observable<TResult>;
|
||||
<T1, TResult>(func: (arg1: T1, callback: Function) => any, scheduler?: IScheduler, context?: any): (arg1: T1) => Observable<TResult>;
|
||||
<T1, T2, TResult>(func: (arg1: T1, arg2: T2, callback: Function) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2) => Observable<TResult>;
|
||||
<T1, T2, T3, TResult>(func: (arg1: T1, arg2: T2, arg3: T3, callback: Function) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3) => Observable<TResult>;
|
||||
// with any function with selector
|
||||
<TCallbackResult, TResult>(func: Function, scheduler: IScheduler, context: any, selector: (args: TCallbackResult[]) => TResult): (...args: any[]) => Observable<TResult>;
|
||||
// with any function without selector
|
||||
<TResult>(func: Function, scheduler?: IScheduler, context?: any): (...args: any[]) => Observable<TResult>;
|
||||
};
|
||||
|
||||
fromNodeCallback: {
|
||||
// with single result callback without selector
|
||||
<T>(func: (callback: (err: any, result: T) => any) => any, scheduler?: IScheduler, context?: any): () => Observable<T>;
|
||||
<T1, T>(func: (arg1: T1, callback: (err: any, result: T) => any) => any, scheduler?: IScheduler, context?: any): (arg1: T1) => Observable<T>;
|
||||
<T1, T2, T>(func: (arg1: T1, arg2: T2, callback: (err: any, result: T) => any) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2) => Observable<T>;
|
||||
<T1, T2, T3, T>(func: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: T) => any) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3) => Observable<T>;
|
||||
// with any callback with selector
|
||||
<TC, TR>(func: (callback: Function) => any, scheduler: IScheduler, context: any, selector: (results: TC[]) => TR): () => Observable<TR>;
|
||||
<T1, TC, TR>(func: (arg1: T1, callback: Function) => any, scheduler: IScheduler, context: any, selector: (results: TC[]) => TR): (arg1: T1) => Observable<TR>;
|
||||
<T1, T2, TC, TR>(func: (arg1: T1, arg2: T2, callback: Function) => any, scheduler: IScheduler, context: any, selector: (results: TC[]) => TR): (arg1: T1, arg2: T2) => Observable<TR>;
|
||||
<T1, T2, T3, TC, TR>(func: (arg1: T1, arg2: T2, arg3: T3, callback: Function) => any, scheduler: IScheduler, context: any, selector: (results: TC[]) => TR): (arg1: T1, arg2: T2, arg3: T3) => Observable<TR>;
|
||||
// with any callback without selector
|
||||
<TR>(func: (callback: Function) => any, scheduler?: IScheduler, context?: any): () => Observable<TR>;
|
||||
<T1, TR>(func: (arg1: T1, callback: Function) => any, scheduler?: IScheduler, context?: any): (arg1: T1) => Observable<TR>;
|
||||
<T1, T2, TR>(func: (arg1: T1, arg2: T2, callback: Function) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2) => Observable<TR>;
|
||||
<T1, T2, T3, TR>(func: (arg1: T1, arg2: T2, arg3: T3, callback: Function) => any, scheduler?: IScheduler, context?: any): (arg1: T1, arg2: T2, arg3: T3) => Observable<TR>;
|
||||
// with any function with selector
|
||||
<TC, T>(func: Function, scheduler: IScheduler, context: any, selector: (results: TC[]) => T): (...args: any[]) => Observable<T>;
|
||||
// with any function without selector
|
||||
<T>(func: Function, scheduler?: IScheduler, context?: any): (...args: any[]) => Observable<T>;
|
||||
};
|
||||
|
||||
fromEvent<T>(element: NodeList, eventName: string, selector?: (arguments: any[]) => T): Observable<T>;
|
||||
fromEvent<T>(element: Node, eventName: string, selector?: (arguments: any[]) => T): Observable<T>;
|
||||
fromEventPattern<T>(addHandler: (handler: Function) => void, removeHandler: (handler: Function) => void, selector?: (arguments: any[])=>T): Observable<T>;
|
||||
|
||||
fromPromise<T>(promise: Promise<T>): Observable<T>;
|
||||
fromPromise<T>(promise: any): Observable<T>;
|
||||
}
|
||||
|
||||
interface Promise<T> {
|
||||
then(onFulfill: (value: T) => any, onReject?: (reason: any) => any): any;
|
||||
}
|
||||
}
|
||||
Vendored
+49
@@ -0,0 +1,49 @@
|
||||
///<reference path="rx.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Binding package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Rx {
|
||||
export interface BehaviorSubject<T> extends Subject<T> {
|
||||
}
|
||||
|
||||
interface BehaviorSubjectStatic {
|
||||
new <T>(initialValue: T): BehaviorSubject<T>;
|
||||
}
|
||||
|
||||
export var BehaviorSubject: BehaviorSubjectStatic;
|
||||
|
||||
export interface ReplaySubject<T> extends Subject<T> {
|
||||
}
|
||||
|
||||
interface ReplaySubjectStatic {
|
||||
new <T>(bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject<T>;
|
||||
}
|
||||
|
||||
export var ReplaySubject: ReplaySubjectStatic;
|
||||
|
||||
interface ConnectableObservable<T> extends Observable<T> {
|
||||
connect(): IDisposable;
|
||||
refCount(): Observable<T>;
|
||||
}
|
||||
|
||||
interface ConnectableObservableStatic {
|
||||
new <T>(): ConnectableObservable<T>;
|
||||
}
|
||||
|
||||
export var ConnectableObservable: ConnectableObservableStatic;
|
||||
|
||||
export interface Observable<T> {
|
||||
publish(): ConnectableObservable<T>;
|
||||
publish<TResult>(selector: (item: T) => Observable<TResult>): ConnectableObservable<TResult>;
|
||||
publishLast(): ConnectableObservable<T>;
|
||||
publishLast<TResult>(selector: (item: T) => Observable<TResult>): ConnectableObservable<TResult>;
|
||||
publishValue(initialValue: T): ConnectableObservable<T>;
|
||||
publishValue<TResult>(selector: (item: T) => TResult, initialValue: TResult): ConnectableObservable<TResult>;
|
||||
|
||||
replay(selector?: (source: Observable<T>) => ReplaySubject<T>, bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject<T>;
|
||||
}
|
||||
}
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
///<reference path="rx.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Coincidence package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Rx {
|
||||
|
||||
interface Observable<T> {
|
||||
join<TRight, TDurationLeft, TDurationRight, TResult>(
|
||||
right: Observable<TRight>,
|
||||
leftDurationSelector: (leftItem: T) => Observable<TDurationLeft>,
|
||||
rightDurationSelector: (rightItem: TRight) => Observable<TDurationRight>,
|
||||
resultSelector: (leftItem: T, rightItem: TRight) => TResult): Observable<TResult>;
|
||||
|
||||
groupJoin<TRight, TDurationLeft, TDurationRight, TResult>(
|
||||
right: Observable<TRight>,
|
||||
leftDurationSelector: (leftItem: T) => Observable<TDurationLeft>,
|
||||
rightDurationSelector: (rightItem: TRight) => Observable<TDurationRight>,
|
||||
resultSelector: (leftItem: T, rightItem: Observable<TRight>) => TResult): Observable<TResult>;
|
||||
|
||||
window<TWindowOpening>(windowOpenings: Observable<TWindowOpening>): Observable<Observable<T>>;
|
||||
window<TWindowClosing>(windowClosingSelector: () => Observable<TWindowClosing>): Observable<Observable<T>>;
|
||||
window<TWindowOpening, TWindowClosing>(windowOpenings: Observable<TWindowOpening>, windowClosingSelector: () => Observable<TWindowClosing>): Observable<Observable<T>>;
|
||||
|
||||
buffer<TBufferOpening>(bufferOpenings: Observable<TBufferOpening>): Observable<T[]>;
|
||||
buffer<TBufferClosing>(bufferClosingSelector: () => Observable<TBufferClosing>): Observable<T[]>;
|
||||
buffer<TBufferOpening, TBufferClosing>(bufferOpenings: Observable<TBufferOpening>, bufferClosingSelector: () => Observable<TBufferClosing>): Observable<T[]>;
|
||||
}
|
||||
}
|
||||
Vendored
+356
@@ -0,0 +1,356 @@
|
||||
// Type definitions for RxJS
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: gsino <http://www.codeplex.com/site/users/view/gsino>
|
||||
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Rx {
|
||||
export module Internals {
|
||||
function isEqual(left: any, right: any): boolean;
|
||||
function inherits(child: Function, parent: Function): Function;
|
||||
function addProperties(obj: Object, ...sourcces: Object[]): void;
|
||||
function addRef<T>(xs: Observable<T>, r: { getDisposable(): IDisposable; }): Observable<T>;
|
||||
|
||||
// Priority Queue for Scheduling
|
||||
export class PriorityQueue<TTime> {
|
||||
constructor(capacity: number);
|
||||
|
||||
length: number;
|
||||
|
||||
isHigherPriority(left: number, right: number): boolean;
|
||||
percolate(index: number): void;
|
||||
heapify(index: number): void;
|
||||
peek(): ScheduledItem<TTime>;
|
||||
removeAt(index: number): void;
|
||||
dequeue(): ScheduledItem<TTime>;
|
||||
enqueue(item: ScheduledItem<TTime>): void;
|
||||
remove(item: ScheduledItem<TTime>): boolean;
|
||||
|
||||
static count: number;
|
||||
}
|
||||
|
||||
export class ScheduledItem<TTime> {
|
||||
constructor(scheduler: IScheduler, state: any, action: (scheduler: IScheduler, state: any) => IDisposable, dueTime: TTime, comparer?: (x: TTime, y: TTime) => number);
|
||||
|
||||
scheduler: IScheduler;
|
||||
state: TTime;
|
||||
action: (scheduler: IScheduler, state: any) => IDisposable;
|
||||
dueTime: TTime;
|
||||
comparer: (x: TTime, y: TTime) => number;
|
||||
disposable: SingleAssignmentDisposable;
|
||||
|
||||
invoke(): void;
|
||||
compareTo(other: ScheduledItem<TTime>): number;
|
||||
isCancelled(): boolean;
|
||||
invokeCore(): IDisposable;
|
||||
}
|
||||
}
|
||||
|
||||
export interface IDisposable {
|
||||
dispose(): void;
|
||||
}
|
||||
|
||||
export class CompositeDisposable implements IDisposable {
|
||||
constructor (...disposables: IDisposable[]);
|
||||
constructor (disposables: IDisposable[]);
|
||||
|
||||
isDisposed: boolean;
|
||||
length: number;
|
||||
|
||||
dispose(): void;
|
||||
add(item: IDisposable): void;
|
||||
remove(item: IDisposable): boolean;
|
||||
clear(): void;
|
||||
contains(item: IDisposable): boolean;
|
||||
toArray(): IDisposable[];
|
||||
}
|
||||
|
||||
export class Disposable implements IDisposable {
|
||||
constructor(action: () => void);
|
||||
|
||||
static create(action: () => void): IDisposable;
|
||||
static empty: IDisposable;
|
||||
|
||||
dispose(): void;
|
||||
}
|
||||
|
||||
// Single assignment
|
||||
export class SingleAssignmentDisposable implements IDisposable {
|
||||
constructor();
|
||||
|
||||
isDisposed: boolean;
|
||||
current: IDisposable;
|
||||
|
||||
dispose(): void ;
|
||||
getDisposable(): IDisposable;
|
||||
setDisposable(value: IDisposable): void ;
|
||||
}
|
||||
|
||||
// Multiple assignment disposable
|
||||
export class SerialDisposable implements IDisposable {
|
||||
constructor();
|
||||
|
||||
isDisposed: boolean;
|
||||
|
||||
dispose(): void;
|
||||
getDisposable(): IDisposable;
|
||||
setDisposable(value: IDisposable): void;
|
||||
}
|
||||
|
||||
export class RefCountDisposable implements IDisposable {
|
||||
constructor(disposable: IDisposable);
|
||||
|
||||
dispose(): void;
|
||||
|
||||
isDisposed: boolean;
|
||||
getDisposable(): IDisposable;
|
||||
}
|
||||
|
||||
export interface IScheduler {
|
||||
now(): number;
|
||||
catch(handler: (exception: any) => boolean): IScheduler;
|
||||
catchException(handler: (exception: any) => boolean): IScheduler;
|
||||
|
||||
schedule(action: () => void): IDisposable;
|
||||
scheduleWithState<TState>(state: TState, action: (scheduler: IScheduler, state: TState) => IDisposable): IDisposable;
|
||||
scheduleWithAbsolute(dueTime: number, action: () => void): IDisposable;
|
||||
scheduleWithAbsoluteAndState<TState>(state: TState, dueTime: number, action: (scheduler: IScheduler, state: TState) =>IDisposable): IDisposable;
|
||||
scheduleWithRelative(dueTime: number, action: () => void): IDisposable;
|
||||
scheduleWithRelativeAndState<TState>(state: TState, dueTime: number, action: (scheduler: IScheduler, state: TState) =>IDisposable): IDisposable;
|
||||
|
||||
scheduleRecursive(action: (action: () =>void ) =>void ): IDisposable;
|
||||
scheduleRecursiveWithState<TState>(state: TState, action: (state: TState, action: (state: TState) =>void ) =>void ): IDisposable;
|
||||
scheduleRecursiveWithAbsolute(dueTime: number, action: (action: (dueTime: number) => void) => void): IDisposable;
|
||||
scheduleRecursiveWithAbsoluteAndState<TState>(state: TState, dueTime: number, action: (state: TState, action: (state: TState, dueTime: number) => void) => void): IDisposable;
|
||||
scheduleRecursiveWithRelative(dueTime: number, action: (action: (dueTime: number) =>void ) =>void ): IDisposable;
|
||||
scheduleRecursiveWithRelativeAndState<TState>(state: TState, dueTime: number, action: (state: TState, action: (state: TState, dueTime: number) =>void ) =>void ): IDisposable;
|
||||
|
||||
schedulePeriodic(period: number, action: () => void): IDisposable;
|
||||
schedulePeriodicWithState<TState>(state: TState, period: number, action: (state: TState) => TState): IDisposable;
|
||||
}
|
||||
|
||||
export class Scheduler implements IScheduler {
|
||||
constructor(
|
||||
now: () => number,
|
||||
schedule: (state: any, action: (scheduler: IScheduler, state: any) => IDisposable) => IDisposable,
|
||||
scheduleRelative: (state: any, dueTime: number, action: (scheduler: IScheduler, state: any) => IDisposable) => IDisposable,
|
||||
scheduleAbsolute: (state: any, dueTime: number, action: (scheduler: IScheduler, state: any) => IDisposable) => IDisposable);
|
||||
|
||||
static normalize(timeSpan: number): number;
|
||||
|
||||
static immediate: IScheduler;
|
||||
static currentThread: ICurrentThreadScheduler;
|
||||
static timeout: IScheduler;
|
||||
|
||||
now(): number;
|
||||
catch(handler: (exception: any) => boolean): IScheduler;
|
||||
catchException(handler: (exception: any) => boolean): IScheduler;
|
||||
|
||||
schedule(action: () => void): IDisposable;
|
||||
scheduleWithState<TState>(state: TState, action: (scheduler: IScheduler, state: TState) => IDisposable): IDisposable;
|
||||
scheduleWithAbsolute(dueTime: number, action: () => void): IDisposable;
|
||||
scheduleWithAbsoluteAndState<TState>(state: TState, dueTime: number, action: (scheduler: IScheduler, state: TState) => IDisposable): IDisposable;
|
||||
scheduleWithRelative(dueTime: number, action: () => void): IDisposable;
|
||||
scheduleWithRelativeAndState<TState>(state: TState, dueTime: number, action: (scheduler: IScheduler, state: TState) => IDisposable): IDisposable;
|
||||
|
||||
scheduleRecursive(action: (action: () => void) => void): IDisposable;
|
||||
scheduleRecursiveWithState<TState>(state: TState, action: (state: TState, action: (state: TState) => void) => void): IDisposable;
|
||||
scheduleRecursiveWithAbsolute(dueTime: number, action: (action: (dueTime: number) => void) => void): IDisposable;
|
||||
scheduleRecursiveWithAbsoluteAndState<TState>(state: TState, dueTime: number, action: (state: TState, action: (state: TState, dueTime: number) => void) => void): IDisposable;
|
||||
scheduleRecursiveWithRelative(dueTime: number, action: (action: (dueTime: number) => void) => void): IDisposable;
|
||||
scheduleRecursiveWithRelativeAndState<TState>(state: TState, dueTime: number, action: (state: TState, action: (state: TState, dueTime: number) => void) => void): IDisposable;
|
||||
|
||||
schedulePeriodic(period: number, action: () => void): IDisposable;
|
||||
schedulePeriodicWithState<TState>(state: TState, period: number, action: (state: TState) => TState): IDisposable;
|
||||
}
|
||||
|
||||
// Current Thread IScheduler
|
||||
interface ICurrentThreadScheduler extends IScheduler {
|
||||
scheduleRequired(): boolean;
|
||||
ensureTrampoline(action: () =>IDisposable): IDisposable;
|
||||
}
|
||||
|
||||
// Notifications
|
||||
export class Notification<T> {
|
||||
accept(observer: Observer<T>): void;
|
||||
accept<TResult>(onNext: (value: T) => TResult, onError?: (exception: any) => TResult, onCompleted?: () => TResult): TResult;
|
||||
toObservable(scheduler?: IScheduler): Observable<T>;
|
||||
hasValue: boolean;
|
||||
equals(other: Notification<T>): boolean;
|
||||
kind: string;
|
||||
value: T;
|
||||
exception: any;
|
||||
|
||||
static createOnNext<T>(value: T): Notification<T>;
|
||||
static createOnError<T>(exception: any): Notification<T>;
|
||||
static createOnCompleted<T>(): Notification<T>;
|
||||
}
|
||||
|
||||
// Observer
|
||||
export class Observer<T> {
|
||||
onNext(value: T): void;
|
||||
onError(exception: any): void;
|
||||
onCompleted(): void;
|
||||
|
||||
toNotifier(): (notification: Notification<T>) =>void;
|
||||
asObserver(): Observer<T>;
|
||||
checked(): Observer<any>;
|
||||
|
||||
static create<T>(onNext?: (value: T) => void, onError?: (exception: any) => void, onCompleted?: () => void): Observer<T>;
|
||||
static fromNotifier<T>(handler: (notification: Notification<T>) => void): Observer<T>;
|
||||
}
|
||||
|
||||
export interface Observable<T> {
|
||||
subscribe(observer: Observer<T>): IDisposable;
|
||||
subscribe(onNext?: (value: T) => void, onError?: (exception: any) => void, onCompleted?: () => void): IDisposable;
|
||||
|
||||
toArray(): Observable<T[]>;
|
||||
|
||||
observeOn(scheduler: IScheduler): Observable<T>;
|
||||
subscribeOn(scheduler: IScheduler): Observable<T>;
|
||||
|
||||
amb(rightSource: Observable<T>): Observable<T>;
|
||||
catch(handler: (exception: any) => Observable<T>): Observable<T>;
|
||||
catchException(handler: (exception: any) => Observable<T>): Observable<T>; // alias for catch
|
||||
catch(second: Observable<T>): Observable<T>;
|
||||
catchException(second: Observable<T>): Observable<T>; // alias for catch
|
||||
combineLatest<T2, TResult>(second: Observable<T2>, resultSelector: (v1: T, v2: T2) => TResult): Observable<TResult>;
|
||||
combineLatest<T2, T3, TResult>(second: Observable<T2>, third: Observable<T3>, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable<TResult>;
|
||||
combineLatest<T2, T3, T4, TResult>(second: Observable<T2>, third: Observable<T3>, fourth: Observable<T4>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable<TResult>;
|
||||
combineLatest<T2, T3, T4, T5, TResult>(second: Observable<T2>, third: Observable<T3>, fourth: Observable<T4>, fifth: Observable<T5>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): Observable<TResult>;
|
||||
combineLatest<TOther, TResult>(souces: Observable<TOther>[], resultSelector: (firstValue: T, ...otherValues: TOther[]) => TResult): Observable<TResult>;
|
||||
concat(...sources: Observable<T>[]): Observable<T>;
|
||||
concat(sources: Observable<T>[]): Observable<T>;
|
||||
concatAll(): T;
|
||||
concatObservable(): T; // alias for concatAll
|
||||
merge(maxConcurrent: number): Observable<T>;
|
||||
merge(other: Observable<T>): Observable<T>;
|
||||
mergeAll(): T;
|
||||
mergeObservable(): T; // alias for mergeAll
|
||||
onErrorResumeNext(second: Observable<T>): Observable<T>;
|
||||
skipUntil<T2>(other: Observable<T2>): Observable<T>;
|
||||
switchLatest(): T;
|
||||
takeUntil<T2>(other: Observable<T2>): Observable<T>;
|
||||
zip<T2, TResult>(second: Observable<T2>, resultSelector: (v1: T, v2: T2) => TResult): Observable<TResult>;
|
||||
zip<T2, T3, TResult>(second: Observable<T2>, third: Observable<T3>, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable<TResult>;
|
||||
zip<T2, T3, T4, TResult>(second: Observable<T2>, third: Observable<T3>, fourth: Observable<T4>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable<TResult>;
|
||||
zip<T2, T3, T4, T5, TResult>(second: Observable<T2>, third: Observable<T3>, fourth: Observable<T4>, fifth: Observable<T5>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): Observable<TResult>;
|
||||
zip<TOther, TResult>(second: Observable<TOther>[], resultSelector: (left: T, right: Observable<TOther>) => TResult): Observable<TResult>;
|
||||
asObservable(): Observable<T>;
|
||||
bufferWithCount(count: number, skip?: number): Observable<T[]>;
|
||||
dematerialize<TOrigin>(): Observable<TOrigin>;
|
||||
distinctUntilChanged(skipParameter: boolean, comparer: (x: T, y: T) => boolean): Observable<T>;
|
||||
distinctUntilChanged<TValue>(keySelector?: (value: T) => TValue, comparer?: (x: TValue, y: TValue) => boolean): Observable<T>;
|
||||
do(observer: Observer<T>): Observable<T>;
|
||||
doAction(observer: Observer<T>): Observable<T>; // alias for do
|
||||
do(onNext?: (value: T) => void, onError?: (exception: any) => void, onCompleted?: () => void): Observable<T>;
|
||||
doAction(onNext?: (value: T) => void, onError?: (exception: any) => void, onCompleted?: () => void): Observable<T>; // alias for do
|
||||
finally(action: () => void): Observable<T>;
|
||||
finallyAction(action: () => void): Observable<T>; // alias for finally
|
||||
ignoreElements(): Observable<T>;
|
||||
materialize(): Observable<Notification<T>>;
|
||||
repeat(repeatCount?: number): Observable<T>;
|
||||
retry(retryCount?: number): Observable<T>;
|
||||
scan<TAcc>(seed: TAcc, accumulator: (acc: TAcc, value: T) => TAcc): Observable<TAcc>;
|
||||
scan(accumulator: (acc: T, value: T) => T): Observable<T>;
|
||||
skipLast(count: number): Observable<T>;
|
||||
startWith(...values: T[]): Observable<T>;
|
||||
startWith(scheduler: IScheduler, ...values: T[]): Observable<T>;
|
||||
takeLast(count: number, scheduler?: IScheduler): Observable<T>;
|
||||
takeLastBuffer(count: number): Observable<T[]>;
|
||||
windowWithCount(count: number, skip?: number): Observable<Observable<T>>;
|
||||
defaultIfEmpty(defaultValue?: T): Observable<T>;
|
||||
distinct(skipParameter: boolean, valueSerializer: (value: T) => string): Observable<T>;
|
||||
distinct<TKey>(keySelector?: (value: T) => TKey, keySerializer?: (key: TKey) => string): Observable<T>;
|
||||
groupBy<TKey, TElement>(keySelector: (value: T) => TKey, skipElementSelector?: boolean, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, T>>;
|
||||
groupBy<TKey, TElement>(keySelector: (value: T) => TKey, elementSelector: (value: T) => TElement, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, T>>;
|
||||
groupByUntil<TKey, TDuration>(keySelector: (value: T) => TKey, skipElementSelector: boolean, durationSelector: (group: GroupedObservable<TKey, T>) => Observable<TDuration>, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, T>>;
|
||||
groupByUntil<TKey, TElement, TDuration>(keySelector: (value: T) => TKey, elementSelector: (value: T) => TElement, durationSelector: (group: GroupedObservable<TKey, TElement>) => Observable<TDuration>, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, TElement>>;
|
||||
select<TResult>(selector: (value: T, index: number, source: Observable<T>) => TResult, thisArg?: any): Observable<TResult>;
|
||||
map<TResult>(selector: (value: T, index: number, source: Observable<T>) => TResult, thisArg?: any): Observable<TResult>; // alias for select
|
||||
selectMany<TOther, TResult>(selector: (value: T) => Observable<TOther>, resultSelector: (item: T, other: TOther) => TResult): Observable<TResult>;
|
||||
selectMany<TResult>(selector: (value: T) => Observable<TResult>): Observable<TResult>;
|
||||
selectMany<TResult>(other: Observable<TResult>): Observable<TResult>;
|
||||
flatMap<TOther, TResult>(selector: (value: T) => Observable<TOther>, resultSelector: (item: T, other: TOther) => TResult): Observable<TResult>; // alias for selectMany
|
||||
flatMap<TResult>(selector: (value: T) => Observable<TResult>): Observable<TResult>; // alias for selectMany
|
||||
flatMap<TResult>(other: Observable<TResult>): Observable<TResult>; // alias for selectMany
|
||||
skip(count: number): Observable<T>;
|
||||
skipWhile(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
take(count: number, scheduler?: IScheduler): Observable<T>;
|
||||
takeWhile(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
where(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>;
|
||||
filter(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): Observable<T>; // alias for where
|
||||
}
|
||||
|
||||
interface ObservableStatic {
|
||||
create<T>(subscribe: (observer: Observer<T>) => void): Observable<T>;
|
||||
create<T>(subscribe: (observer: Observer<T>) => () => void): Observable<T>;
|
||||
createWithDisposable<T>(subscribe: (observer: Observer<T>) => IDisposable): Observable<T>;
|
||||
defer<T>(observableFactory: () => Observable<T>): Observable<T>;
|
||||
empty<T>(scheduler?: IScheduler): Observable<T>;
|
||||
fromArray<T>(array: T[], scheduler?: IScheduler): Observable<T>;
|
||||
fromArray<T>(array: { length: number;[index: number]: T; }, scheduler?: IScheduler): Observable<T>;
|
||||
generate<TState, TResult>(initialState: TState, condition: (state: TState) => boolean, iterate: (state: TState) => TState, resultSelector: (state: TState) => TResult, scheduler?: IScheduler): Observable<TResult>;
|
||||
never<T>(): Observable<T>;
|
||||
range(start: number, count: number, scheduler?: IScheduler): Observable<number>;
|
||||
repeat<T>(value: T, repeatCount?: number, scheduler?: IScheduler): Observable<T>;
|
||||
return<T>(value: T, scheduler?: IScheduler): Observable<T>;
|
||||
returnValue<T>(value: T, scheduler?: IScheduler): Observable<T>; // alias for return
|
||||
throw<T>(exception: Error, scheduler?: IScheduler): Observable<T>;
|
||||
throw<T>(exception: any, scheduler?: IScheduler): Observable<T>;
|
||||
throwException<T>(exception: Error, scheduler?: IScheduler): Observable<T>; // alias for throw
|
||||
throwException<T>(exception: any, scheduler?: IScheduler): Observable<T>; // alias for throw
|
||||
using<TSource, TResource extends IDisposable>(resourceFactory: () => TResource, observableFactory: (resource: TResource) => Observable<TSource>): Observable<TSource>;
|
||||
amb<T>(...sources: Observable<T>[]): Observable<T>;
|
||||
amb<T>(sources: Observable<T>[]): Observable<T>;
|
||||
catch<T>(sources: Observable<T>[]): Observable<T>;
|
||||
catchException<T>(sources: Observable<T>[]): Observable<T>; // alias for catch
|
||||
catch<T>(...sources: Observable<T>[]): Observable<T>;
|
||||
catchException<T>(...sources: Observable<T>[]): Observable<T>; // alias for catch
|
||||
concat<T>(...sources: Observable<T>[]): Observable<T>;
|
||||
concat<T>(sources: Observable<T>[]): Observable<T>;
|
||||
merge<T>(...sources: Observable<T>[]): Observable<T>;
|
||||
merge<T>(sources: Observable<T>[]): Observable<T>;
|
||||
merge<T>(scheduler: IScheduler, ...sources: Observable<T>[]): Observable<T>;
|
||||
merge<T>(scheduler: IScheduler, sources: Observable<T>[]): Observable<T>;
|
||||
onErrorResumeNext<T>(...sources: Observable<T>[]): Observable<T>;
|
||||
onErrorResumeNext<T>(sources: Observable<T>[]): Observable<T>;
|
||||
zip<T1, T2, TResult>(first: Observable<T1>, sources: Observable<T2>[], resultSelector: (item1: T1, right: Observable<T2>) => TResult): Observable<TResult>;
|
||||
zip<T1, T2, TResult>(source1: Observable<T1>, source2: Observable<T2>, resultSelector: (item1: T1, item2: T2) => TResult): Observable<TResult>;
|
||||
zip<T1, T2, T3, TResult>(source1: Observable<T1>, source2: Observable<T2>, source3: Observable<T3>, resultSelector: (item1: T1, item2: T2, item3: T3) => TResult): Observable<TResult>;
|
||||
zip<T1, T2, T3, T4, TResult>(source1: Observable<T1>, source2: Observable<T2>, source3: Observable<T3>, source4: Observable<T4>, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable<TResult>;
|
||||
zip<T1, T2, T3, T4, T5, TResult>(source1: Observable<T1>, source2: Observable<T2>, source3: Observable<T3>, source4: Observable<T4>, source5: Observable<T5>, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5) => TResult): Observable<TResult>;
|
||||
zipArray<T>(...sources: Observable<T>[]): Observable<T[]>;
|
||||
zipArray<T>(sources: Observable<T>[]): Observable<T[]>;
|
||||
}
|
||||
|
||||
export var Observable: ObservableStatic;
|
||||
|
||||
interface GroupedObservable<TKey, TElement> extends Observable<TElement> {
|
||||
key: TKey;
|
||||
underlyingObservable: Observable<TElement>;
|
||||
}
|
||||
|
||||
interface ISubject<T> extends Observable<T>, Observer<T>, IDisposable {
|
||||
hasObservers(): boolean;
|
||||
}
|
||||
|
||||
export interface Subject<T> extends ISubject<T> {
|
||||
}
|
||||
|
||||
interface SubjectStatic {
|
||||
new <T>(): Subject<T>;
|
||||
create<T>(observer?: Observer<T>, observable?: Observable<T>): ISubject<T>;
|
||||
}
|
||||
|
||||
export var Subject: SubjectStatic;
|
||||
|
||||
export interface AsyncSubject<T> extends Subject<T> {
|
||||
}
|
||||
|
||||
interface AsyncSubjectStatic {
|
||||
new <T>(): AsyncSubject<T>;
|
||||
}
|
||||
|
||||
export var AsyncSubject: AsyncSubjectStatic;
|
||||
}
|
||||
+27
-27
@@ -3,11 +3,11 @@
|
||||
// Definitions by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="rx.js.d.ts"/>
|
||||
/// <reference path="rx.d.ts"/>
|
||||
|
||||
declare module Rx {
|
||||
|
||||
interface IObservable<T> {
|
||||
interface Observable<T> {
|
||||
/**
|
||||
* Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions.
|
||||
* This operator allows for a fluent style of writing queries that use the same sequence multiple times.
|
||||
@@ -15,7 +15,7 @@ declare module Rx {
|
||||
* @param selector Selector function which can use the source sequence as many times as needed, without sharing subscriptions to the source sequence.
|
||||
* @returns An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.
|
||||
*/
|
||||
let<TResult>(selector: (source: IObservable<T>) => IObservable<TResult>): IObservable<TResult>;
|
||||
let<TResult>(selector: (source: Observable<T>) => Observable<TResult>): Observable<TResult>;
|
||||
|
||||
/**
|
||||
* Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions.
|
||||
@@ -24,14 +24,14 @@ declare module Rx {
|
||||
* @param selector Selector function which can use the source sequence as many times as needed, without sharing subscriptions to the source sequence.
|
||||
* @returns An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.
|
||||
*/
|
||||
letBind<TResult>(selector: (source: IObservable<T>) => IObservable<TResult>): IObservable<TResult>;
|
||||
letBind<TResult>(selector: (source: Observable<T>) => Observable<TResult>): Observable<TResult>;
|
||||
|
||||
/**
|
||||
* Repeats source as long as condition holds emulating a do while loop.
|
||||
* @param condition The condition which determines if the source will be repeated.
|
||||
* @returns An observable sequence which is repeated as long as the condition holds.
|
||||
*/
|
||||
doWhile(condition: () => boolean): IObservable<T>;
|
||||
doWhile(condition: () => boolean): Observable<T>;
|
||||
|
||||
/**
|
||||
* Expands an observable sequence by recursively invoking selector.
|
||||
@@ -40,7 +40,7 @@ declare module Rx {
|
||||
* @param [scheduler] Scheduler on which to perform the expansion. If not provided, this defaults to the current thread scheduler.
|
||||
* @returns An observable sequence containing all the elements produced by the recursive expansion.
|
||||
*/
|
||||
expand(selector: (item: T) => IObservable<T>, scheduler?: IScheduler): IObservable<T>;
|
||||
expand(selector: (item: T) => Observable<T>, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Runs two observable sequences in parallel and combines their last elemenets.
|
||||
@@ -49,7 +49,7 @@ declare module Rx {
|
||||
* @param resultSelector Result selector function to invoke with the last elements of both sequences.
|
||||
* @returns An observable sequence with the result of calling the selector function with the last elements of both input sequences.
|
||||
*/
|
||||
forkJoin<TSecond, TResult>(second: IObservable<TSecond>, resultSelector: (left: T, right: TSecond) => TResult): IObservable<TResult>;
|
||||
forkJoin<TSecond, TResult>(second: Observable<TSecond>, resultSelector: (left: T, right: TSecond) => TResult): Observable<TResult>;
|
||||
|
||||
/**
|
||||
* Comonadic bind operator.
|
||||
@@ -57,10 +57,10 @@ declare module Rx {
|
||||
* @param [scheduler] Scheduler used to execute the operation. If not specified, defaults to the ImmediateScheduler.
|
||||
* @returns An observable sequence which results from the comonadic bind operation.
|
||||
*/
|
||||
manySelect<TResult>(selector: (item: IObservable<T>, index: number, source: IObservable<T>) => TResult, scheduler?: IScheduler): IObservable<TResult>;
|
||||
manySelect<TResult>(selector: (item: Observable<T>, index: number, source: Observable<T>) => TResult, scheduler?: IScheduler): Observable<TResult>;
|
||||
}
|
||||
|
||||
interface Observable {
|
||||
interface ObservableStatic {
|
||||
/**
|
||||
* Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers <IE9
|
||||
*
|
||||
@@ -71,7 +71,7 @@ declare module Rx {
|
||||
* @param elseSource The observable sequence that will be run if the condition function returns false.
|
||||
* @returns An observable sequence which is either the thenSource or elseSource.
|
||||
*/
|
||||
if<T>(condition: () => boolean, thenSource: IObservable<T>, elseSource: IObservable<T>): IObservable<T>;
|
||||
if<T>(condition: () => boolean, thenSource: Observable<T>, elseSource: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers <IE9
|
||||
@@ -83,7 +83,7 @@ declare module Rx {
|
||||
* @param scheduler Scheduler used to create Rx.Observabe.Empty.
|
||||
* @returns An observable sequence which is either the thenSource or empty sequence.
|
||||
*/
|
||||
if<T>(condition: () => boolean, thenSource: IObservable<T>, scheduler?: IScheduler): IObservable<T>;
|
||||
if<T>(condition: () => boolean, thenSource: Observable<T>, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers <IE9
|
||||
@@ -95,7 +95,7 @@ declare module Rx {
|
||||
* @param elseSource The observable sequence that will be run if the condition function returns false.
|
||||
* @returns An observable sequence which is either the thenSource or elseSource.
|
||||
*/
|
||||
ifThen<T>(condition: () => boolean, thenSource: IObservable<T>, elseSource: IObservable<T>): IObservable<T>;
|
||||
ifThen<T>(condition: () => boolean, thenSource: Observable<T>, elseSource: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers <IE9
|
||||
@@ -107,7 +107,7 @@ declare module Rx {
|
||||
* @param scheduler Scheduler used to create Rx.Observabe.Empty.
|
||||
* @returns An observable sequence which is either the thenSource or empty sequence.
|
||||
*/
|
||||
ifThen<T>(condition: () => boolean, thenSource: IObservable<T>, scheduler?: IScheduler): IObservable<T>;
|
||||
ifThen<T>(condition: () => boolean, thenSource: Observable<T>, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Concatenates the observable sequences obtained by running the specified result selector for each element in source.
|
||||
@@ -116,7 +116,7 @@ declare module Rx {
|
||||
* @param resultSelector A function to apply to each item in the sources array to turn it into an observable sequence.
|
||||
* @returns An observable sequence from the concatenated observable sequences.
|
||||
*/
|
||||
for<T, TResult>(sources: T[], resultSelector: (item: T) => IObservable<TResult>): IObservable<TResult>;
|
||||
for<T, TResult>(sources: T[], resultSelector: (item: T) => Observable<TResult>): Observable<TResult>;
|
||||
|
||||
/**
|
||||
* Concatenates the observable sequences obtained by running the specified result selector for each element in source.
|
||||
@@ -125,7 +125,7 @@ declare module Rx {
|
||||
* @param resultSelector A function to apply to each item in the sources array to turn it into an observable sequence.
|
||||
* @returns An observable sequence from the concatenated observable sequences.
|
||||
*/
|
||||
forIn<T, TResult>(sources: T[], resultSelector: (item: T) => IObservable<TResult>): IObservable<TResult>;
|
||||
forIn<T, TResult>(sources: T[], resultSelector: (item: T) => Observable<TResult>): Observable<TResult>;
|
||||
|
||||
/**
|
||||
* Repeats source as long as condition holds emulating a while loop.
|
||||
@@ -134,7 +134,7 @@ declare module Rx {
|
||||
* @param source The observable sequence that will be run if the condition function returns true.
|
||||
* @returns An observable sequence which is repeated as long as the condition holds.
|
||||
*/
|
||||
while<T>(condition: () => boolean, source: IObservable<T>): IObservable<T>;
|
||||
while<T>(condition: () => boolean, source: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Repeats source as long as condition holds emulating a while loop.
|
||||
@@ -143,7 +143,7 @@ declare module Rx {
|
||||
* @param source The observable sequence that will be run if the condition function returns true.
|
||||
* @returns An observable sequence which is repeated as long as the condition holds.
|
||||
*/
|
||||
whileDo<T>(condition: () => boolean, source: IObservable<T>): IObservable<T>;
|
||||
whileDo<T>(condition: () => boolean, source: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -157,7 +157,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
case<T>(selector: () => string, sources: { [key: string]: IObservable<T>; }, elseSource: IObservable<T>): IObservable<T>;
|
||||
case<T>(selector: () => string, sources: { [key: string]: Observable<T>; }, elseSource: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -173,7 +173,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
case<T>(selector: () => string, sources: { [key: string]: IObservable<T>; }, scheduler?: IScheduler): IObservable<T>;
|
||||
case<T>(selector: () => string, sources: { [key: string]: Observable<T>; }, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -187,7 +187,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
case<T>(selector: () => number, sources: { [key: number]: IObservable<T>; }, elseSource: IObservable<T>): IObservable<T>;
|
||||
case<T>(selector: () => number, sources: { [key: number]: Observable<T>; }, elseSource: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -203,7 +203,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
case<T>(selector: () => number, sources: { [key: number]: IObservable<T>; }, scheduler?: IScheduler): IObservable<T>;
|
||||
case<T>(selector: () => number, sources: { [key: number]: Observable<T>; }, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -217,7 +217,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
switchCase<T>(selector: () => string, sources: { [key: string]: IObservable<T>; }, elseSource: IObservable<T>): IObservable<T>;
|
||||
switchCase<T>(selector: () => string, sources: { [key: string]: Observable<T>; }, elseSource: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -233,7 +233,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
switchCase<T>(selector: () => string, sources: { [key: string]: IObservable<T>; }, scheduler?: IScheduler): IObservable<T>;
|
||||
switchCase<T>(selector: () => string, sources: { [key: string]: Observable<T>; }, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -247,7 +247,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
switchCase<T>(selector: () => number, sources: { [key: number]: IObservable<T>; }, elseSource: IObservable<T>): IObservable<T>;
|
||||
switchCase<T>(selector: () => number, sources: { [key: number]: Observable<T>; }, elseSource: Observable<T>): Observable<T>;
|
||||
|
||||
/**
|
||||
* Uses selector to determine which source in sources to use.
|
||||
@@ -263,7 +263,7 @@ declare module Rx {
|
||||
*
|
||||
* @returns An observable sequence which is determined by a case statement.
|
||||
*/
|
||||
switchCase<T>(selector: () => number, sources: { [key: number]: IObservable<T>; }, scheduler?: IScheduler): IObservable<T>;
|
||||
switchCase<T>(selector: () => number, sources: { [key: number]: Observable<T>; }, scheduler?: IScheduler): Observable<T>;
|
||||
|
||||
/**
|
||||
* Runs all observable sequences in parallel and collect their last elements.
|
||||
@@ -273,7 +273,7 @@ declare module Rx {
|
||||
* @param sources Array of source sequences.
|
||||
* @returns An observable sequence with an array collecting the last elements of all the input sequences.
|
||||
*/
|
||||
forkJoin<T>(sources: IObservable<T>[]): IObservable<T[]>;
|
||||
forkJoin<T>(sources: Observable<T>[]): Observable<T[]>;
|
||||
|
||||
/**
|
||||
* Runs all observable sequences in parallel and collect their last elements.
|
||||
@@ -283,6 +283,6 @@ declare module Rx {
|
||||
* @param args Source sequences.
|
||||
* @returns An observable sequence with an array collecting the last elements of all the input sequences.
|
||||
*/
|
||||
forkJoin<T>(...args: IObservable<T>[]): IObservable<T[]>;
|
||||
forkJoin<T>(...args: Observable<T>[]): Observable<T[]>;
|
||||
}
|
||||
}
|
||||
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
///<reference path="rx.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Join package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Rx {
|
||||
|
||||
interface Pattern1<T1> {
|
||||
and<T2>(other: Observable<T2>): Pattern2<T1, T2>;
|
||||
then<TR>(selector: (item1: T1) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern2<T1, T2> {
|
||||
and<T3>(other: Observable<T3>): Pattern3<T1, T2, T3>;
|
||||
then<TR>(selector: (item1: T1, item2: T2) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern3<T1, T2, T3> {
|
||||
and<T4>(other: Observable<T4>): Pattern4<T1, T2, T3, T4>;
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern4<T1, T2, T3, T4> {
|
||||
and<T5>(other: Observable<T5>): Pattern5<T1, T2, T3, T4, T5>;
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3, item4: T4) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern5<T1, T2, T3, T4, T5> {
|
||||
and<T6>(other: Observable<T6>): Pattern6<T1, T2, T3, T4, T5, T6>;
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern6<T1, T2, T3, T4, T5, T6> {
|
||||
and<T7>(other: Observable<T7>): Pattern7<T1, T2, T3, T4, T5, T6, T7>;
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern7<T1, T2, T3, T4, T5, T6, T7> {
|
||||
and<T8>(other: Observable<T8>): Pattern8<T1, T2, T3, T4, T5, T6, T7, T8>;
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern8<T1, T2, T3, T4, T5, T6, T7, T8> {
|
||||
and<T9>(other: Observable<T9>): Pattern9<T1, T2, T3, T4, T5, T6, T7, T8, T9>;
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7, item8: T8) => TR): Plan<TR>;
|
||||
}
|
||||
interface Pattern9<T1, T2, T3, T4, T5, T6, T7, T8, T9> {
|
||||
then<TR>(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7, item8: T8, item9: T9) => TR): Plan<TR>;
|
||||
}
|
||||
|
||||
interface Plan<T> { }
|
||||
|
||||
interface Observable<T> {
|
||||
and<T2>(other: Observable<T2>): Pattern2<T, T2>;
|
||||
then<TR>(selector: (item1: T) => TR): Plan<TR>;
|
||||
}
|
||||
|
||||
interface ObservableStatic {
|
||||
when<TR>(plan: Plan<TR>): Observable<TR>;
|
||||
}
|
||||
}
|
||||
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
// Type definitions for bridging RxJS with jQuery.
|
||||
// Project: https://github.com/Reactive-Extensions/RxJS-jQuery/
|
||||
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
///<reference path="../jquery/jquery.d.ts"/>
|
||||
///<reference path="rx.d.ts"/>
|
||||
|
||||
interface JQueryStatic {
|
||||
ajaxAsObservable<T>(settings: JQueryAjaxSettings): Rx.Observable<T>;
|
||||
getAsObservable<T>(url: string, data: any, dataType: string): Rx.Observable<T>;
|
||||
getJSONAsObservable<T>(url: string, data: any): Rx.Observable<T>;
|
||||
getScriptAsObservable<T>(url: string, data: any): Rx.Observable<T>;
|
||||
postAsObservable<T>(url: string, data: any, dataType: string): Rx.Observable<T>;
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
onAsObservable<T extends BaseJQueryEventObject>(events: string, selector?: string, eventData?: any): Rx.Observable<T>;
|
||||
bindAsObservable<T extends BaseJQueryEventObject>(eventType: string, eventData?: any): Rx.Observable<T>;
|
||||
delegateAsObservable<T extends BaseJQueryEventObject>(selector: string, eventType: string, eventData?: any): Rx.Observable<T>;
|
||||
//liveAsObservable<T extends BaseJQueryEventObject>(eventType: string, eventData?: any): Rx.Observable<T>; // removed in jquery 1.9
|
||||
|
||||
changeAsObservable(eventData?: any): Rx.Observable<JQueryInputEventObject>;
|
||||
clickAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
dblclickAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
focusAsObservable(eventData?: any): Rx.Observable<JQueryInputEventObject>;
|
||||
focusinAsObservable(eventData?: any): Rx.Observable<JQueryInputEventObject>;
|
||||
focusoutAsObservable(eventData?: any): Rx.Observable<JQueryInputEventObject>;
|
||||
keydownAsObservable(eventData?: any): Rx.Observable<JQueryKeyEventObject>;
|
||||
keyupAsObservable(eventData?: any): Rx.Observable<JQueryKeyEventObject>;
|
||||
loadAsObservable(eventData?: any): Rx.Observable<BaseJQueryEventObject>;
|
||||
mousedownAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
mouseenterAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
mouseleaveAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
mousemoveAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
mouseoutAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
mouseoverAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
mouseupAsObservable(eventData?: any): Rx.Observable<JQueryMouseEventObject>;
|
||||
resizeAsObservable(eventData?: any): Rx.Observable<BaseJQueryEventObject>;
|
||||
scrollAsObservable(eventData?: any): Rx.Observable<BaseJQueryEventObject>;
|
||||
selectAsObservable(eventData?: any): Rx.Observable<BaseJQueryEventObject>;
|
||||
submitAsObservable(eventData?: any): Rx.Observable<BaseJQueryEventObject>;
|
||||
unloadAsObservable(eventData?: any): Rx.Observable<BaseJQueryEventObject>;
|
||||
hideAsObservable(duration: number): Rx.Observable<BaseJQueryEventObject>;
|
||||
showAsObservable(duration: number): Rx.Observable<BaseJQueryEventObject>;
|
||||
readyAsObservable(): Rx.Observable<any>;
|
||||
animateAsObservable(properties: any, duration: number, easing?: string): Rx.Observable<any>;
|
||||
fadeInAsObservable(duration: number, easing?: string): Rx.Observable<any>;
|
||||
fadeToAsObservable(duration: number, opacity: number, easing?: string): Rx.Observable<any>;
|
||||
fadeOutAsObservable(duration: number, easing?: string): Rx.Observable<any>;
|
||||
fadeToggleAsObservable(duration: number, easing?: string): Rx.Observable<any>;
|
||||
slideDownAsObservable(duration: number): Rx.Observable<any>;
|
||||
slideUpAsObservable(duration: number): Rx.Observable<any>;
|
||||
slideToggleAsObservable(duration: number): Rx.Observable<any>;
|
||||
toggleAsObservable(duration: number): Rx.Observable<any>;
|
||||
}
|
||||
Vendored
-53
@@ -1,53 +0,0 @@
|
||||
///<reference path="rx.js.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Aggregates package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
//
|
||||
// Dependencies:
|
||||
// -> rx.js
|
||||
// -> rx.aggregates.js
|
||||
|
||||
declare module Rx {
|
||||
interface IObservable<T> {
|
||||
aggregate<TAcc>(accumulator: (acc: TAcc, value: T) => TAcc): IObservable<TAcc>;
|
||||
aggregate<TAcc>(seed: TAcc, accumulator: (acc: TAcc, value: T) => TAcc): IObservable<TAcc>;
|
||||
|
||||
any(): IObservable<boolean>;
|
||||
any(selector: (item: T) => boolean): IObservable<boolean>;
|
||||
|
||||
isEmpty(predicate?: (value: T) => boolean): IObservable<boolean>;
|
||||
all(predicate?: (value: T) => boolean): IObservable<boolean>;
|
||||
contains(value: T, comparer?: (value1: T, value2: T) => boolean): IObservable<boolean>;
|
||||
count(predicate?: (item: T) => boolean): IObservable<number>;
|
||||
sum(keySelector?: (item: T) => number): IObservable<number>;
|
||||
minBy(keySelector: (item: T) => number, comparer?: (value1: T, value2: T) => number): IObservable<T>;
|
||||
min(comparer?: (value1: T, value2: T) => number): IObservable<T>;
|
||||
maxBy(keySelector: (item: T) => number, comparer?: (value1: T, value2: T) => number): IObservable<T>;
|
||||
max(comparer?: (value1: T, value2: T) => number): IObservable<number>;
|
||||
average(keySelector?: (item: T) => number): IObservable<number>;
|
||||
|
||||
sequenceEqual(second: IObservable<T>, comparer?: (value1: T, value2: T) => number): IObservable<T>;
|
||||
elementAt(index: number): IObservable<T>;
|
||||
elementAtOrDefault(index: number, defaultValue: T): IObservable<T>;
|
||||
|
||||
single(): IObservable<T>;
|
||||
single(predicate: (T) => boolean): IObservable<T>;
|
||||
singleOrDefault(): IObservable<T>;
|
||||
singleOrDefault(predicate: (T) => boolean): IObservable<T>;
|
||||
singleOrDefault(predicate: (T) => boolean, defaultValue: T): IObservable<T>;
|
||||
|
||||
first(): IObservable<T>;
|
||||
first(predicate: (T) => boolean): IObservable<T>;
|
||||
firstOrDefault(): IObservable<T>;
|
||||
firstOrDefault(predicate: (T) => boolean): IObservable<T>;
|
||||
firstOrDefault(predicate: (T) => boolean, defaultValue: T): IObservable<T>;
|
||||
|
||||
last(): IObservable<T>;
|
||||
last(predicate: (T) => boolean): IObservable<T>;
|
||||
lastOrDefault(): IObservable<T>;
|
||||
lastOrDefault(predicate: (T) => boolean): IObservable<T>;
|
||||
lastOrDefault(predicate: (T) => boolean, defaultValue: T): IObservable<T>;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-22
@@ -1,22 +0,0 @@
|
||||
///<reference path="rx.js.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Async package 2.2
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: zoetrope <https://github.com/zoetrope>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
//
|
||||
// Dependencies:
|
||||
// -> rx.js
|
||||
// -> rx.async.js
|
||||
|
||||
declare module Rx {
|
||||
interface Observable {
|
||||
start<T>(func: () => T, scheduler?: IScheduler, context?: any): IObservable<T>;
|
||||
toAsync<T>(func: Function, scheduler?: IScheduler, context?: any): (...arguments: any[]) => IObservable<T>;
|
||||
fromCallback<T>(func: (...arguments: any[]) => void, scheduler?: IScheduler, context?: any, selector?: (...arguments: T[])=>T): () => IObservable<T>;
|
||||
fromNodeCallback<T>(func: (...arguments: any[]) => void, scheduler?: IScheduler, context?: any, selector?: (...arguments: any[])=>T): (...arguments: any[]) => IObservable<T>;
|
||||
fromEvent<T>(element: any, eventName: string, selector?: (...arguments: any[])=>T): IObservable<T>;
|
||||
fromEventPattern<T>(addHandler: (handler: any)=> void, removeHandler: (handler: any)=> void, selector?: (...arguments: any[])=>T): IObservable<T>;
|
||||
fromPromise<T>(promise: any): IObservable<T>;
|
||||
}
|
||||
}
|
||||
Vendored
-54
@@ -1,54 +0,0 @@
|
||||
///<reference path="rx.js.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Binding package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
//
|
||||
// Dependencies:
|
||||
// -> rx.js
|
||||
// -> rx.binding.js
|
||||
|
||||
declare module Rx {
|
||||
|
||||
interface ReplaySubject<T> extends ISubject<T> {
|
||||
new (bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject<T>;
|
||||
}
|
||||
|
||||
var ReplaySubject: {
|
||||
new <T>(bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject<T>;
|
||||
}
|
||||
|
||||
interface BehaviorSubject<T> extends ISubject<T> {
|
||||
new (initialValue: T): BehaviorSubject<any>;
|
||||
}
|
||||
|
||||
var BehaviorSubject: {
|
||||
new <T>(initialValue: T): BehaviorSubject<T>;
|
||||
}
|
||||
|
||||
interface ConnectableObservable<T> extends IObservable<T>{
|
||||
connect(): _IDisposable;
|
||||
refCount(): IObservable<T>;
|
||||
}
|
||||
|
||||
var ConnectableObservable: {
|
||||
new <T>(): ConnectableObservable<T>;
|
||||
}
|
||||
|
||||
interface IObservable<T> {
|
||||
|
||||
publish(): ConnectableObservable<T>;
|
||||
publish<TResult>(selector: (item: T) => IObservable<TResult>): ConnectableObservable<TResult>;
|
||||
publishLast(): ConnectableObservable<T>;
|
||||
publishLast<TResult>(selector: (item: T) => IObservable<TResult>): ConnectableObservable<TResult>;
|
||||
publishValue(initialValue: T): ConnectableObservable<T>;
|
||||
publishValue<TResult>(selector: (item: T) => TResult, initialValue: TResult): ConnectableObservable<TResult>;
|
||||
|
||||
replay(selector?: (source: IObservable<T>) => ReplaySubject<T>, bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject<T>;
|
||||
}
|
||||
|
||||
|
||||
interface Observable {
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-40
@@ -1,40 +0,0 @@
|
||||
///<reference path="rx.js.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Coincidence package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
//
|
||||
// Dependencies:
|
||||
// -> rx.js
|
||||
// -> rx.coincidence.js
|
||||
|
||||
declare module Rx {
|
||||
|
||||
interface IObservable<T> {
|
||||
join<T2, TDuration, T2Duration, TResult>(
|
||||
right: IObservable<T2>,
|
||||
leftDurationSelector: (leftItem: T) => IObservable<TDuration>,
|
||||
rightDurationSelector: (rightItem: T2) => IObservable<T2Duration>,
|
||||
resultSelector: (leftItem: T, rightItem: T2) => TResult): IObservable<TResult>;
|
||||
|
||||
groupJoin<T2, TDuration, T2Duration, TResult>(
|
||||
right: IObservable<T2>,
|
||||
leftDurationSelector: (leftItem: T) => IObservable<TDuration>,
|
||||
rightDurationSelector: (rightItem: T2) => IObservable<T2Duration>,
|
||||
resultSelector: (leftItem: T, rightItem: IObservable<T2>) => TResult): IObservable<TResult>;
|
||||
|
||||
|
||||
// lack of documentation to complete the followings...
|
||||
|
||||
buffer<TBufferOpening, TBufferClosing>(bufferOpenings: IObservable<TBufferOpening>,
|
||||
bufferClosingSelector: (opening: TBufferOpening) => IObservable<TBufferClosing>): IObservable<T>;
|
||||
|
||||
window<TBufferOpening, TBufferClosing>(bufferOpenings: IObservable<TBufferOpening>,
|
||||
bufferClosingSelector: (opening: TBufferOpening) => IObservable<TBufferClosing>): IObservable<T>;
|
||||
}
|
||||
|
||||
|
||||
interface Observable {
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-433
@@ -1,433 +0,0 @@
|
||||
// Type definitions for RxJS
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: gsino <http://www.codeplex.com/site/users/view/gsino>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
|
||||
declare module Rx {
|
||||
export module Internals {
|
||||
function inherits(child: Function, parent: Function): Function;
|
||||
function addProperties(obj: Object, ...sourcces: Object[]): void;
|
||||
function addRef<T>(xs: IObservable<T>, r: { getDisposable(): _IDisposable; }): IObservable<T>;
|
||||
}
|
||||
|
||||
//Collections
|
||||
interface IIndexedItem {
|
||||
id: number;
|
||||
value: IScheduledItem;
|
||||
|
||||
compareTo(other: IIndexedItem): number;
|
||||
}
|
||||
|
||||
// Priority Queue for Scheduling
|
||||
interface IPriorityQueue {
|
||||
items: IIndexedItem[];
|
||||
length: number;
|
||||
|
||||
isHigherPriority(left: number, right: number): boolean;
|
||||
percolate(index: number): void;
|
||||
heapify(index: number): void;
|
||||
peek(): IIndexedItem;
|
||||
removeAt(index: number): void;
|
||||
dequeue(): IIndexedItem;
|
||||
enqueue(item: IIndexedItem): void;
|
||||
remove(item: IIndexedItem): boolean;
|
||||
}
|
||||
|
||||
interface _IDisposable {
|
||||
dispose(): void;
|
||||
}
|
||||
|
||||
export class CompositeDisposable {
|
||||
constructor (...disposables: _IDisposable[]);
|
||||
|
||||
disposables: _IDisposable[];
|
||||
isDisposed: boolean;
|
||||
length: number;
|
||||
|
||||
dispose(): void;
|
||||
add(item: _IDisposable): void;
|
||||
remove(item: _IDisposable): boolean;
|
||||
clear(): void;
|
||||
contains(item: _IDisposable): boolean;
|
||||
toArray(): _IDisposable[];
|
||||
}
|
||||
|
||||
// Main disposable class
|
||||
interface IDisposable {
|
||||
isDisposed: boolean;
|
||||
action: () =>void;
|
||||
|
||||
dispose(): void;
|
||||
}
|
||||
|
||||
export interface Disposable {
|
||||
new (action: () =>void ): IDisposable;
|
||||
}
|
||||
|
||||
var Disposable: {
|
||||
create(action: () => void): _IDisposable;
|
||||
empty: _IDisposable;
|
||||
}
|
||||
|
||||
// Single assignment
|
||||
interface ISingleAssignmentDisposable {
|
||||
isDisposed: boolean;
|
||||
current: _IDisposable;
|
||||
|
||||
dispose(): void;
|
||||
disposable(value?: _IDisposable): _IDisposable;
|
||||
getDisposable(): _IDisposable;
|
||||
setDisposable(value: _IDisposable): void;
|
||||
}
|
||||
export interface SingleAssignmentDisposable {
|
||||
(): ISingleAssignmentDisposable;
|
||||
}
|
||||
|
||||
// Multiple assignment disposable
|
||||
export class SerialDisposable {
|
||||
isDisposed: boolean;
|
||||
current: _IDisposable;
|
||||
|
||||
dispose(): void;
|
||||
getDisposable(): _IDisposable;
|
||||
setDisposable(value: _IDisposable): void;
|
||||
disposable(value?: _IDisposable): _IDisposable;
|
||||
}
|
||||
|
||||
export class RefCountDisposable {
|
||||
constructor(disposable: _IDisposable);
|
||||
|
||||
underlyingDisposable: _IDisposable;
|
||||
isDisposed: boolean;
|
||||
isPrimaryDisposed: boolean;
|
||||
count: number;
|
||||
|
||||
dispose(): void;
|
||||
getDisposable(): _IDisposable;
|
||||
}
|
||||
|
||||
interface IScheduledItem {
|
||||
scheduler: IScheduler;
|
||||
state: any;
|
||||
action: (scheduler: IScheduler, state) => _IDisposable;
|
||||
dueTime: number;
|
||||
comparer: (x: number, y: number) =>number;
|
||||
disposable: ISingleAssignmentDisposable;
|
||||
|
||||
invoke(): void;
|
||||
compareTo(other: IScheduledItem): number;
|
||||
isCancelled(): boolean;
|
||||
invokeCore(): _IDisposable;
|
||||
}
|
||||
|
||||
interface IScheduler {
|
||||
_schedule: (state: any, action: (scheduler: IScheduler, state: any) =>_IDisposable) => _IDisposable;
|
||||
_scheduleRelative: (state: any, dueTime: number, action: (scheduler: IScheduler, state: any) =>_IDisposable) =>_IDisposable;
|
||||
_scheduleAbsolute: (state: any, dueTime: number, action: (scheduler: IScheduler, state: any) =>_IDisposable) =>_IDisposable;
|
||||
|
||||
now(): number;
|
||||
scheduleWithState(state: any, action: (scheduler: IScheduler, state: any) =>_IDisposable): _IDisposable;
|
||||
scheduleWithAbsoluteAndState(state: any, dueTime: number, action: (scheduler: IScheduler, state: any) =>_IDisposable): _IDisposable;
|
||||
scheduleWithRelativeAndState(state: any, dueTime: number, action: (scheduler: IScheduler, state: any) =>_IDisposable): _IDisposable;
|
||||
|
||||
catchException(handler: (exception: any) =>boolean): ICatchScheduler;
|
||||
schedulePeriodic(period: number, action: () =>void ): _IDisposable;
|
||||
schedulePeriodicWithState(state: any, period: number, action: (state: any) =>any): _IDisposable;//returns {Disposable|SingleAssignmentDisposable}
|
||||
schedule(action: () =>void ): _IDisposable;
|
||||
scheduleWithRelative(dueTime: number, action: () =>void ): _IDisposable;
|
||||
scheduleWithAbsolute(dueTime: number, action: () =>void ): _IDisposable;
|
||||
scheduleRecursive(action: (action: () =>void ) =>void ): _IDisposable;
|
||||
scheduleRecursiveWithState(state: any, action: (state: any, action: (state: any) =>void ) =>void ): _IDisposable;
|
||||
scheduleRecursiveWithRelative(dueTime: number, action: (action: (dueTime: number) =>void ) =>void ): _IDisposable;
|
||||
scheduleRecursiveWithRelativeAndState(state: any, dueTime: number, action: (state: any, action: (state: any, dueTime: number) =>void ) =>void ): _IDisposable;
|
||||
scheduleRecursiveWithAbsolute(dueTime: number, action: (action: (dueTime: number) =>void ) =>void ): _IDisposable;
|
||||
scheduleRecursiveWithAbsoluteAndState(state: any, dueTime: number, action: (state: any, action: (state: any, dueTime: number) =>void ) =>void ): _IDisposable;
|
||||
}
|
||||
|
||||
var Scheduler: {
|
||||
//(now: () =>number,
|
||||
// schedule: (state: any, action: (scheduler: IScheduler, state: any) =>_IDisposable) => _IDisposable,
|
||||
// scheduleRelative: (state: any, dueTime: number, action: (scheduler: IScheduler, state: any) =>_IDisposable) =>_IDisposable,
|
||||
// scheduleAbsolute: (state: any, dueTime: number, action: (scheduler: IScheduler, state: any) =>_IDisposable) =>_IDisposable
|
||||
// ): IScheduler;
|
||||
|
||||
now(): number;
|
||||
normalize(timeSpan: number): number;
|
||||
|
||||
immediate: IScheduler;
|
||||
currentThread: ICurrentScheduler;//IScheduler;
|
||||
timeout: IScheduler;
|
||||
}
|
||||
|
||||
// Current Thread IScheduler
|
||||
interface ICurrentScheduler extends IScheduler {
|
||||
scheduleRequired(): boolean;
|
||||
ensureTrampoline(action: () =>_IDisposable): _IDisposable;
|
||||
}
|
||||
|
||||
|
||||
// CatchScheduler
|
||||
interface ICatchScheduler extends IScheduler { }
|
||||
|
||||
// Notifications
|
||||
interface INotification<T> {
|
||||
accept(observer: IObserver<T>): void;
|
||||
accept(onNext: (value: T) =>void , onError?: (exception: any) =>void , onCompleted?: () =>void ): void;
|
||||
toObservable(scheduler?: IScheduler): IObservable<any>;
|
||||
hasValue: boolean;
|
||||
equals(other: INotification<T>): boolean;
|
||||
kind: string;
|
||||
value?: T;
|
||||
exception?: any;
|
||||
}
|
||||
export interface Notification {
|
||||
//abstract
|
||||
//function new (): INotification;
|
||||
|
||||
createOnNext<T>(value: T): INotification<T>;//ON
|
||||
createOnError<T>(exception): INotification<T>;//OE
|
||||
createOnCompleted<T>(): INotification<T>;//OC
|
||||
}
|
||||
|
||||
var Notification: Notification;
|
||||
|
||||
export module Internals {
|
||||
// Enumerator
|
||||
interface IEnumerator<T> {
|
||||
moveNext(): boolean;
|
||||
getCurrent(): T;
|
||||
dispose(): void;
|
||||
}
|
||||
export interface Enumerator<T> {
|
||||
(moveNext: () =>boolean, getCurrent: () => T, dispose: () =>void ): IEnumerator<T>;
|
||||
|
||||
create(moveNext: () =>boolean, getCurrent: () => T, dispose?: () =>void ): IEnumerator<T>;
|
||||
}
|
||||
|
||||
// Enumerable
|
||||
interface IEnumerable<T> {
|
||||
getEnumerator(): IEnumerator<T>;
|
||||
|
||||
concat(): IObservable<T>;
|
||||
catchException(): IObservable<T>;
|
||||
}
|
||||
export interface Enumerable<T> {
|
||||
(getEnumerator: () =>IEnumerator<T>): IEnumerable<T>;
|
||||
|
||||
repeat(value: T, repeatCount?: number): IEnumerable<any>;
|
||||
forEach<T2>(source: T[], selector?: (element: T, index: number) => T2): IEnumerable<T2>;
|
||||
forEach<T2>(source: { length: number; [index: number]: T; }, selector?: (element: T, index: number) => T2): IEnumerable<T2>;
|
||||
}
|
||||
}
|
||||
|
||||
// Observer
|
||||
interface IObserver<T> {
|
||||
onNext(value: T): void;
|
||||
onError(exception: any): void;
|
||||
onCompleted(): void;
|
||||
|
||||
toNotifier(): (notification: INotification<T>) =>void;
|
||||
asObserver(): IObserver<T>;
|
||||
checked(): ICheckedObserver<any>;
|
||||
}
|
||||
export module Observer {
|
||||
//abstract
|
||||
//function new (): IObserver;
|
||||
|
||||
function create<T>(onNext: (value: T) =>void , onError?: (exception: any) =>void , onCompleted?: () =>void ): IObserver<T>;
|
||||
function fromNotifier<T>(handler: (notification: INotification<T>) =>void ): IObserver<T>;
|
||||
}
|
||||
|
||||
export module Internals {
|
||||
// Abstract Observer
|
||||
interface IAbstractObserver<T> extends IObserver<T> {
|
||||
isStopped: boolean;
|
||||
|
||||
dispose(): void;
|
||||
next(value: T): void;
|
||||
error(exception: any): void;
|
||||
completed(): void;
|
||||
fail(): boolean;
|
||||
}
|
||||
//export module AbstractObserver {
|
||||
// //abstract
|
||||
// function new (): IAbstractObserver;
|
||||
//}
|
||||
}
|
||||
|
||||
export class AnonymousObserver<T> {
|
||||
constructor(onNext: (value: T) => void , onError: (exception: any) => void , onCompleted: () => void);
|
||||
}
|
||||
|
||||
interface ICheckedObserver<T> extends IObserver<T> {
|
||||
_observer: IObserver<T>;
|
||||
_state: number; // 0 - idle, 1 - busy, 2 - done
|
||||
checkAccess(): void;
|
||||
}
|
||||
|
||||
export module Internals {
|
||||
interface IScheduledObserver<T> extends IAbstractObserver<T> {
|
||||
scheduler: IScheduler;
|
||||
observer: IObserver<T>;
|
||||
isAcquired: boolean;
|
||||
hasFaulted: boolean;
|
||||
//queue: { (value: any): void; (exception: any): void; (): void; }[];
|
||||
disposable: SerialDisposable;
|
||||
|
||||
ensureActive(): void;
|
||||
}
|
||||
export interface ScheduledObserver<T> {
|
||||
(scheduler: IScheduler, observer: IObserver<T>): IScheduledObserver<T>;
|
||||
}
|
||||
}
|
||||
|
||||
interface IObservable<T> {
|
||||
_subscribe: (observer: IObserver<T>) =>_IDisposable;
|
||||
|
||||
subscribe(observer: IObserver<T>): _IDisposable;
|
||||
|
||||
finalValue(): IObservable<T>;
|
||||
subscribe(onNext?: (value: T) =>void , onError?: (exception: any) =>void , onCompleted?: () =>void ): _IDisposable;
|
||||
toArray(): IObservable<T>;
|
||||
|
||||
observeOn(scheduler: IScheduler): IObservable<T>;
|
||||
subscribeOn(scheduler: IScheduler): IObservable<T>;
|
||||
|
||||
amb(rightSource: IObservable<T>): IObservable<T>;
|
||||
catchException(handler: (exception: any) =>IObservable<T>): IObservable<T>;
|
||||
catchException(second: IObservable<T>): IObservable<T>;
|
||||
combineLatest<T2, TResult>(second: IObservable<T2>, resultSelector: (v1: T, v2: T2) =>TResult): IObservable<TResult>;
|
||||
combineLatest<T2, T3, TResult>(second: IObservable<T2>, third: IObservable<T3>, resultSelector: (v1: T, v2: T2, v3: T3) =>TResult): IObservable<TResult>;
|
||||
combineLatest<T2, T3, T4, TResult>(second: IObservable<T2>, third: IObservable<T3>, fourth: IObservable<T4>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) =>TResult): IObservable<TResult>;
|
||||
combineLatest<T2, T3, T4, T5, TResult>(second: IObservable<T2>, third: IObservable<T3>, fourth: IObservable<T4>, fifth: IObservable<T5>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) =>TResult): IObservable<TResult>;
|
||||
combineLatest<TResult>(...soucesAndResultSelector: any[]): IObservable<TResult>;
|
||||
concat(...sources: IObservable<T>[]): IObservable<T>;
|
||||
concat(sources: IObservable<T>[]): IObservable<T>;
|
||||
//concatIObservable(): IObservable<T>;
|
||||
merge(maxConcurrent: number): IObservable<T>;
|
||||
merge(other: IObservable<T>): IObservable<T>;
|
||||
//mergeIObservable(): IObservable<any>;
|
||||
onErrorResumeNext(second: IObservable<T>): IObservable<T>;
|
||||
skipUntil<T2>(other: IObservable<T2>): IObservable<T>;
|
||||
switchLatest(): IObservable<T>;
|
||||
takeUntil<T2>(other: IObservable<T2>): IObservable<T>;
|
||||
zip<T2, TResult>(second: IObservable<T2>, resultSelector: (v1: T, v2: T2) =>TResult): IObservable<TResult>;
|
||||
zip<T2, T3, TResult>(second: IObservable<T2>, third: IObservable<T3>, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): IObservable<TResult>;
|
||||
zip<T2, T3, T4, TResult>(second: IObservable<T2>, third: IObservable<T3>, fourth: IObservable<T4>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): IObservable<TResult>;
|
||||
zip<T2, T3, T4, T5, TResult>(second: IObservable<T2>, third: IObservable<T3>, fourth: IObservable<T4>, fifth: IObservable<T5>, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): IObservable<TResult>;
|
||||
zip<TResult>(...soucesAndResultSelector: any[]): IObservable<TResult>;
|
||||
zip<TResult>(second: any[], resultSelector: (left: T, right: any) => TResult): IObservable<TResult>;
|
||||
asIObservable(): IObservable<any>;
|
||||
bufferWithCount(count: number, skip?: number): IObservable<T>;
|
||||
dematerialize<TOrigin>(): IObservable<TOrigin>;
|
||||
distinctUntilChanged<TValue>(keySelector?: (value: T) => TValue, comparer?: (x: TValue, y: TValue) =>boolean): IObservable<any>;
|
||||
doAction(observer: IObserver<T>): IObservable<T>;
|
||||
doAction(onNext: (value: T) => void , onError?: (exception: any) =>void , onCompleted?: () =>void ): IObservable<T>;
|
||||
finallyAction(action: () =>void): IObservable<T>;
|
||||
ignoreElements(): IObservable<T>;
|
||||
materialize(): IObservable<INotification<any>>; // IObservable<INotification<T>> not supported by TypeScript 0.9.0 !!
|
||||
repeat(repeatCount?: number): IObservable<T>;
|
||||
retry(retryCount?: number): IObservable<T>;
|
||||
scan<TAcc>(seed: TAcc, accumulator: (acc: TAcc, value: T) => TAcc): IObservable<TAcc>;
|
||||
scan<TAcc>(accumulator: (acc: TAcc, value: T) => TAcc): IObservable<TAcc>;
|
||||
skipLast(count: number): IObservable<T>;
|
||||
startWith(...values: T[]): IObservable<T>;
|
||||
startWith(scheduler: IScheduler, ...values: T[]): IObservable<T>;
|
||||
takeLast(count: number, scheduler?: IScheduler): IObservable<T>;
|
||||
takeLastBuffer(count: number): IObservable<T>;
|
||||
windowWithCount(count: number, skip?: number): IObservable<T>;
|
||||
defaultIfEmpty(defaultValue?: any): IObservable<T>;
|
||||
distinct<TKey>(keySelector?: (value: T) => TKey, keySerializer?: (key: TKey) =>string): IObservable<T>;
|
||||
groupBy<TKey, TElement>(keySelector: (value: T) => TKey, elementSelector?: (value: T) => TElement, keySerializer?: (key: TKey) => string): IGroupedObservable<TKey, TElement>;
|
||||
groupByUntil<TKey, TElement>(keySelector: (value: T) => TKey, elementSelector: (value: T) => TElement, durationSelector: (group: IGroupedObservable<TKey, TElement>) => IObservable<number>, keySerializer?: (key: TKey) => string): IGroupedObservable<TKey, TElement>;
|
||||
select<T2>(selector: (value: T, index: number) =>T2): IObservable<T2>;
|
||||
selectMany<T2>(selector: (value: T) =>IObservable<T2>, resultSelector?: (x: any, y: any) =>any): IObservable<T2>;
|
||||
selectMany<T2>(other: IObservable<T2>): IObservable<T2>;
|
||||
skip(count: number): IObservable<T>;
|
||||
skipWhile(predicate: (value: T, index?: number) =>boolean): IObservable<T>;
|
||||
take(count: number, scheduler?: IScheduler): IObservable<T>;
|
||||
takeWhile(predicate: (value: T, index?: number) =>boolean): IObservable<T>;
|
||||
where(predicate: (value: T, index?: number) => boolean): IObservable<T>;
|
||||
}
|
||||
|
||||
interface Observable {
|
||||
(subscribe: (observer: IObserver<any>) =>_IDisposable): IObservable<any>;
|
||||
|
||||
create<T>(subscribe: (observer: IObserver<T>) => void ): IObservable<T>;
|
||||
//create<T>(subscribe: (observer: IObserver<T>) => () => void ): IObservable<T>;
|
||||
createWithDisposable<T>(subscribe: (observer: IObserver<T>) =>_IDisposable): IObservable<T>;
|
||||
defer<T>(observableFactory: () => IObservable<T>): IObservable<T>;
|
||||
empty<T>(scheduler?: IScheduler): IObservable<T>;
|
||||
fromArray<T>(array: T[], scheduler?: IScheduler): IObservable<T>;
|
||||
fromArray<T>(array: { length: number;[index: number]: T; }, scheduler?: IScheduler): IObservable<T>;
|
||||
generate<TState, TResult>(initialState: TState, condition: (state: TState) => boolean, iterate: (state: TState) => TState, resultSelector: (state: TState) => TResult, scheduler?: IScheduler): IObservable<TResult>;
|
||||
never<T>(): IObservable<T>;
|
||||
range(start: number, count: number, scheduler?: IScheduler): IObservable<number>;
|
||||
repeat<T>(value: T, repeatCount?: number, scheduler?: IScheduler): IObservable<T>;
|
||||
returnValue<T>(value: T, scheduler?: IScheduler): IObservable<T>;
|
||||
throwException<T>(exception: any, scheduler?: IScheduler): IObservable<T>;
|
||||
using<TSource, TResource>(resourceFactory: () => TResource, observableFactory: (resource: TResource) => IObservable<TSource>): IObservable<TSource>;
|
||||
amb<T>(...sources: IObservable<T>[]): IObservable<T>;
|
||||
catchException<T>(sources: IObservable<T>[]): IObservable<T>;
|
||||
catchException<T>(...sources: IObservable<T>[]): IObservable<T>;
|
||||
concat<T>(...sources: IObservable<T>[]): IObservable<T>;
|
||||
concat<T>(sources: IObservable<T>[]): IObservable<T>;
|
||||
merge<T>(...sources: IObservable<T>[]): IObservable<T>;
|
||||
merge<T>(sources: IObservable<T>[]): IObservable<T>;
|
||||
merge<T>(scheduler: IScheduler, ...sources: IObservable<T>[]): IObservable<T>;
|
||||
merge<T>(scheduler: IScheduler, sources: IObservable<T>[]): IObservable<T>;
|
||||
onErrorResumeNext<T>(...sources: IObservable<T>[]): IObservable<T>;
|
||||
onErrorResumeNext<T>(sources: IObservable<T>[]): IObservable<T>;
|
||||
zip<T>(...soucesAndResultSelector: any[]): IObservable<T>;
|
||||
}
|
||||
|
||||
var Observable: Observable;
|
||||
|
||||
export module Internals {
|
||||
interface IAnonymousObservable<T> extends IObservable<T> { }
|
||||
export interface AnonymousObservable<T> {
|
||||
(subscribe: (observer: IObserver<T>) =>_IDisposable): IAnonymousObservable<T>;
|
||||
}
|
||||
}
|
||||
|
||||
interface IGroupedObservable<TKey, TElement> extends IObservable<TElement> {
|
||||
key: TKey;
|
||||
underlyingObservable: IObservable<TElement>;
|
||||
}
|
||||
|
||||
interface ISubject<T> extends IObservable<T>, IObserver<T> {
|
||||
isDisposed: boolean;
|
||||
isStopped: boolean;
|
||||
//observers: IObserver<T>[];
|
||||
|
||||
dispose(): void;
|
||||
}
|
||||
|
||||
export interface Subject<T> extends ISubject<T> {
|
||||
create<T>(observer?: IObserver<T>, observable?: IObservable<T>): ISubject<T>;
|
||||
}
|
||||
|
||||
var Subject: {
|
||||
new <T>(): Subject<T>;
|
||||
}
|
||||
|
||||
interface IAsyncSubject<T> extends IObservable<T>, IObserver<T> {
|
||||
isDisposed: boolean;
|
||||
value: T;
|
||||
hasValue: boolean;
|
||||
observers: IObserver<T>[];
|
||||
exception: any;
|
||||
|
||||
dispose(): void;
|
||||
}
|
||||
export interface AsyncSubject<T> {
|
||||
(): IAsyncSubject<T>;
|
||||
}
|
||||
|
||||
interface IAnonymousSubject<T> extends IObservable<T> {
|
||||
onNext(value: T): void;
|
||||
onError(exception: any): void;
|
||||
onCompleted(): void;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-20
@@ -1,20 +0,0 @@
|
||||
///<reference path="rx.js.d.ts" />
|
||||
|
||||
// Type definitions for RxJS-Join package
|
||||
// Project: http://rx.codeplex.com/
|
||||
// Definitions by: Carl de Billy <http://carl.debilly.net/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
//
|
||||
// Dependencies:
|
||||
// -> rx.js
|
||||
// -> rx.joinpatterns.js
|
||||
|
||||
declare module Rx {
|
||||
|
||||
//interface IObservable<T> {
|
||||
//}
|
||||
|
||||
|
||||
//interface Observable {
|
||||
//}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
""
|
||||
Vendored
-99
@@ -1,99 +0,0 @@
|
||||
///<reference path="../jquery/jquery.d.ts"/>
|
||||
///<reference path="rx.js.d.ts"/>
|
||||
|
||||
// Those are the definitions for bridging Rx with jQuery.
|
||||
//
|
||||
// Using the https://github.com/Reactive-Extensions/rxjs-jquery project
|
||||
//
|
||||
// Dependencies:
|
||||
// -> rx.js
|
||||
// -> rx.jquery.js
|
||||
// -> jquery.js
|
||||
|
||||
declare module JQueryResults {
|
||||
|
||||
export interface eventBase{
|
||||
bubbles: boolean;
|
||||
cancelable: boolean;
|
||||
type: string;
|
||||
preventDefault(): void;
|
||||
isDefaultPrevented(): boolean;
|
||||
stopPropagation(): void;
|
||||
isPropagationStopped(): boolean;
|
||||
data: any;
|
||||
originalEvent: any;
|
||||
eventPhase: number;
|
||||
}
|
||||
|
||||
export interface keyEvent extends eventBase {
|
||||
key: number;
|
||||
keyCode: number;
|
||||
altKey: boolean;
|
||||
ctrlKey: boolean;
|
||||
shiftKey: boolean;
|
||||
char: string;
|
||||
metaKey: boolean;
|
||||
}
|
||||
|
||||
export interface uiEvent extends eventBase{
|
||||
target: any;
|
||||
currentTarget: any;
|
||||
}
|
||||
|
||||
export interface mouseEvent extends keyEvent{
|
||||
clientX: number;
|
||||
clientY: number;
|
||||
screenX: number;
|
||||
screenY: number;
|
||||
offsetX: number;
|
||||
offsetY: number;
|
||||
pageX: number;
|
||||
pageY: number;
|
||||
which: number;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
interface JQueryStatic {
|
||||
ajaxAsObservable<T>(settings: JQueryAjaxSettings): Rx.IObservable<T>;
|
||||
getAsObservable<T>(url: string, data: any, dataType: string): Rx.IObservable<T>;
|
||||
getJSONAsObservable<T>(url: string, data: any): Rx.IObservable<T>;
|
||||
getScriptAsObservable<T>(url: string, data: any): Rx.IObservable<T>;
|
||||
postAsObservable<T>(url: string, data: any, dataType: string): Rx.IObservable<T>;
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
changeAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
clickAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
dblclickAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
focusAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
focusinAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
focusoutAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
keydownAsObservable(eventData?: any): Rx.IObservable<JQueryResults.keyEvent>;
|
||||
keyupAsObservable(eventData?: any): Rx.IObservable<JQueryResults.keyEvent>;
|
||||
loadAsObservable(eventData?: any): Rx.IObservable<JQueryResults.uiEvent>;
|
||||
mousedownAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
mouseenterAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
mouseleaveAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
mousemoveAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
mouseoutAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
mouseoverAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
mouseupAsObservable(eventData?: any): Rx.IObservable<JQueryResults.mouseEvent>;
|
||||
resizeAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
scrollAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
selectAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
submitAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
unloadAsObservable(eventData?: any): Rx.IObservable<JQueryResults.eventBase>;
|
||||
hideAsObservable(duration: number): Rx.IObservable<JQueryResults.eventBase>;
|
||||
showAsObservable(duration: number): Rx.IObservable<JQueryResults.eventBase>;
|
||||
readyAsObservable(): Rx.IObservable<any>;
|
||||
animateAsObservable(properties: any, duration: number, easing?: string): Rx.IObservable<any>;
|
||||
fadeInAsObservable(duration: number, easing?: string): Rx.IObservable<any>;
|
||||
fadeToAsObservable(duration: number, opacity: number, easing?: string): Rx.IObservable<any>;
|
||||
fadeOutAsObservable(duration: number, easing?: string): Rx.IObservable<any>;
|
||||
fadeToggleAsObservable(duration: number, easing?: string): Rx.IObservable<any>;
|
||||
slideDownAsObservable(duration: number): Rx.IObservable<any>;
|
||||
slideUpAsObservable(duration: number): Rx.IObservable<any>;
|
||||
slideToggleAsObservable(duration: number): Rx.IObservable<any>;
|
||||
toggleAsObservable(duration: number): Rx.IObservable<any>;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user