@bash-app/bash-common 30.219.0 → 30.221.0
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/definitions.d.ts +9 -3
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +19 -1
- package/dist/definitions.js.map +1 -1
- package/dist/extendedSchemas.d.ts +161 -1
- package/dist/extendedSchemas.d.ts.map +1 -1
- package/dist/extendedSchemas.js +20 -0
- package/dist/extendedSchemas.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/membershipDefinitions.d.ts +4 -2
- package/dist/membershipDefinitions.d.ts.map +1 -1
- package/dist/membershipDefinitions.js +9 -2
- package/dist/membershipDefinitions.js.map +1 -1
- package/dist/partnerStoreTypes.d.ts +37 -0
- package/dist/partnerStoreTypes.d.ts.map +1 -0
- package/dist/partnerStoreTypes.js +2 -0
- package/dist/partnerStoreTypes.js.map +1 -0
- package/dist/utils/__tests__/paymentUtils.test.js +179 -1
- package/dist/utils/__tests__/paymentUtils.test.js.map +1 -1
- package/dist/utils/__tests__/urlUtils.externalLink.test.d.ts +2 -0
- package/dist/utils/__tests__/urlUtils.externalLink.test.d.ts.map +1 -0
- package/dist/utils/__tests__/urlUtils.externalLink.test.js +29 -0
- package/dist/utils/__tests__/urlUtils.externalLink.test.js.map +1 -0
- package/dist/utils/paymentUtils.d.ts +66 -1
- package/dist/utils/paymentUtils.d.ts.map +1 -1
- package/dist/utils/paymentUtils.js +104 -3
- package/dist/utils/paymentUtils.js.map +1 -1
- package/dist/utils/urlUtils.d.ts +11 -0
- package/dist/utils/urlUtils.d.ts.map +1 -1
- package/dist/utils/urlUtils.js +40 -0
- package/dist/utils/urlUtils.js.map +1 -1
- package/package.json +2 -2
- package/prisma/schema.prisma +213 -2
- package/src/definitions.ts +29 -2
- package/src/extendedSchemas.ts +42 -0
- package/src/index.ts +6 -0
- package/src/membershipDefinitions.ts +10 -2
- package/src/partnerStoreTypes.ts +36 -0
- package/src/utils/__tests__/paymentUtils.test.ts +239 -0
- package/src/utils/__tests__/urlUtils.externalLink.test.ts +36 -0
- package/src/utils/paymentUtils.ts +156 -1
- package/src/utils/urlUtils.ts +45 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { toExternalLinkHref } from "../urlUtils.js";
|
|
2
|
+
describe("toExternalLinkHref", () => {
|
|
3
|
+
it("returns # for empty or null", () => {
|
|
4
|
+
expect(toExternalLinkHref(null)).toBe("#");
|
|
5
|
+
expect(toExternalLinkHref(undefined)).toBe("#");
|
|
6
|
+
expect(toExternalLinkHref("")).toBe("#");
|
|
7
|
+
expect(toExternalLinkHref(" ")).toBe("#");
|
|
8
|
+
});
|
|
9
|
+
it("leaves http(s) URLs unchanged", () => {
|
|
10
|
+
expect(toExternalLinkHref("https://example.com")).toBe("https://example.com");
|
|
11
|
+
expect(toExternalLinkHref("http://example.com/path")).toBe("http://example.com/path");
|
|
12
|
+
});
|
|
13
|
+
it("prepends https to bare hostnames so browsers do not treat them as relative paths", () => {
|
|
14
|
+
expect(toExternalLinkHref("aavprod.com")).toBe("https://aavprod.com");
|
|
15
|
+
expect(toExternalLinkHref("www.foo.com/bar")).toBe("https://www.foo.com/bar");
|
|
16
|
+
});
|
|
17
|
+
it("preserves mailto and tel", () => {
|
|
18
|
+
expect(toExternalLinkHref("mailto:a@b.com")).toBe("mailto:a@b.com");
|
|
19
|
+
expect(toExternalLinkHref("tel:+15555551212")).toBe("tel:+15555551212");
|
|
20
|
+
});
|
|
21
|
+
it("maps Instagram @handle to instagram.com URL", () => {
|
|
22
|
+
expect(toExternalLinkHref("@a_prod_av")).toBe("https://www.instagram.com/a_prod_av/");
|
|
23
|
+
});
|
|
24
|
+
it("blocks obvious unsafe schemes", () => {
|
|
25
|
+
expect(toExternalLinkHref("javascript:alert(1)")).toBe("#");
|
|
26
|
+
expect(toExternalLinkHref("data:text/html,hi")).toBe("#");
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=urlUtils.externalLink.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlUtils.externalLink.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/urlUtils.externalLink.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9E,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAC3C,sCAAsC,CACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BashEventPromoCode, MembershipTier, TicketTier, VenuePricingPlan as VenuePricingPlanOption } from "@prisma/client";
|
|
1
|
+
import { BashEventPromoCode, BashPassTier, MembershipTier, TicketTier, VenuePricingPlan as VenuePricingPlanOption } from "@prisma/client";
|
|
2
2
|
import { NumberOfTicketsForDate } from "../definitions.js";
|
|
3
3
|
/**
|
|
4
4
|
* Returns the amount of discount in dollars
|
|
@@ -69,6 +69,71 @@ export declare function calculateServiceFeeWithMembershipDiscount(total: number,
|
|
|
69
69
|
* @returns Platform fee in cents, respecting both percentage discount and cap
|
|
70
70
|
*/
|
|
71
71
|
export declare function calculatePartnerFeeWithMembershipDiscount(total: number, membershipTier?: MembershipTier | null): number;
|
|
72
|
+
/**
|
|
73
|
+
* Bash **platform** take rate on ticket gross (e.g. 3%). Separate from Stripe card processing pass-through.
|
|
74
|
+
*/
|
|
75
|
+
export declare function calculateBashPlatformFeeCents(grossCents: number, rate: number): number;
|
|
76
|
+
export type BashPlatformTicketFeeSplit = {
|
|
77
|
+
totalPlatformCents: number;
|
|
78
|
+
/** Shown as a separate checkout line when greater than 0 */
|
|
79
|
+
guestPlatformLineCents: number;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Split the Bash platform fee between guest line items vs host absorption using `feeHandling`.
|
|
83
|
+
* BashPass waives the **guest-visible** portion only; the host still funds the full platform fee when the guest pays nothing extra.
|
|
84
|
+
*/
|
|
85
|
+
export declare function splitBashPlatformFeeForTicketCheckout(args: {
|
|
86
|
+
grossCents: number;
|
|
87
|
+
platformFeeEnabled: boolean;
|
|
88
|
+
platformFeeRate: number;
|
|
89
|
+
feeHandling: string | null | undefined;
|
|
90
|
+
bashPassWaivesGuestFee: boolean;
|
|
91
|
+
}): BashPlatformTicketFeeSplit;
|
|
92
|
+
export declare function computeTicketApplicationFeeAmountCents(args: {
|
|
93
|
+
discountedSubtotalCents: number;
|
|
94
|
+
platformFeeEnabled: boolean;
|
|
95
|
+
platformFeeRate: number;
|
|
96
|
+
feeHandling: string | null | undefined;
|
|
97
|
+
bashPassWaivesGuestFee: boolean;
|
|
98
|
+
}): {
|
|
99
|
+
totalChargedCents: number;
|
|
100
|
+
stripeProcessingCents: number;
|
|
101
|
+
bashPlatformTotalCents: number;
|
|
102
|
+
applicationFeeAmountCents: number;
|
|
103
|
+
guestPlatformLineCents: number;
|
|
104
|
+
};
|
|
105
|
+
export declare function userHasActiveBashPass(user: {
|
|
106
|
+
bashPassStripeSubscriptionId: string | null | undefined;
|
|
107
|
+
bashPassCurrentPeriodEnd: Date | null | undefined;
|
|
108
|
+
}): boolean;
|
|
109
|
+
/** When a user has both membership-included BashPass and a standalone subscription, keep the higher tier. */
|
|
110
|
+
export declare function higherBashPassTier(a: BashPassTier | null, b: BashPassTier | null): BashPassTier | null;
|
|
111
|
+
export declare function membershipGrantsBashPassTier(user: {
|
|
112
|
+
membershipTier: MembershipTier;
|
|
113
|
+
membershipExpiresAt: Date | null | undefined;
|
|
114
|
+
}): BashPassTier | null;
|
|
115
|
+
/** Effective BashPass tier from paid membership bundle and/or active standalone BashPass subscription. */
|
|
116
|
+
export declare function getEffectiveBashPassTier(user: {
|
|
117
|
+
bashPassTier: BashPassTier | null | undefined;
|
|
118
|
+
bashPassStripeSubscriptionId: string | null | undefined;
|
|
119
|
+
bashPassCurrentPeriodEnd: Date | null | undefined;
|
|
120
|
+
membershipTier: MembershipTier;
|
|
121
|
+
membershipExpiresAt: Date | null | undefined;
|
|
122
|
+
}): BashPassTier | null;
|
|
123
|
+
/**
|
|
124
|
+
* Remaining BashPass redemptions this billing month.
|
|
125
|
+
* - `0` — no BashPass or cap exhausted
|
|
126
|
+
* - positive integer — spots left
|
|
127
|
+
* - `null` — unlimited tier (no monthly cap)
|
|
128
|
+
*/
|
|
129
|
+
export declare function getBashPassMonthlyCapRemaining(user: {
|
|
130
|
+
bashPassTier: BashPassTier | null | undefined;
|
|
131
|
+
bashPassEventsUsedThisMonth: number;
|
|
132
|
+
bashPassStripeSubscriptionId: string | null | undefined;
|
|
133
|
+
bashPassCurrentPeriodEnd: Date | null | undefined;
|
|
134
|
+
membershipTier: MembershipTier;
|
|
135
|
+
membershipExpiresAt: Date | null | undefined;
|
|
136
|
+
}): number | null;
|
|
72
137
|
export type VenuePricingPlanData = {
|
|
73
138
|
name: string;
|
|
74
139
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"paymentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { VenuePricingPlan as VenuePricingPlanOption } from "@prisma/client";
|
|
2
|
-
import { BASH_EVENT_FEES, PARTNER_PAYMENT_FEES, SERVICE_BOOKING_FEES, STRIPE_PROCESSING_FEE, } from "../membershipDefinitions.js";
|
|
3
|
-
import { PRICE_DOLLARS_AND_CENTS_RATIO, } from "../definitions.js";
|
|
1
|
+
import { MembershipTier, VenuePricingPlan as VenuePricingPlanOption, } from "@prisma/client";
|
|
2
|
+
import { BASH_EVENT_FEES, MEMBERSHIP_BASH_PASS_TIER, PARTNER_PAYMENT_FEES, SERVICE_BOOKING_FEES, STRIPE_PROCESSING_FEE, } from "../membershipDefinitions.js";
|
|
3
|
+
import { BASH_PASS_EVENT_CAPS, BASH_PASS_TIER_RANK, PRICE_DOLLARS_AND_CENTS_RATIO, } from "../definitions.js";
|
|
4
4
|
/**
|
|
5
5
|
* Returns the amount of discount in dollars
|
|
6
6
|
* @param totalInDollars
|
|
@@ -165,6 +165,107 @@ export function calculatePartnerFeeWithMembershipDiscount(total, membershipTier)
|
|
|
165
165
|
// Round to 2 decimal places (cents precision)
|
|
166
166
|
return parseFloat(calculatedFee.toFixed(2));
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Bash **platform** take rate on ticket gross (e.g. 3%). Separate from Stripe card processing pass-through.
|
|
170
|
+
*/
|
|
171
|
+
export function calculateBashPlatformFeeCents(grossCents, rate) {
|
|
172
|
+
if (grossCents <= 0 || rate <= 0)
|
|
173
|
+
return 0;
|
|
174
|
+
return Math.floor(grossCents * rate);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Split the Bash platform fee between guest line items vs host absorption using `feeHandling`.
|
|
178
|
+
* BashPass waives the **guest-visible** portion only; the host still funds the full platform fee when the guest pays nothing extra.
|
|
179
|
+
*/
|
|
180
|
+
export function splitBashPlatformFeeForTicketCheckout(args) {
|
|
181
|
+
const { grossCents, platformFeeEnabled, platformFeeRate, feeHandling, bashPassWaivesGuestFee } = args;
|
|
182
|
+
const total = platformFeeEnabled
|
|
183
|
+
? calculateBashPlatformFeeCents(grossCents, platformFeeRate)
|
|
184
|
+
: 0;
|
|
185
|
+
if (total <= 0) {
|
|
186
|
+
return { totalPlatformCents: 0, guestPlatformLineCents: 0 };
|
|
187
|
+
}
|
|
188
|
+
const mode = feeHandling ?? "HostAbsorbs";
|
|
189
|
+
let guestLine = 0;
|
|
190
|
+
if (mode === "GuestPays") {
|
|
191
|
+
guestLine = total;
|
|
192
|
+
}
|
|
193
|
+
else if (mode === "Split") {
|
|
194
|
+
guestLine = Math.floor(total / 2);
|
|
195
|
+
}
|
|
196
|
+
if (bashPassWaivesGuestFee && guestLine > 0) {
|
|
197
|
+
guestLine = 0;
|
|
198
|
+
}
|
|
199
|
+
return { totalPlatformCents: total, guestPlatformLineCents: guestLine };
|
|
200
|
+
}
|
|
201
|
+
export function computeTicketApplicationFeeAmountCents(args) {
|
|
202
|
+
const split = splitBashPlatformFeeForTicketCheckout({
|
|
203
|
+
grossCents: args.discountedSubtotalCents,
|
|
204
|
+
platformFeeEnabled: args.platformFeeEnabled,
|
|
205
|
+
platformFeeRate: args.platformFeeRate,
|
|
206
|
+
feeHandling: args.feeHandling,
|
|
207
|
+
bashPassWaivesGuestFee: args.bashPassWaivesGuestFee,
|
|
208
|
+
});
|
|
209
|
+
const guestPlatformLineCents = split.guestPlatformLineCents;
|
|
210
|
+
const bashPlatformTotalCents = split.totalPlatformCents;
|
|
211
|
+
const totalChargedCents = args.discountedSubtotalCents + guestPlatformLineCents;
|
|
212
|
+
const stripeProcessingCents = calculateStripeProcessingFeeCents(totalChargedCents);
|
|
213
|
+
const applicationFeeAmountCents = stripeProcessingCents + bashPlatformTotalCents;
|
|
214
|
+
return {
|
|
215
|
+
totalChargedCents,
|
|
216
|
+
stripeProcessingCents,
|
|
217
|
+
bashPlatformTotalCents,
|
|
218
|
+
applicationFeeAmountCents,
|
|
219
|
+
guestPlatformLineCents,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
export function userHasActiveBashPass(user) {
|
|
223
|
+
if (!user.bashPassStripeSubscriptionId)
|
|
224
|
+
return false;
|
|
225
|
+
if (!user.bashPassCurrentPeriodEnd)
|
|
226
|
+
return true;
|
|
227
|
+
return user.bashPassCurrentPeriodEnd > new Date();
|
|
228
|
+
}
|
|
229
|
+
/** When a user has both membership-included BashPass and a standalone subscription, keep the higher tier. */
|
|
230
|
+
export function higherBashPassTier(a, b) {
|
|
231
|
+
if (!a && !b)
|
|
232
|
+
return null;
|
|
233
|
+
if (!a)
|
|
234
|
+
return b;
|
|
235
|
+
if (!b)
|
|
236
|
+
return a;
|
|
237
|
+
return BASH_PASS_TIER_RANK[a] >= BASH_PASS_TIER_RANK[b] ? a : b;
|
|
238
|
+
}
|
|
239
|
+
export function membershipGrantsBashPassTier(user) {
|
|
240
|
+
if (user.membershipTier === MembershipTier.Basic)
|
|
241
|
+
return null;
|
|
242
|
+
if (user.membershipExpiresAt && user.membershipExpiresAt <= new Date()) {
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
return MEMBERSHIP_BASH_PASS_TIER[user.membershipTier] ?? null;
|
|
246
|
+
}
|
|
247
|
+
/** Effective BashPass tier from paid membership bundle and/or active standalone BashPass subscription. */
|
|
248
|
+
export function getEffectiveBashPassTier(user) {
|
|
249
|
+
const fromMembership = membershipGrantsBashPassTier(user);
|
|
250
|
+
const fromStandalone = userHasActiveBashPass(user) && user.bashPassTier ? user.bashPassTier : null;
|
|
251
|
+
return higherBashPassTier(fromMembership, fromStandalone);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Remaining BashPass redemptions this billing month.
|
|
255
|
+
* - `0` — no BashPass or cap exhausted
|
|
256
|
+
* - positive integer — spots left
|
|
257
|
+
* - `null` — unlimited tier (no monthly cap)
|
|
258
|
+
*/
|
|
259
|
+
export function getBashPassMonthlyCapRemaining(user) {
|
|
260
|
+
const effective = getEffectiveBashPassTier(user);
|
|
261
|
+
if (!effective)
|
|
262
|
+
return 0;
|
|
263
|
+
const cap = BASH_PASS_EVENT_CAPS[effective];
|
|
264
|
+
if (cap === null)
|
|
265
|
+
return null;
|
|
266
|
+
const used = user.bashPassEventsUsedThisMonth ?? 0;
|
|
267
|
+
return Math.max(0, cap - used);
|
|
268
|
+
}
|
|
168
269
|
/**
|
|
169
270
|
* Venue pricing plan options
|
|
170
271
|
* Moved from venueUtils.ts for centralization
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentUtils.js","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"paymentUtils.js","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/urlUtils.d.ts
CHANGED
|
@@ -41,4 +41,15 @@ export declare function executeWithTimeout<T>(operation: () => Promise<T>, timeo
|
|
|
41
41
|
* @param onTimeout - Callback when redirect times out
|
|
42
42
|
*/
|
|
43
43
|
export declare function redirectToStripeWithTimeout(redirectUrl: string, timeoutMs?: number, onTimeout?: () => void): void;
|
|
44
|
+
/**
|
|
45
|
+
* Builds a safe absolute URL for `<a href>` from user-edited service/profile links.
|
|
46
|
+
*
|
|
47
|
+
* Browsers resolve `href="example.com"` as a **relative** URL (under the current path),
|
|
48
|
+
* not `https://example.com`, so bare domains must be prefixed with `https://`.
|
|
49
|
+
* Stores sometimes save Instagram as `@handle` instead of a full URL — those are mapped
|
|
50
|
+
* to `https://www.instagram.com/{handle}/`.
|
|
51
|
+
*
|
|
52
|
+
* @returns `"#"` when the value is empty or unsafe (`javascript:`, `data:`).
|
|
53
|
+
*/
|
|
54
|
+
export declare function toExternalLinkHref(raw: string | undefined | null): string;
|
|
44
55
|
//# sourceMappingURL=urlUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/urlUtils.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAYvC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAO3E;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CA0B7E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA0BvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,SAAS,GAAE,MAAmC,EAC9C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACxD,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAmC,EAC9C,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,IAAI,CA8BN"}
|
|
1
|
+
{"version":3,"file":"urlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/urlUtils.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAYvC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAO3E;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CA0B7E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA0BvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,SAAS,GAAE,MAAmC,EAC9C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACxD,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAmC,EAC9C,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,IAAI,CA8BN;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAiCzE"}
|
package/dist/utils/urlUtils.js
CHANGED
|
@@ -161,4 +161,44 @@ export function redirectToStripeWithTimeout(redirectUrl, timeoutMs = STRIPE_REDI
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Builds a safe absolute URL for `<a href>` from user-edited service/profile links.
|
|
166
|
+
*
|
|
167
|
+
* Browsers resolve `href="example.com"` as a **relative** URL (under the current path),
|
|
168
|
+
* not `https://example.com`, so bare domains must be prefixed with `https://`.
|
|
169
|
+
* Stores sometimes save Instagram as `@handle` instead of a full URL — those are mapped
|
|
170
|
+
* to `https://www.instagram.com/{handle}/`.
|
|
171
|
+
*
|
|
172
|
+
* @returns `"#"` when the value is empty or unsafe (`javascript:`, `data:`).
|
|
173
|
+
*/
|
|
174
|
+
export function toExternalLinkHref(raw) {
|
|
175
|
+
if (raw == null) {
|
|
176
|
+
return "#";
|
|
177
|
+
}
|
|
178
|
+
const trimmed = raw.trim();
|
|
179
|
+
if (trimmed === "") {
|
|
180
|
+
return "#";
|
|
181
|
+
}
|
|
182
|
+
const lower = trimmed.toLowerCase();
|
|
183
|
+
if (lower.startsWith("javascript:") || lower.startsWith("data:")) {
|
|
184
|
+
return "#";
|
|
185
|
+
}
|
|
186
|
+
if (/^https?:\/\//i.test(trimmed)) {
|
|
187
|
+
return trimmed;
|
|
188
|
+
}
|
|
189
|
+
if (/^mailto:/i.test(trimmed) || /^tel:/i.test(trimmed)) {
|
|
190
|
+
return trimmed;
|
|
191
|
+
}
|
|
192
|
+
// Instagram @handle (often stored as a handle instead of a URL)
|
|
193
|
+
if (trimmed.startsWith("@")) {
|
|
194
|
+
const handle = trimmed
|
|
195
|
+
.slice(1)
|
|
196
|
+
.trim()
|
|
197
|
+
.replace(/^@+/, "");
|
|
198
|
+
if (/^[a-zA-Z0-9._]{1,30}$/.test(handle)) {
|
|
199
|
+
return `https://www.instagram.com/${handle}/`;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return `https://${trimmed}`;
|
|
203
|
+
}
|
|
164
204
|
//# sourceMappingURL=urlUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlUtils.js","sourceRoot":"","sources":["../../src/utils/urlUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"urlUtils.js","sourceRoot":"","sources":["../../src/utils/urlUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bash-app/bash-common",
|
|
3
|
-
"version": "30.
|
|
3
|
+
"version": "30.221.0",
|
|
4
4
|
"description": "Common data and scripts to use on the frontend and backend",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,7 +28,6 @@
|
|
|
28
28
|
"@types/qrcode": "^1.5.5",
|
|
29
29
|
"lodash-es": "^4.17.21",
|
|
30
30
|
"mixpanel-browser": "^2.75.0",
|
|
31
|
-
"npm": "^11.11.0",
|
|
32
31
|
"qrcode": "^1.5.3",
|
|
33
32
|
"slugify": "^1.6.6"
|
|
34
33
|
},
|
|
@@ -49,6 +48,7 @@
|
|
|
49
48
|
"@types/react": "^18.3.2",
|
|
50
49
|
"@types/shelljs": "^0.10.0",
|
|
51
50
|
"jest": "^29.7.0",
|
|
51
|
+
"npm": "^11.11.0",
|
|
52
52
|
"shelljs": "^0.10.0",
|
|
53
53
|
"stripe": "^20.1.2",
|
|
54
54
|
"ts-jest": "^29.1.1",
|