UNPKG

@proofkit/fmodata

Version:

FileMaker OData API client

45 lines (44 loc) 1.57 kB
const FMP12_EXT_REGEX = /\.fmp12$/i; function stripFmp12Extension(databaseName) { return databaseName.replace(FMP12_EXT_REGEX, ""); } function ensureFmp12Extension(databaseName) { return FMP12_EXT_REGEX.test(databaseName) ? databaseName : `${databaseName}.fmp12`; } function normalizeDatabaseSegment(databaseName, normalizeDatabaseName, mode = "default") { if (!normalizeDatabaseName) { return databaseName; } return mode === "ensureExtension" ? ensureFmp12Extension(databaseName) : stripFmp12Extension(databaseName); } function normalizeDatabasePath(path, options) { if (!path.startsWith("/")) { return path; } const secondSlashIndex = path.indexOf("/", 1); const hasDatabaseSegment = secondSlashIndex !== -1; const databaseSegment = hasDatabaseSegment ? path.slice(1, secondSlashIndex) : path.slice(1); if (!databaseSegment || databaseSegment.startsWith("$")) { return path; } let normalizedInput = databaseSegment; try { normalizedInput = decodeURIComponent(databaseSegment); } catch { normalizedInput = databaseSegment; } const normalizedDatabaseSegment = normalizeDatabaseSegment( normalizedInput, options.normalizeDatabaseName, options.mode ); const encodedDatabaseSegment = encodeURIComponent(normalizedDatabaseSegment); return hasDatabaseSegment ? `/${encodedDatabaseSegment}${path.slice(secondSlashIndex)}` : `/${encodedDatabaseSegment}`; } export { ensureFmp12Extension, normalizeDatabasePath, normalizeDatabaseSegment, stripFmp12Extension }; //# sourceMappingURL=database-name.js.map