From 13e30871448fd640287ad9d60175bf3ee118765e Mon Sep 17 00:00:00 2001 From: Neal Beeken Date: Thu, 29 Oct 2020 15:02:47 -0400 Subject: [PATCH] fix: :bug: Downlevel type definitions for community deprecation Our definitions need to be made compatible with older versions of typescript, downlevel-dts handles this NODE-2844 --- package-lock.json | 25 +++++++++++++++++++++++++ package.json | 3 ++- src/long.ts | 3 ++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc295c22..8d74b809 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2830,6 +2830,31 @@ } } }, + "downlevel-dts": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/downlevel-dts/-/downlevel-dts-0.7.0.tgz", + "integrity": "sha512-tcjGqElN0/oad/LJBlaxmZ3zOYEQOBbGuirKzif8s1jeRiWBdNX9H6OBFlRjOQkosXgV+qSjs4osuGCivyZ4Jw==", + "dev": true, + "requires": { + "semver": "^7.3.2", + "shelljs": "^0.8.3", + "typescript": "^4.1.0-dev.20201026" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "typescript": { + "version": "4.1.0-dev.20201029", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.0-dev.20201029.tgz", + "integrity": "sha512-79ZW2B8s4P1ZvR8KLv4gnJfn01oCmHZkhs4CsVR8nnJN1yD6xbbf/rEAD3ROcAvD20oQ+RYEId3B67YqcFPmCg==", + "dev": true + } + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", diff --git a/package.json b/package.json index a8a148eb..abc89a4c 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@typescript-eslint/parser": "^3.10.1", "benchmark": "^2.1.4", "chai": "^4.2.0", + "downlevel-dts": "^0.7.0", "eslint": "^7.7.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", @@ -81,7 +82,7 @@ "test-node": "mocha test/node", "test-browser": "karma start karma.conf.js", "build:ts": "tsc", - "build:dts": "npm run build:ts && api-extractor run --typescript-compiler-folder node_modules/typescript --local && rimraf 'lib/**/*.d.ts*'", + "build:dts": "npm run build:ts && api-extractor run --typescript-compiler-folder node_modules/typescript --local && rimraf 'lib/**/*.d.ts*' && downlevel-dts bson.d.ts bson.d.ts", "build:bundle": "rollup -c rollup.config.js", "build": "npm run build:dts && npm run build:bundle", "lint": "eslint -v && eslint --ext '.js,.ts' --max-warnings=0 src test && tsc -v && tsc --noEmit", diff --git a/src/long.ts b/src/long.ts index a4bd97a9..c445baca 100644 --- a/src/long.ts +++ b/src/long.ts @@ -291,7 +291,8 @@ export class Long { /** * Tests if the specified object is a Long. */ - static isLong(value: unknown): value is Long { + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types + static isLong(value: any): value is Long { return isObjectLike(value) && value['__isLong__'] === true; }