@stackedapp/utils 2.34.0 → 2.36.0
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,4 +1,4 @@
|
|
|
1
|
-
import { ILevelCondition, ICurrencyCondition, IStakedTokensCondition, ITrustScoreCondition, IDaysInGameCondition, ILoginStreakCondition, IAchievementCondition, IMembershipCondition, IQuestCondition, IEntityLinkCondition, IDynamicConditionItem, IIdentifiersCondition, ITokenBalanceCondition, IStackedAccountCondition, IUserSettingsCondition, IBuyItemCondition, ISpendCurrencyCondition, IDepositCurrencyCondition, ISocialCondition, ILoginCondition, ICompletionContextCondition, ILinkedCompletionsCondition, IDynamicTrackerCondition, IContractInteractionCondition, ITwitterVerificationCondition, ICompletionTrackers, ConditionDetail, StackedSnapshot, StackedBaseUserExtra } from '@stackedapp/types';
|
|
1
|
+
import { ILevelCondition, ICurrencyCondition, IStakedTokensCondition, ITrustScoreCondition, IDaysInGameCondition, ILoginStreakCondition, IAchievementCondition, IMembershipCondition, IQuestCondition, IEntityLinkCondition, IDynamicConditionItem, IIdentifiersCondition, ITokenBalanceCondition, IStackedAccountCondition, IUserSettingsCondition, IBuyItemCondition, ISpendCurrencyCondition, IDepositCurrencyCondition, ISocialCondition, ILoginCondition, ICompletionContextCondition, ILinkedCompletionsCondition, IDynamicTrackerCondition, IContractInteractionCondition, ITwitterVerificationCondition, IMocaCredentialCondition, ICompletionTrackers, ConditionDetail, StackedSnapshot, StackedBaseUserExtra } from '@stackedapp/types';
|
|
2
2
|
export interface EvalContext {
|
|
3
3
|
snap: StackedSnapshot;
|
|
4
4
|
additionalData?: StackedBaseUserExtra;
|
|
@@ -39,4 +39,5 @@ export declare function evaluateLinkedCompletions(cond: ILinkedCompletionsCondit
|
|
|
39
39
|
export declare function evaluateDynamicTracker(cond: IDynamicTrackerCondition, ctx: EvalContext): EvalResult;
|
|
40
40
|
export declare function evaluateContractInteraction(cond: IContractInteractionCondition, ctx: EvalContext): EvalResult;
|
|
41
41
|
export declare function evaluateTwitterVerification(cond: ITwitterVerificationCondition, ctx: EvalContext): EvalResult;
|
|
42
|
+
export declare function evaluateMocaCredential(cond: IMocaCredentialCondition, ctx: EvalContext): EvalResult;
|
|
42
43
|
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -25,6 +25,7 @@ exports.evaluateLinkedCompletions = evaluateLinkedCompletions;
|
|
|
25
25
|
exports.evaluateDynamicTracker = evaluateDynamicTracker;
|
|
26
26
|
exports.evaluateContractInteraction = evaluateContractInteraction;
|
|
27
27
|
exports.evaluateTwitterVerification = evaluateTwitterVerification;
|
|
28
|
+
exports.evaluateMocaCredential = evaluateMocaCredential;
|
|
28
29
|
const types_1 = require("@stackedapp/types");
|
|
29
30
|
const template_1 = require("../template");
|
|
30
31
|
const dynamic_1 = require("../dynamic");
|
|
@@ -361,7 +362,7 @@ function evaluateDynamic(cond, ctx) {
|
|
|
361
362
|
}
|
|
362
363
|
const AUTH_PLATFORM_DISPLAY_NAMES = {
|
|
363
364
|
sms: 'SMS', email: 'Email', apple: 'Apple', google: 'Google',
|
|
364
|
-
tiktok: 'TikTok', twitter: 'X/Twitter',
|
|
365
|
+
tiktok: 'TikTok', twitter: 'X/Twitter', moca: 'Moca',
|
|
365
366
|
};
|
|
366
367
|
function evaluateIdentifiers(cond, ctx) {
|
|
367
368
|
const playerPlatforms = new Set(ctx.snap.identifiers?.map((i) => i.platform.toLowerCase()) || []);
|
|
@@ -843,4 +844,17 @@ function evaluateTwitterVerification(cond, ctx) {
|
|
|
843
844
|
}],
|
|
844
845
|
};
|
|
845
846
|
}
|
|
847
|
+
function evaluateMocaCredential(cond, ctx) {
|
|
848
|
+
const tracker = ctx.completionTrackers?.mocaCredential?.[cond.id];
|
|
849
|
+
const isMet = tracker?.verified === true;
|
|
850
|
+
return {
|
|
851
|
+
isMet,
|
|
852
|
+
details: [{
|
|
853
|
+
isMet, kind: 'mocaCredential',
|
|
854
|
+
trackerAmount: isMet ? 1 : 0, trackerGoal: 1,
|
|
855
|
+
percentCompleted: isMet ? 100 : 0,
|
|
856
|
+
text: cond.template || 'Verify Moca credential',
|
|
857
|
+
}],
|
|
858
|
+
};
|
|
859
|
+
}
|
|
846
860
|
//# sourceMappingURL=handlers.js.map
|
package/dist/conditions/index.js
CHANGED
|
@@ -43,6 +43,7 @@ function evaluateCompletionOnlyCondition(cond, ctx) {
|
|
|
43
43
|
case 'dynamicTracker': return (0, handlers_1.evaluateDynamicTracker)(cond, ctx);
|
|
44
44
|
case 'contractInteraction': return (0, handlers_1.evaluateContractInteraction)(cond, ctx);
|
|
45
45
|
case 'twitterVerification': return (0, handlers_1.evaluateTwitterVerification)(cond, ctx);
|
|
46
|
+
case 'mocaCredential': return (0, handlers_1.evaluateMocaCredential)(cond, ctx);
|
|
46
47
|
// base kinds handled by evaluateBaseCondition
|
|
47
48
|
case 'level':
|
|
48
49
|
case 'currency':
|
|
@@ -387,6 +388,7 @@ const meetsCompletionConditionsBeforeExpiry = ({ completionConditions, completio
|
|
|
387
388
|
case 'linkedCompletions':
|
|
388
389
|
case 'contractInteraction':
|
|
389
390
|
case 'twitterVerification':
|
|
391
|
+
case 'mocaCredential':
|
|
390
392
|
if (completionTrackers?.lastUpdated != null && wasUpdatedAfterExpiry(completionTrackers.lastUpdated)) {
|
|
391
393
|
return false;
|
|
392
394
|
}
|