@ifc-lite/bcf 2.0.1 → 3.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.
package/dist/writer.js CHANGED
@@ -9,7 +9,9 @@
9
9
  import JSZip from 'jszip';
10
10
  import { requireCameraChoice, writeOrthogonalCamera, writePerspectiveCamera, } from './writer-camera.js';
11
11
  import { xsdDouble, xsdInt, xsdPointElement } from './numeric.js';
12
- import { generateUuid } from '@ifc-lite/encoding';
12
+ import { escapeXml } from './xml-text.js';
13
+ import { XML_WHITESPACE_ONLY, xsdDateTime, xsdOptionalDateTime, xsdRequiredString, } from './xsd-required-string.js';
14
+ import { generateUuid, uuidFromSeed } from '@ifc-lite/encoding';
13
15
  /**
14
16
  * Write a BCFProject to a .bcfzip file
15
17
  *
@@ -65,21 +67,34 @@ function writeVersionFile(zip, version) {
65
67
  * Uses buildingSMART standard format
66
68
  *
67
69
  * The root element is renamed between versions: 2.1's project.xsd declares
68
- * root element `<ProjectExtension>` (and requires a following
69
- * `<ExtensionSchema>` sibling of `<Project>`, which we deliberately do not
70
- * emit -- out of scope here); 3.0's project.xsd instead declares root
70
+ * root element `<ProjectExtension>` as the sequence `Project?`,
71
+ * `ExtensionSchema` -- where `ExtensionSchema` is an `xs:anyURI` with no
72
+ * `minOccurs`, so it is REQUIRED; 3.0's project.xsd instead declares root
71
73
  * element `<ProjectInfo>` containing just a required `<Project>`, and has no
72
74
  * `ProjectExtension`/`ExtensionSchema` concept at all. The inner
73
75
  * `<Project ProjectId="...">`/`<Name>` shape is unchanged between versions.
76
+ *
77
+ * `<ExtensionSchema>` used to be omitted entirely, which made `project.bcfp`
78
+ * fail 2.1 validation ("Element 'ProjectExtension': Missing child element(s).
79
+ * Expected is ( ExtensionSchema )") in EVERY 2.1 archive this package writes
80
+ * -- 2.1 is the default version and `createBCFProject` always sets a project
81
+ * id, so the file is always present. It is now emitted empty. An empty
82
+ * `xs:anyURI` is a valid instance of the type (verified against the vendored
83
+ * schema), and it is the honest value here: this writer ships no
84
+ * `extensions.xsd`, and `BCFProject.extensions` is not serialized, so there is
85
+ * no extension schema to point at. Naming a file we do not write would trade
86
+ * the schema error for a dangling reference; omitting the element keeps the
87
+ * schema error. Empty does neither.
74
88
  */
75
89
  function writeProjectFile(zip, project, version) {
76
90
  const projectId = project.projectId || generateUuid();
77
91
  const nameElement = project.name ? `\n <Name>${escapeXml(project.name)}</Name>` : '';
78
92
  const rootElement = version === '3.0' ? 'ProjectInfo' : 'ProjectExtension';
93
+ const extensionSchema = version === '3.0' ? '' : '\n <ExtensionSchema/>';
79
94
  const content = `<?xml version="1.0" encoding="UTF-8"?>
80
95
  <${rootElement} xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
81
- <Project ProjectId="${projectId}">${nameElement}
82
- </Project>
96
+ <Project ProjectId="${escapeXml(projectId)}">${nameElement}
97
+ </Project>${extensionSchema}
83
98
  </${rootElement}>`;
84
99
  zip.file('project.bcfp', content);
85
100
  }
@@ -92,33 +107,18 @@ function shortGuidHash(guid) {
92
107
  }
93
108
  return h.toString(16).padStart(8, '0');
94
109
  }
