@moneydevkit/core 0.5.0-beta.0 → 0.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/actions.js CHANGED
@@ -3,6 +3,42 @@ import { createMoneyDevKitClient, createMoneyDevKitNode } from './mdk';
3
3
  import { hasPaymentBeenReceived, markPaymentReceived } from './payment-state';
4
4
  import { is_preview_environment } from './preview';
5
5
  const isPreview = is_preview_environment();
6
+ /**
7
+ * Convert any string format to camelCase.
8
+ * Supports: snake_case, kebab-case, space separated, PascalCase, camelCase
9
+ * @example toCamelCase('custom_field') => 'customField'
10
+ * @example toCamelCase('custom-field') => 'customField'
11
+ * @example toCamelCase('custom field') => 'customField'
12
+ * @example toCamelCase('Custom Field') => 'customField'
13
+ */
14
+ function toCamelCase(str) {
15
+ return str
16
+ // Split on underscores, hyphens, or spaces
17
+ .split(/[-_\s]+/)
18
+ // Also split on camelCase/PascalCase boundaries
19
+ .flatMap(word => word.split(/(?<=[a-z])(?=[A-Z])/))
20
+ // Filter empty strings
21
+ .filter(Boolean)
22
+ // Convert to camelCase
23
+ .map((word, index) => {
24
+ const lower = word.toLowerCase();
25
+ return index === 0 ? lower : lower.charAt(0).toUpperCase() + lower.slice(1);
26
+ })
27
+ .join('');
28
+ }
29
+ /**
30
+ * Normalize field names to camelCase.
31
+ * Standard fields (email, name) are kept as-is.
32
+ */
33
+ function normalizeFieldName(field) {
34
+ const standardFields = ['email', 'name', 'externalId'];
35
+ const camel = toCamelCase(field);
36
+ // Keep standard fields exactly as expected
37
+ if (standardFields.includes(camel)) {
38
+ return camel;
39
+ }
40
+ return camel;
41
+ }
6
42
  export async function getCheckout(checkoutId) {
7
43
  const client = createMoneyDevKitClient();
8
44
  return await client.checkouts.get({ id: checkoutId });
@@ -24,6 +60,29 @@ export async function confirmCheckout(confirm) {
24
60
  });
25
61
  return pendingPaymentCheckout;
26
62
  }
63
+ /**
64
+ * Strip empty strings from customer object and normalize keys to camelCase.
65
+ */
66
+ function cleanCustomerInput(customer) {
67
+ if (!customer)
68
+ return undefined;
69
+ const cleaned = {};
70
+ for (const [key, value] of Object.entries(customer)) {
71
+ if (typeof value === 'string' && value.trim() !== '') {
72
+ // Normalize key to camelCase
73
+ cleaned[normalizeFieldName(key)] = value;
74
+ }
75
+ }
76
+ return Object.keys(cleaned).length > 0 ? cleaned : undefined;
77
+ }
78
+ /**
79
+ * Normalize requireCustomerData field names to camelCase.
80
+ */
81
+ function normalizeRequireCustomerData(fields) {
82
+ if (!fields)
83
+ return undefined;
84
+ return fields.map(normalizeFieldName);
85
+ }
27
86
  export async function createCheckout(params) {
28
87
  const amount = params.amount ?? 200;
29
88
  const currency = params.currency ?? 'USD';
@@ -39,6 +98,10 @@ export async function createCheckout(params) {
39
98
  successUrl: params.successUrl,
40
99
  ...metadataOverrides,
41
100
  },
101
+ // Customer data (nested object) - strip empty strings and normalize keys
102
+ customer: cleanCustomerInput(params.customer),
103
+ // Required customer fields - normalize to camelCase
104
+ requireCustomerData: normalizeRequireCustomerData(params.requireCustomerData),
42
105
  }, node.id);
43
106
  if (checkout.status === 'CONFIRMED') {
44
107
  const invoice = checkout.invoiceScid
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}