And I thinks your method create is too generic, you can be more explicit :
typePaymentMethodParam={paymentMethods:IPaymentMethod[]defaultPaymentMethod:IPaymentMethod}exportclassAccount{staticcreate(user:User,{paymentMethods,defaultPaymentMethod}:PaymentMethodParam):Result<Account>{// ...}staticcreateAccountForFutur(user:User,createdAt:Date/* Date encapsulate Moment for the day Moment will be abandonned */):Result<Account>{// for some reason, you wants to create an Account with createdAt !== today// and you don't want to let them pay}}
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
And I thinks your method create is too generic, you can be more explicit :