mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 14:57:10 +00:00
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
// Type definitions for keyv 3.0
|
||||
// Project: https://github.com/lukechilds/keyv
|
||||
// Definitions by: AryloYeung <https://github.com/Arylo>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.1
|
||||
|
||||
/// <reference types="node" />
|
||||
|
||||
interface KeyvOptions {
|
||||
/** Namespace for the current instance. */
|
||||
namespace?: string;
|
||||
/** A custom serialization function. */
|
||||
serialize?: (data: any) => string;
|
||||
/** A custom deserialization function. */
|
||||
deserialize?: (data: string) => any;
|
||||
/** The connection string URI. */
|
||||
uri?: string;
|
||||
/** The storage adapter instance to be used by Keyv. */
|
||||
store?: any;
|
||||
/** Default TTL. Can be overridden by specififying a TTL on `.set()`. */
|
||||
ttl?: number;
|
||||
/** Specify an adapter to use. e.g `'redis'` or `'mongodb'`. */
|
||||
adapter?: string;
|
||||
}
|
||||
|
||||
declare class Keyv extends NodeJS.EventEmitter {
|
||||
/**
|
||||
* @param opts The options object is also passed through to the storage adapter. Check your storage adapter docs for any extra options.
|
||||
*/
|
||||
constructor(opts?: KeyvOptions);
|
||||
/**
|
||||
* @param uri The connection string URI.
|
||||
*
|
||||
* Merged into the options object as options.uri.
|
||||
* @param opts The options object is also passed through to the storage adapter. Check your storage adapter docs for any extra options.
|
||||
*/
|
||||
constructor(uri?: string, opts?: KeyvOptions);
|
||||
/** Returns the value. */
|
||||
get(key: string): Promise<any>;
|
||||
/**
|
||||
* Set a value.
|
||||
*
|
||||
* By default keys are persistent. You can set an expiry TTL in milliseconds.
|
||||
*/
|
||||
set(key: string, value: any, ttl?: number): Promise<boolean>;
|
||||
/**
|
||||
* Deletes an entry.
|
||||
*
|
||||
* Returns `true` if the key existed, `false` if not.
|
||||
*/
|
||||
delete(key: string): Promise<boolean>;
|
||||
/** Delete all entries in the current namespace. */
|
||||
clear(): Promise<void>;
|
||||
}
|
||||
|
||||
export = Keyv;
|
||||
@@ -0,0 +1,25 @@
|
||||
import Keyv = require("keyv");
|
||||
|
||||
new Keyv({
|
||||
uri: 'redis://user:pass@localhost:6379',
|
||||
namespace: "redis"
|
||||
});
|
||||
|
||||
new Keyv('mongodb://user:pass@localhost:27017/dbname');
|
||||
new Keyv('redis://user:pass@localhost:6379');
|
||||
new Keyv('sqlite://path/to/database.sqlite');
|
||||
new Keyv('postgresql://user:pass@localhost:5432/dbname');
|
||||
new Keyv('mysql://user:pass@localhost:3306/dbname');
|
||||
new Keyv();
|
||||
|
||||
(async () => {
|
||||
const keyv = new Keyv();
|
||||
|
||||
keyv.on('error', err => console.log('Connection Error', err));
|
||||
|
||||
await keyv.set('foo', 'expires in 1 second', 1000); // true
|
||||
await keyv.set('foo', 'never expires'); // true
|
||||
await keyv.get('foo'); // 'never expires'
|
||||
await keyv.delete('foo'); // true
|
||||
await keyv.clear(); // undefined
|
||||
})();
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"keyv-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user