95
- /**
96
- * Sanitize a topic GUID for use as a zip folder name (zip-slip guard).
97
- *
98
- * A topic GUID is parsed unvalidated from untrusted markup XML on read, so it
99
- * can carry path separators or `..`. Using it verbatim as a zip path component
100
- * on a read-modify-save would let a crafted GUID (`../../evil`) write outside
101
- * the archive root. Restrict the name to safe filename characters and collapse
102
- * any dot-run so it can never traverse. The real GUID is still written verbatim
103
- * as the markup `<Topic Guid>` attribute, which is what readers key off.
104
- *
105
- * Sanitization is lossy, so two distinct GUIDs can map to one name (`a?b` and
106
- * `a:b` both give `a_b`), which would silently overwrite a topic folder. Any
107
- * name that sanitization changed gets a hash of the original GUID appended,
108
- * and `usedNames` catches the remaining collisions with a counter suffix.
109
- */
110
- function sanitizeTopicFolderName(guid, usedNames) {
111
- return sanitizeZipComponent(guid, usedNames, 'topic');
112
- }
113
110
  /**
114
111
  * Sanitize an arbitrary GUID for use as a zip path component (zip-slip guard).
115
112
  *
116
113
  * Shared by both the topic-folder name and the viewpoint file base name: a
117
114
  * viewpoint GUID is parsed just as unvalidated from untrusted markup XML on
118
115
  * read (reader.ts `parseViewpointContent`) as a topic GUID is, so it carries
119
- * the same path-traversal hazard. Restrict the name to safe filename
120
- * characters and collapse any dot-run so it can never traverse. `fallback` is
121
- * used when sanitization strips the name to nothing.
116
+ * the same path-traversal hazard (`../../evil` as a topic GUID would write
117
+ * outside the archive root). Restrict the name to safe filename characters and
118
+ * collapse any dot-run so it can never traverse. `fallback` is used when
119
+ * sanitization strips the name to nothing. The real GUID is still written
120
+ * verbatim as the markup `<Topic Guid>`/`<Viewpoint Guid>` attribute, which is
121
+ * what readers key off.
122
122
  *
123
123
  * Sanitization is lossy, so two distinct GUIDs can map to one name, which
124
124
  * would silently overwrite an entry. Any name that sanitization changed gets
@@ -141,13 +141,10 @@ function sanitizeZipComponent(raw, usedNames, fallback) {
141
141
  usedNames.add(candidate);
142
142
  return candidate;
143
143
  }
144
- /**
145
- * Write a topic folder with all its contents
146
- */
144
+ /** Write a topic folder with all its contents. */
147
145
  async function writeTopicFolder(zip, topic, version, usedFolderNames) {
148
- const folder = zip.folder(sanitizeTopicFolderName(topic.guid, usedFolderNames));
149
- if (!folder)
150
- return;
146
+ // Every entry below passes createFolders:false: JSZip otherwise adds a "<guid>/" directory entry, which Solibri refuses (#3612).
147
+ const folderName = sanitizeZipComponent(topic.guid, usedFolderNames, 'topic');
151
148
  // Sanitize each viewpoint GUID once, up front, so the markup <Viewpoint>
152
149
  // reference (written below) and the zip entry (written in
153
150
  // writeViewpointFiles) always agree on the same file name. A topic-scoped
@@ -156,10 +153,10 @@ async function writeTopicFolder(zip, topic, version, usedFolderNames) {
156
153
  const usedViewpointNames = new Set();
157
154
  const viewpointBaseNames = topic.viewpoints.map((vp) => sanitizeZipComponent(vp.guid, usedViewpointNames, 'viewpoint'));
158
155
  // Write markup.bcf
159
- writeMarkupFile(folder, topic, version, viewpointBaseNames);
156
+ writeMarkupFile(zip, folderName, topic, version, viewpointBaseNames);
160
157
  // Write viewpoints
161
158
  for (let i = 0; i < topic.viewpoints.length; i++) {
162
- await writeViewpointFiles(folder, topic.viewpoints[i], viewpointBaseNames[i], version);
159
+ await writeViewpointFiles(zip, folderName, topic.viewpoints[i], viewpointBaseNames[i], version);
163
160
  }
164
161
  }
165
162
  /**
@@ -175,17 +172,8 @@ function snapshotExt(viewpoint) {
175
172
  }
176
173
  return 'png';
177
174
  }
178
- /**
179
- * Write markup.bcf file
180
- * Uses buildingSMART standard format
181
- */
182
- // BCF 3.0's markup.xsd types `Topic/@TopicType` and `Topic/@TopicStatus` as
183
- // `NonEmptyOrBlankString`: after XML whitespace (#x9, #xA, #xD, #x20) is
184
- // collapsed, the value must have length >= 1. A value that is present but
185
- // consists entirely of XML whitespace collapses to nothing and is therefore
186
- // as invalid as an absent one.
187
- const XML_WHITESPACE_ONLY = /^[\t\n\r ]*$/;
188
- function writeMarkupFile(folder, topic, version, viewpointBaseNames) {
175
+ /** Write markup.bcf -- buildingSMART standard format. */
176
+ function writeMarkupFile(zip, folderName, topic, version, viewpointBaseNames) {
189
177
  // BCF 3.0's markup.xsd tightens `Topic/@TopicType` and `Topic/@TopicStatus`
190
178
  // from optional (2.1) to `use="required"`. Omitting the attribute -
191
179
  // which is what 2.1 output does when the value is unset - produces
@@ -254,16 +242,18 @@ function writeMarkupFile(folder, topic, version, viewpointBaseNames) {
254
242
  }
255
243
  }
256
244
  }
257
- content += `\n <CreationDate>${escapeXml(topic.creationDate)}</CreationDate>`;
258
- content += `\n <CreationAuthor>${escapeXml(topic.creationAuthor)}</CreationAuthor>`;
259
- if (topic.modifiedDate) {
260
- content += `\n <ModifiedDate>${escapeXml(topic.modifiedDate)}</ModifiedDate>`;
245
+ content += `\n <CreationDate>${xsdDateTime(topic.creationDate, 'Topic/CreationDate', `topic "${topic.guid}"`)}</CreationDate>`;
246
+ content += `\n <CreationAuthor>${xsdRequiredString(topic.creationAuthor, 'Topic/CreationAuthor', `topic "${topic.guid}"`, version)}</CreationAuthor>`;
247
+ const topicModifiedDate = xsdOptionalDateTime(topic.modifiedDate);
248
+ if (topicModifiedDate) {
249
+ content += `\n <ModifiedDate>${topicModifiedDate}</ModifiedDate>`;
261
250
  // BCF spec requires ModifiedAuthor when ModifiedDate is present
262
251
  const modifiedAuthor = topic.modifiedAuthor || topic.creationAuthor;
263
- content += `\n <ModifiedAuthor>${escapeXml(modifiedAuthor)}</ModifiedAuthor>`;
252
+ content += `\n <ModifiedAuthor>${xsdRequiredString(modifiedAuthor, 'Topic/ModifiedAuthor', `topic "${topic.guid}"`, version)}</ModifiedAuthor>`;
264
253
  }
265
- if (topic.dueDate) {
266
- content += `\n <DueDate>${escapeXml(topic.dueDate)}</DueDate>`;
254
+ const dueDate = xsdOptionalDateTime(topic.dueDate);
255
+ if (dueDate) {
256
+ content += `\n <DueDate>${dueDate}</DueDate>`;
267
257
  }
268
258
  if (topic.assignedTo) {
269
259
  content += `\n <AssignedTo>${escapeXml(topic.assignedTo)}</AssignedTo>`;
@@ -286,8 +276,8 @@ function writeMarkupFile(folder, topic, version, viewpointBaseNames) {
286
276
  // directly under <Topic> (buildingSMART/BCF-XML markup.xsd, Topic).
287
277
  if (version === '3.0')
288
278
  content += `\n <DocumentReferences>`;
289
- for (const docRef of topic.documentReferences) {
290
- content += writeDocumentReference(docRef, version);
279
+ for (let i = 0; i < topic.documentReferences.length; i++) {
280
+ content += writeDocumentReference(topic.documentReferences[i], version, topic.guid, i);
291
281
  }
292
282
  if (version === '3.0')
293
283
  content += `\n </DocumentReferences>`;
@@ -311,14 +301,15 @@ function writeMarkupFile(folder, topic, version, viewpointBaseNames) {
311
301
  const commentXml = (indent) => topic.comments
312
302
  .map((comment) => {
313
303
  let c = `\n${indent}<Comment Guid="${escapeXml(comment.guid)}">`;
314
- c += `\n${indent} <Date>${escapeXml(comment.date)}</Date>`;
315
- c += `\n${indent} <Author>${escapeXml(comment.author)}</Author>`;
304
+ c += `\n${indent} <Date>${xsdDateTime(comment.date, 'Comment/Date', `comment "${comment.guid}"`)}</Date>`;
305
+ c += `\n${indent} <Author>${xsdRequiredString(comment.author, 'Comment/Author', `comment "${comment.guid}"`, version)}</Author>`;
316
306
  c += `\n${indent} <Comment>${escapeXml(comment.comment)}</Comment>`;
317
307
  if (comment.viewpointGuid) {
318
308
  c += `\n${indent} <Viewpoint Guid="${escapeXml(comment.viewpointGuid)}"/>`;
319
309
  }
320
- if (comment.modifiedDate) {
321
- c += `\n${indent} <ModifiedDate>${escapeXml(comment.modifiedDate)}</ModifiedDate>`;
310
+ const commentModifiedDate = xsdOptionalDateTime(comment.modifiedDate);
311
+ if (commentModifiedDate) {
312
+ c += `\n${indent} <ModifiedDate>${commentModifiedDate}</ModifiedDate>`;
322
313
  }
323
314
  if (comment.modifiedAuthor) {
324
315
  c += `\n${indent} <ModifiedAuthor>${escapeXml(comment.modifiedAuthor)}</ModifiedAuthor>`;
@@ -378,12 +369,12 @@ function writeMarkupFile(folder, topic, version, viewpointBaseNames) {
378
369
  content += viewpointXml(' ');
379
370
  }
380
371
  content += `\n</Markup>`;
381
- folder.file('markup.bcf', content);
372
+ zip.file(`${folderName}/markup.bcf`, content, { createFolders: false });
382
373
  }
383
374
  /**
384
375
  * Write viewpoint files (bcfv and snapshot)
385
376
  */
386
- async function writeViewpointFiles(folder, viewpoint, baseName, version) {
377
+ async function writeViewpointFiles(zip, folderName, viewpoint, baseName, version) {
387
378
  // Use standard buildingSMART naming convention: Viewpoint_<guid>.bcfv, but
388
379
  // the file name component is the sanitized base name (zip-slip guard) --
389
380
  // the SAME one the caller wrote into the markup <Viewpoint> reference, so
@@ -449,10 +440,10 @@ async function writeViewpointFiles(folder, viewpoint, baseName, version) {
449
440
  }
450
441
  }
451
442
  content += `\n</VisualizationInfo>`;
452
- folder.file(filename, content);
443
+ zip.file(`${folderName}/${filename}`, content, { createFolders: false });
453
444
  // Write snapshot
454
445
  if (viewpoint.snapshotData) {
455
- folder.file(snapshotName, viewpoint.snapshotData);
446
+ zip.file(`${folderName}/${snapshotName}`, viewpoint.snapshotData, { createFolders: false });
456
447
  }
457
448
  else if (viewpoint.snapshot && viewpoint.snapshot.startsWith('data:')) {
458
449
  // Convert data URL to binary
@@ -464,7 +455,7 @@ async function writeViewpointFiles(folder, viewpoint, baseName, version) {
464
455
  for (let i = 0; i < binaryString.length; i++) {
465
456
  bytes[i] = binaryString.charCodeAt(i);
466
457
  }
467
- folder.file(snapshotName, bytes);
458
+ zip.file(`${folderName}/${snapshotName}`, bytes, { createFolders: false });
468
459
  }
469
460
  catch (e) {
470
461
  // Skip a single malformed snapshot data URL rather than aborting the export
@@ -680,8 +671,9 @@ function writeHeaderFile(file, indent, version) {
680
671
  if (file.filename) {
681
672
  content += `\n${indent} <Filename>${escapeXml(file.filename)}</Filename>`;
682
673
  }
683
- if (file.date) {
684
- content += `\n${indent} <Date>${escapeXml(file.date)}</Date>`;
674
+ const fileDate = xsdOptionalDateTime(file.date);
675
+ if (fileDate) {
676
+ content += `\n${indent} <Date>${fileDate}</Date>`;
685
677
  }
686
678
  if (file.reference) {
687
679
  content += `\n${indent} <Reference>${escapeXml(file.reference)}</Reference>`;
@@ -718,8 +710,41 @@ function writeBimSnippet(snippet, version) {
718
710
  * the 2.1-shaped fallback so 2.1-authored data written as 3.0 still emits
719
711
  * something.
720
712
  */
721
- function writeDocumentReference(docRef, version) {
722
- const guidAttr = docRef.guid ? ` Guid="${escapeXml(docRef.guid)}"` : '';
713
+ function writeDocumentReference(docRef, version, topicGuid, index) {
714
+ // 2.1's markup.xsd declares `Guid` with no `use`, so it is optional there;
715
+ // 3.0's `DocumentReferenceAttributes` declares it `use="required"`, so
716
+ // omitting it made every 3.0 topic carrying a guid-less document reference
717
+ // write an invalid `markup.bcf` -- and markup.bcf IS the issue, so a viewer
718
+ // that rejects it drops the topic whole (#3612). Mint one rather than
719
+ // refuse: this guid names only itself (nothing in the archive refers to a
720
+ // DocumentReference the way `RelatedTopic` refers to a topic), so a
721
+ // generated value loses nothing. Refusal is reserved for values that assert
722
+ // something only the caller knows -- `AspectRatio`, `TopicType` -- and would
723
+ // fail the whole export over a field 2.1 says is optional. 2.1 keeps the
724
+ // attribute absent: fabricating an identifier there buys no schema
725
+ // conformance at all, and would put an identifier the caller never chose
726
+ // into the file a user downloads.
727
+ //
728
+ // DERIVED, not random. `generateUuid()` here would make two exports of one
729
+ // unchanged project differ in bytes -- and differ again on every subsequent
730
+ // write, because nothing kept the value. `uuidFromSeed` is the same
731
+ // generator `@ifc-lite/clash` anchors its topic guids with, so the guid is a
732
+ // pure function of the topic, the document pointed at, and the position
733
+ // within the topic; all three are in the seed because two references under
734
+ // one topic can name the same document, and one document can appear under
735
+ // two topics. `docKey` names the document in the SAME precedence the 3.0
736
+ // body below uses -- seeding from the url alone left every `documentGuid`
737
+ // reference on the empty string, so its guid ignored the document entirely
738
+ // and two references naming different documents could collide. The result
739
+ // is written back onto `docRef` so the in-memory project agrees with the
740
+ // file rather than reporting no guid at all.
741
+ const docKey = docRef.documentGuid ?? docRef.url ?? docRef.referencedDocument ?? '';
742
+ const guid = version === '3.0'
743
+ ? docRef.guid || uuidFromSeed(`${topicGuid}|${docKey}|${index}`)
744
+ : docRef.guid;
745
+ if (version === '3.0' && !docRef.guid)
746
+ docRef.guid = guid;
747
+ const guidAttr = guid ? ` Guid="${escapeXml(guid)}"` : '';
723
748
  if (version === '3.0') {
724
749
  let content = `\n <DocumentReference${guidAttr}>`;
725
750
  if (docRef.documentGuid) {
@@ -745,15 +770,4 @@ function writeDocumentReference(docRef, version) {
745
770
  content += `\n </DocumentReference>`;
746
771
  return content;
747
772
  }
748
- /**
749
- * Escape XML special characters
750
- */
751
- function escapeXml(str) {
752
- return str
753
- .replace(/&/g, '&amp;')
754
- .replace(/</g, '&lt;')
755
- .replace(/>/g, '&gt;')
756
- .replace(/"/g, '&quot;')
757
- .replace(/'/g, '&apos;');
758
- }
759
773
  //# sourceMappingURL=writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,58 @@
1
1
  /**
2
- * Reading text back out of BCF's XML.
2
+ * Reading text out of BCF's XML, and escaping it back in.
3
3
  *
4
4
  * Split out of `reader.ts` so the component parsers can share it without a
5
- * cycle. `writer.ts::escapeXml` is the inverse of `unescapeXml` here, and the
6
- * two are pinned against each other in `writer.test.ts`.
5
+ * cycle. `escapeXml` here is the inverse of `unescapeXml`, and the two are
6
+ * pinned against each other in `writer.test.ts`.
7
7
  */
8
8
  /**
9
9
  * Extract a simple element value from XML
10
10
  *
11
- * Values are unescaped so writer.ts's escapeXml() round-trips correctly
12
- * (see escapeXml/unescapeXml regression: & < > " ' in titles/descriptions/
11
+ * Values are unescaped so {@link escapeXml} round-trips correctly (see
12
+ * escapeXml/unescapeXml regression: & < > " ' in titles/descriptions/
13
13
  * comments must come back exactly as written, not as literal entities).
14
+ *
15
+ * The content between the tags is read with {@link decodeXmlCharData}
16
+ * rather than a bare `[^<]*` match, so a CDATA-wrapped value (whose content
17
+ * starts with the literal `<![CDATA[`) is read instead of silently
18
+ * rejected -- the same defect `parseLabels` was fixed for, but present on
19
+ * every other caller of this function (Title, Comment, and the rest).
20
+ * `decodeXmlCharData` still returns `null`, and this still returns
21
+ * `undefined`, when the content holds real child-element markup.
14
22
  */
15
23
  export declare function extractElement(content: string, elementName: string): string | undefined;
24
+ /**
25
+ * Parse a captured `xs:boolean` value per its lexical space
26
+ * `{true, false, 1, 0}` (whiteSpace=collapse, so leading/trailing
27
+ * whitespace is ignored; matched case-sensitively, per the XSD's literal
28
+ * lexical space -- BCF markup never emits `True`/`TRUE`).
29
+ *
30
+ * Does NOT decide what an *absent* attribute means, nor a *blank* one: a
31
+ * value that collapses to the empty string is schema-invalid for
32
+ * `xs:boolean` and is treated the same as absent, not as recognised-false or
33
+ * as garbage -- so every caller checks `raw === undefined` (or blank, after
34
+ * a `.trim()`) itself and supplies its own absent-case default, which
35
+ * differs by call site (`DefaultVisibility` leans true on BCF 2.1, false on
36
+ * 3.0; the others are `undefined`-optional or lean false). This unifies the
37
+ * four hand-rolled xs:boolean parses this package had (`parseVisibility`,
38
+ * `parseViewSetupHints`'s `flag()`, and the two `isExternal` sites in
39
+ * `reader.ts`), which is exactly the drift #3713 warns about: one behaviour,
40
+ * several hand-rolled implementations, each patched independently.
41
+ *
42
+ * A present value outside the lexical space (garbage, e.g. `"yes"`) resolves
43
+ * to `ifUnrecognized` rather than a hardcoded pick, because callers
44
+ * genuinely disagree on which way an unrecognised value should lean.
45
+ *
46
+ * @param raw a non-blank, already-captured attribute or element value (the
47
+ * caller has already ruled out absent/blank)
48
+ */
49
+ export declare function parseXsBoolean(raw: string, { ifUnrecognized }: {
50
+ ifUnrecognized: boolean;
51
+ }): boolean;
52
+ /**
53
+ * Escape XML special characters
54
+ */
55
+ export declare function escapeXml(str: string): string;
16
56
  /**
17
57
  * Decode XML character references: the five named entities `escapeXml` writes,
18
58
  * and the numeric forms `&#38;` / `&#x26;` that other authoring tools emit.
@@ -29,4 +69,21 @@ export declare function extractElement(content: string, elementName: string): st
29
69
  * than leaving one encoded.
30
70
  */
31
71
  export declare function unescapeXml(str: string): string;
72
+ /**
73
+ * Extract topic `<Labels>` values, tolerant of both BCF markup.xsd shapes.
74
+ *
75
+ * BCF 2.1 repeats the label element itself: `<Labels>Structural</Labels>
76
+ * <Labels>Urgent</Labels>`. BCF 3.0 instead wraps ONE `<Labels>` container
77
+ * around repeated `<Label>` children: `<Labels><Label>Structural</Label>
78
+ * <Label>Urgent</Label></Labels>`. A regex that only matched the 2.1 shape
79
+ * (immediate non-tag text) silently dropped every label from a conformant
80
+ * 3.0 archive, since its `<Labels>` is immediately followed by a nested `<`,
81
+ * not text. This walks each `<Labels>` block and prefers nested `<Label>`
82
+ * children when present, falling back to the 2.1 direct-text shape.
83
+ *
84
+ * Label content goes through {@link decodeXmlCharData} rather than a bare
85
+ * `[^<]*` match, so a CDATA label (`<Label><![CDATA[Urgent & Important]]>
86
+ * </Label>` — whose content starts with `<`) is read instead of dropped.
87
+ */
88
+ export declare function parseLabels(topicContent: string): string[];
32
89
  //# sourceMappingURL=xml-text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xml-text.d.ts","sourceRoot":"","sources":["../src/xml-text.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvF;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW/C"}
1
+ {"version":3,"file":"xml-text.d.ts","sourceRoot":"","sources":["../src/xml-text.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAKpG;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB1D"}