postext 1.51.0 → 1.51.1

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.
Files changed (49) hide show
  1. package/dist/__tests__/defaults/stripRoundTrip.harness.d.ts +65 -0
  2. package/dist/__tests__/defaults/stripRoundTrip.harness.d.ts.map +1 -0
  3. package/dist/__tests__/defaults/stripRoundTrip.harness.js +493 -0
  4. package/dist/__tests__/defaults/stripRoundTrip.harness.js.map +1 -0
  5. package/dist/__tests__/defaults/stripRoundTrip.part1.test.d.ts +2 -0
  6. package/dist/__tests__/defaults/stripRoundTrip.part1.test.d.ts.map +1 -0
  7. package/dist/__tests__/defaults/stripRoundTrip.part1.test.js +4 -0
  8. package/dist/__tests__/defaults/stripRoundTrip.part1.test.js.map +1 -0
  9. package/dist/__tests__/defaults/stripRoundTrip.part2.test.d.ts +2 -0
  10. package/dist/__tests__/defaults/stripRoundTrip.part2.test.d.ts.map +1 -0
  11. package/dist/__tests__/defaults/stripRoundTrip.part2.test.js +4 -0
  12. package/dist/__tests__/defaults/stripRoundTrip.part2.test.js.map +1 -0
  13. package/dist/__tests__/defaults/stripRoundTrip.part3.test.d.ts +2 -0
  14. package/dist/__tests__/defaults/stripRoundTrip.part3.test.d.ts.map +1 -0
  15. package/dist/__tests__/defaults/stripRoundTrip.part3.test.js +4 -0
  16. package/dist/__tests__/defaults/stripRoundTrip.part3.test.js.map +1 -0
  17. package/dist/__tests__/defaults/stripRoundTrip.part4.test.d.ts +2 -0
  18. package/dist/__tests__/defaults/stripRoundTrip.part4.test.d.ts.map +1 -0
  19. package/dist/__tests__/defaults/stripRoundTrip.part4.test.js +4 -0
  20. package/dist/__tests__/defaults/stripRoundTrip.part4.test.js.map +1 -0
  21. package/dist/__tests__/defaults/stripRoundTrip.part5.test.d.ts +2 -0
  22. package/dist/__tests__/defaults/stripRoundTrip.part5.test.d.ts.map +1 -0
  23. package/dist/__tests__/defaults/stripRoundTrip.part5.test.js +4 -0
  24. package/dist/__tests__/defaults/stripRoundTrip.part5.test.js.map +1 -0
  25. package/dist/__tests__/defaults/stripRoundTrip.part6.test.d.ts +2 -0
  26. package/dist/__tests__/defaults/stripRoundTrip.part6.test.d.ts.map +1 -0
  27. package/dist/__tests__/defaults/stripRoundTrip.part6.test.js +4 -0
  28. package/dist/__tests__/defaults/stripRoundTrip.part6.test.js.map +1 -0
  29. package/dist/__tests__/defaults/stripRoundTrip.test.js +10 -444
  30. package/dist/__tests__/defaults/stripRoundTrip.test.js.map +1 -1
  31. package/dist/comics/lettering/__tests__/strictPlacement.fixtures.d.ts +12 -0
  32. package/dist/comics/lettering/__tests__/strictPlacement.fixtures.d.ts.map +1 -0
  33. package/dist/comics/lettering/__tests__/strictPlacement.fixtures.js +22 -0
  34. package/dist/comics/lettering/__tests__/strictPlacement.fixtures.js.map +1 -0
  35. package/dist/comics/lettering/__tests__/strictPlacement.ja.test.d.ts +2 -0
  36. package/dist/comics/lettering/__tests__/strictPlacement.ja.test.d.ts.map +1 -0
  37. package/dist/comics/lettering/__tests__/strictPlacement.ja.test.js +13 -0
  38. package/dist/comics/lettering/__tests__/strictPlacement.ja.test.js.map +1 -0
  39. package/dist/comics/lettering/__tests__/strictPlacement.off.test.d.ts +2 -0
  40. package/dist/comics/lettering/__tests__/strictPlacement.off.test.d.ts.map +1 -0
  41. package/dist/comics/lettering/__tests__/strictPlacement.off.test.js +17 -0
  42. package/dist/comics/lettering/__tests__/strictPlacement.off.test.js.map +1 -0
  43. package/dist/comics/lettering/__tests__/strictPlacement.test.js +2 -49
  44. package/dist/comics/lettering/__tests__/strictPlacement.test.js.map +1 -1
  45. package/dist/comics/lettering/__tests__/strictPlacement.zh.test.d.ts +2 -0
  46. package/dist/comics/lettering/__tests__/strictPlacement.zh.test.d.ts.map +1 -0
  47. package/dist/comics/lettering/__tests__/strictPlacement.zh.test.js +23 -0
  48. package/dist/comics/lettering/__tests__/strictPlacement.zh.test.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,65 @@
