Skip to content

Commit 1aaad23

Browse files
authored
chore: [LM-1693] Changed Payment Methods order (#122)
1 parent 1cc1729 commit 1aaad23

File tree

2 files changed

+101
-4
lines changed

2 files changed

+101
-4
lines changed

src/PaymentMethod.ts

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,60 @@
11
import { toStartCase } from './internal/toStartCase';
22

3+
export type PaymentMethod =
4+
| 'superpay'
5+
| 'cash'
6+
| 'check'
7+
| 'cashiers_check'
8+
| 'money_order'
9+
| 'comchek'
10+
| 'credit_card'
11+
| 'ach'
12+
| 'direct_deposit'
13+
| 'venmo'
14+
| 'cashapp'
15+
| 'uship'
16+
| 'zelle'
17+
| 'other';
18+
19+
export const SUPERPAY_PAYMENT_METHODS: PaymentMethod[] = ['superpay'];
20+
21+
export const CASH_PAYMENT_METHODS: PaymentMethod[] = ['cash'];
22+
23+
export const CHECK_PAYMENT_METHODS: PaymentMethod[] = [
24+
'check',
25+
'cashiers_check',
26+
'money_order',
27+
'comchek',
28+
];
29+
30+
export const ACH_PAYMENT_METHODS: PaymentMethod[] = ['ach', 'direct_deposit'];
31+
32+
export const CREDIT_CARD_PAYMENT_METHODS: PaymentMethod[] = ['credit_card'];
33+
34+
export const ELECTRONIC_PAYMENT_METHODS: PaymentMethod[] = [
35+
'venmo',
36+
'cashapp',
37+
'uship',
38+
'zelle',
39+
];
40+
41+
export const OTHER_PAYMENT_METHODS: PaymentMethod[] = ['other'];
42+
43+
const ALL_PAYMENT_METHODS_SET = new Set([
44+
...SUPERPAY_PAYMENT_METHODS,
45+
...CASH_PAYMENT_METHODS,
46+
...CHECK_PAYMENT_METHODS,
47+
...ACH_PAYMENT_METHODS,
48+
...CREDIT_CARD_PAYMENT_METHODS,
49+
...ELECTRONIC_PAYMENT_METHODS,
50+
...OTHER_PAYMENT_METHODS,
51+
]);
52+
53+
export const ALL_PAYMENT_METHODS: PaymentMethod[] = Array.from(
54+
ALL_PAYMENT_METHODS_SET,
55+
);
56+
57+
// @deprecated – use `ALL_PAYMENT_METHODS`
358
export const PAYMENT_METHODS = [
459
'superpay',
560
'cash',
@@ -17,13 +72,11 @@ export const PAYMENT_METHODS = [
1772
'other',
1873
] as const;
1974

20-
export type PaymentMethod = typeof PAYMENT_METHODS[number];
21-
2275
export function isValidPaymentMethod(input: unknown): input is PaymentMethod {
23-
return PAYMENT_METHODS.includes(input as PaymentMethod);
76+
return ALL_PAYMENT_METHODS_SET.has(input as PaymentMethod);
2477
}
2578

26-
/** @deprecated – use `PAYMENT_METHODS` */
79+
/** @deprecated – use `ALL_PAYMENT_METHODS` */
2780
export function listPaymentMethods(): readonly PaymentMethod[] {
2881
return PAYMENT_METHODS;
2982
}

src/__tests__/index.spec.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,26 @@ import * as api from '../index';
33
it('exports public api', () => {
44
expect(api).toMatchInlineSnapshot(`
55
Object {
6+
"ACH_PAYMENT_METHODS": Array [
7+
"ach",
8+
"direct_deposit",
9+
],
10+
"ALL_PAYMENT_METHODS": Array [
11+
"superpay",
12+
"cash",
13+
"check",
14+
"cashiers_check",
15+
"money_order",
16+
"comchek",
17+
"ach",
18+
"direct_deposit",
19+
"credit_card",
20+
"venmo",
21+
"cashapp",
22+
"uship",
23+
"zelle",
24+
"other",
25+
],
626
"ALL_PAYMENT_TERMS": Array [
727
"other",
828
"superpay",
@@ -26,12 +46,21 @@ it('exports public api', () => {
2646
"on_delivery",
2747
"on_pickup",
2848
],
49+
"CASH_PAYMENT_METHODS": Array [
50+
"cash",
51+
],
2952
"CASH_TERMS": Array [
3053
"cash_on_pickup",
3154
"cash_on_delivery",
3255
"2_days",
3356
"5_days",
3457
],
58+
"CHECK_PAYMENT_METHODS": Array [
59+
"check",
60+
"cashiers_check",
61+
"money_order",
62+
"comchek",
63+
],
3564
"CHECK_TERMS": Array [
3665
"check_on_delivery",
3766
"check_on_pickup",
@@ -45,6 +74,9 @@ it('exports public api', () => {
4574
"45_days",
4675
"60_days",
4776
],
77+
"CREDIT_CARD_PAYMENT_METHODS": Array [
78+
"credit_card",
79+
],
4880
"CUSTOMER_TYPES": Array [
4981
"BUSINESS",
5082
"DEALER",
@@ -60,6 +92,12 @@ it('exports public api', () => {
6092
"not_earlier_than",
6193
"not_later_than",
6294
],
95+
"ELECTRONIC_PAYMENT_METHODS": Array [
96+
"venmo",
97+
"cashapp",
98+
"uship",
99+
"zelle",
100+
],
63101
"ELECTRONIC_PAYMENT_TERMS": Array [
64102
"on_delivery",
65103
"on_pickup",
@@ -99,6 +137,9 @@ it('exports public api', () => {
99137
"60_days",
100138
"other",
101139
],
140+
"OTHER_PAYMENT_METHODS": Array [
141+
"other",
142+
],
102143
"OTHER_PAYMENT_TERMS": Array [
103144
"other",
104145
"superpay",
@@ -153,6 +194,9 @@ it('exports public api', () => {
153194
"45_days",
154195
"60_days",
155196
],
197+
"SUPERPAY_PAYMENT_METHODS": Array [
198+
"superpay",
199+
],
156200
"SUPERPAY_TERMS": Array [
157201
"1_3_days",
158202
"5_days",

0 commit comments

Comments
 (0)