mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-06-28 22:30:01 +00:00
node-cache: Provides its own types (#39479)
This commit is contained in:
committed by
Jesse Trinity
parent
e3f4ee3b8e
commit
6d76537bf8
@@ -2586,6 +2586,12 @@
|
||||
"sourceRepoURL": "https://github.com/nock/nock",
|
||||
"asOfVersion": "11.1.0"
|
||||
},
|
||||
{
|
||||
"libraryName": "node-cache",
|
||||
"typingsPackageName": "node-cache",
|
||||
"sourceRepoURL": "https://github.com/mpneuried/nodecache",
|
||||
"asOfVersion": "4.2.0"
|
||||
},
|
||||
{
|
||||
"libraryName": "node-pg-migrate",
|
||||
"typingsPackageName": "node-pg-migrate",
|
||||
|
||||
286
types/node-cache/index.d.ts
vendored
286
types/node-cache/index.d.ts
vendored
@@ -1,286 +0,0 @@
|
||||
// Type definitions for node-cache 4.1
|
||||
// Project: https://github.com/mpneuried/nodecache
|
||||
// Definitions by: Ilya Mochalov <https://github.com/chrootsu>
|
||||
// Daniel Thunell <https://github.com/dthunell>
|
||||
// Ulf Seltmann <https://github.com/useltmann>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="node" />
|
||||
|
||||
/**
|
||||
* Since 4.1.0: Key-validation: The keys can be given as either string or number,
|
||||
* but are casted to a string internally anyway.
|
||||
*/
|
||||
type Key = string | number;
|
||||
|
||||
declare namespace NodeCache {
|
||||
interface NodeCache {
|
||||
/** container for cached data */
|
||||
data: Data;
|
||||
|
||||
/** module options */
|
||||
options: Options;
|
||||
|
||||
/** statistics container */
|
||||
stats: Stats;
|
||||
|
||||
/**
|
||||
* get a cached key and change the stats
|
||||
*
|
||||
* @param key cache key or an array of keys
|
||||
* @param cb Callback function
|
||||
*/
|
||||
get<T>(
|
||||
key: Key,
|
||||
cb?: Callback<T>
|
||||
): T | undefined;
|
||||
|
||||
/**
|
||||
* get multiple cached keys at once and change the stats
|
||||
*
|
||||
* @param keys an array of keys
|
||||
* @param cb Callback function
|
||||
*/
|
||||
mget<T>(
|
||||
keys: Key[],
|
||||
cb?: Callback<{ [key: string]: T }>
|
||||
): { [key: string]: T };
|
||||
|
||||
/**
|
||||
* set a cached key and change the stats
|
||||
*
|
||||
* @param key cache key
|
||||
* @param value A element to cache. If the option `option.forceString` is `true` the module trys to translate
|
||||
* it to a serialized JSON
|
||||
* @param ttl The time to live in seconds.
|
||||
* @param cb Callback function
|
||||
*/
|
||||
set<T>(
|
||||
key: Key,
|
||||
value: T,
|
||||
ttl: number | string,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
set<T>(
|
||||
key: Key,
|
||||
value: T,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
/**
|
||||
* remove keys
|
||||
* @param keys cache key to delete or a array of cache keys
|
||||
* @param cb Callback function
|
||||
* @returns Number of deleted keys
|
||||
*/
|
||||
del(
|
||||
keys: Key | Key[],
|
||||
cb?: Callback<number>
|
||||
): number;
|
||||
|
||||
/**
|
||||
* reset or redefine the ttl of a key. If `ttl` is not passed or set to 0 it's similar to `.del()`
|
||||
*/
|
||||
ttl(
|
||||
key: Key,
|
||||
ttl: number,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
ttl(
|
||||
key: Key,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
getTtl(
|
||||
key: Key,
|
||||
): number|undefined;
|
||||
|
||||
getTtl(
|
||||
key: Key,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
/**
|
||||
* list all keys within this cache
|
||||
* @param cb Callback function
|
||||
* @returns An array of all keys
|
||||
*/
|
||||
keys(cb?: Callback<string[]>): string[];
|
||||
|
||||
/**
|
||||
* get the stats
|
||||
*
|
||||
* @returns Stats data
|
||||
*/
|
||||
getStats(): Stats;
|
||||
|
||||
/**
|
||||
* flush the hole data and reset the stats
|
||||
*/
|
||||
flushAll(): void;
|
||||
|
||||
/**
|
||||
* This will clear the interval timeout which is set on checkperiod option.
|
||||
*/
|
||||
close(): void;
|
||||
}
|
||||
|
||||
interface Data {
|
||||
[key: string]: WrappedValue<any>;
|
||||
}
|
||||
|
||||
interface Options {
|
||||
forceString?: boolean;
|
||||
objectValueSize?: number;
|
||||
arrayValueSize?: number;
|
||||
stdTTL?: number;
|
||||
checkperiod?: number;
|
||||
useClones?: boolean;
|
||||
errorOnMissing?: boolean;
|
||||
deleteOnExpire?: boolean;
|
||||
}
|
||||
|
||||
interface Stats {
|
||||
hits: number;
|
||||
misses: number;
|
||||
keys: number;
|
||||
ksize: number;
|
||||
vsize: number;
|
||||
}
|
||||
|
||||
interface WrappedValue<T> {
|
||||
// ttl
|
||||
t: number;
|
||||
// value
|
||||
v: T;
|
||||
}
|
||||
|
||||
type Callback<T> = (err: any, data: T | undefined) => void;
|
||||
}
|
||||
|
||||
import events = require("events");
|
||||
|
||||
import Data = NodeCache.Data;
|
||||
import Options = NodeCache.Options;
|
||||
import Stats = NodeCache.Stats;
|
||||
import Callback = NodeCache.Callback;
|
||||
|
||||
declare class NodeCache extends events.EventEmitter implements NodeCache.NodeCache {
|
||||
/** container for cached data */
|
||||
data: Data;
|
||||
|
||||
/** module options */
|
||||
options: Options;
|
||||
|
||||
/** statistics container */
|
||||
stats: Stats;
|
||||
|
||||
constructor(options?: Options);
|
||||
|
||||
/**
|
||||
* get a cached key and change the stats
|
||||
*
|
||||
* @param key cache key or an array of keys
|
||||
* @param cb Callback function
|
||||
*/
|
||||
get<T>(
|
||||
key: Key,
|
||||
cb?: Callback<T>
|
||||
): T | undefined;
|
||||
|
||||
/**
|
||||
* get multiple cached keys at once and change the stats
|
||||
*
|
||||
* @param keys an array of keys
|
||||
* @param cb Callback function
|
||||
*/
|
||||
mget<T>(
|
||||
keys: Key[],
|
||||
cb?: Callback<{ [key: string]: T }>
|
||||
): { [key: string]: T };
|
||||
|
||||
/**
|
||||
* set a cached key and change the stats
|
||||
*
|
||||
* @param key cache key
|
||||
* @param value A element to cache. If the option `option.forceString` is `true` the module trys to translate
|
||||
* it to a serialized JSON
|
||||
* @param ttl The time to live in seconds.
|
||||
* @param cb Callback function
|
||||
*/
|
||||
set<T>(
|
||||
key: Key,
|
||||
value: T,
|
||||
ttl: number | string,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
set<T>(
|
||||
key: Key,
|
||||
value: T,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
/**
|
||||
* remove keys
|
||||
* @param keys cache key to delete or a array of cache keys
|
||||
* @param cb Callback function
|
||||
* @returns Number of deleted keys
|
||||
*/
|
||||
del(
|
||||
keys: Key | Key[],
|
||||
cb?: Callback<number>
|
||||
): number;
|
||||
|
||||
/**
|
||||
* reset or redefine the ttl of a key. If `ttl` is not passed or set to 0 `stdTtl` is used. if set lt 0 it's similar to `.del()`
|
||||
*/
|
||||
ttl(
|
||||
key: Key,
|
||||
ttl: number,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
ttl(
|
||||
key: Key,
|
||||
cb?: Callback<boolean>
|
||||
): boolean;
|
||||
|
||||
getTtl(
|
||||
key: Key
|
||||
): number|undefined;
|
||||
|
||||
getTtl(
|
||||
key: Key,
|
||||
cb?: Callback<boolean>,
|
||||
): boolean;
|
||||
|
||||
/**
|
||||
* list all keys within this cache
|
||||
* @param cb Callback function
|
||||
* @returns An array of all keys
|
||||
*/
|
||||
keys(cb?: Callback<string[]>): string[];
|
||||
|
||||
/**
|
||||
* get the stats
|
||||
*
|
||||
* @returns Stats data
|
||||
*/
|
||||
getStats(): Stats;
|
||||
|
||||
/**
|
||||
* flush the hole data and reset the stats
|
||||
*/
|
||||
flushAll(): void;
|
||||
|
||||
/**
|
||||
* This will clear the interval timeout which is set on checkperiod option.
|
||||
*/
|
||||
close(): void;
|
||||
}
|
||||
|
||||
export = NodeCache;
|
||||
export as namespace NodeCache;
|
||||
@@ -1,98 +0,0 @@
|
||||
import NodeCache = require('node-cache');
|
||||
|
||||
import Options = NodeCache.Options;
|
||||
import Stats = NodeCache.Stats;
|
||||
import Callback = NodeCache.Callback;
|
||||
|
||||
interface TypeSample {
|
||||
a: number;
|
||||
b: string;
|
||||
c: boolean;
|
||||
}
|
||||
|
||||
{
|
||||
let options: Options;
|
||||
let cache: NodeCache.NodeCache;
|
||||
cache = new NodeCache();
|
||||
cache = new NodeCache(options);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let key: string;
|
||||
let cb: Callback<TypeSample>;
|
||||
let result: TypeSample | undefined;
|
||||
result = cache.get<TypeSample>(key);
|
||||
result = cache.get<TypeSample>(key, cb);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let keys: string[];
|
||||
let cb: Callback<{ [key: string]: TypeSample }>;
|
||||
let result: { [key: string]: TypeSample };
|
||||
result = cache.mget<TypeSample>(keys);
|
||||
result = cache.mget<TypeSample>(keys, cb);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let key: string;
|
||||
let value: TypeSample;
|
||||
let ttl: number | string;
|
||||
let cb: Callback<boolean>;
|
||||
let result: boolean;
|
||||
result = cache.set<TypeSample>(key, value);
|
||||
result = cache.set<TypeSample>(key, value, ttl);
|
||||
result = cache.set<TypeSample>(key, value, ttl, cb);
|
||||
result = cache.set<TypeSample>(key, value, cb);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let keys: string | string[];
|
||||
let cb: Callback<number>;
|
||||
let result: number;
|
||||
result = cache.del(keys);
|
||||
result = cache.del(keys, cb);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let key: string;
|
||||
let ttl: number;
|
||||
let cb: Callback<boolean>;
|
||||
let result: boolean;
|
||||
result = cache.ttl(key);
|
||||
result = cache.ttl(key, ttl);
|
||||
result = cache.ttl(key, ttl, cb);
|
||||
result = cache.ttl(key, cb);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let cb: Callback<string[]>;
|
||||
let result: string[];
|
||||
result = cache.keys();
|
||||
result = cache.keys(cb);
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let result: Stats;
|
||||
result = cache.getStats();
|
||||
}
|
||||
|
||||
/* tslint-:disable void-return no-void-expression
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let result: void;
|
||||
result = cache.flushAll();
|
||||
}
|
||||
|
||||
{
|
||||
let cache: NodeCache;
|
||||
let result: void;
|
||||
result = cache.close();
|
||||
}
|
||||
tslint-:enable void-return */
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"node-cache-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json",
|
||||
"rules": {
|
||||
// TODO
|
||||
"prefer-const": false,
|
||||
"no-unnecessary-generics": false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user