@stackedapp/utils 1.15.10 → 1.15.11
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/apply_delta.d.ts +10 -6
- package/dist/apply_delta.js +14 -0
- package/package.json +1 -1
package/dist/apply_delta.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StackedSnapshot, StackedOffer, StackedPlayerDelta } from '@stackedapp/types';
|
|
2
|
+
/**
|
|
3
|
+
* Helper to check if a delta has any operations
|
|
4
|
+
*/
|
|
5
|
+
export declare function isEmptyDelta(delta: StackedPlayerDelta): boolean;
|
|
2
6
|
/**
|
|
3
7
|
* Apply a PlayerDelta to a target object (StackedSnapshot or StackedOffer).
|
|
4
8
|
* Mutates the target object in place and returns it.
|
|
@@ -27,19 +31,19 @@ import { PlayerDelta, StackedSnapshot, StackedOffer } from '@stackedapp/types';
|
|
|
27
31
|
* // offer.completionTrackers.buyItem is now 8
|
|
28
32
|
* ```
|
|
29
33
|
*/
|
|
30
|
-
export declare function applyDelta<T extends StackedSnapshot | StackedOffer>(target: T, delta:
|
|
34
|
+
export declare function applyDelta<T extends StackedSnapshot | StackedOffer>(target: T, delta: StackedPlayerDelta): T;
|
|
31
35
|
/**
|
|
32
36
|
* Apply a PlayerDelta to a StackedSnapshot.
|
|
33
37
|
* Convenience wrapper with correct typing.
|
|
34
38
|
*/
|
|
35
|
-
export declare function applySnapshotDelta(snapshot: StackedSnapshot, delta:
|
|
39
|
+
export declare function applySnapshotDelta(snapshot: StackedSnapshot, delta: StackedPlayerDelta): StackedSnapshot;
|
|
36
40
|
/**
|
|
37
41
|
* Apply a PlayerDelta to a StackedOffer.
|
|
38
42
|
* Convenience wrapper with correct typing.
|
|
39
43
|
*
|
|
40
44
|
* Note: For offer deltas, check delta.offers to see if this offer is affected.
|
|
41
45
|
*/
|
|
42
|
-
export declare function applyOfferDelta(offer: StackedOffer, delta:
|
|
46
|
+
export declare function applyOfferDelta(offer: StackedOffer, delta: StackedPlayerDelta): StackedOffer;
|
|
43
47
|
/**
|
|
44
48
|
* Check if an offer is affected by a delta.
|
|
45
49
|
* Use this to filter which offers need updating.
|
|
@@ -48,7 +52,7 @@ export declare function applyOfferDelta(offer: StackedOffer, delta: PlayerDelta)
|
|
|
48
52
|
* @param delta - The delta to check against
|
|
49
53
|
* @returns true if this offer is in the delta's affected offers list
|
|
50
54
|
*/
|
|
51
|
-
export declare function isOfferAffectedByDelta(offerId: string, delta:
|
|
55
|
+
export declare function isOfferAffectedByDelta(offerId: string, delta: StackedPlayerDelta): boolean;
|
|
52
56
|
/**
|
|
53
57
|
* Apply a delta to multiple offers, only updating affected ones.
|
|
54
58
|
*
|
|
@@ -56,5 +60,5 @@ export declare function isOfferAffectedByDelta(offerId: string, delta: PlayerDel
|
|
|
56
60
|
* @param delta - The delta to apply
|
|
57
61
|
* @returns Array of offerIds that were updated
|
|
58
62
|
*/
|
|
59
|
-
export declare function applyDeltaToOffers(offers: Map<string, StackedOffer> | Record<string, StackedOffer>, delta:
|
|
63
|
+
export declare function applyDeltaToOffers(offers: Map<string, StackedOffer> | Record<string, StackedOffer>, delta: StackedPlayerDelta): string[];
|
|
60
64
|
//# sourceMappingURL=apply_delta.d.ts.map
|
package/dist/apply_delta.js
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEmptyDelta = isEmptyDelta;
|
|
3
4
|
exports.applyDelta = applyDelta;
|
|
4
5
|
exports.applySnapshotDelta = applySnapshotDelta;
|
|
5
6
|
exports.applyOfferDelta = applyOfferDelta;
|
|
6
7
|
exports.isOfferAffectedByDelta = isOfferAffectedByDelta;
|
|
7
8
|
exports.applyDeltaToOffers = applyDeltaToOffers;
|
|
9
|
+
/**
|
|
10
|
+
* Helper to check if a delta has any operations
|
|
11
|
+
*/
|
|
12
|
+
function isEmptyDelta(delta) {
|
|
13
|
+
return ((!delta.set || Object.keys(delta.set).length === 0) &&
|
|
14
|
+
(!delta.inc || Object.keys(delta.inc).length === 0) &&
|
|
15
|
+
(!delta.min || Object.keys(delta.min).length === 0) &&
|
|
16
|
+
(!delta.max || Object.keys(delta.max).length === 0) &&
|
|
17
|
+
(!delta.unset || delta.unset.length === 0) &&
|
|
18
|
+
(!delta.addToSet || Object.keys(delta.addToSet).length === 0) &&
|
|
19
|
+
(!delta.push || Object.keys(delta.push).length === 0) &&
|
|
20
|
+
(!delta.pull || Object.keys(delta.pull).length === 0));
|
|
21
|
+
}
|
|
8
22
|
/**
|
|
9
23
|
* Get a nested value from an object using a dot-separated path.
|
|
10
24
|
* e.g., getNestedValue(obj, 'currencies.gold.balance')
|