@dereekb/dbx-firebase 9.5.1 → 9.5.4
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { lazyFrom, loadingStateFromObs } from '@dereekb/rxjs';
|
|
2
2
|
import { firstValue } from '@dereekb/util';
|
|
3
|
-
import { first, from
|
|
3
|
+
import { shareReplay, exhaustMap, first, from } from 'rxjs';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseCreateFunction result and sets the key of the created value.
|
|
6
6
|
*
|
|
@@ -25,7 +25,7 @@ export function firebaseDocumentStoreCreateFunction(store, fn) {
|
|
|
25
25
|
* @returns
|
|
26
26
|
*/
|
|
27
27
|
export function firebaseDocumentStoreCrudFunction(fn) {
|
|
28
|
-
return (params) => loadingStateFromObs(from(fn(params)));
|
|
28
|
+
return (params) => loadingStateFromObs(from(fn(params)).pipe(shareReplay(1)));
|
|
29
29
|
}
|
|
30
30
|
// MARK: Update
|
|
31
31
|
/**
|
|
@@ -38,10 +38,10 @@ export function firebaseDocumentStoreCrudFunction(fn) {
|
|
|
38
38
|
* @returns
|
|
39
39
|
*/
|
|
40
40
|
export function firebaseDocumentStoreUpdateFunction(store, fn) {
|
|
41
|
-
return (params) => loadingStateFromObs(store.key$.pipe(first(),
|
|
41
|
+
return (params) => loadingStateFromObs(store.key$.pipe(first(), exhaustMap((key) => fn({
|
|
42
42
|
...params,
|
|
43
43
|
key // inject key into the parameters.
|
|
44
|
-
}))));
|
|
44
|
+
})), shareReplay(1)));
|
|
45
45
|
}
|
|
46
46
|
// MARK: Delete
|
|
47
47
|
/**
|
|
@@ -54,12 +54,12 @@ export function firebaseDocumentStoreUpdateFunction(store, fn) {
|
|
|
54
54
|
* @returns
|
|
55
55
|
*/
|
|
56
56
|
export function firebaseDocumentStoreDeleteFunction(store, fn) {
|
|
57
|
-
return (params) => loadingStateFromObs(store.key$.pipe(first(),
|
|
57
|
+
return (params) => loadingStateFromObs(store.key$.pipe(first(), exhaustMap((key) => fn({
|
|
58
58
|
...params,
|
|
59
59
|
key // inject key into the parameters.
|
|
60
60
|
}).then((result) => {
|
|
61
61
|
store.clearRefs();
|
|
62
62
|
return result;
|
|
63
|
-
}))));
|
|
63
|
+
})), shareReplay(1)));
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuY3J1ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N0b3JlL3N0b3JlLmRvY3VtZW50LmNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQU14RTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBQWlFLEtBQXlDLEVBQUUsRUFBcUM7SUFDbE0sT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFLENBQ25CLG1CQUFtQixDQUNqQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQ1osRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLElBQUksUUFBUSxFQUFFO1lBQ1osS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztBQUNOLENBQUM7QUFJRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBYyxFQUFtQztJQUNoRyxPQUFPLENBQUMsTUFBUyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQWNELGVBQWU7QUFDZjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FBNkQsS0FBeUMsRUFBRSxFQUFxQztJQUM5TCxPQUFPLENBQUMsTUFBc0QsRUFBRSxFQUFFLENBQ2hFLG1CQUFtQixDQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDYixLQUFLLEVBQUUsRUFDUCxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQixFQUFFLENBQUM7UUFDRCxHQUFHLE1BQU07UUFDVCxHQUFHLENBQUMsa0NBQWtDO0tBQ2xDLENBQUMsQ0FDUixFQUNELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUNGLENBQUM7QUFDTixDQUFDO0FBRUQsZUFBZTtBQUNmOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1DQUFtQyxDQUE2RCxLQUF5QyxFQUFFLEVBQXFDO0lBQzlMLE9BQU8sQ0FBQyxNQUFzRCxFQUFFLEVBQUUsQ0FDaEUsbUJBQW1CLENBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNiLEtBQUssRUFBRSxFQUNQLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2pCLEVBQUUsQ0FBQztRQUNELEdBQUcsTUFBTTtRQUNULEdBQUcsQ0FBQyxrQ0FBa0M7S0FDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3RCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNsQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FDSCxFQUNELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUNGLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxGaXJlYmFzZUNyZWF0ZUZ1bmN0aW9uLCBNb2RlbEZpcmViYXNlRGVsZXRlRnVuY3Rpb24sIE1vZGVsRmlyZWJhc2VVcGRhdGVGdW5jdGlvbiwgT25DYWxsQ3JlYXRlTW9kZWxSZXN1bHQsIFRhcmdldE1vZGVsUGFyYW1zLCBJbmZlcnJlZFRhcmdldE1vZGVsUGFyYW1zLCBNb2RlbEZpcmViYXNlQ3J1ZEZ1bmN0aW9uIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgbGF6eUZyb20sIExvYWRpbmdTdGF0ZSwgbG9hZGluZ1N0YXRlRnJvbU9icyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZSwgUGFydGlhbE9uS2V5cyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIGV4aGF1c3RNYXAsIGZpcnN0LCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgfSBmcm9tICcuL3N0b3JlLmRvY3VtZW50JztcblxuLy8gTUFSSzogQ3JlYXRlXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDcmVhdGVGdW5jdGlvbjxJLCBPIGV4dGVuZHMgT25DYWxsQ3JlYXRlTW9kZWxSZXN1bHQgPSBPbkNhbGxDcmVhdGVNb2RlbFJlc3VsdD4gPSAocGFyYW1zOiBJKSA9PiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxPPj47XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGZvciBhIHN0b3JlIHRoYXQgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIGNhcHR1cmVzIHRoZSBNb2RlbEZpcmViYXNlQ3JlYXRlRnVuY3Rpb24gcmVzdWx0IGFuZCBzZXRzIHRoZSBrZXkgb2YgdGhlIGNyZWF0ZWQgdmFsdWUuXG4gKlxuICogQHBhcmFtIHN0b3JlXG4gKiBAcGFyYW0gZm5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXJlYmFzZURvY3VtZW50U3RvcmVDcmVhdGVGdW5jdGlvbjxJLCBPIGV4dGVuZHMgT25DYWxsQ3JlYXRlTW9kZWxSZXN1bHQgPSBPbkNhbGxDcmVhdGVNb2RlbFJlc3VsdD4oc3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4sIGZuOiBNb2RlbEZpcmViYXNlQ3JlYXRlRnVuY3Rpb248SSwgTz4pOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDcmVhdGVGdW5jdGlvbjxJLCBPPiB7XG4gIHJldHVybiAocGFyYW1zOiBJKSA9PlxuICAgIGxvYWRpbmdTdGF0ZUZyb21PYnMoXG4gICAgICBsYXp5RnJvbSgoKSA9PlxuICAgICAgICBmbihwYXJhbXMpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1vZGVsS2V5cyA9IHJlc3VsdC5tb2RlbEtleXM7XG4gICAgICAgICAgY29uc3QgZmlyc3RLZXkgPSBmaXJzdFZhbHVlKG1vZGVsS2V5cyk7XG5cbiAgICAgICAgICBpZiAoZmlyc3RLZXkpIHtcbiAgICAgICAgICAgIHN0b3JlLnNldEtleShmaXJzdEtleSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xufVxuXG5leHBvcnQgdHlwZSBEYnhmaXJlYmFzZURvY3VtZW50U3RvcmVDcnVkRnVuY3Rpb248SSwgTyA9IHZvaWQ+ID0gKGlucHV0OiBJKSA9PiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxPPj47XG5cbi8qKlxuICogQ3JlYXRlcyBhIERieGZpcmViYXNlRG9jdW1lbnRTdG9yZUNydWRGdW5jdGlvbiBmcm9tIHRoZSBpbnB1dCBNb2RlbEZpcmViYXNlQ3J1ZEZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBmblxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpcmViYXNlRG9jdW1lbnRTdG9yZUNydWRGdW5jdGlvbjxJLCBPID0gdm9pZD4oZm46IE1vZGVsRmlyZWJhc2VDcnVkRnVuY3Rpb248SSwgTz4pOiBEYnhmaXJlYmFzZURvY3VtZW50U3RvcmVDcnVkRnVuY3Rpb248SSwgTz4ge1xuICByZXR1cm4gKHBhcmFtczogSSkgPT4gbG9hZGluZ1N0YXRlRnJvbU9icyhmcm9tKGZuKHBhcmFtcykpLnBpcGUoc2hhcmVSZXBsYXkoMSkpKTtcbn1cblxuLy8gTUFSSzogVGFyZ2V0ZWQgRnVuY3Rpb25zXG4vKipcbiAqIEEgcGFyYW1ldGVyIHRoYXQgcmVmZXJzIHRvIGEgc3BlY2lmaWMga2V5LlxuICovXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtcyA9IFRhcmdldE1vZGVsUGFyYW1zIHwgSW5mZXJyZWRUYXJnZXRNb2RlbFBhcmFtcztcblxuLyoqXG4gKiBVc2VkIGZvciB0aGUgaW5wdXQgdG8gcmVsYXRlZCBmdW5jdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb25QYXJhbXNJbnB1dDxJIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb25QYXJhbXM+ID0gUGFydGlhbE9uS2V5czxJLCAna2V5Jz47XG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvbjxJIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb25QYXJhbXMsIE8gPSB2b2lkPiA9IERieGZpcmViYXNlRG9jdW1lbnRTdG9yZUNydWRGdW5jdGlvbjxEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtc0lucHV0PEk+LCBPPjtcblxuLy8gTUFSSzogVXBkYXRlXG4vKipcbiAqIENyZWF0ZXMgYSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvbiBmb3IgdXBkYXRlLlxuICpcbiAqIFRoZSBzdG9yZSdzIGN1cnJlbnQga2V5IGlzIGFsd2F5cyBpbmplY3RlZCBpbnRvIHRoZSBwYXJhbXMgb2YgdGhlIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHN0b3JlXG4gKiBAcGFyYW0gZm5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXJlYmFzZURvY3VtZW50U3RvcmVVcGRhdGVGdW5jdGlvbjxJIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb25QYXJhbXMsIE8gPSB2b2lkPihzdG9yZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgZm46IE1vZGVsRmlyZWJhc2VVcGRhdGVGdW5jdGlvbjxJLCBPPik6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uPEksIE8+IHtcbiAgcmV0dXJuIChwYXJhbXM6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uUGFyYW1zSW5wdXQ8ST4pID0+XG4gICAgbG9hZGluZ1N0YXRlRnJvbU9icyhcbiAgICAgIHN0b3JlLmtleSQucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgZXhoYXVzdE1hcCgoa2V5KSA9PlxuICAgICAgICAgIGZuKHtcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgIGtleSAvLyBpbmplY3Qga2V5IGludG8gdGhlIHBhcmFtZXRlcnMuXG4gICAgICAgICAgfSBhcyBJKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKVxuICAgICk7XG59XG5cbi8vIE1BUks6IERlbGV0ZVxuLyoqXG4gKiBDcmVhdGVzIGEgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb24gZm9yIGRlbGV0ZS5cbiAqXG4gKiBUaGUgc3RvcmUncyBjdXJyZW50IGtleSBpcyBhbHdheXMgaW5qZWN0ZWQgaW50byB0aGUgcGFyYW1zIG9mIHRoZSByZXF1ZXN0LlxuICpcbiAqIEBwYXJhbSBzdG9yZVxuICogQHBhcmFtIGZuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlyZWJhc2VEb2N1bWVudFN0b3JlRGVsZXRlRnVuY3Rpb248SSBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uUGFyYW1zLCBPID0gdm9pZD4oc3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4sIGZuOiBNb2RlbEZpcmViYXNlRGVsZXRlRnVuY3Rpb248SSwgTz4pOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvbjxJLCBPPiB7XG4gIHJldHVybiAocGFyYW1zOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtc0lucHV0PEk+KSA9PlxuICAgIGxvYWRpbmdTdGF0ZUZyb21PYnMoXG4gICAgICBzdG9yZS5rZXkkLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIGV4aGF1c3RNYXAoKGtleSkgPT5cbiAgICAgICAgICBmbih7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICBrZXkgLy8gaW5qZWN0IGtleSBpbnRvIHRoZSBwYXJhbWV0ZXJzLlxuICAgICAgICAgIH0gYXMgSSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICBzdG9yZS5jbGVhclJlZnMoKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgIClcbiAgICApO1xufVxuIl19
|
|
@@ -2752,7 +2752,7 @@ function firebaseDocumentStoreCreateFunction(store, fn) {
|
|
|
2752
2752
|
* @returns
|
|
2753
2753
|
*/
|
|
2754
2754
|
function firebaseDocumentStoreCrudFunction(fn) {
|
|
2755
|
-
return (params) => loadingStateFromObs(from(fn(params)));
|
|
2755
|
+
return (params) => loadingStateFromObs(from(fn(params)).pipe(shareReplay(1)));
|
|
2756
2756
|
}
|
|
2757
2757
|
// MARK: Update
|
|
2758
2758
|
/**
|
|
@@ -2765,8 +2765,8 @@ function firebaseDocumentStoreCrudFunction(fn) {
|
|
|
2765
2765
|
* @returns
|
|
2766
2766
|
*/
|
|
2767
2767
|
function firebaseDocumentStoreUpdateFunction(store, fn) {
|
|
2768
|
-
return (params) => loadingStateFromObs(store.key$.pipe(first(),
|
|
2769
|
-
})))));
|
|
2768
|
+
return (params) => loadingStateFromObs(store.key$.pipe(first(), exhaustMap((key) => fn(Object.assign(Object.assign({}, params), { key // inject key into the parameters.
|
|
2769
|
+
}))), shareReplay(1)));
|
|
2770
2770
|
}
|
|
2771
2771
|
// MARK: Delete
|
|
2772
2772
|
/**
|
|
@@ -2779,11 +2779,11 @@ function firebaseDocumentStoreUpdateFunction(store, fn) {
|
|
|
2779
2779
|
* @returns
|
|
2780
2780
|
*/
|
|
2781
2781
|
function firebaseDocumentStoreDeleteFunction(store, fn) {
|
|
2782
|
-
return (params) => loadingStateFromObs(store.key$.pipe(first(),
|
|
2782
|
+
return (params) => loadingStateFromObs(store.key$.pipe(first(), exhaustMap((key) => fn(Object.assign(Object.assign({}, params), { key // inject key into the parameters.
|
|
2783
2783
|
})).then((result) => {
|
|
2784
2784
|
store.clearRefs();
|
|
2785
2785
|
return result;
|
|
2786
|
-
}))));
|
|
2786
|
+
})), shareReplay(1)));
|
|
2787
2787
|
}
|
|
2788
2788
|
|
|
2789
2789
|
function setParentStoreEffect(store) {
|