Files
discord-decomp/records/PaymentSourceRecord.tsx
T
2026-11-01 12:12:55 +02:00

812 lines
34 KiB
TypeScript

// Metro module 3839 (f3840).
import Record from "../lib/Record";
import { IRREDEEMABLE_PAYMENT_SOURCES, PaymentGateways, PaymentSourceTypes } from "../Constants";
import { assertNever } from "../utils/GlobalUtils";
import * as _Module1384 from "../_bundle/Module1384";
import { $callWithNewTarget } from "../_hermes/prelude";
let PaypalSourceRecord, SofortSourceRecord, GiropaySourceRecord, Przelewy24SourceRecord, EPSSourceRecord, IdealSourceRecord, PaysafeSourceRecord, GcashSourceRecord, GrabPayMySourceRecord, MomoWalletSourceRecord, VenmoSourceRecord, KaKaoPaySourceRecord, GoPayWalletSourceRecord, BancontactSourceRecord, CashAppSourceRecord, TDSWalletSourceRecord;
class PaymentSourceRecord extends Record {
constructor(a0) {
super();
if (Object.values(PaymentSourceTypes).includes(a0.type)) {
this.id = a0.id;
this.type = a0.type;
this.paymentGateway = a0.paymentGateway;
let invalid = a0.invalid;
if (invalid == null) {
invalid = false;
}
this.invalid = invalid;
let billingAddress = a0.billingAddress;
if (billingAddress == null) {
billingAddress = {};
}
this.billingAddress = billingAddress;
this.isDefault = a0.isDefault;
let flags = a0.flags;
if (flags == null) {
flags = 0;
}
this.flags = flags;
let country = a0.country;
if (country == null) {
country = "";
}
this.country = country;
this.pixMetadata = a0.pixMetadata;
return this;
}
throw new Error(`Unrecognized payment source type ${a0.type}`);
}
static createFromServer(a0) {
let billing_address = a0.billing_address;
if (billing_address == null) {
billing_address = {};
}
const r9 = {
id: a0.id,
type: a0.type,
paymentGateway: a0.payment_gateway,
invalid: a0.invalid,
isDefault: a0.default,
billingAddress: {
name: billing_address.name,
line1: billing_address.line_1,
line2: billing_address.line_2,
city: billing_address.city,
postalCode: billing_address.postal_code,
state: billing_address.state,
country: billing_address.country
},
country: a0.country,
flags: a0.flags,
pixMetadata: a0.pix != null ? {
taxId: a0.pix.tax_id
} : void 0
};
const type = a0.type;
if (PaymentSourceTypes.CARD === type) {
const r607 = {
...r9,
brand: a0.brand,
last4: a0.last_4,
expiresMonth: a0.expires_month,
expiresYear: a0.expires_year
};
const prototypeOf18 = Object.getPrototypeOf(CreditCardSourceRecord);
const r620 = Object.create(CreditCardSourceRecord.prototype);
const r623 = $callWithNewTarget(prototypeOf18, r620, CreditCardSourceRecord, r607);
if (r607.type !== PaymentSourceTypes.CARD) {
throw new Error(`Cannot instantiate CreditCardSourceRecord with type: ${r607.type}, must be ${PaymentSourceTypes.CARD}`);
}
let brand = r607.brand;
if (brand == null) {
brand = "";
}
const r628 = r623 instanceof Object ? r623 : r620;
r628.brand = brand;
let last4 = r607.last4;
if (last4 == null) {
last4 = "";
}
r628.last4 = last4;
let expiresMonth = r607.expiresMonth;
if (expiresMonth == null) {
expiresMonth = 0;
}
r628.expiresMonth = expiresMonth;
let expiresYear = r607.expiresYear;
if (expiresYear == null) {
expiresYear = 0;
}
r628.expiresYear = expiresYear;
return r628;
}
if (PaymentSourceTypes.PAYPAL === type) {
const r574 = {
...r9,
email: a0.email
};
const prototypeOf17 = Object.getPrototypeOf(PaypalSourceRecord);
const r584 = Object.create(PaypalSourceRecord.prototype);
const r587 = $callWithNewTarget(prototypeOf17, r584, PaypalSourceRecord, r574);
if (r574.type !== PaymentSourceTypes.PAYPAL) {
throw new Error(`Cannot instantiate PaypalSourceRecord with type: ${r574.type}, must be ${PaymentSourceTypes.PAYPAL}`);
}
const email3 = r574.email || "";
const r592 = r587 instanceof Object ? r587 : r584;
r592.email = email3;
return r592;
}
if (PaymentSourceTypes.VENMO === type) {
const r541 = {
...r9,
username: a0.username
};
const prototypeOf16 = Object.getPrototypeOf(VenmoSourceRecord);
const r551 = Object.create(VenmoSourceRecord.prototype);
const r554 = $callWithNewTarget(prototypeOf16, r551, VenmoSourceRecord, r541);
if (r541.type !== PaymentSourceTypes.VENMO) {
throw new Error(`Cannot instantiate VenmoSourceRecord with type: ${r541.type}, must be ${PaymentSourceTypes.VENMO}`);
}
const username2 = r541.username || "";
const r559 = r554 instanceof Object ? r554 : r551;
r559.username = username2;
return r559;
}
if (PaymentSourceTypes.SEPA_DEBIT !== type && PaymentSourceTypes.SOFORT !== type) {
if (PaymentSourceTypes.GIROPAY === type) {
const r474 = {
...r9
};
const prototypeOf14 = Object.getPrototypeOf(GiropaySourceRecord);
const r483 = Object.create(GiropaySourceRecord.prototype);
const r486 = $callWithNewTarget(prototypeOf14, r483, GiropaySourceRecord, r474);
if (r474.type !== PaymentSourceTypes.GIROPAY) {
throw new Error(`Cannot instantiate GiropaySourceRecord with type: ${r474.type}, must be ${PaymentSourceTypes.GIROPAY}`);
}
return r486 instanceof Object ? r486 : r483;
}
if (PaymentSourceTypes.PRZELEWY24 === type) {
const r439 = {
...r9,
email: a0.email,
bank: a0.bank
};
const prototypeOf13 = Object.getPrototypeOf(Przelewy24SourceRecord);
const r450 = Object.create(Przelewy24SourceRecord.prototype);
const r453 = $callWithNewTarget(prototypeOf13, r450, Przelewy24SourceRecord, r439);
if (r439.type !== PaymentSourceTypes.PRZELEWY24) {
throw new Error(`Cannot instantiate Przelewy24SourceRecord with type: ${r439.type}, must be ${PaymentSourceTypes.PRZELEWY24}`);
}
const email = r439.email || "";
const r458 = r453 instanceof Object ? r453 : r450;
r458.email = email;
r458.bank = r439.bank;
return r458;
}
if (PaymentSourceTypes.EPS === type) {
const r406 = {
...r9,
bank: a0.bank
};
const prototypeOf12 = Object.getPrototypeOf(EPSSourceRecord);
const r416 = Object.create(EPSSourceRecord.prototype);
const r419 = $callWithNewTarget(prototypeOf12, r416, EPSSourceRecord, r406);
if (r406.type !== PaymentSourceTypes.EPS) {
throw new Error(`Cannot instantiate EPSSourceRecord with type: ${r406.type}, must be ${PaymentSourceTypes.EPS}`);
}
const r423 = r419 instanceof Object ? r419 : r416;
r423.bank = r406.bank;
return r423;
}
if (PaymentSourceTypes.PAYSAFE_CARD === type) {
const r375 = {
...r9
};
const prototypeOf11 = Object.getPrototypeOf(PaysafeSourceRecord);
const r384 = Object.create(PaysafeSourceRecord.prototype);
const r387 = $callWithNewTarget(prototypeOf11, r384, PaysafeSourceRecord, r375);
if (r375.type !== PaymentSourceTypes.PAYSAFE_CARD) {
throw new Error(`Cannot instantiate PaysafeSourceRecord with type: ${r375.type}, must be ${PaymentSourceTypes.PAYSAFE_CARD}`);
}
return r387 instanceof Object ? r387 : r384;
}
if (PaymentSourceTypes.GCASH === type) {
const r344 = {
...r9
};
const prototypeOf10 = Object.getPrototypeOf(GcashSourceRecord);
const r353 = Object.create(GcashSourceRecord.prototype);
const r356 = $callWithNewTarget(prototypeOf10, r353, GcashSourceRecord, r344);
if (r344.type !== PaymentSourceTypes.GCASH) {
throw new Error(`Cannot instantiate GcashSourceRecord with type: ${r344.type}, must be ${PaymentSourceTypes.GCASH}`);
}
return r356 instanceof Object ? r356 : r353;
}
if (PaymentSourceTypes.GRABPAY_MY === type) {
const r313 = {
...r9
};
const prototypeOf9 = Object.getPrototypeOf(GrabPayMySourceRecord);
const r322 = Object.create(GrabPayMySourceRecord.prototype);
const r325 = $callWithNewTarget(prototypeOf9, r322, GrabPayMySourceRecord, r313);
if (r313.type !== PaymentSourceTypes.GRABPAY_MY) {
throw new Error(`Cannot instantiate GrabPayMySourceRecord with type: ${r313.type}, must be ${PaymentSourceTypes.GRABPAY_MY}`);
}
return r325 instanceof Object ? r325 : r322;
}
if (PaymentSourceTypes.MOMO_WALLET === type) {
const r282 = {
...r9
};
const prototypeOf8 = Object.getPrototypeOf(MomoWalletSourceRecord);
const r291 = Object.create(MomoWalletSourceRecord.prototype);
const r294 = $callWithNewTarget(prototypeOf8, r291, MomoWalletSourceRecord, r282);
if (r282.type !== PaymentSourceTypes.MOMO_WALLET) {
throw new Error(`Cannot instantiate MomoWalletSourceRecord with type: ${r282.type}, must be ${PaymentSourceTypes.MOMO_WALLET}`);
}
return r294 instanceof Object ? r294 : r291;
}
if (PaymentSourceTypes.KAKAOPAY === type) {
const r251 = {
...r9
};
const prototypeOf7 = Object.getPrototypeOf(KaKaoPaySourceRecord);
const r260 = Object.create(KaKaoPaySourceRecord.prototype);
const r263 = $callWithNewTarget(prototypeOf7, r260, KaKaoPaySourceRecord, r251);
if (r251.type !== PaymentSourceTypes.KAKAOPAY) {
throw new Error(`Cannot instantiate KaKaoPaySourceRecord with type: ${r251.type}, must be ${PaymentSourceTypes.KAKAOPAY}`);
}
return r263 instanceof Object ? r263 : r260;
}
if (PaymentSourceTypes.GOPAY_WALLET === type) {
const r220 = {
...r9
};
const prototypeOf6 = Object.getPrototypeOf(GoPayWalletSourceRecord);
const r229 = Object.create(GoPayWalletSourceRecord.prototype);
const r232 = $callWithNewTarget(prototypeOf6, r229, GoPayWalletSourceRecord, r220);
if (r220.type !== PaymentSourceTypes.GOPAY_WALLET) {
throw new Error(`Cannot instantiate GoPayWalletSourceRecord with type: ${r220.type}, must be ${PaymentSourceTypes.GOPAY_WALLET}`);
}
return r232 instanceof Object ? r232 : r229;
}
if (PaymentSourceTypes.BANCONTACT === type) {
const r189 = {
...r9
};
const prototypeOf5 = Object.getPrototypeOf(BancontactSourceRecord);
const r198 = Object.create(BancontactSourceRecord.prototype);
const r201 = $callWithNewTarget(prototypeOf5, r198, BancontactSourceRecord, r189);
if (r189.type !== PaymentSourceTypes.BANCONTACT) {
throw new Error(`Cannot instantiate BancontactSourceRecord with type: ${r189.type}, must be ${PaymentSourceTypes.BANCONTACT}`);
}
return r201 instanceof Object ? r201 : r198;
}
if (PaymentSourceTypes.IDEAL === type) {
const r156 = {
...r9,
bank: a0.bank
};
const prototypeOf4 = Object.getPrototypeOf(IdealSourceRecord);
const r166 = Object.create(IdealSourceRecord.prototype);
const r169 = $callWithNewTarget(prototypeOf4, r166, IdealSourceRecord, r156);
if (r156.type !== PaymentSourceTypes.IDEAL) {
throw new Error(`Cannot instantiate IdealSourceRecord with type: ${r156.type}, must be ${PaymentSourceTypes.IDEAL}`);
}
const r173 = r169 instanceof Object ? r169 : r166;
r173.bank = r156.bank;
return r173;
}
if (PaymentSourceTypes.CASH_APP === type) {
const r123 = {
...r9,
username: a0.username
};
const prototypeOf3 = Object.getPrototypeOf(CashAppSourceRecord);
const r133 = Object.create(CashAppSourceRecord.prototype);
const r136 = $callWithNewTarget(prototypeOf3, r133, CashAppSourceRecord, r123);
if (r123.type !== PaymentSourceTypes.CASH_APP) {
throw new Error(`Cannot instantiate Cashapp with type: ${r123.type}, must be ${PaymentSourceTypes.CASH_APP}`);
}
const username = r123.username || "";
const r141 = r136 instanceof Object ? r136 : r133;
r141.username = username;
return r141;
}
if (PaymentSourceTypes.TDS_WALLET === type) {
const r92 = {
...r9
};
const prototypeOf2 = Object.getPrototypeOf(TDSWalletSourceRecord);
const r101 = Object.create(TDSWalletSourceRecord.prototype);
const r104 = $callWithNewTarget(prototypeOf2, r101, TDSWalletSourceRecord, r92);
if (r92.type !== PaymentSourceTypes.TDS_WALLET) {
throw new Error(`Cannot instantiate TDSWalletSourceRecord with type: ${r92.type}, must be ${PaymentSourceTypes.TDS_WALLET}`);
}
return r104 instanceof Object ? r104 : r101;
}
if (PaymentSourceTypes.PIX === type) {
const r65 = {
...r9,
email: a0.email
};
const prototypeOf = Object.getPrototypeOf(PixSourceRecord);
const r10 = Object.create(PixSourceRecord.prototype);
const r74 = $callWithNewTarget(prototypeOf, r10, PixSourceRecord, r65);
if (r65.type !== PaymentSourceTypes.PIX) {
throw new Error(`Cannot instantiate PixSourceRecord with type: ${r65.type}, must be ${PaymentSourceTypes.PIX}`);
}
const r77 = r74 instanceof Object ? r74 : r10;
r77.email = r65.email;
return r77;
}
assertNever(a0);
return void 0;
}
const r505 = {
...r9,
email: a0.email
};
const prototypeOf15 = Object.getPrototypeOf(SofortSourceRecord);
const r515 = Object.create(SofortSourceRecord.prototype);
const r518 = $callWithNewTarget(prototypeOf15, r515, SofortSourceRecord, r505);
if (r505.type !== PaymentSourceTypes.SOFORT && r505.type !== PaymentSourceTypes.SEPA_DEBIT) {
throw new Error(`Cannot instantiate SofortSourceRecord with type: ${r505.type}, must be ${PaymentSourceTypes.SOFORT} or ` + PaymentSourceTypes.SEPA_DEBIT);
}
const email2 = r505.email || "";
const r525 = r518 instanceof Object ? r518 : r515;
r525.email = email2;
return r525;
}
static createFromSerialized(a0) {
const type = a0.type;
if (PaymentSourceTypes.CARD === type) {
const prototypeOf18 = Object.getPrototypeOf(CreditCardSourceRecord);
const r511 = Object.create(CreditCardSourceRecord.prototype);
const r514 = $callWithNewTarget(prototypeOf18, r511, CreditCardSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.CARD) {
throw new Error(`Cannot instantiate CreditCardSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.CARD}`);
}
let brand = a0.brand;
if (brand == null) {
brand = "";
}
const r520 = r514 instanceof Object ? r514 : r511;
r520.brand = brand;
let last4 = a0.last4;
if (last4 == null) {
last4 = "";
}
r520.last4 = last4;
let expiresMonth = a0.expiresMonth;
if (expiresMonth == null) {
expiresMonth = 0;
}
r520.expiresMonth = expiresMonth;
let expiresYear = a0.expiresYear;
if (expiresYear == null) {
expiresYear = 0;
}
r520.expiresYear = expiresYear;
return r520;
}
if (PaymentSourceTypes.PAYPAL === type) {
const prototypeOf17 = Object.getPrototypeOf(PaypalSourceRecord);
const r483 = Object.create(PaypalSourceRecord.prototype);
const r486 = $callWithNewTarget(prototypeOf17, r483, PaypalSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.PAYPAL) {
throw new Error(`Cannot instantiate PaypalSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PAYPAL}`);
}
const email3 = a0.email || "";
const r491 = r486 instanceof Object ? r486 : r483;
r491.email = email3;
return r491;
}
if (PaymentSourceTypes.SOFORT !== type && PaymentSourceTypes.SEPA_DEBIT !== type) {
if (PaymentSourceTypes.GIROPAY === type) {
const prototypeOf15 = Object.getPrototypeOf(GiropaySourceRecord);
const r426 = Object.create(GiropaySourceRecord.prototype);
const r429 = $callWithNewTarget(prototypeOf15, r426, GiropaySourceRecord, a0);
if (a0.type !== PaymentSourceTypes.GIROPAY) {
throw new Error(`Cannot instantiate GiropaySourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GIROPAY}`);
}
return r429 instanceof Object ? r429 : r426;
}
if (PaymentSourceTypes.PRZELEWY24 === type) {
const prototypeOf14 = Object.getPrototypeOf(Przelewy24SourceRecord);
const r397 = Object.create(Przelewy24SourceRecord.prototype);
const r400 = $callWithNewTarget(prototypeOf14, r397, Przelewy24SourceRecord, a0);
if (a0.type !== PaymentSourceTypes.PRZELEWY24) {
throw new Error(`Cannot instantiate Przelewy24SourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PRZELEWY24}`);
}
const email = a0.email || "";
const r405 = r400 instanceof Object ? r400 : r397;
r405.email = email;
r405.bank = a0.bank;
return r405;
}
if (PaymentSourceTypes.PAYSAFE_CARD === type) {
const prototypeOf13 = Object.getPrototypeOf(PaysafeSourceRecord);
const r370 = Object.create(PaysafeSourceRecord.prototype);
const r373 = $callWithNewTarget(prototypeOf13, r370, PaysafeSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.PAYSAFE_CARD) {
throw new Error(`Cannot instantiate PaysafeSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PAYSAFE_CARD}`);
}
return r373 instanceof Object ? r373 : r370;
}
if (PaymentSourceTypes.GCASH === type) {
const prototypeOf12 = Object.getPrototypeOf(GcashSourceRecord);
const r343 = Object.create(GcashSourceRecord.prototype);
const r346 = $callWithNewTarget(prototypeOf12, r343, GcashSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.GCASH) {
throw new Error(`Cannot instantiate GcashSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GCASH}`);
}
return r346 instanceof Object ? r346 : r343;
}
if (PaymentSourceTypes.GRABPAY_MY === type) {
const prototypeOf11 = Object.getPrototypeOf(GrabPayMySourceRecord);
const r316 = Object.create(GrabPayMySourceRecord.prototype);
const r319 = $callWithNewTarget(prototypeOf11, r316, GrabPayMySourceRecord, a0);
if (a0.type !== PaymentSourceTypes.GRABPAY_MY) {
throw new Error(`Cannot instantiate GrabPayMySourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GRABPAY_MY}`);
}
return r319 instanceof Object ? r319 : r316;
}
if (PaymentSourceTypes.MOMO_WALLET === type) {
const prototypeOf10 = Object.getPrototypeOf(MomoWalletSourceRecord);
const r289 = Object.create(MomoWalletSourceRecord.prototype);
const r292 = $callWithNewTarget(prototypeOf10, r289, MomoWalletSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.MOMO_WALLET) {
throw new Error(`Cannot instantiate MomoWalletSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.MOMO_WALLET}`);
}
return r292 instanceof Object ? r292 : r289;
}
if (PaymentSourceTypes.VENMO === type) {
const prototypeOf9 = Object.getPrototypeOf(VenmoSourceRecord);
const r261 = Object.create(VenmoSourceRecord.prototype);
const r264 = $callWithNewTarget(prototypeOf9, r261, VenmoSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.VENMO) {
throw new Error(`Cannot instantiate VenmoSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.VENMO}`);
}
const username2 = a0.username || "";
const r269 = r264 instanceof Object ? r264 : r261;
r269.username = username2;
return r269;
}
if (PaymentSourceTypes.KAKAOPAY === type) {
const prototypeOf8 = Object.getPrototypeOf(KaKaoPaySourceRecord);
const r234 = Object.create(KaKaoPaySourceRecord.prototype);
const r237 = $callWithNewTarget(prototypeOf8, r234, KaKaoPaySourceRecord, a0);
if (a0.type !== PaymentSourceTypes.KAKAOPAY) {
throw new Error(`Cannot instantiate KaKaoPaySourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.KAKAOPAY}`);
}
return r237 instanceof Object ? r237 : r234;
}
if (PaymentSourceTypes.GOPAY_WALLET === type) {
const prototypeOf7 = Object.getPrototypeOf(GoPayWalletSourceRecord);
const r207 = Object.create(GoPayWalletSourceRecord.prototype);
const r210 = $callWithNewTarget(prototypeOf7, r207, GoPayWalletSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.GOPAY_WALLET) {
throw new Error(`Cannot instantiate GoPayWalletSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GOPAY_WALLET}`);
}
return r210 instanceof Object ? r210 : r207;
}
if (PaymentSourceTypes.BANCONTACT === type) {
const prototypeOf6 = Object.getPrototypeOf(BancontactSourceRecord);
const r180 = Object.create(BancontactSourceRecord.prototype);
const r183 = $callWithNewTarget(prototypeOf6, r180, BancontactSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.BANCONTACT) {
throw new Error(`Cannot instantiate BancontactSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.BANCONTACT}`);
}
return r183 instanceof Object ? r183 : r180;
}
if (PaymentSourceTypes.EPS === type) {
const prototypeOf5 = Object.getPrototypeOf(EPSSourceRecord);
const r152 = Object.create(EPSSourceRecord.prototype);
const r155 = $callWithNewTarget(prototypeOf5, r152, EPSSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.EPS) {
throw new Error(`Cannot instantiate EPSSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.EPS}`);
}
const r159 = r155 instanceof Object ? r155 : r152;
r159.bank = a0.bank;
return r159;
}
if (PaymentSourceTypes.IDEAL === type) {
const prototypeOf4 = Object.getPrototypeOf(IdealSourceRecord);
const r124 = Object.create(IdealSourceRecord.prototype);
const r127 = $callWithNewTarget(prototypeOf4, r124, IdealSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.IDEAL) {
throw new Error(`Cannot instantiate IdealSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.IDEAL}`);
}
const r131 = r127 instanceof Object ? r127 : r124;
r131.bank = a0.bank;
return r131;
}
if (PaymentSourceTypes.CASH_APP === type) {
const prototypeOf3 = Object.getPrototypeOf(CashAppSourceRecord);
const r96 = Object.create(CashAppSourceRecord.prototype);
const r99 = $callWithNewTarget(prototypeOf3, r96, CashAppSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.CASH_APP) {
throw new Error(`Cannot instantiate Cashapp with type: ${a0.type}, must be ${PaymentSourceTypes.CASH_APP}`);
}
const username = a0.username || "";
const r104 = r99 instanceof Object ? r99 : r96;
r104.username = username;
return r104;
}
if (PaymentSourceTypes.TDS_WALLET === type) {
const prototypeOf2 = Object.getPrototypeOf(TDSWalletSourceRecord);
const r69 = Object.create(TDSWalletSourceRecord.prototype);
const r72 = $callWithNewTarget(prototypeOf2, r69, TDSWalletSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.TDS_WALLET) {
throw new Error(`Cannot instantiate TDSWalletSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.TDS_WALLET}`);
}
return r72 instanceof Object ? r72 : r69;
}
if (PaymentSourceTypes.PIX === type) {
const prototypeOf = Object.getPrototypeOf(PixSourceRecord);
const r45 = Object.create(PixSourceRecord.prototype);
const r47 = $callWithNewTarget(prototypeOf, r45, PixSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.PIX) {
throw new Error(`Cannot instantiate PixSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PIX}`);
}
const r50 = r47 instanceof Object ? r47 : r45;
r50.email = a0.email;
return r50;
}
assertNever(type);
return void 0;
}
const prototypeOf16 = Object.getPrototypeOf(SofortSourceRecord);
const r453 = Object.create(SofortSourceRecord.prototype);
const r456 = $callWithNewTarget(prototypeOf16, r453, SofortSourceRecord, a0);
if (a0.type !== PaymentSourceTypes.SOFORT && a0.type !== PaymentSourceTypes.SEPA_DEBIT) {
throw new Error(`Cannot instantiate SofortSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.SOFORT} or ` + PaymentSourceTypes.SEPA_DEBIT);
}
const email2 = a0.email || "";
const r463 = r456 instanceof Object ? r456 : r453;
r463.email = email2;
return r463;
}
hasFlag(a0) {
return _Module1384.hasFlag(this.flags, a0);
}
get paymentMethodCountry() {
return this.country != null && this.country !== "" ? this.country : this.billingAddress.country;
}
canRedeemTrial() {
return !IRREDEEMABLE_PAYMENT_SOURCES.has(this.type);
}
}
class CreditCardSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.CARD) {
throw new Error(`Cannot instantiate CreditCardSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.CARD}`);
}
let brand = a0.brand;
if (brand == null) {
brand = "";
}
this.brand = brand;
let last4 = a0.last4;
if (last4 == null) {
last4 = "";
}
this.last4 = last4;
let expiresMonth = a0.expiresMonth;
if (expiresMonth == null) {
expiresMonth = 0;
}
this.expiresMonth = expiresMonth;
let expiresYear = a0.expiresYear;
if (expiresYear == null) {
expiresYear = 0;
}
this.expiresYear = expiresYear;
}
get isStripeLinkBankAccount() {
return this.brand === "link" && this.last4 === "0000";
}
}
const PaypalSourceRecord2 = class PaypalSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.PAYPAL) {
throw new Error(`Cannot instantiate PaypalSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PAYPAL}`);
}
const email = a0.email || "";
this.email = email;
}
};
PaypalSourceRecord2.prototype;
PaypalSourceRecord = PaypalSourceRecord2;
const SofortSourceRecord2 = class SofortSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.SOFORT && a0.type !== PaymentSourceTypes.SEPA_DEBIT) {
throw new Error(`Cannot instantiate SofortSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.SOFORT} or ` + PaymentSourceTypes.SEPA_DEBIT);
}
const email = a0.email || "";
this.email = email;
}
};
SofortSourceRecord2.prototype;
SofortSourceRecord = SofortSourceRecord2;
const GiropaySourceRecord2 = class GiropaySourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.GIROPAY) {
throw new Error(`Cannot instantiate GiropaySourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GIROPAY}`);
}
}
};
GiropaySourceRecord2.prototype;
GiropaySourceRecord = GiropaySourceRecord2;
const Przelewy24SourceRecord2 = class Przelewy24SourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.PRZELEWY24) {
throw new Error(`Cannot instantiate Przelewy24SourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PRZELEWY24}`);
}
const email = a0.email || "";
this.email = email;
this.bank = a0.bank;
}
};
Przelewy24SourceRecord2.prototype;
Przelewy24SourceRecord = Przelewy24SourceRecord2;
const EPSSourceRecord2 = class EPSSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.EPS) {
throw new Error(`Cannot instantiate EPSSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.EPS}`);
}
this.bank = a0.bank;
}
};
EPSSourceRecord2.prototype;
EPSSourceRecord = EPSSourceRecord2;
const IdealSourceRecord2 = class IdealSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.IDEAL) {
throw new Error(`Cannot instantiate IdealSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.IDEAL}`);
}
this.bank = a0.bank;
}
};
IdealSourceRecord2.prototype;
IdealSourceRecord = IdealSourceRecord2;
const PaysafeSourceRecord2 = class PaysafeSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.PAYSAFE_CARD) {
throw new Error(`Cannot instantiate PaysafeSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PAYSAFE_CARD}`);
}
}
};
PaysafeSourceRecord2.prototype;
PaysafeSourceRecord = PaysafeSourceRecord2;
const GcashSourceRecord2 = class GcashSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.GCASH) {
throw new Error(`Cannot instantiate GcashSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GCASH}`);
}
}
};
GcashSourceRecord2.prototype;
GcashSourceRecord = GcashSourceRecord2;
const GrabPayMySourceRecord2 = class GrabPayMySourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.GRABPAY_MY) {
throw new Error(`Cannot instantiate GrabPayMySourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GRABPAY_MY}`);
}
}
};
GrabPayMySourceRecord2.prototype;
GrabPayMySourceRecord = GrabPayMySourceRecord2;
const MomoWalletSourceRecord2 = class MomoWalletSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.MOMO_WALLET) {
throw new Error(`Cannot instantiate MomoWalletSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.MOMO_WALLET}`);
}
}
};
MomoWalletSourceRecord2.prototype;
MomoWalletSourceRecord = MomoWalletSourceRecord2;
const VenmoSourceRecord2 = class VenmoSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.VENMO) {
throw new Error(`Cannot instantiate VenmoSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.VENMO}`);
}
const username = a0.username || "";
this.username = username;
}
};
VenmoSourceRecord2.prototype;
VenmoSourceRecord = VenmoSourceRecord2;
const KaKaoPaySourceRecord2 = class KaKaoPaySourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.KAKAOPAY) {
throw new Error(`Cannot instantiate KaKaoPaySourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.KAKAOPAY}`);
}
}
};
KaKaoPaySourceRecord2.prototype;
KaKaoPaySourceRecord = KaKaoPaySourceRecord2;
const GoPayWalletSourceRecord2 = class GoPayWalletSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.GOPAY_WALLET) {
throw new Error(`Cannot instantiate GoPayWalletSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.GOPAY_WALLET}`);
}
}
};
GoPayWalletSourceRecord2.prototype;
GoPayWalletSourceRecord = GoPayWalletSourceRecord2;
const BancontactSourceRecord2 = class BancontactSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.BANCONTACT) {
throw new Error(`Cannot instantiate BancontactSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.BANCONTACT}`);
}
}
};
BancontactSourceRecord2.prototype;
BancontactSourceRecord = BancontactSourceRecord2;
const CashAppSourceRecord2 = class CashAppSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.CASH_APP) {
throw new Error(`Cannot instantiate Cashapp with type: ${a0.type}, must be ${PaymentSourceTypes.CASH_APP}`);
}
const username = a0.username || "";
this.username = username;
}
};
CashAppSourceRecord2.prototype;
CashAppSourceRecord = CashAppSourceRecord2;
const TDSWalletSourceRecord2 = class TDSWalletSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.TDS_WALLET) {
throw new Error(`Cannot instantiate TDSWalletSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.TDS_WALLET}`);
}
}
};
TDSWalletSourceRecord2.prototype;
TDSWalletSourceRecord = TDSWalletSourceRecord2;
class PixSourceRecord extends PaymentSourceRecord {
constructor(a0) {
super(a0);
if (a0.type !== PaymentSourceTypes.PIX) {
throw new Error(`Cannot instantiate PixSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.PIX}`);
}
this.email = a0.email;
}
}
export default PaymentSourceRecord;
export { CreditCardSourceRecord };
export { PaypalSourceRecord };
export { SofortSourceRecord };
export { GiropaySourceRecord };
export { Przelewy24SourceRecord };
export { EPSSourceRecord };
export { IdealSourceRecord };
export { PaysafeSourceRecord };
export { GcashSourceRecord };
export { GrabPayMySourceRecord };
export { MomoWalletSourceRecord };
export { VenmoSourceRecord };
export { KaKaoPaySourceRecord };
export { GoPayWalletSourceRecord };
export { BancontactSourceRecord };
export { CashAppSourceRecord };
class AppleSourceRecord extends PaymentSourceRecord {
constructor(a0) {
a0.id = "";
a0.paymentGateway = PaymentGateways.APPLE_PARTNER;
a0.type = PaymentSourceTypes.APPLE;
a0.billingAddress = {};
a0.country = "";
a0.invalid = false;
a0.isDefault = false;
a0.flags = 0;
super(a0);
if (a0.type !== PaymentSourceTypes.APPLE) {
throw new Error(`Cannot instantiate AppleSourceRecord with type: ${a0.type}, must be ${PaymentSourceTypes.APPLE}`);
}
}
}
export { AppleSourceRecord };
export { TDSWalletSourceRecord };
export { PixSourceRecord };