From 1076de353a5a0c1c107ed64df119612a1c541a7f Mon Sep 17 00:00:00 2001 From: Marvin Hagemeister Date: Fri, 26 May 2017 12:59:08 +0200 Subject: [PATCH] Add typescript typings --- index.d.ts | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 76 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..60aaa29 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,75 @@ +declare module "magic-string" { + export interface BundleOptions { + intro?: string; + separator?: string; + } + + export interface SourceMapOptions { + hires: boolean; + file: string; + sources: string[]; + sourcesContent: string; + includeContent: boolean; + names: string[]; + mappings: string[]; + } + + class SourceMap { + constructor(properties: SourceMapOptions); + toString(): string; + toUrl(): string; + } + + export class Bundle { + constructor(options?: BundleOptions); + addSource(source: MagicString | { content: MagicString }): Bundle; + append(str: string, options: BundleOptions): Bundle; + clone(): Bundle; + generateMap(options?: SourceMapOptions): SourceMap; + getIndentString(): string; + indent(indentStr: string): Bundle; + prepend(str: string): Bundle; + toString(): string; + trimLines(): string; + trim(charType: string): string; + trimStart(charType: string): Bundle; + trimEnd(charType: string): Bundle; + } + + export interface MagicStringOptions { + filename: string, + indentExclusionRanges: any; // TODO + } + + export interface IndentOptions { + exclude: any; // TODO + indentStart: boolean; + } + + export interface OverwriteOptions { + storeName: boolean; + contentOnly: boolean; + } + + export default class MagicString { + constructor(str: string, options?: MagicStringOptions); + addSourcemapLocation(char: string): void; + append(content: string): MagicString; + appendLeft(index: number, content: string): MagicString; + appendRight(index: number, content: string): MagicString; + clone(): MagicString; + generateMap(options?: SourceMapOptions); + getIndentString(): string; + + indent(options?): MagicString; + indent(indentStr: string, options: IndentOptions): MagicString; + + move(start: number, end: number, index: number): MagicString; + overwrite(start: number, end: number, content: string, options: boolean | OverwriteOptions): MagicString; + prepend(content: string): MagicString; + prependLeft(index: number, content: string): MagicString; + prependRight(index: number, content: string): MagicString; + remove(start: number, end: number): MagicString; + slice(start: number, end: number): string; + } +} diff --git a/package.json b/package.json index 4b26d29..c4d869f 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "main": "dist/magic-string.cjs.js", "module": "dist/magic-string.es.js", "jsnext:main": "dist/magic-string.es.js", + "typings": "index.d.ts", "license": "MIT", "dependencies": { "vlq": "^0.2.1"