@vivliostyle/cli 8.7.0 → 8.9.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.
@@ -8,7 +8,7 @@ import fs from 'node:fs';
8
8
  import { pathToFileURL } from 'node:url';
9
9
  import { v4 as uuid } from 'uuid';
10
10
  import serializeToXml from 'w3c-xmlserializer';
11
- import { EPUB_CONTAINER_XML, EPUB_NS, XML_DECLARATION } from '../const.js';
11
+ import { EPUB_CONTAINER_XML, EPUB_LANDMARKS_COVER_ENTRY, EPUB_LANDMARKS_TITLE, EPUB_LANDMARKS_TOC_ENTRY, EPUB_NS, TOC_TITLE, XML_DECLARATION, } from '../const.js';
12
12
  import { getJsdomFromUrlOrFile, parsePageListDocument, parseTocDocument, } from '../processor/html.js';
13
13
  import { DetailError, copy, debug, logWarn, remove, upath, useTmpDirectory, } from '../util.js';
14
14
  const TOC_ID = 'toc';
@@ -57,11 +57,11 @@ const appendManifestProperty = (entry, newProperty) => {
57
57
  ? Array.from(new Set([...entry.properties.split(' '), newProperty])).join(' ')
58
58
  : newProperty;
59
59
  };
60
- export async function exportEpub({ webpubDir, entryHtmlFile, entryContextUrl, manifest, target, epubVersion, }) {
60
+ export async function exportEpub({ webpubDir, entryHtmlFile, manifest, relManifestPath, target, epubVersion, }) {
61
61
  debug('Export EPUB', {
62
62
  webpubDir,
63
- entryContextUrl,
64
63
  entryHtmlFile,
64
+ relManifestPath,
65
65
  target,
66
66
  epubVersion,
67
67
  });
@@ -121,13 +121,14 @@ export async function exportEpub({ webpubDir, entryHtmlFile, entryContextUrl, ma
121
121
  return acc;
122
122
  }, {});
123
123
  const htmlFiles = Object.keys(manifestItem).filter((url) => /\.html?$/.test(url));
124
- let tocHtml = htmlFiles.find((f) => f === (tocResource?.url || entryHtmlRelPath));
124
+ let tocHtml = htmlFiles.find((f) => f === tocResource?.url);
125
125
  const readingOrder = [manifest.readingOrder || entryHtmlRelPath]
126
126
  .flat()
127
127
  .flatMap((v) => (v ? (typeof v === 'string' ? { url: v } : v) : []));
128
128
  if (!tocHtml) {
129
129
  logWarn(chalk.yellowBright('No table of contents document was found. for EPUB output, we recommend to enable `toc` option in your Vivliostyle config file to generate a table of contents document.'));
130
- tocHtml = readingOrder[0].url;
130
+ tocHtml =
131
+ htmlFiles.find((f) => f === entryHtmlRelPath) || readingOrder[0].url;
131
132
  }
132
133
  const spineItems = readingOrder.map(({ url }) => ({
133
134
  href: changeExtname(url, '.xhtml'),
@@ -143,26 +144,23 @@ export async function exportEpub({ webpubDir, entryHtmlFile, entryContextUrl, ma
143
144
  {
144
145
  type: 'toc',
145
146
  href: `${manifestItem[tocHtml].href}#${TOC_ID}`,
146
- text: 'Table of Contents',
147
+ text: EPUB_LANDMARKS_TOC_ENTRY,
147
148
  },
148
149
  ];
149
150
  if (htmlCoverResource) {
150
151
  landmarks.push({
151
152
  type: 'cover',
152
153
  href: changeExtname(htmlCoverResource.url, '.xhtml'),
153
- text: 'Cover Page',
154
+ text: EPUB_LANDMARKS_COVER_ENTRY,
154
155
  });
155
156
  }
156
- const processHtml = async (target, isTocHtml) => {
157
+ const contextDir = upath.join(tmpDir, 'EPUB');
158
+ const processHtml = async (target) => {
157
159
  let parseResult;
158
160
  try {
159
161
  parseResult = await transpileHtmlToXhtml({
160
162
  target,
161
- contextDir: upath.join(tmpDir, 'EPUB'),
162
- entryContextUrl: entryContextUrl || pathToFileURL(upath.join(webpubDir, '/')).href,
163
- landmarks,
164
- isTocHtml,
165
- isPagelistHtml: target === (pageListResource?.url || entryHtmlRelPath),
163
+ contextDir,
166
164
  });
167
165
  }
168
166
  catch (error) {
@@ -183,9 +181,15 @@ export async function exportEpub({ webpubDir, entryHtmlFile, entryContextUrl, ma
183
181
  }
184
182
  return parseResult;
185
183
  };
184
+ const processResult = {};
186
185
  debug(`Transpiling ToC HTML to XHTML: ${tocHtml}`);
187
- const tocProcessResult = await processHtml(tocHtml, true);
188
- const { document: entryDocument } = tocProcessResult.dom.window;
186
+ processResult[tocHtml] = await processHtml(tocHtml);
187
+ for (const target of htmlFiles.filter((f) => f !== tocHtml)) {
188
+ debug(`Transpiling HTML to XHTML: ${target}`);
189
+ processResult[target] = await processHtml(target);
190
+ }
191
+ // Process ToC document
192
+ const { document: entryDocument } = processResult[tocHtml].dom.window;
189
193
  const docLanguages = [manifest.inLanguage]
190
194
  .flat()
191
195
  .filter((v) => Boolean(v));
@@ -197,35 +201,41 @@ export async function exportEpub({ webpubDir, entryHtmlFile, entryContextUrl, ma
197
201
  if (!docTitle) {
198
202
  throw new Error('EPUB must have a title of one or more characters');
199
203
  }
200
- for (const target of htmlFiles.filter((f) => f !== tocHtml)) {
201
- debug(`Transpiling HTML to XHTML: ${target}`);
202
- await processHtml(target, false);
203
- }
204
- let { tocParseTree, linkedPubManifest } = tocProcessResult;
205
- if (!tocParseTree) {
206
- tocParseTree = await supplyTocNavElement({
207
- tocHtml,
208
- tocDom: tocProcessResult.dom,
209
- contextDir: upath.join(tmpDir, 'EPUB'),
210
- readingOrder,
211
- docLanguages,
204
+ const { tocResourceTree } = await processTocDocument({
205
+ dom: processResult[tocHtml].dom,
206
+ target: tocHtml,
207
+ contextDir,
208
+ readingOrder,
209
+ docLanguages,
210
+ landmarks,
211
+ });
212
+ // Process PageList document
213
+ const pageListHtml = pageListResource?.url || entryHtmlRelPath;
214
+ if (pageListHtml && pageListHtml in processResult) {
215
+ await processPagelistDocument({
216
+ dom: processResult[pageListHtml].dom,
217
+ target: pageListHtml,
218
+ contextDir,
212
219
  });
213
220
  }
214
- if (linkedPubManifest) {
215
- await remove(upath.join(tmpDir, 'EPUB', linkedPubManifest));
216
- delete manifestItem[linkedPubManifest];
221
+ if (relManifestPath) {
222
+ await remove(upath.join(tmpDir, 'EPUB', relManifestPath));
223
+ delete manifestItem[relManifestPath];
217
224
  }
218
225
  // EPUB/toc.ncx
219
- fs.writeFileSync(upath.join(tmpDir, 'EPUB/toc.ncx'), buildNcx({
220
- toc: tocParseTree,
221
- docTitle,
222
- uid,
223
- tocHtml,
224
- }), 'utf8');
225
- manifestItem['toc.ncx'] = {
226
- href: 'toc.ncx',
227
- mediaType: 'application/x-dtbncx+xml',
228
- };
226
+ // note: NCX is not required for EPUB 3.0
227
+ if (tocResourceTree) {
228
+ fs.writeFileSync(upath.join(tmpDir, 'EPUB/toc.ncx'), buildNcx({
229
+ toc: tocResourceTree,
230
+ docTitle,
231
+ uid,
232
+ tocHtml,
233
+ }), 'utf8');
234
+ manifestItem['toc.ncx'] = {
235
+ href: 'toc.ncx',
236
+ mediaType: 'application/x-dtbncx+xml',
237
+ };
238
+ }
229
239
  // META-INF/container.xml
230
240
  fs.writeFileSync(upath.join(tmpDir, 'META-INF/container.xml'), EPUB_CONTAINER_XML, 'utf8');
231
241
  // EPUB/content.opf
@@ -242,7 +252,11 @@ export async function exportEpub({ webpubDir, entryHtmlFile, entryContextUrl, ma
242
252
  }), 'utf8');
243
253
  await compressEpub({ target, sourceDir: tmpDir });
244
254
  }
245
- async function transpileHtmlToXhtml({ target, contextDir, entryContextUrl, landmarks, isTocHtml, isPagelistHtml, }) {
255
+ async function writeAsXhtml(dom, absPath) {
256
+ const xhtml = `${XML_DECLARATION}\n${serializeToXml(dom.window.document)}`;
257
+ await fs.promises.writeFile(changeExtname(absPath, '.xhtml'), xhtml, 'utf8');
258
+ }
259
+ async function transpileHtmlToXhtml({ target, contextDir, }) {
246
260
  const absPath = upath.join(contextDir, target);
247
261
  const { dom } = await getJsdomFromUrlOrFile(absPath);
248
262
  const { document } = dom.window;
@@ -253,36 +267,80 @@ async function transpileHtmlToXhtml({ target, contextDir, entryContextUrl, landm
253
267
  const href = el.getAttribute('href');
254
268
  el.setAttribute('href', getRelativeHref(href, target, target));
255
269
  });
256
- const replaceWithNavElement = (el) => {
257
- const nav = document.createElement('nav');
258
- while (el.firstChild) {
259
- nav.appendChild(el.firstChild);
260
- }
261
- for (let i = 0; i < el.attributes.length; i++) {
262
- nav.attributes.setNamedItem(el.attributes[i].cloneNode());
263
- }
264
- el.parentNode?.replaceChild(nav, el);
265
- return nav;
270
+ await writeAsXhtml(dom, absPath);
271
+ await fs.promises.unlink(absPath);
272
+ return {
273
+ dom,
274
+ // FIXME: Yes, I recognize this implementation is inadequate.
275
+ hasMathmlContent: !!document.querySelector('math'),
276
+ hasRemoteResources: !!document.querySelector('[src^="http://"], [src^="https://"]'),
277
+ hasScriptedContent: !!document.querySelector('script, form'),
278
+ hasSvgContent: !!document.querySelector('svg'),
266
279
  };
267
- let tocParseTree;
268
- let pageListParseTree;
269
- let linkedPubManifest;
270
- if (isTocHtml) {
271
- if (!document.querySelector('[epub:type="toc"]')) {
272
- const parsed = parseTocDocument(dom);
273
- if (parsed) {
274
- tocParseTree = parsed;
275
- const nav = replaceWithNavElement(parsed.element);
276
- nav.setAttribute('id', TOC_ID);
277
- nav.setAttribute('epub:type', 'toc');
280
+ }
281
+ function replaceWithNavElement(dom, el) {
282
+ const nav = dom.window.document.createElement('nav');
283
+ while (el.firstChild) {
284
+ nav.appendChild(el.firstChild);
285
+ }
286
+ for (let i = 0; i < el.attributes.length; i++) {
287
+ nav.attributes.setNamedItem(el.attributes[i].cloneNode());
288
+ }
289
+ el.parentNode?.replaceChild(nav, el);
290
+ return nav;
291
+ }
292
+ async function processTocDocument({ dom, target, contextDir, readingOrder, docLanguages, landmarks, }) {
293
+ const { document } = dom.window;
294
+ let tocResourceTree = null;
295
+ if (!document.querySelector('nav[epub:type]')) {
296
+ tocResourceTree = parseTocDocument(dom);
297
+ if (tocResourceTree) {
298
+ const nav = replaceWithNavElement(dom, tocResourceTree.element);
299
+ nav.setAttribute('id', TOC_ID);
300
+ nav.setAttribute('epub:type', 'toc');
301
+ }
302
+ else {
303
+ debug(`Generating toc nav element: ${target}`);
304
+ const nav = document.createElement('nav');
305
+ nav.setAttribute('id', TOC_ID);
306
+ nav.setAttribute('role', 'doc-toc');
307
+ nav.setAttribute('epub:type', 'toc');
308
+ nav.setAttribute('hidden', '');
309
+ const h2 = document.createElement('h2');
310
+ h2.textContent = TOC_TITLE;
311
+ nav.appendChild(h2);
312
+ const ol = document.createElement('ol');
313
+ tocResourceTree = {
314
+ element: nav,
315
+ children: [],
316
+ };
317
+ for (const content of readingOrder) {
318
+ let name = normalizeLocalizableString(content.name, docLanguages);
319
+ if (!name) {
320
+ const { dom } = await getJsdomFromUrlOrFile(upath.join(contextDir, changeExtname(content.url, '.xhtml')));
321
+ name = dom.window.document.title;
322
+ }
323
+ const li = document.createElement('li');
324
+ const a = document.createElement('a');
325
+ a.textContent = name;
326
+ a.href = getRelativeHref(content.url, '', target);
327
+ li.appendChild(a);
328
+ ol.appendChild(li);
329
+ tocResourceTree.children.push({ element: li, label: a });
278
330
  }
331
+ nav.appendChild(ol);
332
+ document.body.appendChild(nav);
333
+ debug('Generated toc nav element', nav.outerHTML);
279
334
  }
280
- if (landmarks.length > 0 &&
281
- !document.querySelector('[epub:type="landmarks"]')) {
335
+ if (landmarks.length > 0) {
336
+ debug(`Generating landmark nav element: ${target}`);
282
337
  const nav = document.createElement('nav');
283
338
  nav.setAttribute('epub:type', 'landmarks');
284
339
  nav.setAttribute('id', LANDMARKS_ID);
285
340
  nav.setAttribute('hidden', '');
341
+ const h2 = document.createElement('h2');
342
+ h2.textContent = EPUB_LANDMARKS_TITLE;
343
+ nav.appendChild(h2);
286
344
  const ol = document.createElement('ol');
287
345
  for (const { type, href, text } of landmarks) {
288
346
  const li = document.createElement('li');
@@ -295,92 +353,38 @@ async function transpileHtmlToXhtml({ target, contextDir, entryContextUrl, landm
295
353
  }
296
354
  nav.appendChild(ol);
297
355
  document.body.appendChild(nav);
298
- }
299
- // Remove a publication manifest linked to ToC html.
300
- // When converting to EPUB, HTML files are converted to XHTML files
301
- // and no longer conform to Web publication, so we need to
302
- // explicitly remove the publication manifest.
303
- const publicationLinkEl = document.querySelector('link[href][rel="publication"]');
304
- if (publicationLinkEl) {
305
- const href = publicationLinkEl.getAttribute('href').trim();
306
- if (href.startsWith('#')) {
307
- const scriptEl = document.getElementById(href.slice(1));
308
- if (scriptEl?.getAttribute('type') === 'application/ld+json') {
309
- scriptEl.parentNode?.removeChild(scriptEl);
310
- }
311
- }
312
- else {
313
- const entryUrl = entryContextUrl;
314
- const publicationUrl = new URL(href, new URL(target, entryUrl)).href;
315
- const rootUrl = /^https?:/i.test(entryUrl)
316
- ? new URL('/', entryUrl).href
317
- : new URL('.', entryUrl).href;
318
- const relPublicationPath = upath.relative(rootUrl, publicationUrl);
319
- if (!relPublicationPath.startsWith('..')) {
320
- linkedPubManifest = relPublicationPath;
321
- }
322
- }
323
- publicationLinkEl.parentNode?.removeChild(publicationLinkEl);
356
+ debug('Generated landmark nav element', nav.outerHTML);
324
357
  }
325
358
  }
326
- if (isPagelistHtml) {
327
- const parsed = parsePageListDocument(dom);
328
- if (parsed) {
329
- pageListParseTree = parsed;
330
- const nav = replaceWithNavElement(parsed.element);
331
- nav.setAttribute('id', PAGELIST_ID);
332
- nav.setAttribute('epub:type', 'page-list');
359
+ // Remove a publication manifest linked to ToC html.
360
+ // When converting to EPUB, HTML files are converted to XHTML files
361
+ // and no longer conform to Web publication, so we need to
362
+ // explicitly remove the publication manifest.
363
+ const publicationLinkEl = document.querySelector('link[href][rel="publication"]');
364
+ if (publicationLinkEl) {
365
+ const href = publicationLinkEl.getAttribute('href').trim();
366
+ if (href.startsWith('#')) {
367
+ const scriptEl = document.getElementById(href.slice(1));
368
+ if (scriptEl?.getAttribute('type') === 'application/ld+json') {
369
+ scriptEl.parentNode?.removeChild(scriptEl);
370
+ }
333
371
  }
372
+ publicationLinkEl.parentNode?.removeChild(publicationLinkEl);
334
373
  }
335
- const xhtml = `${XML_DECLARATION}\n${serializeToXml(document)}`;
336
- await fs.promises.writeFile(changeExtname(absPath, '.xhtml'), xhtml, 'utf8');
337
- await fs.promises.unlink(absPath);
338
- return {
339
- dom,
340
- tocParseTree,
341
- pageListParseTree,
342
- linkedPubManifest,
343
- // FIXME: Yes, I recognize this implementation is inadequate.
344
- hasMathmlContent: !!document.querySelector('math'),
345
- hasRemoteResources: !!document.querySelector('[src^="http://"], [src^="https://"]'),
346
- hasScriptedContent: !!document.querySelector('script, form'),
347
- hasSvgContent: !!document.querySelector('svg'),
348
- };
374
+ const absPath = upath.join(contextDir, target);
375
+ await writeAsXhtml(dom, absPath);
376
+ return { tocResourceTree };
349
377
  }
350
- async function supplyTocNavElement({ tocHtml, tocDom, contextDir, readingOrder, docLanguages, }) {
351
- debug(`Generating toc nav element: ${tocHtml}`);
352
- const absPath = upath.join(contextDir, tocHtml);
353
- const { document } = tocDom.window;
354
- const nav = document.createElement('nav');
355
- nav.setAttribute('id', TOC_ID);
356
- nav.setAttribute('role', 'doc-toc');
357
- nav.setAttribute('epub:type', 'toc');
358
- nav.setAttribute('hidden', '');
359
- const ol = document.createElement('ol');
360
- const tocParseTree = {
361
- element: nav,
362
- children: [],
363
- };
364
- for (const content of readingOrder) {
365
- let name = normalizeLocalizableString(content.name, docLanguages);
366
- if (!name) {
367
- const { dom } = await getJsdomFromUrlOrFile(upath.join(contextDir, changeExtname(content.url, '.xhtml')));
368
- name = dom.window.document.title;
369
- }
370
- const li = document.createElement('li');
371
- const a = document.createElement('a');
372
- a.textContent = name;
373
- a.href = getRelativeHref(content.url, '', tocHtml);
374
- li.appendChild(a);
375
- ol.appendChild(li);
376
- tocParseTree.children.push({ element: li, label: a });
378
+ async function processPagelistDocument({ dom, target, contextDir, }) {
379
+ const pageListResourceTree = parsePageListDocument(dom);
380
+ if (pageListResourceTree) {
381
+ const nav = replaceWithNavElement(dom, pageListResourceTree.element);
382
+ nav.setAttribute('id', PAGELIST_ID);
383
+ nav.setAttribute('epub:type', 'page-list');
377
384
  }
378
- nav.appendChild(ol);
379
- document.body.appendChild(nav);
380
- const xhtml = `${XML_DECLARATION}\n${serializeToXml(document)}`;
381
- await fs.promises.writeFile(changeExtname(absPath, '.xhtml'), xhtml, 'utf8');
382
- debug('Generated toc nav element', nav.outerHTML);
383
- return tocParseTree;
385
+ const absPath = upath.join(contextDir, target);
386
+ await writeAsXhtml(dom, absPath);
387
+ return { pageListResourceTree };
384
388
  }
385
389
  function buildEpubPackageDocument({ epubVersion, manifest, uid, docTitle, docLanguages, spineItems, manifestItems, landmarks, }) {
386
390
  const slugger = new GithubSlugger();
@@ -550,17 +554,26 @@ function buildNcx({ toc, docTitle, uid, tocHtml, }) {
550
554
  });
551
555
  }
552
556
  async function compressEpub({ target, sourceDir, }) {
557
+ debug(`Compressing EPUB: ${target}`);
553
558
  const output = fs.createWriteStream(target);
554
559
  const archive = archiver('zip', {
555
- store: true,
560
+ zlib: { level: 9 }, // Compression level
556
561
  });
557
562
  return new Promise((resolve, reject) => {
558
- output.on('close', resolve);
563
+ output.on('close', () => {
564
+ debug(`Compressed EPUB: ${target}`);
565
+ resolve();
566
+ });
559
567
  output.on('error', reject);
560
568
  archive.on('warning', reject);
561
569
  archive.on('error', reject);
562
570
  archive.pipe(output);
563
- archive.append('application/epub+zip', { name: 'mimetype' });
571
+ archive.append('application/epub+zip', {
572
+ name: 'mimetype',
573
+ // mimetype should not be compressed
574
+ // https://www.w3.org/TR/epub-33/#sec-zip-container-mime
575
+ store: true,
576
+ });
564
577
  archive.directory(upath.join(sourceDir, 'META-INF'), 'META-INF');
565
578
  archive.directory(upath.join(sourceDir, 'EPUB'), 'EPUB');
566
579
  archive.finalize();
@@ -1 +1 @@
1
- {"version":3,"file":"epub.js","sourceRoot":"","sources":["../../src/output/epub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epub.js","sourceRoot":"","sources":["../../src/output/epub.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { MergedConfig, WebbookEntryConfig } from '../input/config.js';
2
2
  import type { PublicationManifest } from '../schema/publication.schema.js';
3
+ import { EpubOutput, WebPublicationOutput } from './output-types.js';
3
4
  export declare function prepareWebPublicationDirectory({ outputDir, }: {
4
5
  outputDir: string;
5
6
  }): Promise<void>;
@@ -13,9 +14,16 @@ export declare function supplyWebPublicationManifestForWebbook({ entryHtmlFile,
13
14
  entryHtmlFile: string;
14
15
  outputDir: string;
15
16
  }): Promise<PublicationManifest>;
16
- export declare function copyWebPublicationAssets({ exportAliases, outputs, copyAsset, manifestPath, input, outputDir, }: Pick<MergedConfig, 'exportAliases' | 'outputs' | 'copyAsset'> & {
17
+ export declare function copyWebPublicationAssets({ exportAliases, outputs, copyAsset, themesDir, manifestPath, input, outputDir, }: Pick<MergedConfig, 'exportAliases' | 'outputs' | 'copyAsset' | 'themesDir'> & {
17
18
  input: string;
18
19
  outputDir: string;
19
20
  manifestPath: string;
20
- }): Promise<PublicationManifest>;
21
+ }): Promise<{
22
+ manifest: PublicationManifest;
23
+ actualManifestPath: string;
24
+ }>;
25
+ export type BuildWebPublicationOptions = Omit<MergedConfig, 'target'> & {
26
+ target: WebPublicationOutput | EpubOutput;
27
+ };
28
+ export declare function buildWebPublication({ target, ...config }: BuildWebPublicationOptions): Promise<string>;
21
29
  //# sourceMappingURL=webbook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webbook.d.ts","sourceRoot":"","sources":["../../src/output/webbook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOtE,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,iCAAiC,CAAC;AAwBzC,wBAAsB,8BAA8B,CAAC,EACnD,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB;AAED,wBAAsB,oBAAoB,CAAC,EACzC,eAAe,EACf,SAAS,GACV,EAAE,kBAAkB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,CAAC,CA2HD;AAED,wBAAsB,sCAAsC,CAAC,EAC3D,aAAa,EACb,SAAS,EACT,GAAG,MAAM,EACV,EAAE,IAAI,CACL,YAAY,EACZ,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB,CACvD,GAAG;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkD/B;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,aAAa,EACb,OAAO,EACP,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,GACV,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC,GAAG;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwH/B"}
1
+ {"version":3,"file":"webbook.d.ts","sourceRoot":"","sources":["../../src/output/webbook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAYtE,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,iCAAiC,CAAC;AAazC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAarE,wBAAsB,8BAA8B,CAAC,EACnD,SAAS,GACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB;AAED,wBAAsB,oBAAoB,CAAC,EACzC,eAAe,EACf,SAAS,GACV,EAAE,kBAAkB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,CAAC,CA2HD;AAED,wBAAsB,sCAAsC,CAAC,EAC3D,aAAa,EACb,SAAS,EACT,GAAG,MAAM,EACV,EAAE,IAAI,CACL,YAAY,EACZ,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB,CACvD,GAAG;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkD/B;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,aAAa,EACb,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,GACV,EAAE,IAAI,CACL,YAAY,EACZ,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CACxD,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,mBAAmB,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC,CAyHzE;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IACtE,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAC;CAC3C,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,GAAG,MAAM,EACV,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CA2D9C"}