import type { FullCustomerEntitlement } from "../../models/cusProductModels/cusEntModels/cusEntModels"; import type { FullCusEntWithFullCusProduct } from "../../models/cusProductModels/cusEntModels/cusEntWithProduct"; import { AllowanceType } from "../../models/productModels/entModels/entModels"; import { cusEntToCusPrice } from "../productUtils/convertUtils"; import { notNullish } from "../utils"; export const isUnlimitedCusEnt = ({ cusEnt, }: { cusEnt: FullCustomerEntitlement; }) => { return cusEnt.entitlement.allowance_type === AllowanceType.Unlimited; }; export const isEntityScopedCusEnt = ({ cusEnt, }: { cusEnt: FullCustomerEntitlement; }) => { return notNullish(cusEnt.entitlement.entity_feature_id); }; export const cusEntsHavePrice = ({ cusEnts, }: { cusEnts: FullCusEntWithFullCusProduct[]; }) => { return cusEnts.some((cusEnt) => { const cusPrice = cusEntToCusPrice({ cusEnt }); return notNullish(cusPrice); }); };