Build 589089stable
Module 669316
1,639 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>s});var i=n(315069),r=n(202541);let a={[r.Ff.DAY]:r.WT.DAY,[r.Ff.WEEK]:r.WT.DAY,[r.Ff.MONTH]:r.WT.MONTH,[r.Ff.YEAR]:r.WT.YEAR};class s extends i.A{id;discountId;discount;userId;appliedAt;deletedAt;expiresAt;static createFromServer(e){return new s({id:e.id,discountId:e.discount_id,discount:{id:e.discount.id,planIds:e.discount.plan_ids,userUsageLimitInterval:e.discount.user_usage_limit_interval,userUsageLimitIntervalCount:e.discount.user_usage_limit_interval_count,userUsageLimit:e.discount.user_usage_limit,amount:e.discount.amount},userId:e.user_id,appliedAt:null!=e.applied_at?new Date(e.applied_at):null,deletedAt:null!=e.deleted_at?new Date(e.deleted_at):null,expiresAt:null!=e.expires_at?new Date(e.expires_at):null})}constructor(e){super(),this.id=e.id,this.discountId=e.discountId,this.discount=e.discount,this.userId=e.userId,this.appliedAt=e.appliedAt??null,this.deletedAt=e.deletedAt??null,this.expiresAt=e.expiresAt??null}hasExpired(){return null!=this.expiresAt&&Date.now()>this.expiresAt.getTime()}isApplied(){return null!=this.appliedAt}isDeleted(){return null!=this.deletedAt}hasAcknowledged(){return null!=this.expiresAt}getFullIntervalCount(){return null==this.discount?0:this.discount.userUsageLimit}getDiscountInterval(){return this.discount.userUsageLimitInterval}getApplicableSubscriptionInterval(){return a[this.getDiscountInterval()]}getIsMultiIntervalDiscount(){return this.getFullIntervalCount()>1}getApproximateDiscountAmountOff(e){if(this.discount?.amount==null)return null;let t=parseFloat(this.discount.amount);return Number.isNaN(t)?null:Math.round(e*(1-t/100))}}}