From f9fe170911e2e16e370a0686a491ba1ce03bec00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Corbi=C3=A8re?= Date: Sat, 15 Aug 2015 12:49:47 +0200 Subject: [PATCH] Add type definitions for gulp-remember --- gulp-remember/gulp-remember-tests.ts | 25 ++++++++++++ gulp-remember/gulp-remember.d.ts | 59 ++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 gulp-remember/gulp-remember-tests.ts create mode 100644 gulp-remember/gulp-remember.d.ts diff --git a/gulp-remember/gulp-remember-tests.ts b/gulp-remember/gulp-remember-tests.ts new file mode 100644 index 0000000000..804832c5de --- /dev/null +++ b/gulp-remember/gulp-remember-tests.ts @@ -0,0 +1,25 @@ +/// +/// + +import * as gulp from "gulp"; +import remember = require("gulp-remember"); + +// Usage +gulp.src("*.ts") + .pipe(remember()); + +gulp.src("*.ts") + .pipe(remember("ts-cache")); + +// Drops a file from a remember cache +remember.forget("main.ts"); +remember.forget("ts-cache", "main.ts"); + +// Drops all files from a remember cache +remember.forgetAll(); +remember.forgetAll("ts-cache"); + +// Get a raw remember cache +remember.cacheFor(); +remember.cacheFor("ts-cache"); +remember.cacheFor("ts-cache")["main.ts"]; diff --git a/gulp-remember/gulp-remember.d.ts b/gulp-remember/gulp-remember.d.ts new file mode 100644 index 0000000000..f606646e2e --- /dev/null +++ b/gulp-remember/gulp-remember.d.ts @@ -0,0 +1,59 @@ +// Type definitions for gulp-remember +// Project: https://github.com/ahaurw01/gulp-remember +// Definitions by: Thomas Corbière +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module "gulp-remember" +{ + interface ICache + { + [path: string]: NodeJS.ReadWriteStream; + } + + interface IGulpRemember + { + /** + * Return a through stream that will: + * 1. Remember all files that ever pass through it. + * 2. Add all remembered files back into the stream when not present. + * @param cacheName Name to give your cache + */ + (cacheName?: string): NodeJS.ReadWriteStream; + + /** + * Forget about a file. + * A warning is logged if either the named cache or file do not exist. + * @param path Path of the file to forget + */ + forget(path: string): void; + + /** + * Forget about a file. + * A warning is logged if either the named cache or file do not exist. + * @param cacheName Name of the cache from which to drop the file + * @param path Path of the file to forget + */ + forget(cacheName: string, path: string): void; + + /** + * Forget all files in one cache. + * A warning is logged if the cache does not exist. + * + * @param cacheName Name of the cache to wipe + */ + forgetAll(cacheName?: string): void; + + /** + * Return a raw cache by name. + * Useful for checking state. Manually adding or removing files is NOT recommended. + * + * @param cacheName Name of the cache to retrieve + */ + cacheFor(cacheName?: string): ICache; + } + + const remember: IGulpRemember; + export = remember; +}