to-userscript
Version:
Converts simple browser extensions to userscripts
83 lines (77 loc) • 1.96 kB
JavaScript
const ExtPay = (extensionId) => ({
startBackground() {},
getUser() {
return new Promise((resolve) => {
const dummyUser = {
paid: true,
paidAt: new Date(),
email: "dummyuser@example.com",
installedAt: new Date(),
trialStartedAt: null,
plan: {
unitAmountCents: 1000,
currency: "usd",
nickname: "dummy_plan",
intervalCount: 1,
interval: "month",
},
subscriptionStatus: "active",
subscriptionCancelAt: null,
};
resolve(dummyUser);
});
},
openPaymentPage(planNickname) {},
getPlans() {
return new Promise((resolve) => {
const dummyPlans = [
{
unitAmountCents: 1000,
currency: "usd",
nickname: "monthly_plan",
interval: "month",
intervalCount: 1,
},
{
unitAmountCents: 9900,
currency: "usd",
nickname: "yearly_plan",
interval: "year",
intervalCount: 1,
},
];
resolve(dummyPlans);
});
},
onPaid: {
addListener: (callback) => {
console.log("Dummy onPaid listener added");
// Simulate a user paying after 2 seconds
setTimeout(() => {
const dummyUser = {
paid: true,
paidAt: new Date(),
email: "dummyuser@example.com",
installedAt: new Date(),
trialStartedAt: null,
plan: {
unitAmountCents: 1000,
currency: "usd",
nickname: "dummy_plan",
intervalCount: 1,
interval: "month",
},
subscriptionStatus: "active",
subscriptionCancelAt: null,
};
callback(dummyUser);
}, 2000);
},
removeListener: () => {},
},
openTrialPage(displayText) {},
openLoginPage() {
console.log("Dummy login page opened");
},
});
window.ExtPay = ExtPay;