1
+ import type { DesignElement, PostextConfig } from '../../types';
2
+ export type Fields = Record<string, unknown>;
3
+ export type Step = string | {
4
+ key: 'id' | 'level';
5
+ value: unknown;
6
+ index: number;
7
+ };
8
+ export type Path = Step[];
9
+ export declare const isFields: (v: unknown) => v is Fields;
10
+ export declare const isDimension: (v: unknown) => v is {
11
+ value: number;
12
+ unit: string;
13
+ };
14
+ export declare const isColor: (v: unknown) => v is {
15
+ hex: string;
16
+ };
17
+ export declare const clone: <T>(v: T) => T;
18
+ export declare const show: (path: Path) => string;
19
+ /** Whether `config` reads the same once stripped; `null` for a
20
+ * configuration the resolver rejects (a value of the wrong type). */
21
+ export declare function survives(config: PostextConfig): boolean | null;
22
+ /** Every node of `value` a configuration may set: scalars, dimensions and
23
+ * colours whole, lists whole and item by item, sections whole and field
24
+ * by field. Items of a list that carry an `id` or a `level` are named by
25
+ * it, since a configuration lists only the ones it changes. */
26
+ export declare function nodes(value: unknown, path?: Path, out?: {
27
+ path: Path;
28
+ value: unknown;
29
+ }[]): {
30
+ path: Path;
31
+ value: unknown;
32
+ }[];
33
+ export declare function at(root: unknown, path: Path): unknown;
34
+ /** `config` with `value` at `path`, the sections and list items on the way
35
+ * created as a configuration would write them. */
36
+ export declare function withAt(config: PostextConfig, path: Path, value: unknown): PostextConfig;
37
+ export declare const pt: (value: number) => {
38
+ value: number;
39
+ unit: "pt";
40
+ };
41
+ export declare const hex: (value: string) => {
42
+ hex: string;
43
+ model: "hex";
44
+ };
45
+ export declare const text: (id: string, content: string, extra?: Fields) => DesignElement;
46
+ export declare const CONTEXTS: Record<string, PostextConfig>;
47
+ export declare const resolvedOf: (config: PostextConfig) => Fields;
48
+ /** The values to try at a node: the empty one of its type, the plain
49
+ * document's, the other way for a flag, and a few another document has. */
50
+ export declare function candidates(path: Path, value: unknown): unknown[];
51
+ /** A value of another document for the node: what moving it looks like. */
52
+ export declare function moved(path: Path, value: unknown): unknown;
53
+ export declare function targets(config: PostextConfig): {
54
+ path: Path;
55
+ value: unknown;
56
+ }[];
57
+ /** Registers part `part` (from 1) of `of`. */
58
+ export declare function registerSweep(part: number, of: number): void;
59
+ /** The sections and fields each document has, for the parts to share. */
60
+ export declare function sweepSizes(): {
61
+ name: string;
62
+ sections: number;
63
+ cases: number;
64
+ }[];
65
+ //# sourceMappingURL=stripRoundTrip.harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRoundTrip.harness.d.ts","sourceRoot":"","sources":["../../../src/__tests__/defaults/stripRoundTrip.harness.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAchE,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACnF,MAAM,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;AAE1B,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAAkE,CAAC;AAC9G,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAC8B,CAAC;AAC1G,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI;IAAE,GAAG,EAAE,MAAM,CAAA;CAA8C,CAAC;AACtG,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,CAA+D,CAAC;AAChG,eAAO,MAAM,IAAI,GAAI,MAAM,IAAI,WAA6F,CAAC;AA4D7H;sEACsE;AACtE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI,CAQ9D;AAED;;;gEAGgE;AAChE,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,IAAS,EAAE,GAAG,GAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAO,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,CAcnI;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAYrD;AAED;mDACmD;AACnD,wBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa,CA8BvF;AAED,eAAO,MAAM,EAAE,GAAI,OAAO,MAAM;;;CAAqC,CAAC;AACtE,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM;;;CAA4C,CAAC;AAC9E,eAAO,MAAM,IAAI,GAAI,IAAI,MAAM,EAAE,SAAS,MAAM,EAAE,QAAO,MAAW,KAAG,aAIpD,CAAC;AAyGpB,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CASlD,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,QAAQ,aAAa,KAAoE,MAAM,CAAC;AAgB3H;4EAC4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAwBhE;AAED,2EAA2E;AAC3E,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CASzD;AAWD,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,CAqB/E;AAuFD,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAa5D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAUhF"}
@@ -0,0 +1,493 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { resolveCodeStyleConfig, resolveComicsConfig, resolveDebugConfig, resolveFolioConfig, resolveHtmlViewerConfig, resolveLineNumbersConfig, resolvePdfGenerationConfig, resolvePrintConfig, resolveContrastConfig, resolveChecksConfig, stripConfigDefaults, } from '../../defaults';
3
+ import { resolveAllConfig } from '../../pipeline/config';
4
+ export const isFields = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
5
+ export const isDimension = (v) => isFields(v) && typeof v.value === 'number' && typeof v.unit === 'string' && Object.keys(v).length === 2;
6
+ export const isColor = (v) => isFields(v) && typeof v.hex === 'string';
7
+ export const clone = (v) => (v === undefined ? v : JSON.parse(JSON.stringify(v)));
8
+ export const show = (path) => path.map((s) => (typeof s === 'string' ? s : `[${s.key}=${String(s.value)}]`)).join('.');
9
+ /** `value` as text with its keys sorted, less four ways two resolved
10
+ * configurations differ and read the same:
11
+ * - `bodyText.hyphenation.tag` (the language the patterns were asked
12
+ * for) in a document that names its `locale`, which every reader takes
13
+ * first: patterns named for the document's own language are dropped
14
+ * (#651), and the tag with them;
15
+ * - `pages: 'all'` on a slot element, the default: the built-in running
16
+ * head and folio are stored without it;
17
+ * - the slot of a heading design that is switched off, which nothing
18
+ * reads (one with no slot resolves to the running head's);
19
+ * - the display name of the built-in box, chip or highlight style listed alone and
20
+ * without one (`[{ id: 'note' }]` is the built-in list, whose style is
21
+ * named "Note"; given so, it is listed under its id). */
22
+ function reading(value, named, key = '', builtIn = false) {
23
+ if (Array.isArray(value)) {
24
+ const alone = value.length === 1 && isFields(value[0])
25
+ && ((key === 'calloutStyles' && value[0].id === 'note') || (key === 'chipStyles' && value[0].id === 'chip') || (key === 'markStyles' && value[0].id === 'mark'));
26
+ return `[${value.map((item) => reading(item, named, '', alone)).join(',')}]`;
27
+ }
28
+ if (!isFields(value))
29
+ return JSON.stringify(value) ?? 'null';
30
+ const parts = [];
31
+ for (const k of Object.keys(value).sort()) {
32
+ const v = value[k];
33
+ if (v === undefined || typeof v === 'function')
34
+ continue;
35
+ if (k === 'tag' && key === 'hyphenation' && named)
36
+ continue;
37
+ if (k === 'pages' && v === 'all' && typeof value.kind === 'string')
38
+ continue;
39
+ if (k === 'slot' && key === 'advancedDesign' && value.enabled === false)
40
+ continue;
41
+ if (k === 'name' && builtIn)
42
+ continue;
43
+ parts.push(`${JSON.stringify(k)}:${reading(v, named, k)}`);
44
+ }
45
+ return `{${parts.join(',')}}`;
46
+ }
47
+ /** What the layout and the backends read of `config`: the resolved
48
+ * configuration, with the sections it carries only when they are set (or
49
+ * not at all) resolved either way, so a section left at its defaults and
50
+ * one left out compare equal. */
51
+ function read(config) {
52
+ const resolved = resolveAllConfig(config);
53
+ const documentLocale = config.locale ?? config.bodyText?.hyphenation?.locale;
54
+ return reading({
55
+ ...resolved,
56
+ pdfGeneration: resolvePdfGenerationConfig(config.pdfGeneration),
57
+ print: resolvePrintConfig(config.print),
58
+ contrast: resolveContrastConfig(config.contrast),
59
+ checks: resolveChecksConfig(config.checks),
60
+ folio: resolveFolioConfig(config.folio, resolved.page.sizePreset),
61
+ lineNumbers: resolveLineNumbersConfig(config.lineNumbers, resolved.bodyText),
62
+ codeStyle: resolveCodeStyleConfig(config.codeStyle, resolved.bodyText),
63
+ comics: resolveComicsConfig(config.comics, documentLocale),
64
+ debug: resolveDebugConfig(config.debug),
65
+ htmlViewer: resolveHtmlViewerConfig(config.htmlViewer),
66
+ // Read as written: the strip leaves them alone.
67
+ resourceTypes: config.resourceTypes,
68
+ customFonts: config.customFonts,
69
+ }, !!config.locale);
70
+ }
71
+ /** Whether `config` reads the same once stripped; `null` for a
72
+ * configuration the resolver rejects (a value of the wrong type). */
73
+ export function survives(config) {
74
+ let before;
75
+ try {
76
+ before = read(config);
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ return read(stripConfigDefaults(config)) === before;
82
+ }
83
+ /** Every node of `value` a configuration may set: scalars, dimensions and
84
+ * colours whole, lists whole and item by item, sections whole and field
85
+ * by field. Items of a list that carry an `id` or a `level` are named by
86
+ * it, since a configuration lists only the ones it changes. */
87
+ export function nodes(value, path = [], out = []) {
88
+ if (value === undefined || value === null || typeof value === 'function')
89
+ return out;
90
+ if (path.length > 0)
91
+ out.push({ path, value });
92
+ if (isDimension(value) || isColor(value))
93
+ return out;
94
+ if (Array.isArray(value)) {
95
+ value.forEach((item, index) => {
96
+ if (!isFields(item))
97
+ return;
98
+ const key = 'id' in item ? 'id' : 'level' in item ? 'level' : null;
99
+ if (key)
100
+ nodes(item, [...path, { key, value: item[key], index }], out);
101
+ });
102
+ return out;
103
+ }
104
+ if (isFields(value))
105
+ for (const [k, v] of Object.entries(value))
106
+ nodes(v, [...path, k], out);
107
+ return out;
108
+ }
109
+ export function at(root, path) {
110
+ let node = root;
111
+ for (const step of path) {
112
+ if (typeof step === 'string') {
113
+ if (!isFields(node))
114
+ return undefined;
115
+ node = node[step];
116
+ }
117
+ else {
118
+ if (!Array.isArray(node))
119
+ return undefined;
120
+ node = node.find((item) => isFields(item) && item[step.key] === step.value);
121
+ }
122
+ }
123
+ return node;
124
+ }
125
+ /** `config` with `value` at `path`, the sections and list items on the way
126
+ * created as a configuration would write them. */
127
+ export function withAt(config, path, value) {
128
+ const root = clone(config);
129
+ let node = root;
130
+ path.forEach((step, i) => {
131
+ const last = i === path.length - 1;
132
+ if (typeof step === 'string') {
133
+ const holder = node;
134
+ if (last) {
135
+ holder[step] = clone(value);
136
+ return;
137
+ }
138
+ const next = path[i + 1];
139
+ if (typeof next === 'string' ? !isFields(holder[step]) : !Array.isArray(holder[step]))
140
+ holder[step] = typeof next === 'string' ? {} : [];
141
+ node = holder[step];
142
+ return;
143
+ }
144
+ const list = node;
145
+ let item = list.find((entry) => isFields(entry) && entry[step.key] === step.value);
146
+ if (last) {
147
+ const index = item ? list.indexOf(item) : list.length;
148
+ list[index] = clone(value);
149
+ return;
150
+ }
151
+ if (!item) {
152
+ item = { [step.key]: step.value };
153
+ list.push(item);
154
+ }
155
+ node = item;
156
+ });
157
+ return root;
158
+ }
159
+ export const pt = (value) => ({ value, unit: 'pt' });
160
+ export const hex = (value) => ({ hex: value, model: 'hex' });
161
+ export const text = (id, content, extra = {}) => ({
162
+ kind: 'text', id, content, fontSize: pt(9),
163
+ placement: { anchor: { to: 'container', edge: 'top-left' } },
164
+ ...extra,
165
+ });
166
+ /** A document that moves something in every section and sets what a
167
+ * plain one leaves unset: styles with slots, margins, a layout and body
168
+ * type of their own, levels beside headings-wide values, named tables,
169
+ * boxes, chips and paragraphs. */
170
+ const RICH = {
171
+ locale: 'en',
172
+ page: {
173
+ sizePreset: 'custom', width: { value: 19, unit: 'cm' }, height: { value: 26, unit: 'cm' },
174
+ margins: { top: pt(60), bottom: pt(70), left: pt(50), right: pt(55), mirror: true },
175
+ backgroundColor: hex('#fdfaf3'),
176
+ pageNumbering: { format: 'lower-roman', startAt: 3 },
177
+ baselineGrid: { enabled: true },
178
+ },
179
+ layout: {
180
+ layoutType: 'double', gutterWidth: pt(22), sideColumnPercent: 40,
181
+ columnRule: { enabled: true, color: hex('#aa3344'), lineWidth: pt(2) },
182
+ floatsUnderOpener: true,
183
+ },
184
+ bodyText: {
185
+ fontFamily: 'Literata', fontSize: pt(10.5), lineHeight: pt(15), color: hex('#221144'), textAlign: 'left',
186
+ fontWeight: 500, boldFontWeight: 800, firstLineIndent: pt(14), paragraphSpacing: pt(4),
187
+ hyphenation: { enabled: false, exceptions: ['Alice', 'You-Tube'], capitalized: false },
188
+ hyphenateAcrossColumns: 'withinPage',
189
+ blockquote: { fontStyle: 'normal', marginLeft: pt(30) },
190
+ verse: { indent: pt(20) },
191
+ },
192
+ headings: {
193
+ fontFamily: 'Archivo', lineHeight: pt(21), color: hex('#553311'), textAlign: 'center', fontWeight: 800,
194
+ marginTop: pt(31), marginBottom: pt(9), keepWithNext: false, snapToGrid: false, inlineMarks: false,
195
+ balancing: { enabled: false, maxLinesPerHeading: 2, trailing: false },
196
+ levels: [
197
+ {
198
+ level: 1, fontSize: pt(30), fontWeight: 900, italic: true, numberingTemplate: 'Chapter {1}', span: 'page',
199
+ breakBefore: { enabled: true, parity: 'odd' }, textTransform: 'uppercase', letterSpacing: pt(1),
200
+ advancedDesign: { enabled: true, slot: { elements: [text('title', '{titleText}')] } },
201
+ },
202
+ { level: 2, fontSize: pt(18), color: hex('#117755'), numberingTemplate: '{1}.{2}', hidden: true },
203
+ { level: 3, fontFamily: 'Lora', marginTop: pt(12), snapToGrid: true },
204
+ ],
205
+ },
206
+ headingStyles: [
207
+ {
208
+ id: 'cover', name: 'Cover', numbered: false, toc: false, runningChapter: false,
209
+ header: { elements: [text('coverHead', 'Cover')] }, footer: { elements: [text('coverFoot', '{pageNumber}')] },
210
+ margins: { top: pt(10), bottom: pt(10), left: pt(10), right: pt(10), mirror: false },
211
+ layout: { layoutType: 'single', gutterWidth: pt(30), columnRule: { enabled: false } },
212
+ bodyStyle: { fontFamily: 'Archivo', fontSize: pt(12), lineHeight: pt(16), color: hex('#101010'), textAlign: 'center' },
213
+ palette: { band: '#f6c297' },
214
+ breakBefore: { enabled: true, parity: 'even' },
215
+ fontSize: pt(40), fontWeight: 300, italic: true, hidden: true, span: 'page',
216
+ numberingTemplate: '{1}',
217
+ advancedDesign: { enabled: true, slot: { elements: [text('coverTitle', '{titleText}')] } },
218
+ },
219
+ { id: 'plain' },
220
+ ],
221
+ parts: {
222
+ page: false, breakBefore: { parity: 'even' }, breakAfter: { enabled: false, parity: 'even' },
223
+ margins: { top: pt(20), bottom: pt(20), left: pt(20), right: pt(20), mirror: false },
224
+ design: { elements: [text('partTitle', '{partTitle}')] }, versoDesign: { elements: [text('partVerso', '{partNumber}')] },
225
+ bodyStyle: { fontFamily: 'Archivo', fontSize: pt(13), color: hex('#202020') },
226
+ },
227
+ header: { elements: [text('runningHead', '{chapterTitle}', { parity: 'odd' })] },
228
+ footer: { elements: [text('folio', '{pageNumber}', { fontWeight: 700 })] },
229
+ tableStyle: { fontFamily: 'Archivo', fontSize: pt(8), headerBold: false, cellPadding: pt(5), borderColor: hex('#444444') },
230
+ tableStyles: [{ id: 'grid', name: 'Grid', fontSize: pt(7), headerBold: true }, { id: 'bare', name: 'Bare' }],
231
+ captionStyle: { fontFamily: 'Archivo', fontSize: pt(8), color: hex('#333355'), labelBold: false, labelSeparator: ' — ' },
232
+ paragraphStyles: [
233
+ { id: 'lead', name: 'Lead', fontSize: pt(13), lineHeight: pt(18), fontWeight: 600, italic: true, firstLineIndent: pt(0), textAlign: 'center' },
234
+ { id: 'note', name: 'Note' },
235
+ ],
236
+ calloutStyles: [
237
+ {
238
+ id: 'box', name: 'Box', title: 'Note', backgroundEnabled: false, borderRadius: pt(4), keepTogether: false,
239
+ marginTop: pt(10), snapToGrid: false, placement: 'top', span: 'page',
240
+ body: { fontFamily: 'Archivo', fontSize: pt(9), color: hex('#404040') },
241
+ },
242
+ { id: 'aside', name: 'Aside' },
243
+ ],
244
+ chipStyles: [{ id: 'key', name: 'Key', fontWeight: 700, background: hex('#eeeeaa') }, { id: 'tag', name: 'Tag' }],
245
+ markStyles: [{ id: 'key', name: 'Key idea', background: hex('#ccf0d0'), paddingTop: pt(1) }, { id: 'mark' }],
246
+ unorderedLists: { color: hex('#aa0000'), indent: pt(20), itemSpacing: pt(3) },
247
+ orderedLists: { color: hex('#0000aa'), indent: pt(22), fontWeight: 700 },
248
+ toc: { title: 'Contents', leader: '·', levels: [{ level: 1, fontWeight: 700 }, { level: 2, italic: true }] },
249
+ index: { columns: 3, separator: ' · ', see: { italic: false } },
250
+ footnotes: { numbering: 'chapter', fontSize: pt(7.5), rule: { enabled: false }, wordBreak: 'normal' },
251
+ crossRefs: { color: hex('#0044aa') },
252
+ citations: { style: 'apa', hyphenateNames: false },
253
+ math: { enabled: true, fontSize: pt(11) },
254
+ lineNumbers: { enabled: true, every: 5 },
255
+ codeStyle: { fontFamily: 'JetBrains Mono', fontSize: pt(8) },
256
+ diagramStyle: { singleInk: true },
257
+ videoStyle: { qr: { enabled: false } },
258
+ cjk: { compression: 'none' },
259
+ pdfGeneration: { colorSpace: 'cmyk' },
260
+ print: { black: { text: 'k' } },
261
+ contrast: { level: 'AAA' },
262
+ checks: { contentInConfig: { allow: ['Editorial Cometa'], maxWords: 3 } },
263
+ folio: { cover: { stiffness: 0.9 } },
264
+ debug: { pageOutline: { enabled: true } },
265
+ htmlViewer: { fitFiguresToPage: false },
266
+ };
267
+ const GRID = { enabled: true, charsPerLine: 26, linesPerPage: 24 };
268
+ export const CONTEXTS = {
269
+ plain: {},
270
+ rich: RICH,
271
+ grid: { locale: 'zh-Hans', cjk: { grid: GRID }, footnotes: { wordBreak: 'keep-all' } },
272
+ japaneseVertical: { locale: 'ja', layout: { writingMode: 'vertical-rl' } },
273
+ arabic: { locale: 'ar' },
274
+ richArabic: { ...RICH, locale: 'ar-MA', direction: 'rtl' },
275
+ richJapanese: { ...RICH, locale: 'ja', layout: { ...RICH.layout, writingMode: 'vertical-rl' }, comics: {} },
276
+ newspaper: { page: { sizePreset: 'broadsheet' }, layout: { layoutType: 'double' } },
277
+ };
278
+ const PLAIN = JSON.parse(JSON.stringify(resolveAllConfig({})));
279
+ export const resolvedOf = (config) => JSON.parse(JSON.stringify(resolveAllConfig(clone(config))));
280
+ /** Values seen under each field name in any context: another document's
281
+ * value for a field whose own type says nothing (an alignment, a format). */
282
+ const POOL = new Map();
283
+ for (const config of Object.values(CONTEXTS)) {
284
+ for (const source of [resolvedOf(config), config]) {
285
+ for (const { path, value } of nodes(source)) {
286
+ const last = path[path.length - 1];
287
+ if (typeof last !== 'string' || (typeof value !== 'string' && typeof value !== 'number'))
288
+ continue;
289
+ if (!POOL.has(last))
290
+ POOL.set(last, new Map());
291
+ POOL.get(last).set(JSON.stringify(value), value);
292
+ }
293
+ }
294
+ }
295
+ /** The values to try at a node: the empty one of its type, the plain
296
+ * document's, the other way for a flag, and a few another document has. */
297
+ export function candidates(path, value) {
298
+ const plain = at(PLAIN, path);
299
+ const out = plain !== undefined ? [plain] : [];
300
+ const last = path[path.length - 1];
301
+ const pooled = typeof last === 'string' ? [...(POOL.get(last)?.values() ?? [])].slice(0, 4) : [];
302
+ if (typeof value === 'boolean')
303
+ out.push(true, false);
304
+ else if (typeof value === 'number')
305
+ out.push(0, value + 1, ...pooled.filter((v) => typeof v === 'number'));
306
+ else if (typeof value === 'string')
307
+ out.push('', ...pooled.filter((v) => typeof v === 'string'));
308
+ else if (isDimension(value))
309
+ out.push({ value: 0, unit: value.unit }, { value: value.value + 3, unit: value.unit });
310
+ else if (isColor(value))
311
+ out.push(hex('#000000'), hex('#13579b'));
312
+ else if (Array.isArray(value))
313
+ out.push([]);
314
+ else if (isFields(value)) {
315
+ // An item of a keyed list emptied keeps the key that names it.
316
+ out.push(typeof last === 'string' ? {} : { [last.key]: last.value }, ...('elements' in value ? [{ elements: [] }] : []));
317
+ // The one section a configuration may switch off with `false`.
318
+ if (last === 'dropCap')
319
+ out.push(false);
320
+ }
321
+ const seen = new Set();
322
+ return out.filter((v) => {
323
+ const key = JSON.stringify(v);
324
+ if (key === JSON.stringify(value) || seen.has(key))
325
+ return false;
326
+ seen.add(key);
327
+ return true;
328
+ });
329
+ }
330
+ /** A value of another document for the node: what moving it looks like. */
331
+ export function moved(path, value) {
332
+ if (typeof value === 'boolean')
333
+ return !value;
334
+ return candidates(path, value).find((v) => {
335
+ if (typeof value === 'number')
336
+ return typeof v === 'number' && v !== 0;
337
+ if (typeof value === 'string')
338
+ return typeof v === 'string' && v !== '';
339
+ if (isDimension(value))
340
+ return isDimension(v) && v.value !== 0;
341
+ if (isColor(value))
342
+ return isColor(v);
343
+ return false;
344
+ });
345
+ }
346
+ /** A style inherits the fields of what it styles: the fields of a heading
347
+ * level are tried on every heading style, the house table's on every
348
+ * named one, the body's on every paragraph style. */
349
+ const BORROWED = [
350
+ { from: ['headings', { key: 'level', value: 1, index: 0 }], into: 'headingStyles' },
351
+ { from: ['tableStyle'], into: 'tableStyles' },
352
+ { from: ['bodyText'], into: 'paragraphStyles' },
353
+ ];
354
+ export function targets(config) {
355
+ const resolved = resolvedOf(config);
356
+ const out = [...nodes(resolved), ...nodes(config)];
357
+ for (const { from, into } of BORROWED) {
358
+ const items = config[into];
359
+ if (!Array.isArray(items))
360
+ continue;
361
+ for (const item of items) {
362
+ const head = { key: 'id', value: item.id, index: 0 };
363
+ for (const node of nodes(at(resolved, from))) {
364
+ if (node.path[0] === 'level')
365
+ continue;
366
+ out.push({ path: [into, head, ...node.path], value: node.value });
367
+ }
368
+ }
369
+ }
370
+ const seen = new Set();
371
+ return out.filter(({ path }) => {
372
+ const key = show(path);
373
+ if (seen.has(key))
374
+ return false;
375
+ seen.add(key);
376
+ return true;
377
+ });
378
+ }
379
+ /** A follower sweep tries about this many configurations per leaf. */
380
+ const FOLLOWER_WEIGHT = 0.07;
381
+ function units() {
382
+ const out = [];
383
+ for (const [name, context] of Object.entries(CONTEXTS)) {
384
+ const bySection = new Map();
385
+ for (const target of targets(context)) {
386
+ const section = String(target.path[0]);
387
+ if (!bySection.has(section))
388
+ bySection.set(section, []);
389
+ bySection.get(section).push(target);
390
+ }
391
+ for (const [section, list] of bySection) {
392
+ let cases = 0;
393
+ for (const { path, value } of list)
394
+ cases += candidates(path, value).length;
395
+ out.push({
396
+ name: `one field set at a time, ${name}: ${section}`,
397
+ weight: cases * cost(context),
398
+ run: () => {
399
+ const lost = [];
400
+ for (const { path, value } of list) {
401
+ for (const candidate of candidates(path, value)) {
402
+ if (survives(withAt(context, path, candidate)) === false)
403
+ lost.push(`${show(path)} = ${JSON.stringify(candidate)}`);
404
+ }
405
+ }
406
+ expect(lost).toEqual([]);
407
+ },
408
+ });
409
+ }
410
+ }
411
+ // A field that follows another one (a level its headings, a style the
412
+ // document, a caption the body): once the other has moved, the field set
413
+ // back to what it was is no longer a default.
414
+ for (const name of ['plain', 'rich', 'grid', 'japaneseVertical']) {
415
+ const context = CONTEXTS[name];
416
+ const before = resolvedOf(context);
417
+ const leaves = nodes(before).filter(({ value }) => !Array.isArray(value) && (!isFields(value) || isDimension(value) || isColor(value)));
418
+ out.push({
419
+ name: `a field set back after the one it follows has moved, ${name}`,
420
+ weight: leaves.length * leaves.length * FOLLOWER_WEIGHT * cost(context) / 100,
421
+ run: () => {
422
+ const lost = [];
423
+ let tried = 0;
424
+ for (const { path, value } of leaves) {
425
+ const other = moved(path, value);
426
+ if (other === undefined)
427
+ continue;
428
+ const shifted = withAt(context, path, other);
429
+ let after;
430
+ try {
431
+ after = resolvedOf(shifted);
432
+ }
433
+ catch {
434
+ continue;
435
+ }
436
+ for (const follower of leaves) {
437
+ if (follower.path === path)
438
+ continue;
439
+ const now = at(after, follower.path);
440
+ if (now === undefined || JSON.stringify(now) === JSON.stringify(follower.value))
441
+ continue;
442
+ const kept = survives(withAt(shifted, follower.path, follower.value));
443
+ if (kept === null)
444
+ continue;
445
+ tried++;
446
+ if (!kept)
447
+ lost.push(`${show(follower.path)} = ${JSON.stringify(follower.value)} under ${show(path)} = ${JSON.stringify(other)}`);
448
+ }
449
+ }
450
+ expect(tried).toBeGreaterThan(100);
451
+ expect(lost).toEqual([]);
452
+ },
453
+ });
454
+ }
455
+ return out;
456
+ }
457
+ /** What one configuration of `context` costs to resolve and strip, about:
458
+ * a document that sets more lists more for each reader to walk. */
459
+ function cost(context) {
460
+ return 1 + JSON.stringify(context).length / 2000;
461
+ }
462
+ /** Registers part `part` (from 1) of `of`. */
463
+ export function registerSweep(part, of) {
464
+ const load = new Array(of).fill(0);
465
+ const mine = [];
466
+ const all = units().sort((a, b) => b.weight - a.weight || (a.name < b.name ? -1 : 1));
467
+ for (const unit of all) {
468
+ let target = 0;
469
+ for (let i = 1; i < of; i++)
470
+ if (load[i] < load[target])
471
+ target = i;
472
+ load[target] += unit.weight;
473
+ if (target === part - 1)
474
+ mine.push(unit);
475
+ }
476
+ describe(`every value survives the strip (#694), part ${part} of ${of}`, () => {
477
+ for (const unit of mine)
478
+ it(unit.name, unit.run);
479
+ });
480
+ }
481
+ /** The sections and fields each document has, for the parts to share. */
482
+ export function sweepSizes() {
483
+ return Object.entries(CONTEXTS).map(([name, context]) => {
484
+ const sections = new Set();
485
+ let cases = 0;
486
+ for (const { path, value } of targets(context)) {
487
+ sections.add(String(path[0]));
488
+ cases += candidates(path, value).length;
489
+ }
490
+ return { name, sections: sections.size, cases };
491
+ });
492
+ }
493
+ //# sourceMappingURL=stripRoundTrip.harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRoundTrip.harness.js","sourceRoot":"","sources":["../../../src/__tests__/defaults/stripRoundTrip.harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stripRoundTrip.part1.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRoundTrip.part1.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/defaults/stripRoundTrip.part1.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { registerSweep } from './stripRoundTrip.harness';
2
+ // Part 1 of the strip sweep (#694, cut in parts by #1118).
3
+ registerSweep(1, 6);
4
+ //# sourceMappingURL=stripRoundTrip.part1.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRoundTrip.part1.test.js","sourceRoot":"","sources":["../../../src/__tests__/defaults/stripRoundTrip.part1.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,2DAA2D;AAC3D,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stripRoundTrip.part2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRoundTrip.part2.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/defaults/stripRoundTrip.part2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { registerSweep } from './stripRoundTrip.harness';
2
+ // Part 2 of the strip sweep (#694, cut in parts by #1118).
3
+ registerSweep(2, 6);
4
+ //# sourceMappingURL=stripRoundTrip.part2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRoundTrip.part2.test.js","sourceRoot":"","sources":["../../../src/__tests__/defaults/stripRoundTrip.part2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,2DAA2D;AAC3D,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}