UNPKG

knowmax-quest-utils

Version:

Utilities for creating a Knowmax Quest client.

19 lines 977 B
/** * Build a stable query-string form for an intelligence citation (markdown-safe). */ export const serializeIntelligenceCitation = (citation) => `title=${encodeMarkdownUrlParam(citation.title)}&questid=${encodeMarkdownUrlParam(citation.questId)}&booktitle=${encodeMarkdownUrlParam(citation.bookTitle)}`; /** * Parse a citation query-string into a typed citation (contents left empty). */ export const deserializeIntelligenceCitation = (query) => { const params = new URLSearchParams(query); return { title: params.get('title') || '', questId: params.get('questid') || '', bookTitle: params.get('booktitle') || '' }; }; // encodeURIComponent leaves ( and ) unencoded, but CommonMark uses raw parens to // determine link boundaries. Encode them explicitly to avoid broken markdown links. const encodeMarkdownUrlParam = (value) => encodeURIComponent(value).replace(/\(/g, '%28').replace(/\)/g, '%29'); //# sourceMappingURL=citation.js.map