datasquirel/dist/package-shared/api-paths/utils/grab-path-data.js
2025-12-22 07:18:57 +01:00

29 lines
1018 B
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.grabPathData = grabPathData;
const deserialize_query_1 = __importDefault(require("../../utils/deserialize-query"));
function grabPathData({ href, basePath }) {
const urlObj = new URL(href);
const pathname = basePath
? urlObj.pathname.replace(basePath, "")
: urlObj.pathname;
const urlArray = pathname.split("/").filter((u) => Boolean(u.match(/./)));
const table = urlArray[0];
const targetId = urlArray[1];
let query = ((urlObj === null || urlObj === void 0 ? void 0 : urlObj.searchParams)
? (0, deserialize_query_1.default)(Object.fromEntries(urlObj.searchParams))
: undefined);
if (!table) {
throw new Error(`No Table Found`);
}
return {
table,
targetId,
query,
url: urlObj,
};
}