mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-19 22:01:08 +08:00
Merge pull request #7174 from panuhorsmalahti/cradle
Add type definitions for cradle.
This commit is contained in:
185
cradle/cradle-tests.ts
Normal file
185
cradle/cradle-tests.ts
Normal file
@@ -0,0 +1,185 @@
|
||||
/// <reference path="./cradle.d.ts" />
|
||||
|
||||
import cradle = require("cradle");
|
||||
|
||||
cradle.setup({
|
||||
host: 'living-room.couch',
|
||||
cache: true,
|
||||
raw: false,
|
||||
forceSave: true
|
||||
});
|
||||
|
||||
const connection = new cradle.Connection();
|
||||
const connection2 = new(cradle.Connection);
|
||||
const connection3 = new(cradle.Connection)('173.45.66.92');
|
||||
|
||||
connection.databases(function(error, response) {});
|
||||
connection.config(function(error, response) {});
|
||||
connection.databases(function(error, response) {});
|
||||
connection.info(function(error, response) {});
|
||||
connection.stats(function(error, response) {});
|
||||
connection.activeTasks(function(error, response) {});
|
||||
connection.uuids(function(error, response) {});
|
||||
connection.uuids(10, function(error, response) {});
|
||||
connection.replicate({
|
||||
source: "database",
|
||||
target: "targetDatabase"
|
||||
}, function(error, response) {});
|
||||
|
||||
const db = connection.database('starwars');
|
||||
|
||||
db.exists(function (error, exists) {
|
||||
if (error) {
|
||||
console.log('error', error);
|
||||
} else if (exists) {
|
||||
console.log('the force is with you.');
|
||||
} else {
|
||||
console.log('database does not exists.');
|
||||
db.create(function(error){
|
||||
/* do something if there's an erroror */
|
||||
/* populate design documents */
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
db.get<{
|
||||
name: string;
|
||||
}>('vader', function (error, doc) {
|
||||
doc.name; // 'Darth Vader'
|
||||
});
|
||||
|
||||
db.get('luke', function (error, doc) {
|
||||
doc.prop;
|
||||
});
|
||||
|
||||
db.get(['luke', 'vader'], function (error, doc) {
|
||||
//
|
||||
});
|
||||
|
||||
db.save('skywalker', {
|
||||
force: 'light',
|
||||
name: 'Luke Skywalker'
|
||||
}, function (error, res) {
|
||||
if (error) {
|
||||
// Handle erroror
|
||||
} else {
|
||||
// Handle success
|
||||
}
|
||||
});
|
||||
|
||||
db.save({
|
||||
force: 'dark', name: 'Darth'
|
||||
}, function (err, res) {
|
||||
// Handle response
|
||||
});
|
||||
|
||||
db.save('luke', '1-94B6F82', {
|
||||
force: 'dark', name: 'Luke'
|
||||
}, function (err, res) {
|
||||
// Handle response
|
||||
});
|
||||
|
||||
db.save([
|
||||
{ name: 'Yoda' },
|
||||
{ name: 'Han Solo' },
|
||||
{ name: 'Leia' }
|
||||
], function (err, res) {
|
||||
// Handle response
|
||||
});
|
||||
|
||||
db.merge('luke', {jedi: true}, function (err, res) {
|
||||
// Luke is now a jedi,
|
||||
// but remains on the dark side of the force.
|
||||
});
|
||||
|
||||
db.view('characters/all', function (err, res) {
|
||||
res.forEach(function (row: any) {
|
||||
console.log("%s is on the %s side of the force.", row.name, row.force);
|
||||
});
|
||||
});
|
||||
|
||||
db.view('characters/all', {group: true, reduce: true} , function (err, res) {
|
||||
res.forEach(function (row: any) {
|
||||
console.log("%s is on the %s side of the force.", row.name, row.force);
|
||||
});
|
||||
});
|
||||
|
||||
db.temporaryView({
|
||||
map: function (doc: any) {
|
||||
//
|
||||
}
|
||||
}, function (err, res) {
|
||||
if (err) console.log(err);
|
||||
console.log(res);
|
||||
});
|
||||
|
||||
db.remove('luke', '1-94B6F82', function (err, res) {
|
||||
// Handle response
|
||||
});
|
||||
|
||||
db.update('my_designdoc/update_handler_name', 'luke', undefined, { my_param: false }, function (err, res) {
|
||||
// Handle the response, specified by the update handler
|
||||
});
|
||||
|
||||
db.changes(function (err, list) {
|
||||
list.forEach(function (change) { console.log(change) });
|
||||
});
|
||||
|
||||
db.changes({ since: 42 }, function (err, list) {
|
||||
//
|
||||
});
|
||||
|
||||
const feed = db.changes({ since: 42 });
|
||||
|
||||
feed.on('change', function (change: any) {
|
||||
console.log(change);
|
||||
});
|
||||
|
||||
const idAndRevData = {
|
||||
id: 'luke',
|
||||
rev: 'my-rev'
|
||||
};
|
||||
|
||||
const attachmentData = {
|
||||
name: 'fooAttachment.txt',
|
||||
'Content-Type': 'text/plain',
|
||||
body: 'Foo document text'
|
||||
};
|
||||
|
||||
db.saveAttachment(idAndRevData, attachmentData, function (err, reply) {
|
||||
if (err) {
|
||||
console.dir(err)
|
||||
return
|
||||
}
|
||||
console.dir(reply)
|
||||
});
|
||||
|
||||
|
||||
db.getAttachment('luke', 'foo.txt', function (err, reply) {
|
||||
if (err) {
|
||||
console.dir(err);
|
||||
return;
|
||||
}
|
||||
console.dir(reply);
|
||||
});
|
||||
|
||||
db.removeAttachment('luke', 'foo.txt', function (err, reply) {
|
||||
if (err) {
|
||||
console.dir(err);
|
||||
return;
|
||||
}
|
||||
console.dir(reply);
|
||||
});
|
||||
|
||||
db.info(function(error, response) {});
|
||||
db.all(function(error, response) {});
|
||||
db.all({
|
||||
body: {
|
||||
keys: ['key1', 'key2']
|
||||
}
|
||||
}, function(error, response) {});
|
||||
db.compact(function(error, response) {});
|
||||
db.compact('design', function(error, response) {});
|
||||
db.viewCleanup(function(error, response) {});
|
||||
db.replicate('database', function(error, response) {});
|
||||
db.replicate('database', {}, function(error, response) {});
|
||||
122
cradle/cradle.d.ts
vendored
Normal file
122
cradle/cradle.d.ts
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
// Type definitions for cradle
|
||||
// Project: https://github.com/flatiron/cradle
|
||||
// Definitions by: Panu Horsmalahti <https://github.com/panuhorsmalahti>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module "cradle" {
|
||||
interface Options {
|
||||
host?: string;
|
||||
hostname?: string;
|
||||
cache?: boolean;
|
||||
raw?: boolean;
|
||||
forceSave?: boolean;
|
||||
auth?: string | {
|
||||
username: string;
|
||||
password: string;
|
||||
}
|
||||
ca?: string;
|
||||
secure?: boolean;
|
||||
retries?: number;
|
||||
retryTimeout?: number;
|
||||
maxSockets?: number;
|
||||
}
|
||||
|
||||
interface Callback {
|
||||
(error: any, response: any): void;
|
||||
}
|
||||
|
||||
interface ErrorCallback {
|
||||
(error: any): void;
|
||||
}
|
||||
|
||||
export class Connection {
|
||||
constructor(uri?: string, port?: number, options?: Options);
|
||||
database(name: string): Database;
|
||||
databases(Callback: Callback): void;
|
||||
config(callback: Callback): void;
|
||||
info(callback: Callback): void;
|
||||
stats(callback: Callback): void;
|
||||
activeTasks(callback: Callback): void;
|
||||
uuids(callback: Callback): void;
|
||||
uuids(count: number, callback: Callback): void;
|
||||
replicate(options: {
|
||||
source: string | {
|
||||
url: string;
|
||||
};
|
||||
target: string | {
|
||||
url: string;
|
||||
};
|
||||
cancel?: boolean;
|
||||
continuous?: boolean;
|
||||
create_target?: boolean;
|
||||
doc_ids?: string[];
|
||||
filter?: string;
|
||||
proxy?: string;
|
||||
query_params?: any;
|
||||
}, callback: Callback): void;
|
||||
}
|
||||
|
||||
export interface ChangesOptions {
|
||||
since: number;
|
||||
}
|
||||
|
||||
export class Database {
|
||||
name: string;
|
||||
get(id: string, callback: (error: any, document: any) => void): void;
|
||||
get<T>(id: string, callback: (error: any, document: T) => void): void;
|
||||
get(id: string, rev: string, callback: (error: any, document: any) => void): void;
|
||||
get<T>(id: string, rev: string, callback: (error: any, document: T) => void): void;
|
||||
get(ids: string[], callback: Callback): void;
|
||||
save(document: any, callback: Callback): void;
|
||||
save(id: string, document: any, callback: Callback): void;
|
||||
save(id: string, revision: string, document: any,
|
||||
callback: Callback): void;
|
||||
save<T>(document: T, callback: Callback): void;
|
||||
save<T>(id: string, document: T, callback: Callback): void;
|
||||
save<T>(id: string, revision: string, document: T,
|
||||
callback: Callback): void;
|
||||
save(documents: any[], callback: Callback): void;
|
||||
merge(id: string, document: any, callback: Callback): void;
|
||||
merge<T>(id: string, document: T, callback: Callback): void;
|
||||
remove(id: string, revision: string, callback: Callback): void;
|
||||
update(name: string, id: string, queryObject: any, documentBody: any,
|
||||
callback: Callback): void;
|
||||
view(name: string, callback: Callback): void;
|
||||
view(name: string, options: {
|
||||
group?: boolean;
|
||||
reduce?: boolean;
|
||||
key?: string;
|
||||
startkey?: any;
|
||||
endkey?: any;
|
||||
include_docs?: boolean;
|
||||
limit?: number;
|
||||
descending?: boolean;
|
||||
}, callback: Callback): void;
|
||||
temporaryView(view: any, callback: Callback): void;
|
||||
create(callback: ErrorCallback): void;
|
||||
exists(callback: (error: any, exists: boolean) => void): void;
|
||||
destroy(callback: ErrorCallback): void;
|
||||
changes(options: ChangesOptions): any;
|
||||
changes(callback: (error: any, list: any[]) => void): void;
|
||||
changes(options: ChangesOptions, callback: (error: any,
|
||||
list: any[]) => void): void;
|
||||
saveAttachment(idAndRevData: {
|
||||
id: string;
|
||||
rev: string;
|
||||
}, attachmentData: any, callback: Callback): void;
|
||||
getAttachment(id: string, attachmentName: string,
|
||||
callback: Callback): void;
|
||||
removeAttachment(id: string, attachmentName: string,
|
||||
callback: Callback): void;
|
||||
info(callback: Callback): void;
|
||||
all(callback: Callback): void;
|
||||
all(options: any, callback: Callback): void;
|
||||
compact(callback: Callback): void;
|
||||
compact(design: string, callback: Callback): void;
|
||||
viewCleanup(callback: Callback): void;
|
||||
replicate(target: string, callback: Callback): void;
|
||||
replicate(target: string, options: any, callback: Callback): void;
|
||||
}
|
||||
|
||||
export function setup(options: Options): void;
|
||||
}
|
||||
Reference in New Issue
Block a user