@powersync/lib-services-framework 0.0.0-dev-20241007145127 → 0.0.0-dev-20241015210820
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/BaseObserver.d.ts +4 -1
- package/dist/utils/BaseObserver.js.map +1 -1
- package/dist/utils/DisposableObserver.d.ts +18 -0
- package/dist/utils/DisposableObserver.js +18 -0
- package/dist/utils/DisposableObserver.js.map +1 -0
- package/dist/utils/utils-index.d.ts +1 -0
- package/dist/utils/utils-index.js +1 -0
- package/dist/utils/utils-index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseObserver.js","sourceRoot":"","sources":["../../src/utils/BaseObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseObserver.js","sourceRoot":"","sources":["../../src/utils/BaseObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAMlC,MAAM,OAAO,YAAY;IAGvB;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,gBAAgB,CAAC,QAAoB;QACnC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,EAAiC;QAChD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAA0C;QACpE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseObserver, ObserverClient } from './BaseObserver.js';
|
|
2
|
+
export interface DisposableListener {
|
|
3
|
+
/**
|
|
4
|
+
* Event which is fired when the `[Symbol.disposed]` method is called.
|
|
5
|
+
*/
|
|
6
|
+
disposed: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface DisposableObserverClient<T extends DisposableListener> extends ObserverClient<T>, Disposable {
|
|
9
|
+
/**
|
|
10
|
+
* Registers a listener that is automatically disposed when the parent is disposed.
|
|
11
|
+
* This is useful for disposing nested listeners.
|
|
12
|
+
*/
|
|
13
|
+
registerManagedListener: (parent: DisposableObserverClient<DisposableListener>, cb: Partial<T>) => () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare class DisposableObserver<T extends DisposableListener> extends BaseObserver<T> implements DisposableObserverClient<T> {
|
|
16
|
+
registerManagedListener(parent: DisposableObserverClient<DisposableListener>, cb: Partial<T>): () => void;
|
|
17
|
+
[Symbol.dispose](): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseObserver } from './BaseObserver.js';
|
|
2
|
+
export class DisposableObserver extends BaseObserver {
|
|
3
|
+
registerManagedListener(parent, cb) {
|
|
4
|
+
const disposer = this.registerListener(cb);
|
|
5
|
+
parent.registerListener({
|
|
6
|
+
disposed: () => {
|
|
7
|
+
disposer();
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
return disposer;
|
|
11
|
+
}
|
|
12
|
+
[Symbol.dispose]() {
|
|
13
|
+
this.iterateListeners((cb) => cb.disposed?.());
|
|
14
|
+
// Delete all callbacks
|
|
15
|
+
Object.keys(this.listeners).forEach((key) => delete this.listeners[key]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=DisposableObserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisposableObserver.js","sourceRoot":"","sources":["../../src/utils/DisposableObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAiBjE,MAAM,OAAO,kBACX,SAAQ,YAAe;IAGvB,uBAAuB,CAAC,MAAoD,EAAE,EAAc;QAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC;YACtB,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,EAAE,CAAC;YACb,CAAC;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,uBAAuB;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-index.js","sourceRoot":"","sources":["../../src/utils/utils-index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils-index.js","sourceRoot":"","sources":["../../src/utils/utils-index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powersync/lib-services-framework",
|
|
3
3
|
"repository": "https://github.com/powersync-ja/powersync-service",
|
|
4
|
-
"version": "0.0.0-dev-
|
|
4
|
+
"version": "0.0.0-dev-20241015210820",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "dist/index.d.ts",
|