From c326abb53bce78217cd74fe9f400ffdedcaa2d9b Mon Sep 17 00:00:00 2001 From: Michael Dodge Date: Wed, 2 May 2018 17:05:37 -0600 Subject: [PATCH] Fix missing setOptions arg --- types/ace-diff/ace-diff-tests.ts | 14 +++++++++----- types/ace-diff/index.d.ts | 15 ++++++++++----- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/types/ace-diff/ace-diff-tests.ts b/types/ace-diff/ace-diff-tests.ts index 9c9eb4cfb96da4..52e64589a393c1 100644 --- a/types/ace-diff/ace-diff-tests.ts +++ b/types/ace-diff/ace-diff-tests.ts @@ -2,17 +2,21 @@ import AceDiff = require('ace-diff'); new AceDiff(); // $ExpectError -const aceDiffOpts = { +const aceDiffConstructorOpts = { element: '.acediff', left: { content: 'left content' }, - right: { content: 'left content' }, + right: { content: 'right content' }, }; -new AceDiff(aceDiffOpts); // $ExpectType AceDiff +new AceDiff(aceDiffConstructorOpts); // $ExpectType AceDiff -const differ = new AceDiff(aceDiffOpts); +const differ = new AceDiff(aceDiffConstructorOpts); differ.getEditors(); // $ExpectType { left: any; right: any; } -differ.setOptions(); // $ExpectType void +differ.setOptions(); // $ExpectError +const aceDiffOpts = { + diffGranularity: 'broad' as 'broad', // workaround: cast to avoid https://github.com/Microsoft/TypeScript/issues/11465#issuecomment-252453037 +}; +differ.setOptions(aceDiffOpts); // $ExpectType void differ.getNumDiffs(); // $ExpectType number differ.diff(); // $ExpectType void differ.destroy(); // $ExpectType void diff --git a/types/ace-diff/index.d.ts b/types/ace-diff/index.d.ts index f381aedfed7ace..b59b3d25e2bd84 100644 --- a/types/ace-diff/index.d.ts +++ b/types/ace-diff/index.d.ts @@ -8,12 +8,12 @@ export as namespace AceDiff; export = AceDiff; declare class AceDiff { - constructor(opts: AceDiff.AceDiffOpts); + constructor(opts: AceDiff.AceDiffConstructorOpts); getEditors(): { left: any; right: any; }; - setOptions(): void; + setOptions(options: AceDiff.AceDiffOpts): void; getNumDiffs(): number; diff(): void; destroy(): void; @@ -27,16 +27,21 @@ declare namespace AceDiff { copyLinkEnabled?: boolean; } - interface AceDiffOpts { + interface AceDiffConstructorOpts extends AceDiffOpts { element: string | HTMLElement; + left: AceDiffLROpts; + right: AceDiffLROpts; + } + + interface AceDiffOpts { mode?: string; theme?: string; diffGranularity?: 'specific' | 'broad'; showDiffs?: boolean; showConnectors?: boolean; maxDiffs?: number; - left: AceDiffLROpts; - right: AceDiffLROpts; + left?: AceDiffLROpts; + right?: AceDiffLROpts; classes?: { diff: string; connector: string;