From 8f3a3fe440e9a9b84650f222580a05f92ebe7804 Mon Sep 17 00:00:00 2001 From: Ross Solomon Date: Mon, 13 Aug 2018 17:15:29 -0700 Subject: [PATCH 1/4] Add definition for shallow-equals --- .github/CODEOWNERS | 1 + types/shallow-equals/index.d.ts | 16 ++++++++++++++++ types/shallow-equals/shallow-equals-tests.ts | 10 ++++++++++ types/shallow-equals/tsconfig.json | 16 ++++++++++++++++ types/shallow-equals/tslint.json | 3 +++ 5 files changed, 46 insertions(+) create mode 100644 types/shallow-equals/index.d.ts create mode 100644 types/shallow-equals/shallow-equals-tests.ts create mode 100644 types/shallow-equals/tsconfig.json create mode 100644 types/shallow-equals/tslint.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8c7f823a07..d15d79bc9d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3968,6 +3968,7 @@ /types/set-value/ @DanielRosenwasser /types/settings/ @shreyjain1994 /types/sha1/ @arcdev1 +/types/shallow-equals/ @rsolomon /types/shallowequal/ @seansfkelley /types/shapefile/ @DenisCarriere /types/sharedworker/ @nakakura diff --git a/types/shallow-equals/index.d.ts b/types/shallow-equals/index.d.ts new file mode 100644 index 0000000000..126366f74f --- /dev/null +++ b/types/shallow-equals/index.d.ts @@ -0,0 +1,16 @@ +// Type definitions for shallow-equals v1.0.0 +// Project: https://github.com/hughsk/shallow-equals +// Definitions by: Ross Solomon +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare function shallowEquals( + a?: A, + b?: B, + compare?: (objA?: A, objB?: B) => boolean, +): boolean; + +declare namespace shallowEquals { + +} + +export = shallowEquals; diff --git a/types/shallow-equals/shallow-equals-tests.ts b/types/shallow-equals/shallow-equals-tests.ts new file mode 100644 index 0000000000..092e3557e1 --- /dev/null +++ b/types/shallow-equals/shallow-equals-tests.ts @@ -0,0 +1,10 @@ +import shallowEquals = require('shallow-equals'); + +const a = {}; +const b = {}; +function compare(a: object, b: object) { + return false; +} + +shallowEquals(a, b); +shallowEquals(a, b, compare); diff --git a/types/shallow-equals/tsconfig.json b/types/shallow-equals/tsconfig.json new file mode 100644 index 0000000000..74f59acd72 --- /dev/null +++ b/types/shallow-equals/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "shallow-equals-tests.ts"] +} diff --git a/types/shallow-equals/tslint.json b/types/shallow-equals/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/shallow-equals/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} From 193bd151a15c9bbd81f938136eea24a26b575c5a Mon Sep 17 00:00:00 2001 From: Ross Solomon Date: Mon, 13 Aug 2018 17:26:00 -0700 Subject: [PATCH 2/4] Use generator --- types/shallow-equals/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types/shallow-equals/index.d.ts b/types/shallow-equals/index.d.ts index 126366f74f..87c4145585 100644 --- a/types/shallow-equals/index.d.ts +++ b/types/shallow-equals/index.d.ts @@ -3,14 +3,14 @@ // Definitions by: Ross Solomon // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare function shallowEquals( +export = shallow_equals; + +declare function shallow_equals( a?: A, b?: B, compare?: (objA?: A, objB?: B) => boolean, ): boolean; -declare namespace shallowEquals { +declare namespace shallow_equals { } - -export = shallowEquals; From 2fe4a041ad416d25f667aa421e1f7d572dd20582 Mon Sep 17 00:00:00 2001 From: Ross Solomon Date: Mon, 13 Aug 2018 17:40:37 -0700 Subject: [PATCH 3/4] Fix prettier mistakes --- types/shallow-equals/index.d.ts | 12 +++++------- types/shallow-equals/shallow-equals-tests.ts | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/types/shallow-equals/index.d.ts b/types/shallow-equals/index.d.ts index 87c4145585..69e1a6c552 100644 --- a/types/shallow-equals/index.d.ts +++ b/types/shallow-equals/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for shallow-equals v1.0.0 +// Type definitions for shallow-equals 1.0 // Project: https://github.com/hughsk/shallow-equals // Definitions by: Ross Solomon // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -6,11 +6,9 @@ export = shallow_equals; declare function shallow_equals( - a?: A, - b?: B, - compare?: (objA?: A, objB?: B) => boolean, + a?: A, + b?: B, + compare?: (objA?: A, objB?: B) => boolean, ): boolean; -declare namespace shallow_equals { - -} +declare namespace shallow_equals {} diff --git a/types/shallow-equals/shallow-equals-tests.ts b/types/shallow-equals/shallow-equals-tests.ts index 092e3557e1..87512c9f43 100644 --- a/types/shallow-equals/shallow-equals-tests.ts +++ b/types/shallow-equals/shallow-equals-tests.ts @@ -1,9 +1,18 @@ import shallowEquals = require('shallow-equals'); -const a = {}; -const b = {}; -function compare(a: object, b: object) { - return false; +interface A { + foo: string; +} + +interface B { + foo: string; + bar?: string; +} + +const a: A = { foo: 'bar' }; +const b: B = { foo: 'baz' }; +function compare(a: A, b: B) { + return false; } shallowEquals(a, b); From ae7488c42654616e3d7997866d058f09aa6dc899 Mon Sep 17 00:00:00 2001 From: Ross Solomon Date: Tue, 14 Aug 2018 17:13:06 -0700 Subject: [PATCH 4/4] Remove codeowner; add back lint rule; fix types --- .github/CODEOWNERS | 1 - types/shallow-equals/index.d.ts | 4 +--- types/shallow-equals/tsconfig.json | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d15d79bc9d..8c7f823a07 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3968,7 +3968,6 @@ /types/set-value/ @DanielRosenwasser /types/settings/ @shreyjain1994 /types/sha1/ @arcdev1 -/types/shallow-equals/ @rsolomon /types/shallowequal/ @seansfkelley /types/shapefile/ @DenisCarriere /types/sharedworker/ @nakakura diff --git a/types/shallow-equals/index.d.ts b/types/shallow-equals/index.d.ts index 69e1a6c552..7d91b03923 100644 --- a/types/shallow-equals/index.d.ts +++ b/types/shallow-equals/index.d.ts @@ -8,7 +8,5 @@ export = shallow_equals; declare function shallow_equals( a?: A, b?: B, - compare?: (objA?: A, objB?: B) => boolean, + compare?: (objA: A, objB: B) => boolean, ): boolean; - -declare namespace shallow_equals {} diff --git a/types/shallow-equals/tsconfig.json b/types/shallow-equals/tsconfig.json index 74f59acd72..83137182f4 100644 --- a/types/shallow-equals/tsconfig.json +++ b/types/shallow-equals/tsconfig.json @@ -4,7 +4,7 @@ "lib": ["es6"], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": ["../"],