29 lines
1018 B
JavaScript
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,
|
|
};
|
|
}
|