mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-31 03:02:04 +08:00
315
types/jszip/index.d.ts
vendored
315
types/jszip/index.d.ts
vendored
@@ -1,10 +1,140 @@
|
||||
// Type definitions for JSZip
|
||||
// Type definitions for JSZip 3.1
|
||||
// Project: http://stuk.github.com/jszip/
|
||||
// Definitions by: mzeiher <https://github.com/mzeiher>
|
||||
// Definitions by: mzeiher <https://github.com/mzeiher>, forabi <https://github.com/forabi>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
/// <reference types="node" />
|
||||
|
||||
interface JSZipSupport {
|
||||
arraybuffer: boolean;
|
||||
uint8array: boolean;
|
||||
blob: boolean;
|
||||
nodebuffer: boolean;
|
||||
}
|
||||
|
||||
type Compression = 'STORE' | 'DEFLATE';
|
||||
|
||||
interface Metadata {
|
||||
percent: number;
|
||||
currentFile: string;
|
||||
}
|
||||
|
||||
type OnUpdateCallback = (metadata: Metadata) => void;
|
||||
|
||||
interface InputByType {
|
||||
base64: string;
|
||||
string: string;
|
||||
text: string;
|
||||
binarystring: string;
|
||||
array: number[];
|
||||
unit8array: Uint8Array;
|
||||
arraybuffer: ArrayBuffer;
|
||||
blob: Blob;
|
||||
}
|
||||
|
||||
interface OutputByType {
|
||||
base64: string;
|
||||
text: string;
|
||||
binarystring: string;
|
||||
array: number[];
|
||||
unit8array: Uint8Array;
|
||||
arraybuffer: ArrayBuffer;
|
||||
blob: Blob;
|
||||
nodebuffer: Buffer;
|
||||
}
|
||||
|
||||
type InputFileFormat = InputByType[keyof InputByType] | NodeJS.ReadableStream;
|
||||
|
||||
declare namespace JSZip {
|
||||
type InputType = keyof InputByType;
|
||||
|
||||
type OutputType = keyof OutputByType;
|
||||
|
||||
interface JSZipObject {
|
||||
name: string;
|
||||
dir: boolean;
|
||||
date: Date;
|
||||
comment: string;
|
||||
/** The UNIX permissions of the file, if any. */
|
||||
unixPermissions: number | string | null;
|
||||
/** The UNIX permissions of the file, if any. */
|
||||
dosPermissions: number | null;
|
||||
options: JSZipObjectOptions;
|
||||
|
||||
/**
|
||||
* Prepare the content in the asked type.
|
||||
* @param {String} type the type of the result.
|
||||
* @param {OnUpdateCallback} onUpdate a function to call on each internal update.
|
||||
* @return Promise the promise of the result.
|
||||
*/
|
||||
async<T extends OutputType>(type: T, onUpdate?: OnUpdateCallback): Promise<OutputByType[T]>;
|
||||
nodeStream(type?: 'nodestream', onUpdate?: OnUpdateCallback): NodeJS.ReadableStream;
|
||||
}
|
||||
|
||||
interface JSZipFileOptions {
|
||||
/** Set to `true` if the data is `base64` encoded. For example image data from a `<canvas>` element. Plain text and HTML do not need this option. */
|
||||
base64?: boolean;
|
||||
/** Set to `true` if the data should be treated as raw content, `false` if this is a text. If `base64` is used,
|
||||
* this defaults to `true`, if the data is not a `string`, this will be set to `true`.
|
||||
*/
|
||||
binary?: boolean;
|
||||
/**
|
||||
* The last modification date, defaults to the current date.
|
||||
*/
|
||||
date?: Date;
|
||||
compression?: string;
|
||||
comment?: string;
|
||||
/** Set to `true` if (and only if) the input is a "binary string" and has already been prepared with a `0xFF` mask. */
|
||||
optimizedBinaryString?: boolean;
|
||||
/** Set to `true` if folders in the file path should be automatically created, otherwise there will only be virtual folders that represent the path to the file. */
|
||||
createFolders?: boolean;
|
||||
/** Set to `true` if this is a directory and content should be ignored. */
|
||||
dir?: boolean;
|
||||
|
||||
/** 6 bits number. The DOS permissions of the file, if any. */
|
||||
dosPermissions?: number | null;
|
||||
/**
|
||||
* 16 bits number. The UNIX permissions of the file, if any.
|
||||
* Also accepts a `string` representing the octal value: `"644"`, `"755"`, etc.
|
||||
*/
|
||||
unixPermissions?: number | string | null;
|
||||
}
|
||||
|
||||
interface JSZipObjectOptions {
|
||||
compression: Compression;
|
||||
}
|
||||
|
||||
interface JSZipGeneratorOptions<T extends OutputType = OutputType> {
|
||||
compression?: Compression;
|
||||
compressionOptions?: null | {
|
||||
level: number;
|
||||
};
|
||||
type?: T;
|
||||
comment?: string;
|
||||
/**
|
||||
* mime-type for the generated file.
|
||||
* Useful when you need to generate a file with a different extension, ie: “.ods”.
|
||||
* @default 'application/zip'
|
||||
*/
|
||||
mimeType?: string;
|
||||
encodeFileName?(filename: string): string;
|
||||
/** Stream the files and create file descriptors */
|
||||
streamFiles?: boolean;
|
||||
/** DOS (default) or UNIX */
|
||||
platform?: 'DOS' | 'UNIX';
|
||||
}
|
||||
|
||||
interface JSZipLoadOptions {
|
||||
base64?: boolean;
|
||||
checkCRC32?: boolean;
|
||||
optimizedBinaryString?: boolean;
|
||||
createFolders?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
interface JSZip {
|
||||
files: {[key: string]: JSZipObject};
|
||||
files: {[key: string]: JSZip.JSZipObject};
|
||||
|
||||
/**
|
||||
* Get a file from the archive
|
||||
@@ -12,7 +142,7 @@ interface JSZip {
|
||||
* @param Path relative path to file
|
||||
* @return File matching path, null if no file found
|
||||
*/
|
||||
file(path: string): JSZipObject;
|
||||
file(path: string): JSZip.JSZipObject;
|
||||
|
||||
/**
|
||||
* Get files matching a RegExp from archive
|
||||
@@ -20,20 +150,21 @@ interface JSZip {
|
||||
* @param path RegExp to match
|
||||
* @return Return all matching files or an empty array
|
||||
*/
|
||||
file(path: RegExp): JSZipObject[];
|
||||
file(path: RegExp): JSZip.JSZipObject[];
|
||||
|
||||
/**
|
||||
* Add a file to the archive
|
||||
*
|
||||
* @param path Relative path to file
|
||||
* @param content Content of the file
|
||||
* @param data Content of the file
|
||||
* @param options Optional information about the file
|
||||
* @return JSZip object
|
||||
*/
|
||||
file(path: string, data: any, options?: JSZipFileOptions): JSZip;
|
||||
file<T extends JSZip.InputType>(path: string, data: InputByType[T] | Promise<InputByType[T]>, options?: JSZip.JSZipFileOptions): this;
|
||||
file<T extends JSZip.InputType>(path: string, data: null, options?: JSZip.JSZipFileOptions & { dir: true }): this;
|
||||
|
||||
/**
|
||||
* Return an new JSZip instance with the given folder as root
|
||||
* Returns an new JSZip instance with the given folder as root
|
||||
*
|
||||
* @param name Name of the folder
|
||||
* @return New JSZip object with the given folder as root or null
|
||||
@@ -46,22 +177,22 @@ interface JSZip {
|
||||
* @param name RegExp to match
|
||||
* @return New array of JSZipFile objects which match the RegExp
|
||||
*/
|
||||
folder(name: RegExp): JSZipObject[];
|
||||
folder(name: RegExp): JSZip.JSZipObject[];
|
||||
|
||||
/**
|
||||
* Call a callback function for each entry at this folder level.
|
||||
*
|
||||
* @param callback function
|
||||
*/
|
||||
forEach(callback: (relativePath: string, file: JSZipObject) => void): void;
|
||||
forEach(callback: (relativePath: string, file: JSZip.JSZipObject) => void): void;
|
||||
|
||||
/**
|
||||
* Get all files wchich match the given filter function
|
||||
* Get all files which match the given filter function
|
||||
*
|
||||
* @param predicate Filter function
|
||||
* @return Array of matched elements
|
||||
*/
|
||||
filter(predicate: (relativePath: string, file: JSZipObject) => boolean): JSZipObject[];
|
||||
filter(predicate: (relativePath: string, file: JSZip.JSZipObject) => boolean): JSZip.JSZipObject[];
|
||||
|
||||
/**
|
||||
* Removes the file or folder from the archive
|
||||
@@ -72,26 +203,22 @@ interface JSZip {
|
||||
remove(path: string): JSZip;
|
||||
|
||||
/**
|
||||
* @deprecated since version 3.0
|
||||
* @see {@link generateAsync}
|
||||
* http://stuk.github.io/jszip/documentation/upgrade_guide.html
|
||||
* Generates a new archive asynchronously
|
||||
*
|
||||
* @param options Optional options for the generator
|
||||
* @param onUpdate The optional function called on each internal update with the metadata.
|
||||
* @return The serialized archive
|
||||
*/
|
||||
generate(options?: JSZipGeneratorOptions): any;
|
||||
generateAsync<T extends JSZip.OutputType>(options?: JSZip.JSZipGeneratorOptions<T>, onUpdate?: OnUpdateCallback): Promise<OutputByType[T]>;
|
||||
|
||||
/**
|
||||
* Generates a new archive asynchronously
|
||||
*
|
||||
* @param options Optional options for the generator
|
||||
* @return The serialized archive
|
||||
* @param onUpdate The optional function called on each internal update with the metadata.
|
||||
* @return A Node.js `ReadableStream`
|
||||
*/
|
||||
generateAsync(options?: JSZipGeneratorOptions, onUpdate?: Function): Promise<any>;
|
||||
|
||||
/**
|
||||
* @deprecated since version 3.0
|
||||
* @see {@link loadAsync}
|
||||
* http://stuk.github.io/jszip/documentation/upgrade_guide.html
|
||||
*/
|
||||
load(): void;
|
||||
generateNodeStream(options?: JSZip.JSZipGeneratorOptions<'nodebuffer'>, onUpdate?: OnUpdateCallback): NodeJS.ReadStream;
|
||||
|
||||
/**
|
||||
* Deserialize zip file asynchronously
|
||||
@@ -100,133 +227,31 @@ interface JSZip {
|
||||
* @param options Options for deserializing
|
||||
* @return Returns promise
|
||||
*/
|
||||
loadAsync(data: any, options?: JSZipLoadOptions): Promise<JSZip>;
|
||||
}
|
||||
loadAsync(data: InputFileFormat, options?: JSZip.JSZipLoadOptions): Promise<JSZip>;
|
||||
|
||||
type Serialization = ("string" | "text" | "base64" | "binarystring" | "uint8array" |
|
||||
"arraybuffer" | "blob" | "nodebuffer");
|
||||
|
||||
interface JSZipObject {
|
||||
name: string;
|
||||
dir: boolean;
|
||||
date: Date;
|
||||
comment: string;
|
||||
options: JSZipObjectOptions;
|
||||
|
||||
/**
|
||||
* Prepare the content in the asked type.
|
||||
* @param {String} type the type of the result.
|
||||
* @param {Function} onUpdate a function to call on each internal update.
|
||||
* @return Promise the promise of the result.
|
||||
*/
|
||||
async(type: Serialization, onUpdate?: Function): Promise<any>;
|
||||
|
||||
/**
|
||||
* @deprecated since version 3.0
|
||||
*/
|
||||
asText(): void;
|
||||
/**
|
||||
* @deprecated since version 3.0
|
||||
*/
|
||||
asBinary(): void;
|
||||
/**
|
||||
* @deprecated since version 3.0
|
||||
*/
|
||||
asArrayBuffer(): void;
|
||||
/**
|
||||
* @deprecated since version 3.0
|
||||
*/
|
||||
asUint8Array(): void;
|
||||
//asNodeBuffer(): void;
|
||||
}
|
||||
|
||||
interface JSZipFileOptions {
|
||||
base64?: boolean;
|
||||
binary?: boolean;
|
||||
date?: Date;
|
||||
compression?: string;
|
||||
comment?: string;
|
||||
optimizedBinaryString?: boolean;
|
||||
createFolders?: boolean;
|
||||
dir?: boolean;
|
||||
}
|
||||
|
||||
interface JSZipObjectOptions {
|
||||
/** deprecated */
|
||||
base64: boolean;
|
||||
/** deprecated */
|
||||
binary: boolean;
|
||||
/** deprecated */
|
||||
dir: boolean;
|
||||
/** deprecated */
|
||||
date: Date;
|
||||
compression: string;
|
||||
}
|
||||
|
||||
interface JSZipGeneratorOptions {
|
||||
/** deprecated */
|
||||
base64?: boolean;
|
||||
/** DEFLATE or STORE */
|
||||
compression?: string;
|
||||
/** base64 (default), string, uint8array, arraybuffer, blob */
|
||||
type?: string;
|
||||
comment?: string;
|
||||
/**
|
||||
* mime-type for the generated file.
|
||||
* Useful when you need to generate a file with a different extension, ie: “.ods”.
|
||||
*/
|
||||
mimeType?: string;
|
||||
/** streaming uses less memory */
|
||||
streamFiles?: boolean;
|
||||
/** DOS (default) or UNIX */
|
||||
platform?: string;
|
||||
}
|
||||
|
||||
interface JSZipLoadOptions {
|
||||
base64?: boolean;
|
||||
checkCRC32?: boolean;
|
||||
optimizedBinaryString?: boolean;
|
||||
createFolders?: boolean;
|
||||
}
|
||||
|
||||
interface JSZipSupport {
|
||||
arraybuffer: boolean;
|
||||
uint8array: boolean;
|
||||
blob: boolean;
|
||||
nodebuffer: boolean;
|
||||
}
|
||||
|
||||
declare var JSZip: {
|
||||
/**
|
||||
* Create JSZip instance
|
||||
*/
|
||||
|
||||
/**
|
||||
* Create JSZip instance
|
||||
* If no parameters given an empty zip archive will be created
|
||||
*
|
||||
* @param data Serialized zip archive
|
||||
* @param options Description of the serialized zip archive
|
||||
*/
|
||||
new (data?: InputFileFormat, options?: JSZip.JSZipLoadOptions): this;
|
||||
|
||||
(): JSZip;
|
||||
/**
|
||||
* Create JSZip instance
|
||||
* If no parameters given an empty zip archive will be created
|
||||
*
|
||||
* @param data Serialized zip archive
|
||||
* @param options Description of the serialized zip archive
|
||||
*/
|
||||
(data: any, options?: JSZipLoadOptions): JSZip;
|
||||
|
||||
/**
|
||||
* Create JSZip instance
|
||||
*/
|
||||
new (): JSZip;
|
||||
/**
|
||||
* Create JSZip instance
|
||||
* If no parameters given an empty zip archive will be created
|
||||
*
|
||||
* @param data Serialized zip archive
|
||||
* @param options Description of the serialized zip archive
|
||||
*/
|
||||
new (data: any, options?: JSZipLoadOptions): JSZip;
|
||||
|
||||
prototype: JSZip;
|
||||
support: JSZipSupport;
|
||||
external: {
|
||||
Promise: PromiseConstructorLike;
|
||||
};
|
||||
version: string;
|
||||
}
|
||||
|
||||
declare module "jszip" {
|
||||
export = JSZip;
|
||||
}
|
||||
declare var JSZip: JSZip;
|
||||
|
||||
export = JSZip;
|
||||
|
||||
@@ -1,32 +1,34 @@
|
||||
var SEVERITY = {
|
||||
import * as JSZip from 'jszip';
|
||||
|
||||
const SEVERITY = {
|
||||
DEBUG: 0,
|
||||
INFO: 1,
|
||||
WARN: 2,
|
||||
ERROR: 3,
|
||||
FATAL: 4
|
||||
}
|
||||
};
|
||||
|
||||
function createTestZip(): JSZip {
|
||||
var zip = new JSZip();
|
||||
const zip = new JSZip();
|
||||
zip.file("test.txt", "test string");
|
||||
zip.file("test", null, { dir: true });
|
||||
zip.file("test/test.txt", "test string");
|
||||
return zip
|
||||
return zip;
|
||||
}
|
||||
|
||||
function filterWithFileAsync(zip: JSZip, as: Serialization,
|
||||
cb: (relativePath: string, file: JSZipObject, value: any) => boolean)
|
||||
: Promise<JSZipObject[]> {
|
||||
var promises: Promise<any>[] = [];
|
||||
var promiseIndices: {[key: string]: number} = {};
|
||||
zip.forEach((relativePath: string, file: JSZipObject) => {
|
||||
var promise = file.async(as);
|
||||
function filterWithFileAsync(zip: JSZip, as: JSZip.OutputType,
|
||||
cb: (relativePath: string, file: JSZip.JSZipObject, value: any) => boolean)
|
||||
: Promise<JSZip.JSZipObject[]> {
|
||||
const promises: Array<Promise<any>> = [];
|
||||
const promiseIndices: {[key: string]: number} = {};
|
||||
zip.forEach((relativePath: string, file: JSZip.JSZipObject) => {
|
||||
const promise = file.async(as);
|
||||
promiseIndices[file.name] = promises.length;
|
||||
promises.push(promise);
|
||||
});
|
||||
return Promise.all(promises).then(function(values: any[]) {
|
||||
var filtered = zip.filter((relativePath: string, file: JSZipObject) => {
|
||||
var index = promiseIndices[file.name];
|
||||
return Promise.all(promises).then((values: any[]) => {
|
||||
const filtered = zip.filter((relativePath: string, file: JSZip.JSZipObject) => {
|
||||
const index = promiseIndices[file.name];
|
||||
return cb(relativePath, file, values[index]);
|
||||
});
|
||||
return Promise.resolve(filtered);
|
||||
@@ -34,12 +36,12 @@ function filterWithFileAsync(zip: JSZip, as: Serialization,
|
||||
}
|
||||
|
||||
function testJSZip() {
|
||||
var zip = createTestZip();
|
||||
zip.generateAsync({compression: "DEFLATE", type: "base64"}).then(function(serializedZip: any) {
|
||||
var newJszip = new JSZip();
|
||||
const zip = createTestZip();
|
||||
zip.generateAsync({compression: "DEFLATE", type: "base64"}).then((serializedZip) => {
|
||||
const newJszip = new JSZip();
|
||||
return newJszip.loadAsync(serializedZip, {base64: true/*, checkCRC32: true*/});
|
||||
}).then(function(newJszip: JSZip) {
|
||||
newJszip.file("test.txt").async('text').then(function(text: string) {
|
||||
}).then((newJszip: JSZip) => {
|
||||
newJszip.file("test.txt").async('text').then((text: string) => {
|
||||
if (text === "test string") {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
@@ -47,7 +49,7 @@ function testJSZip() {
|
||||
}
|
||||
}).catch((e: any) => log(SEVERITY.ERROR, e));
|
||||
|
||||
newJszip.file("test/test.txt").async('text').then(function(text: string) {
|
||||
newJszip.file("test/test.txt").async('text').then((text: string) => {
|
||||
if (text === "test string") {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
@@ -55,20 +57,20 @@ function testJSZip() {
|
||||
}
|
||||
}).catch((e: any) => log(SEVERITY.ERROR, e));
|
||||
|
||||
var folder = newJszip.folder("test");
|
||||
folder.file("test.txt").async('text').then(function(text: string) {
|
||||
if (text == "test string") {
|
||||
const folder = newJszip.folder("test");
|
||||
folder.file("test.txt").async('text').then((text: string) => {
|
||||
if (text === "test string") {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
log(SEVERITY.ERROR, "wrong file");
|
||||
}
|
||||
}).catch((e: any) => log(SEVERITY.ERROR, e));
|
||||
|
||||
var folders = newJszip.folder(new RegExp("^test"));
|
||||
const folders = newJszip.folder(new RegExp("^test"));
|
||||
|
||||
if (folders.length == 1) {
|
||||
if (folders.length === 1) {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
if (folders[0].dir == true) {
|
||||
if (folders[0].dir) {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
log(SEVERITY.ERROR, "wrong file");
|
||||
@@ -77,11 +79,11 @@ function testJSZip() {
|
||||
log(SEVERITY.ERROR, "wrong number of folder");
|
||||
}
|
||||
|
||||
var files = newJszip.file(new RegExp("^test"));
|
||||
if (files.length == 2) {
|
||||
const files = newJszip.file(new RegExp("^test"));
|
||||
if (files.length === 2) {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
Promise.all([files[0].async('text'), files[1].async('text')]).then(function(texts: string[]) {
|
||||
if (texts[0] == "test string" && texts[1] == 'test string') {
|
||||
Promise.all([files[0].async('text'), files[1].async('text')]).then((texts: string[]) => {
|
||||
if (texts[0] === "test string" && texts[1] === 'test string') {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
log(SEVERITY.ERROR, "wrong data in files");
|
||||
@@ -91,32 +93,32 @@ function testJSZip() {
|
||||
log(SEVERITY.ERROR, "wrong number of files");
|
||||
}
|
||||
|
||||
filterWithFileAsync(newJszip, 'text', (relativePath: string, file: JSZipObject, text: string) => {
|
||||
if (text == "test string") {
|
||||
filterWithFileAsync(newJszip, 'text', (relativePath: string, file: JSZip.JSZipObject, text: string) => {
|
||||
if (text === "test string") {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).then(function(filterFiles: JSZipObject[]) {
|
||||
if (filterFiles.length == 2) {
|
||||
}).then((filterFiles: JSZip.JSZipObject[]) => {
|
||||
if (filterFiles.length === 2) {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
log(SEVERITY.ERROR, "wrong number of files");
|
||||
}
|
||||
}).catch((e: any) => log(SEVERITY.ERROR, e));
|
||||
}).catch((e: any)=> { console.error(e) });
|
||||
}).catch((e: any) => { console.error(e); });
|
||||
}
|
||||
|
||||
function testJSZipRemove() {
|
||||
var newJszip = createTestZip();
|
||||
const newJszip = createTestZip();
|
||||
newJszip.remove("test/test.txt");
|
||||
|
||||
filterWithFileAsync(newJszip, 'text', (relativePath: string, file: JSZipObject, text: string) => {
|
||||
if (text == "test string") {
|
||||
filterWithFileAsync(newJszip, 'text', (relativePath: string, file: JSZip.JSZipObject, text: string) => {
|
||||
if (text === "test string") {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).then(function(filterFiles: JSZipObject[]) {
|
||||
if (filterFiles.length == 1) {
|
||||
}).then((filterFiles: JSZip.JSZipObject[]) => {
|
||||
if (filterFiles.length === 1) {
|
||||
log(SEVERITY.INFO, "all ok");
|
||||
} else {
|
||||
log(SEVERITY.ERROR, "wrong number of files");
|
||||
@@ -124,9 +126,9 @@ function testJSZipRemove() {
|
||||
}).catch((e: any) => log(SEVERITY.ERROR, e));
|
||||
}
|
||||
|
||||
function log(severity:number, message: any) {
|
||||
var log = "";
|
||||
switch(severity) {
|
||||
function log(severity: number, message: any) {
|
||||
let log = "";
|
||||
switch (severity) {
|
||||
case 0:
|
||||
log += "[DEBUG] ";
|
||||
break;
|
||||
@@ -143,7 +145,7 @@ function log(severity:number, message: any) {
|
||||
log += "[FATAL] ";
|
||||
break;
|
||||
default:
|
||||
log += "[INFO]"
|
||||
log += "[INFO]";
|
||||
break;
|
||||
}
|
||||
console.log(log += message);
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"lib": [
|
||||
"es6",
|
||||
"es2015",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
@@ -20,4 +21,4 @@
|
||||
"index.d.ts",
|
||||
"jszip-tests.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
6
types/jszip/tslint.json
Normal file
6
types/jszip/tslint.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json",
|
||||
"rules": {
|
||||
"no-unnecessary-generics": false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user