{ "version": 3, "sources": ["apps/partner-center-client/src/app/core/utils/format-billing-frequency.ts", "apps/partner-center-client/src/app/core/utils/price-utils.ts", "apps/partner-center-client/src/app/core/sort.ts", "apps/partner-center-client/src/app/core/utils/pipe-utils.ts"], "sourcesContent": ["export function formatBillingFrequency(value?: string, perFormat?: boolean): string {\n if (!value) {\n return '';\n }\n if (!perFormat) {\n switch (value.toLowerCase()) {\n case 'daily':\n return 'Daily';\n break;\n case 'weekly':\n return 'Weekly';\n break;\n case 'monthly':\n return 'Monthly';\n break;\n case 'yearly':\n return 'Yearly';\n break;\n case 'once':\n case 'one time':\n case 'one_time':\n return 'One Time';\n break;\n case 'other':\n return 'Other';\n break;\n default:\n return '';\n }\n } else {\n switch (value.toLowerCase()) {\n case 'daily':\n return 'day';\n break;\n case 'weekly':\n return 'week';\n break;\n case 'monthly':\n return 'month';\n break;\n case 'yearly':\n return 'year';\n break;\n default:\n return '';\n }\n }\n}\n", "import { Frequency as PackagesFrequency } from '@vendasta/marketplace-packages';\nimport { FrequencyEnum as CoreFrequency } from '@vendasta/shared';\n\nexport function convertCentsToDollars(centValue: number): number {\n if (!centValue) {\n return centValue;\n }\n\n if (!Number.isInteger(centValue)) {\n centValue = Number(centValue);\n centValue = Math.round(centValue);\n }\n return centValue / 100;\n}\n\nexport function convertDollarsToCents(dollarValue: number): number {\n if (!dollarValue) {\n return dollarValue;\n }\n\n let centValue = dollarValue * 100;\n if (!Number.isInteger(centValue)) {\n centValue = Number(centValue);\n centValue = Math.round(centValue);\n }\n return centValue;\n}\n\ntype PriceConversion = 'cents_to_dollars' | 'dollars_to_cents';\n\nexport function convertPrice(price: number, conversion: PriceConversion): number {\n if (!(price > 0)) {\n return price;\n }\n\n return conversion === 'cents_to_dollars' ? convertCentsToDollars(price) : convertDollarsToCents(price);\n}\n\nexport function convertPackagesFrequencyToCoreFrequency(frequency: PackagesFrequency): CoreFrequency {\n switch (frequency) {\n case PackagesFrequency.ONCE:\n return CoreFrequency.ONE_TIME;\n case PackagesFrequency.YEARLY:\n return CoreFrequency.YEARLY;\n default:\n return CoreFrequency.MONTHLY;\n }\n}\n", "export enum SortOrder {\n Ascending = 1,\n Descending = -1,\n None = 0,\n}\n\nexport declare interface SortDescriptor {\n fieldname: string;\n order: SortOrder;\n}\n", "import { CurrencyPipe, DecimalPipe } from '@angular/common';\nimport { SortDescriptor, SortOrder } from '../sort';\nimport { BillingFrequency, Currency } from '../types';\nimport { formatBillingFrequency } from './format-billing-frequency';\nimport { convertCentsToDollars } from './price-utils';\n\nexport function capitalize(value: string): string {\n if (value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n return value;\n}\n\nexport function sortedWithState(items: any[], sortState: SortDescriptor): any[] {\n if (sortState.order === SortOrder.Ascending) {\n return sortedAscendingByField([...items], sortState.fieldname);\n } else {\n return sortedDescendingByField([...items], sortState.fieldname);\n }\n}\n\nexport function sortedAscendingByField(items: any[], fieldName: string): any[] {\n try {\n return items.sort((a, b) => a[fieldName].localeCompare(b[fieldName]));\n } catch (error) {\n return items.sort(function (a: any, b: any): number {\n return a[fieldName] > b[fieldName] ? 1 : b[fieldName] > a[fieldName] ? -1 : 0;\n });\n }\n}\n\nexport function sortedDescendingByField(items: any[], fieldName: string): any[] {\n try {\n return items.sort((a, b) => b[fieldName].localeCompare(a[fieldName]));\n } catch (error) {\n return items.sort(function (a: any, b: any): number {\n return a[fieldName] < b[fieldName] ? 1 : b[fieldName] < a[fieldName] ? -1 : 0;\n });\n }\n}\n\nexport function formatDisplayPrice(\n value: any,\n currency: Currency | string,\n billingFrequency?: BillingFrequency,\n isCents = true,\n translateZero = true,\n displaySymbol = true,\n): string {\n let price = 'Contact Sales';\n const display: 'code' | 'symbol' | 'symbol-narrow' | boolean = displaySymbol === true ? 'symbol' : 'code';\n\n if (value) {\n if (isCents) {\n value = convertCentsToDollars(Number(value));\n }\n if (!currency) {\n price = new DecimalPipe('en-US').transform(value, '1.2-2');\n } else {\n price = new CurrencyPipe('en-US').transform(value, currency, display, '1.2-2');\n }\n if (billingFrequency) {\n price = price + ' ' + formatBillingFrequency(billingFrequency);\n }\n }\n\n if (translateZero) {\n if (value < 0) {\n return 'Contact Sales';\n }\n if (value === 0) {\n return 'Free';\n }\n }\n if (value === 0) {\n return currency\n ? new CurrencyPipe('en-US').transform(value, currency, display, '1.2-2')\n : new DecimalPipe('en-US').transform(value, '1.2-2');\n }\n\n return price;\n}\n"], "mappings": "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", "names": ["formatBillingFrequency", "value", "perFormat", "toLowerCase", "convertCentsToDollars", "centValue", "Number", "isInteger", "Math", "round", "convertDollarsToCents", "dollarValue", "convertPrice", "price", "conversion", "convertPackagesFrequencyToCoreFrequency", "frequency", "PackagesFrequency", "ONCE", "CoreFrequency", "ONE_TIME", "YEARLY", "MONTHLY", "SortOrder", "capitalize", "value", "charAt", "toUpperCase", "slice", "sortedWithState", "items", "sortState", "order", "SortOrder", "Ascending", "sortedAscendingByField", "fieldname", "sortedDescendingByField", "fieldName", "sort", "a", "b", "localeCompare", "formatDisplayPrice", "currency", "billingFrequency", "isCents", "translateZero", "displaySymbol", "price", "display", "convertCentsToDollars", "Number", "CurrencyPipe", "transform", "DecimalPipe", "formatBillingFrequency"] }