From 1a80f80086b87b17792baaa6895573855d2556cf Mon Sep 17 00:00:00 2001 From: dfahlander Date: Fri, 22 Oct 2021 09:52:35 +0200 Subject: [PATCH 1/2] Let liveQuery() be type-wise compable with RxJS --- src/classes/observable/observable.ts | 6 +++--- src/public/types/observable.d.ts | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/classes/observable/observable.ts b/src/classes/observable/observable.ts index ddf974cd7..c890c50ae 100644 --- a/src/classes/observable/observable.ts +++ b/src/classes/observable/observable.ts @@ -4,10 +4,10 @@ import { Subscription, } from "../../public/types/observable"; -const symbolObservable = +const symbolObservable: typeof Symbol.observable = typeof Symbol !== "undefined" && "observable" in Symbol - ? Symbol["observable"] - : "@@observable"; + ? Symbol.observable + : "@@observable" as any; export class Observable implements IObservable { private _subscribe: (observer: Observer) => Subscription; diff --git a/src/public/types/observable.d.ts b/src/public/types/observable.d.ts index c966c78d4..9c2c4a39c 100644 --- a/src/public/types/observable.d.ts +++ b/src/public/types/observable.d.ts @@ -1,5 +1,10 @@ // There typings are extracted from https://github.com/tc39/proposal-observable +declare global { + interface SymbolConstructor { + readonly observable: symbol; + } +} export interface Observable { subscribe( onNext?: ((value: T) => void) | null, @@ -7,6 +12,7 @@ export interface Observable { onComplete?: (() => void) | null ): Subscription; subscribe(observer?: Observer | null): Subscription; + [Symbol.observable]: () => Observable; } export interface Subscription { From ea5135b336d1f30c268797c1dadab4e1f968db5a Mon Sep 17 00:00:00 2001 From: dfahlander Date: Tue, 26 Oct 2021 16:00:41 +0200 Subject: [PATCH 2/2] Flag for dts-bundle-generator to inline global declarations. --- package-lock.json | 14 +++++++------- package.json | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09d754f98..b0c7ff213 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "3.2.0-rc.2", "license": "Apache-2.0", "devDependencies": { - "dts-bundle-generator": "^5.7.0", + "dts-bundle-generator": "^5.9.0", "just-build": "^0.9.19", "karma": "^6.1.1", "karma-browserstack-launcher": "^1.5.2", @@ -588,9 +588,9 @@ } }, "node_modules/dts-bundle-generator": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-5.7.0.tgz", - "integrity": "sha512-sSFtdHL/G8y90wWRB8HCWPwdXXbToOuPLgON1q8f1+vXuiDdRez12M4RAf770dLWb05ekaFdYYGaT68jUU52zw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-5.9.0.tgz", + "integrity": "sha512-wzxUa9nfGL09Sg+gD3jqA8kYIA9A/olenvP2MmZ6IGTlUxR8G1z4U+0+OfUEL6OH1mzn6xsD8EOVgpNnGDi8tQ==", "dev": true, "dependencies": { "typescript": ">=3.0.1", @@ -3188,9 +3188,9 @@ } }, "dts-bundle-generator": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-5.7.0.tgz", - "integrity": "sha512-sSFtdHL/G8y90wWRB8HCWPwdXXbToOuPLgON1q8f1+vXuiDdRez12M4RAf770dLWb05ekaFdYYGaT68jUU52zw==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-5.9.0.tgz", + "integrity": "sha512-wzxUa9nfGL09Sg+gD3jqA8kYIA9A/olenvP2MmZ6IGTlUxR8G1z4U+0+OfUEL6OH1mzn6xsD8EOVgpNnGDi8tQ==", "dev": true, "requires": { "typescript": ">=3.0.1", diff --git a/package.json b/package.json index 0e9e41b03..2c78a5c4f 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "node ../tools/replaceVersionAndDate.js ../dist/dexie.js", "node ../tools/replaceVersionAndDate.js ../dist/dexie.mjs", "node ../tools/replaceVersionAndDate.js ../dist/modern/dexie.mjs", - "dts-bundle-generator --inline-declare-externals -o ../dist/dexie.d.ts public/index.d.ts", + "dts-bundle-generator --inline-declare-global --inline-declare-externals -o ../dist/dexie.d.ts public/index.d.ts", "node ../tools/prepend.js ../dist/dexie.d.ts ../tools/build-configs/banner.txt", "node ../tools/replaceVersionAndDate.js ../dist/dexie.d.ts" ], @@ -94,7 +94,7 @@ }, "homepage": "https://dexie.org", "devDependencies": { - "dts-bundle-generator": "^5.7.0", + "dts-bundle-generator": "^5.9.0", "just-build": "^0.9.19", "karma": "^6.1.1", "karma-browserstack-launcher": "^1.5.2",