decord/source/modules/saved_messages/ForLaterExperiment.tsx
2026-09-02 09:53:35 +00:00

156 lines
5.9 KiB
TypeScript

// Module ID: 7609
// Function ID: 7610
// Name: ForLaterFreemiumConfig
// Dependencies: [7606, 1467, 38, 7610, 2]
// Exports: getForLaterLimit, hasForLaterAccess, isForLaterExperimentOn, isForLaterFreemiumExperimentOn, isForLaterLimitUpgradable, useForLaterLimit, useHasForLaterAccess, useIsForLaterExperimentOn, useIsForLaterLimitUpgradable
// Module 7609 (ForLaterFreemiumConfig)
import set from "set" /* 2 */;
import _modDef38 from "module_38" /* 38 */;
import hasForLaterPremiumType2 from "hasForLaterPremiumType" /* 7610 */;
import hasForLaterPremiumTypeDefault from "hasForLaterPremiumType" /* 7610 */;
import SAVED_BOOKMARKS_MAX from "SAVED_BOOKMARKS_MAX" /* 7606 */;
import ApexExperiment from "ApexExperiment" /* 1467 */;
({ SAVED_BOOKMARKS_MAX: c3, SAVED_REMINDERS_MAX: c4 } = SAVED_BOOKMARKS_MAX);
let obj = { 1: null, 2: { enabled: true } };
obj[2] = { enabled: true };
let closure_5 = ApexExperiment.createApexExperiment({ name: "2026-03-message-bookmarks", kind: "user", defaultConfig: { enabled: false }, variations: obj });
class ForLaterFreemiumConfig {
constructor(arg0, arg1) {
obj = Object.create(new.target.prototype);
tmp2 = require("module_38")(null != require.b, "Config is missing bookmark limit");
tmp3 = require("module_38")(null != require.r, "Config is missing reminder limit");
obj.enabled = global;
({ b: tmp.bookmarkLimit, r: tmp.reminderLimit } = require);
return obj;
}
}
obj = { name: "2026-07-message-bookmarks-v2", kind: "user", defaultConfig: null, variations: null };
const obj1 = Object.create(ForLaterFreemiumConfig.prototype);
_modDef38(true, "Config is missing bookmark limit");
_modDef38(true, "Config is missing reminder limit");
obj1.enabled = false;
obj1.bookmarkLimit = 0;
obj1.reminderLimit = 0;
obj[2] = obj1;
const obj2 = {
1: null,
2: (arg0) => {
const parsed = JSON.parse(arg0);
if (typeof ForLaterFreemiumConfig !== "function") {
HermesBuiltin.throwTypeError();
}
const obj = Object.create(ForLaterFreemiumConfig.prototype);
_modDef38(null != parsed.b, "Config is missing bookmark limit");
_modDef38(null != parsed.r, "Config is missing reminder limit");
obj.enabled = true;
({ b: tmp3.bookmarkLimit, r: tmp3.reminderLimit } = parsed);
return obj;
}
};
obj2[2] = (arg0) => {
const parsed = JSON.parse(arg0);
if (typeof ForLaterFreemiumConfig !== "function") {
HermesBuiltin.throwTypeError();
}
const obj = Object.create(ForLaterFreemiumConfig.prototype);
_modDef38(null != parsed.b, "Config is missing bookmark limit");
_modDef38(null != parsed.r, "Config is missing reminder limit");
obj.enabled = true;
({ b: tmp3.bookmarkLimit, r: tmp3.reminderLimit } = parsed);
return obj;
};
obj[3] = obj2;
let closure_7 = ApexExperiment.createApexExperiment(obj);
const result = set.fileFinishedImporting("modules/saved_messages/ForLaterExperiment.tsx");
export const useIsForLaterExperimentOn = function useIsForLaterExperimentOn(LongPressMessageActionSheet) {
let obj = { location: LongPressMessageActionSheet };
let enabled = store2.useConfig(obj).enabled;
obj = { location: LongPressMessageActionSheet };
if (!enabled) {
enabled = store.useConfig(obj).enabled;
}
return enabled;
};
export const isForLaterExperimentOn = function isForLaterExperimentOn(MessageRemindersNotificationManager) {
let obj = { location: MessageRemindersNotificationManager };
let enabled = store2.getConfig(obj).enabled;
if (!enabled) {
obj = { location: null };
obj[0] = MessageRemindersNotificationManager;
enabled = store.getConfig(obj).enabled;
}
return enabled;
};
export const isForLaterFreemiumExperimentOn = function isForLaterFreemiumExperimentOn(location) {
return store2.getConfig({ location }).enabled;
};
export const useHasForLaterAccess = function useHasForLaterAccess(ForLaterOpenActionButton) {
let obj = { location: ForLaterOpenActionButton };
obj = { location: ForLaterOpenActionButton };
let enabled = store2.useConfig(obj).enabled;
if (!enabled) {
let enabled1 = store.useConfig(obj).enabled;
if (enabled1) {
enabled1 = hasForLaterPremiumTypeDefault();
}
enabled = enabled1;
}
return enabled;
};
export const hasForLaterAccess = function hasForLaterAccess(addOrUpdateSavedMessage) {
let obj = { location: addOrUpdateSavedMessage };
obj = { location: addOrUpdateSavedMessage };
let enabled = store2.getConfig(obj).enabled;
if (!enabled) {
let enabled1 = store.getConfig(obj).enabled;
if (enabled1) {
enabled1 = hasForLaterPremiumTypeDefault();
}
enabled = enabled1;
}
return enabled;
};
export const getForLaterLimit = function getForLaterLimit(addOrUpdateSavedMessage, arg1) {
let obj = { location: addOrUpdateSavedMessage };
const config = store2.getConfig(obj);
obj = { location: addOrUpdateSavedMessage };
const tmp2 = hasForLaterPremiumTypeDefault();
if (!config.enabled) {
let num = 0;
if (store.getConfig(obj).enabled) {
num = 0;
}
return num;
}
};
export const useForLaterLimit = function useForLaterLimit(ForLaterScreen, arg1) {
let obj = { location: ForLaterScreen };
const config = store2.useConfig(obj);
obj = { location: ForLaterScreen };
const config1 = store.useConfig(obj);
const hasForLaterPremiumType = hasForLaterPremiumType2.useHasForLaterPremiumType();
if (!config.enabled) {
let num = 0;
if (tmp4) {
num = 0;
}
return num;
}
};
export const isForLaterLimitUpgradable = function isForLaterLimitUpgradable(addOrUpdateSavedMessage) {
let enabled = store2.getConfig({ location: addOrUpdateSavedMessage }).enabled;
if (enabled) {
enabled = !hasForLaterPremiumTypeDefault();
}
return enabled;
};
export const useIsForLaterLimitUpgradable = function useIsForLaterLimitUpgradable(ForLaterScreen) {
let enabled = store2.useConfig({ location: ForLaterScreen }).enabled;
if (enabled) {
enabled = !obj2.useHasForLaterPremiumType();
}
return enabled;
};