UNPKG

@jager-ai/holy-bible-api

Version:

성경 구절 검색 및 슬래시 명령어 지원 API 모듈

67 lines (66 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseBibleText = parseBibleText; exports.extractCleanText = extractCleanText; exports.extractHeading = extractHeading; exports.formatBibleText = formatBibleText; exports.splitIntoVerses = splitIntoVerses; exports.cleanReference = cleanReference; exports.containsBibleVerse = containsBibleVerse; exports.extractBibleReferences = extractBibleReferences; function parseBibleText(text) { if (!text) { return { text: '', heading: null }; } const headingMatch = text.match(/^\[([^\]]+)\]\s*(.*)$/s); if (headingMatch) { return { text: headingMatch[2].trim(), heading: headingMatch[1].trim() }; } return { text: text.trim(), heading: null }; } function extractCleanText(text) { const parsed = parseBibleText(text); return parsed.text; } function extractHeading(text) { const parsed = parseBibleText(text); return parsed.heading; } function formatBibleText(text, heading) { if (heading) { return `[${heading}] ${text}`; } return text; } function splitIntoVerses(text) { return text .split(/\n+/) .map(line => line.trim()) .filter(line => line.length > 0); } function cleanReference(reference) { return reference .replace(/\s+/g, ' ') .replace(/\s*:\s*/g, ':') .replace(/\s*-\s*/g, '-') .trim(); } function containsBibleVerse(text) { const versePattern = /[가-힣]+\s*\d+\s*:\s*\d+/; return versePattern.test(text); } function extractBibleReferences(text) { const references = []; const pattern = /([가-힣]+\s*\d+\s*:\s*\d+(?:\s*-\s*\d+)?)/g; let match; while ((match = pattern.exec(text)) !== null) { references.push(cleanReference(match[1])); } return references; }