mirror of
https://github.com/larvit/adf-codec.git
synced 2026-11-12 11:48:29 +01:00
Give each markdown input its own reader: commonMarkToAdf, losslessMarkdownToAdf and portableMarkdownToAdf, each claiming only its flavour
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
import { adfToMarkdown, adfToPlainMarkdown, isAdfDocument, markdownToAdf, plainMarkdownToAdf, type AdfDocument, type ConvertErrorCode, type ParseError, type Result } from '@larvit/adf-codec'
|
||||
import { adfToLosslessMarkdown, adfToPortableMarkdown, commonMarkToAdf, isAdfDocument, losslessMarkdownToAdf, portableMarkdownToAdf, type AdfDocument, type ConvertErrorCode, type ParseError, type Result } from '@larvit/adf-codec'
|
||||
|
||||
const document: AdfDocument = { content: [{ content: [{ text: 'x', type: 'text' }], type: 'paragraph' }], type: 'doc', version: 1 }
|
||||
|
||||
const emitted: Result<string> = adfToMarkdown(document)
|
||||
const parsed: Result<AdfDocument, ParseError> = markdownToAdf('x\n')
|
||||
const plainEmitted: Result<string> = adfToPlainMarkdown(document)
|
||||
const plainParsed: Result<AdfDocument, ParseError> = plainMarkdownToAdf('x\n')
|
||||
const emitted: Result<string> = adfToLosslessMarkdown(document)
|
||||
const parsed: Result<AdfDocument, ParseError> = losslessMarkdownToAdf('x\n')
|
||||
const portableEmitted: Result<string> = adfToPortableMarkdown(document)
|
||||
const portableParsed: Result<AdfDocument, ParseError> = portableMarkdownToAdf('x\n')
|
||||
const commonMarkParsed: Result<AdfDocument, ParseError> = commonMarkToAdf('x\n')
|
||||
const guarded: boolean = isAdfDocument(document)
|
||||
const code: ConvertErrorCode | undefined = emitted.ok ? undefined : emitted.error.code
|
||||
const line: number | undefined = parsed.ok ? undefined : parsed.error.position.line
|
||||
|
||||
export const surface = { code, guarded, line, plainEmitted, plainParsed }
|
||||
export const surface = { code, commonMarkParsed, guarded, line, portableEmitted, portableParsed }
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import assert from 'node:assert/strict'
|
||||
|
||||
import { adfToMarkdown, markdownToAdf } from '@larvit/adf-codec'
|
||||
import { adfToLosslessMarkdown, losslessMarkdownToAdf } from '@larvit/adf-codec'
|
||||
|
||||
const document = { content: [{ content: [{ marks: [{ type: 'em' }], text: 'x', type: 'text' }], type: 'paragraph' }], type: 'doc', version: 1 }
|
||||
|
||||
const emitted = adfToMarkdown(document)
|
||||
const emitted = adfToLosslessMarkdown(document)
|
||||
assert.ok(emitted.ok, emitted.ok ? '' : emitted.error.message)
|
||||
assert.deepEqual(markdownToAdf(emitted.value), { ok: true, value: document })
|
||||
assert.deepEqual(losslessMarkdownToAdf(emitted.value), { ok: true, value: document })
|
||||
|
||||
Reference in New Issue
Block a user