Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
53 lines
1.6 KiB
Text
53 lines
1.6 KiB
Text
export const _toStr = (val) => {
|
|
if (val == null) {
|
|
return val;
|
|
}
|
|
if (typeof val === "number" || typeof val === "bigint") {
|
|
const warning = new Error(`Received number ${val} where a string was expected.`);
|
|
warning.name = "Warning";
|
|
console.warn(warning);
|
|
return String(val);
|
|
}
|
|
if (typeof val === "boolean") {
|
|
const warning = new Error(`Received boolean ${val} where a string was expected.`);
|
|
warning.name = "Warning";
|
|
console.warn(warning);
|
|
return String(val);
|
|
}
|
|
return val;
|
|
};
|
|
export const _toBool = (val) => {
|
|
if (val == null) {
|
|
return val;
|
|
}
|
|
if (typeof val === "number") {
|
|
}
|
|
if (typeof val === "string") {
|
|
const lowercase = val.toLowerCase();
|
|
if (val !== "" && lowercase !== "false" && lowercase !== "true") {
|
|
const warning = new Error(`Received string "${val}" where a boolean was expected.`);
|
|
warning.name = "Warning";
|
|
console.warn(warning);
|
|
}
|
|
return val !== "" && lowercase !== "false";
|
|
}
|
|
return val;
|
|
};
|
|
export const _toNum = (val) => {
|
|
if (val == null) {
|
|
return val;
|
|
}
|
|
if (typeof val === "boolean") {
|
|
}
|
|
if (typeof val === "string") {
|
|
const num = Number(val);
|
|
if (num.toString() !== val) {
|
|
const warning = new Error(`Received string "${val}" where a number was expected.`);
|
|
warning.name = "Warning";
|
|
console.warn(warning);
|
|
return val;
|
|
}
|
|
return num;
|
|
}
|
|
return val;
|
|
};
|