markdown-codec 3.1.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.cjs";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.cjs";
2
2
  import { ContentRun } from "document-schema.js";
3
3
  //#region src/emit/inline.d.ts
4
4
  interface InlineEmitContext {
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.js";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.js";
2
2
  import { ContentRun } from "document-schema.js";
3
3
  //#region src/emit/inline.d.ts
4
4
  interface InlineEmitContext {
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.cjs";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.cjs";
2
2
  import { InlineEmitContext } from "./inline.cjs";
3
3
  import { ContentTable } from "document-schema.js";
4
4
  //#region src/emit/table.d.ts
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.js";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.js";
2
2
  import { InlineEmitContext } from "./inline.js";
3
3
  import { ContentTable } from "document-schema.js";
4
4
  //#region src/emit/table.d.ts
package/dist/index.cjs CHANGED
@@ -26,9 +26,12 @@ exports.QUOTE_STYLE_ID = require_shared_style_constants.QUOTE_STYLE_ID;
26
26
  exports.createNumIdMintState = require_shared_list_id.createNumIdMintState;
27
27
  exports.headingStyleId = require_shared_style_constants.headingStyleId;
28
28
  exports.markdownCodec = require_codec.markdownCodec;
29
+ exports.markdownContentCodec = require_codec.markdownContentCodec;
29
30
  exports.mintListNumId = require_shared_list_id.mintListNumId;
30
31
  exports.mintedListType = require_shared_list_id.mintedListType;
31
32
  exports.parseHeadingStyleId = require_shared_style_constants.parseHeadingStyleId;
32
33
  exports.parseListNumId = require_shared_list_id.parseListNumId;
33
34
  exports.readMarkdown = require_read.readMarkdown;
35
+ exports.readMarkdownContent = require_read.readMarkdownContent;
34
36
  exports.writeMarkdown = require_write.writeMarkdown;
37
+ exports.writeMarkdownContent = require_write.writeMarkdownContent;
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { a as MarkdownInputTooLargeError, c as MarkdownParseError, d as MarkdownWriteError, f as NOOP_MARKDOWN_DIAGNOSTIC_SINK, i as MarkdownDiagnosticSink, l as MarkdownUnbalancedConstructMarkersError, n as MarkdownDiagnosticCodes, o as MarkdownInvalidUtf8Error, r as MarkdownDiagnosticSeverity, s as MarkdownNestingLimitExceededError, t as MarkdownDiagnostic, u as MarkdownUnsupportedDocumentKindError } from "./diagnostics-BuO5-SW1.cjs";
2
- import { MarkdownBytesSchema, markdownCodec } from "./codec.cjs";
1
+ import { a as MarkdownInputTooLargeError, d as MarkdownUnsupportedDocumentKindError, f as MarkdownWriteError, i as MarkdownDiagnosticSink, l as MarkdownParseError, n as MarkdownDiagnosticCodes, o as MarkdownInvalidUtf8Error, p as NOOP_MARKDOWN_DIAGNOSTIC_SINK, r as MarkdownDiagnosticSeverity, s as MarkdownNestingLimitExceededError, t as MarkdownDiagnostic, u as MarkdownUnbalancedConstructMarkersError } from "./diagnostics-BWK1iGy7.cjs";
2
+ import { MarkdownBytesSchema, markdownCodec, markdownContentCodec } from "./codec.cjs";
3
3
  import { n as MarkdownImageResolver, r as MarkdownResolvedImageBytes, t as MarkdownImageResolveContext } from "./image-C4KYmz_L.cjs";
4
4
  import { MarkdownBulletListMarker, MarkdownCodeFenceChar, MarkdownEmphasisMarker, MarkdownHeadingStyle, MarkdownLineEnding, MarkdownOrderedListDelimiter, MarkdownThematicBreakChar, ReadMarkdownOptions, WriteMarkdownOptions, WriteMarkdownStyleOptions } from "./options/options.cjs";
5
- import { ReadMarkdownResult, readMarkdown } from "./read.cjs";
6
- import { writeMarkdown } from "./write.cjs";
5
+ import { ReadMarkdownContentResult, ReadMarkdownResult, readMarkdown, readMarkdownContent } from "./read.cjs";
6
+ import { writeMarkdown, writeMarkdownContent } from "./write.cjs";
7
7
  import { ListNumIdInfo, ListNumIdMintOptions, NumIdMintState, createNumIdMintState, mintListNumId, mintedListType, parseListNumId } from "./shared/list-id.cjs";
8
8
  import { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, QUOTE_INDENT_PT, QUOTE_STYLE_ID, headingStyleId, parseHeadingStyleId } from "./shared/style-constants.cjs";
9
- export { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, type ListNumIdInfo, type ListNumIdMintOptions, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, type MarkdownBulletListMarker, MarkdownBytesSchema, type MarkdownCodeFenceChar, type MarkdownDiagnostic, MarkdownDiagnosticCodes, type MarkdownDiagnosticSeverity, type MarkdownDiagnosticSink, type MarkdownEmphasisMarker, type MarkdownHeadingStyle, type MarkdownImageResolveContext, type MarkdownImageResolver, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, type MarkdownLineEnding, MarkdownNestingLimitExceededError, type MarkdownOrderedListDelimiter, MarkdownParseError, type MarkdownResolvedImageBytes, type MarkdownThematicBreakChar, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK, type NumIdMintState, QUOTE_INDENT_PT, QUOTE_STYLE_ID, type ReadMarkdownOptions, type ReadMarkdownResult, type WriteMarkdownOptions, type WriteMarkdownStyleOptions, createNumIdMintState, headingStyleId, markdownCodec, mintListNumId, mintedListType, parseHeadingStyleId, parseListNumId, readMarkdown, writeMarkdown };
9
+ export { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, type ListNumIdInfo, type ListNumIdMintOptions, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, type MarkdownBulletListMarker, MarkdownBytesSchema, type MarkdownCodeFenceChar, type MarkdownDiagnostic, MarkdownDiagnosticCodes, type MarkdownDiagnosticSeverity, type MarkdownDiagnosticSink, type MarkdownEmphasisMarker, type MarkdownHeadingStyle, type MarkdownImageResolveContext, type MarkdownImageResolver, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, type MarkdownLineEnding, MarkdownNestingLimitExceededError, type MarkdownOrderedListDelimiter, MarkdownParseError, type MarkdownResolvedImageBytes, type MarkdownThematicBreakChar, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK, type NumIdMintState, QUOTE_INDENT_PT, QUOTE_STYLE_ID, type ReadMarkdownContentResult, type ReadMarkdownOptions, type ReadMarkdownResult, type WriteMarkdownOptions, type WriteMarkdownStyleOptions, createNumIdMintState, headingStyleId, markdownCodec, markdownContentCodec, mintListNumId, mintedListType, parseHeadingStyleId, parseListNumId, readMarkdown, readMarkdownContent, writeMarkdown, writeMarkdownContent };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { a as MarkdownInputTooLargeError, c as MarkdownParseError, d as MarkdownWriteError, f as NOOP_MARKDOWN_DIAGNOSTIC_SINK, i as MarkdownDiagnosticSink, l as MarkdownUnbalancedConstructMarkersError, n as MarkdownDiagnosticCodes, o as MarkdownInvalidUtf8Error, r as MarkdownDiagnosticSeverity, s as MarkdownNestingLimitExceededError, t as MarkdownDiagnostic, u as MarkdownUnsupportedDocumentKindError } from "./diagnostics-BuO5-SW1.js";
2
- import { MarkdownBytesSchema, markdownCodec } from "./codec.js";
1
+ import { a as MarkdownInputTooLargeError, d as MarkdownUnsupportedDocumentKindError, f as MarkdownWriteError, i as MarkdownDiagnosticSink, l as MarkdownParseError, n as MarkdownDiagnosticCodes, o as MarkdownInvalidUtf8Error, p as NOOP_MARKDOWN_DIAGNOSTIC_SINK, r as MarkdownDiagnosticSeverity, s as MarkdownNestingLimitExceededError, t as MarkdownDiagnostic, u as MarkdownUnbalancedConstructMarkersError } from "./diagnostics-BWK1iGy7.js";
2
+ import { MarkdownBytesSchema, markdownCodec, markdownContentCodec } from "./codec.js";
3
3
  import { n as MarkdownImageResolver, r as MarkdownResolvedImageBytes, t as MarkdownImageResolveContext } from "./image-Cm3hT5PS.js";
4
4
  import { MarkdownBulletListMarker, MarkdownCodeFenceChar, MarkdownEmphasisMarker, MarkdownHeadingStyle, MarkdownLineEnding, MarkdownOrderedListDelimiter, MarkdownThematicBreakChar, ReadMarkdownOptions, WriteMarkdownOptions, WriteMarkdownStyleOptions } from "./options/options.js";
5
- import { ReadMarkdownResult, readMarkdown } from "./read.js";
6
- import { writeMarkdown } from "./write.js";
5
+ import { ReadMarkdownContentResult, ReadMarkdownResult, readMarkdown, readMarkdownContent } from "./read.js";
6
+ import { writeMarkdown, writeMarkdownContent } from "./write.js";
7
7
  import { ListNumIdInfo, ListNumIdMintOptions, NumIdMintState, createNumIdMintState, mintListNumId, mintedListType, parseListNumId } from "./shared/list-id.js";
8
8
  import { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, QUOTE_INDENT_PT, QUOTE_STYLE_ID, headingStyleId, parseHeadingStyleId } from "./shared/style-constants.js";
9
- export { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, type ListNumIdInfo, type ListNumIdMintOptions, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, type MarkdownBulletListMarker, MarkdownBytesSchema, type MarkdownCodeFenceChar, type MarkdownDiagnostic, MarkdownDiagnosticCodes, type MarkdownDiagnosticSeverity, type MarkdownDiagnosticSink, type MarkdownEmphasisMarker, type MarkdownHeadingStyle, type MarkdownImageResolveContext, type MarkdownImageResolver, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, type MarkdownLineEnding, MarkdownNestingLimitExceededError, type MarkdownOrderedListDelimiter, MarkdownParseError, type MarkdownResolvedImageBytes, type MarkdownThematicBreakChar, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK, type NumIdMintState, QUOTE_INDENT_PT, QUOTE_STYLE_ID, type ReadMarkdownOptions, type ReadMarkdownResult, type WriteMarkdownOptions, type WriteMarkdownStyleOptions, createNumIdMintState, headingStyleId, markdownCodec, mintListNumId, mintedListType, parseHeadingStyleId, parseListNumId, readMarkdown, writeMarkdown };
9
+ export { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, type ListNumIdInfo, type ListNumIdMintOptions, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, type MarkdownBulletListMarker, MarkdownBytesSchema, type MarkdownCodeFenceChar, type MarkdownDiagnostic, MarkdownDiagnosticCodes, type MarkdownDiagnosticSeverity, type MarkdownDiagnosticSink, type MarkdownEmphasisMarker, type MarkdownHeadingStyle, type MarkdownImageResolveContext, type MarkdownImageResolver, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, type MarkdownLineEnding, MarkdownNestingLimitExceededError, type MarkdownOrderedListDelimiter, MarkdownParseError, type MarkdownResolvedImageBytes, type MarkdownThematicBreakChar, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK, type NumIdMintState, QUOTE_INDENT_PT, QUOTE_STYLE_ID, type ReadMarkdownContentResult, type ReadMarkdownOptions, type ReadMarkdownResult, type WriteMarkdownOptions, type WriteMarkdownStyleOptions, createNumIdMintState, headingStyleId, markdownCodec, markdownContentCodec, mintListNumId, mintedListType, parseHeadingStyleId, parseListNumId, readMarkdown, readMarkdownContent, writeMarkdown, writeMarkdownContent };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { MarkdownDiagnosticCodes, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, MarkdownNestingLimitExceededError, MarkdownParseError, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK } from "./diagnostics/diagnostics.js";
2
2
  import { createNumIdMintState, mintListNumId, mintedListType, parseListNumId } from "./shared/list-id.js";
3
3
  import { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, QUOTE_INDENT_PT, QUOTE_STYLE_ID, headingStyleId, parseHeadingStyleId } from "./shared/style-constants.js";
4
- import { readMarkdown } from "./read.js";
5
- import { writeMarkdown } from "./write.js";
6
- import { MarkdownBytesSchema, markdownCodec } from "./codec.js";
7
- export { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, MarkdownBytesSchema, MarkdownDiagnosticCodes, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, MarkdownNestingLimitExceededError, MarkdownParseError, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK, QUOTE_INDENT_PT, QUOTE_STYLE_ID, createNumIdMintState, headingStyleId, markdownCodec, mintListNumId, mintedListType, parseHeadingStyleId, parseListNumId, readMarkdown, writeMarkdown };
4
+ import { readMarkdown, readMarkdownContent } from "./read.js";
5
+ import { writeMarkdown, writeMarkdownContent } from "./write.js";
6
+ import { MarkdownBytesSchema, markdownCodec, markdownContentCodec } from "./codec.js";
7
+ export { CODE_BLOCK_STYLE_ID, FOOTNOTE_REFERENCE_FONT_MARKER, HORIZONTAL_RULE_STYLE_ID, HTML_PREFORMATTED_STYLE_ID, MAX_HEADING_STYLE_LEVEL, MONOSPACE_FONT_FAMILY, MarkdownBytesSchema, MarkdownDiagnosticCodes, MarkdownInputTooLargeError, MarkdownInvalidUtf8Error, MarkdownNestingLimitExceededError, MarkdownParseError, MarkdownUnbalancedConstructMarkersError, MarkdownUnsupportedDocumentKindError, MarkdownWriteError, NOOP_MARKDOWN_DIAGNOSTIC_SINK, QUOTE_INDENT_PT, QUOTE_STYLE_ID, createNumIdMintState, headingStyleId, markdownCodec, markdownContentCodec, mintListNumId, mintedListType, parseHeadingStyleId, parseListNumId, readMarkdown, readMarkdownContent, writeMarkdown, writeMarkdownContent };
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.cjs";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.cjs";
2
2
  import { LayoutMetadata } from "document-schema.js";
3
3
  //#region src/lower/front-matter.d.ts
4
4
  interface FrontMatterResult {
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.js";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.js";
2
2
  import { LayoutMetadata } from "document-schema.js";
3
3
  //#region src/lower/front-matter.d.ts
4
4
  interface FrontMatterResult {
@@ -1,5 +1,5 @@
1
1
  import { v as MarkdownInlineNode } from "../ast-8XCbjRQT.cjs";
2
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.cjs";
2
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.cjs";
3
3
  import { ContentRun } from "document-schema.js";
4
4
  //#region src/lower/inline.d.ts
5
5
  interface InlineLowerContext {
@@ -1,5 +1,5 @@
1
1
  import { v as MarkdownInlineNode } from "../ast-8XCbjRQT.js";
2
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.js";
2
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.js";
3
3
  import { ContentRun } from "document-schema.js";
4
4
  //#region src/lower/inline.d.ts
5
5
  interface InlineLowerContext {
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.cjs";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.cjs";
2
2
  import { n as MarkdownImageResolver } from "../image-C4KYmz_L.cjs";
3
3
  import { Margins, PageSize } from "document-schema.js";
4
4
  //#region src/options/options.d.ts
@@ -1,4 +1,4 @@
1
- import { i as MarkdownDiagnosticSink } from "../diagnostics-BuO5-SW1.js";
1
+ import { i as MarkdownDiagnosticSink } from "../diagnostics-BWK1iGy7.js";
2
2
  import { n as MarkdownImageResolver } from "../image-Cm3hT5PS.js";
3
3
  import { Margins, PageSize } from "document-schema.js";
4
4
  //#region src/options/options.d.ts
package/dist/read.cjs CHANGED
@@ -1,7 +1,15 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_lower_lower = require("./lower/lower.cjs");
3
+ let document_schema_js = require("document-schema.js");
3
4
  //#region src/read.ts
4
5
  function readMarkdown(text, options = {}) {
6
+ const { document, diagnostics } = readMarkdownContent(text, options);
7
+ return {
8
+ documentPackage: (0, document_schema_js.assemblePackage)(document),
9
+ diagnostics
10
+ };
11
+ }
12
+ function readMarkdownContent(text, options = {}) {
5
13
  options.signal?.throwIfAborted();
6
14
  const diagnostics = [];
7
15
  const callerSink = options.sink;
@@ -18,3 +26,4 @@ function readMarkdown(text, options = {}) {
18
26
  }
19
27
  //#endregion
20
28
  exports.readMarkdown = readMarkdown;
29
+ exports.readMarkdownContent = readMarkdownContent;
package/dist/read.d.cts CHANGED
@@ -1,11 +1,16 @@
1
- import { t as MarkdownDiagnostic } from "./diagnostics-BuO5-SW1.cjs";
1
+ import { t as MarkdownDiagnostic } from "./diagnostics-BWK1iGy7.cjs";
2
2
  import { ReadMarkdownOptions } from "./options/options.cjs";
3
- import { ContentDocument } from "document-schema.js";
3
+ import { ContentDocument, DocumentPackage } from "document-schema.js";
4
4
  //#region src/read.d.ts
5
5
  interface ReadMarkdownResult {
6
+ readonly documentPackage: DocumentPackage;
7
+ readonly diagnostics: readonly MarkdownDiagnostic[];
8
+ }
9
+ interface ReadMarkdownContentResult {
6
10
  readonly document: ContentDocument;
7
11
  readonly diagnostics: readonly MarkdownDiagnostic[];
8
12
  }
9
13
  declare function readMarkdown(text: string, options?: ReadMarkdownOptions): ReadMarkdownResult;
14
+ declare function readMarkdownContent(text: string, options?: ReadMarkdownOptions): ReadMarkdownContentResult;
10
15
  //#endregion
11
- export { ReadMarkdownResult, readMarkdown };
16
+ export { ReadMarkdownContentResult, ReadMarkdownResult, readMarkdown, readMarkdownContent };
package/dist/read.d.ts CHANGED
@@ -1,11 +1,16 @@
1
- import { t as MarkdownDiagnostic } from "./diagnostics-BuO5-SW1.js";
1
+ import { t as MarkdownDiagnostic } from "./diagnostics-BWK1iGy7.js";
2
2
  import { ReadMarkdownOptions } from "./options/options.js";
3
- import { ContentDocument } from "document-schema.js";
3
+ import { ContentDocument, DocumentPackage } from "document-schema.js";
4
4
  //#region src/read.d.ts
5
5
  interface ReadMarkdownResult {
6
+ readonly documentPackage: DocumentPackage;
7
+ readonly diagnostics: readonly MarkdownDiagnostic[];
8
+ }
9
+ interface ReadMarkdownContentResult {
6
10
  readonly document: ContentDocument;
7
11
  readonly diagnostics: readonly MarkdownDiagnostic[];
8
12
  }
9
13
  declare function readMarkdown(text: string, options?: ReadMarkdownOptions): ReadMarkdownResult;
14
+ declare function readMarkdownContent(text: string, options?: ReadMarkdownOptions): ReadMarkdownContentResult;
10
15
  //#endregion
11
- export { ReadMarkdownResult, readMarkdown };
16
+ export { ReadMarkdownContentResult, ReadMarkdownResult, readMarkdown, readMarkdownContent };
package/dist/read.js CHANGED
@@ -1,6 +1,14 @@
1
1
  import { lowerMarkdown } from "./lower/lower.js";
2
+ import { assemblePackage } from "document-schema.js";
2
3
  //#region src/read.ts
3
4
  function readMarkdown(text, options = {}) {
5
+ const { document, diagnostics } = readMarkdownContent(text, options);
6
+ return {
7
+ documentPackage: assemblePackage(document),
8
+ diagnostics
9
+ };
10
+ }
11
+ function readMarkdownContent(text, options = {}) {
4
12
  options.signal?.throwIfAborted();
5
13
  const diagnostics = [];
6
14
  const callerSink = options.sink;
@@ -16,4 +24,4 @@ function readMarkdown(text, options = {}) {
16
24
  };
17
25
  }
18
26
  //#endregion
19
- export { readMarkdown };
27
+ export { readMarkdown, readMarkdownContent };
package/dist/write.cjs CHANGED
@@ -1,9 +1,41 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_diagnostics_diagnostics = require("./diagnostics/diagnostics.cjs");
2
3
  const require_emit_emit = require("./emit/emit.cjs");
4
+ let document_schema_js = require("document-schema.js");
3
5
  //#region src/write.ts
4
- function writeMarkdown(document, options = {}) {
6
+ function reportDroppedPackageTables(documentPackage, sink) {
7
+ const tables = [
8
+ ["definitions", documentPackage.definitions !== void 0 && Object.keys(documentPackage.definitions).length > 0],
9
+ ["layers", documentPackage.layers !== void 0 && Object.keys(documentPackage.layers).length > 0],
10
+ ["attachments", documentPackage.attachments !== void 0 && Object.keys(documentPackage.attachments).length > 0],
11
+ ["destinations", documentPackage.destinations !== void 0 && Object.keys(documentPackage.destinations).length > 0],
12
+ ["pages", documentPackage.pages !== void 0 && documentPackage.pages.length > 0]
13
+ ];
14
+ for (const [name, present] of tables) {
15
+ if (!present) continue;
16
+ sink({
17
+ code: require_diagnostics_diagnostics.MarkdownDiagnosticCodes.PACKAGE_TABLE_DROPPED,
18
+ severity: "info",
19
+ message: `the package's own "${name}" table has no markdown representation; flattenPackage's envelope carries forward only metadata and symbolTable, so "${name}" is dropped rather than rendered`
20
+ });
21
+ }
22
+ }
23
+ function writeMarkdown(documentPackage, options = {}) {
24
+ options.signal?.throwIfAborted();
25
+ if (documentPackage.kind !== "wordprocessing") throw new require_diagnostics_diagnostics.MarkdownUnsupportedDocumentKindError(documentPackage.kind);
26
+ reportDroppedPackageTables(documentPackage, options.sink ?? require_diagnostics_diagnostics.NOOP_MARKDOWN_DIAGNOSTIC_SINK);
27
+ let flattened;
28
+ try {
29
+ flattened = (0, document_schema_js.flattenPackage)(documentPackage);
30
+ } catch (error) {
31
+ throw new require_diagnostics_diagnostics.MarkdownPackageFlattenError(error);
32
+ }
33
+ return writeMarkdownContent(flattened, options);
34
+ }
35
+ function writeMarkdownContent(document, options = {}) {
5
36
  options.signal?.throwIfAborted();
6
37
  return require_emit_emit.emitMarkdown(document, options);
7
38
  }
8
39
  //#endregion
9
40
  exports.writeMarkdown = writeMarkdown;
41
+ exports.writeMarkdownContent = writeMarkdownContent;
package/dist/write.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { WriteMarkdownOptions } from "./options/options.cjs";
2
- import { ContentDocument } from "document-schema.js";
2
+ import { ContentDocument, DocumentPackage } from "document-schema.js";
3
3
  //#region src/write.d.ts
4
- declare function writeMarkdown(document: ContentDocument, options?: WriteMarkdownOptions): string;
4
+ declare function writeMarkdown(documentPackage: DocumentPackage, options?: WriteMarkdownOptions): string;
5
+ declare function writeMarkdownContent(document: ContentDocument, options?: WriteMarkdownOptions): string;
5
6
  //#endregion
6
- export { writeMarkdown };
7
+ export { writeMarkdown, writeMarkdownContent };
package/dist/write.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { WriteMarkdownOptions } from "./options/options.js";
2
- import { ContentDocument } from "document-schema.js";
2
+ import { ContentDocument, DocumentPackage } from "document-schema.js";
3
3
  //#region src/write.d.ts
4
- declare function writeMarkdown(document: ContentDocument, options?: WriteMarkdownOptions): string;
4
+ declare function writeMarkdown(documentPackage: DocumentPackage, options?: WriteMarkdownOptions): string;
5
+ declare function writeMarkdownContent(document: ContentDocument, options?: WriteMarkdownOptions): string;
5
6
  //#endregion
6
- export { writeMarkdown };
7
+ export { writeMarkdown, writeMarkdownContent };
package/dist/write.js CHANGED
@@ -1,8 +1,39 @@
1
+ import { MarkdownDiagnosticCodes, MarkdownPackageFlattenError, MarkdownUnsupportedDocumentKindError, NOOP_MARKDOWN_DIAGNOSTIC_SINK } from "./diagnostics/diagnostics.js";
1
2
  import { emitMarkdown } from "./emit/emit.js";
3
+ import { flattenPackage } from "document-schema.js";
2
4
  //#region src/write.ts
3
- function writeMarkdown(document, options = {}) {
5
+ function reportDroppedPackageTables(documentPackage, sink) {
6
+ const tables = [
7
+ ["definitions", documentPackage.definitions !== void 0 && Object.keys(documentPackage.definitions).length > 0],
8
+ ["layers", documentPackage.layers !== void 0 && Object.keys(documentPackage.layers).length > 0],
9
+ ["attachments", documentPackage.attachments !== void 0 && Object.keys(documentPackage.attachments).length > 0],
10
+ ["destinations", documentPackage.destinations !== void 0 && Object.keys(documentPackage.destinations).length > 0],
11
+ ["pages", documentPackage.pages !== void 0 && documentPackage.pages.length > 0]
12
+ ];
13
+ for (const [name, present] of tables) {
14
+ if (!present) continue;
15
+ sink({
16
+ code: MarkdownDiagnosticCodes.PACKAGE_TABLE_DROPPED,
17
+ severity: "info",
18
+ message: `the package's own "${name}" table has no markdown representation; flattenPackage's envelope carries forward only metadata and symbolTable, so "${name}" is dropped rather than rendered`
19
+ });
20
+ }
21
+ }
22
+ function writeMarkdown(documentPackage, options = {}) {
23
+ options.signal?.throwIfAborted();
24
+ if (documentPackage.kind !== "wordprocessing") throw new MarkdownUnsupportedDocumentKindError(documentPackage.kind);
25
+ reportDroppedPackageTables(documentPackage, options.sink ?? NOOP_MARKDOWN_DIAGNOSTIC_SINK);
26
+ let flattened;
27
+ try {
28
+ flattened = flattenPackage(documentPackage);
29
+ } catch (error) {
30
+ throw new MarkdownPackageFlattenError(error);
31
+ }
32
+ return writeMarkdownContent(flattened, options);
33
+ }
34
+ function writeMarkdownContent(document, options = {}) {
4
35
  options.signal?.throwIfAborted();
5
36
  return emitMarkdown(document, options);
6
37
  }
7
38
  //#endregion
8
- export { writeMarkdown };
39
+ export { writeMarkdown, writeMarkdownContent };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markdown-codec",
3
- "version": "3.1.1",
4
- "description": "Hand-written CommonMark+GFM <-> ContentDocument codec, built on document-schema.js",
3
+ "version": "4.0.0",
4
+ "description": "Hand-written CommonMark+GFM <-> DocumentPackage codec, built on document-schema.js",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",