base-paint 0.1.0 → 0.2.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/charts.d.ts +62 -0
- package/dist/charts.d.ts.map +1 -0
- package/dist/charts.js +1677 -0
- package/dist/charts.js.map +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +7 -1
- package/dist/contract.js.map +1 -1
- package/dist/controls.d.ts +114 -0
- package/dist/controls.d.ts.map +1 -0
- package/dist/controls.js +724 -0
- package/dist/controls.js.map +1 -0
- package/dist/help.d.ts +24 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +604 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/dist/spec/charts.d.ts +222 -0
- package/dist/spec/charts.d.ts.map +1 -0
- package/dist/spec/charts.js +35 -0
- package/dist/spec/charts.js.map +1 -0
- package/dist/spec/controls.d.ts +329 -0
- package/dist/spec/controls.d.ts.map +1 -0
- package/dist/spec/controls.js +119 -0
- package/dist/spec/controls.js.map +1 -0
- package/dist/spec/help.d.ts +353 -0
- package/dist/spec/help.d.ts.map +1 -0
- package/dist/spec/help.js +167 -0
- package/dist/spec/help.js.map +1 -0
- package/dist/spec/index.d.ts +40 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +164 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/style.d.ts +46 -0
- package/dist/spec/style.d.ts.map +1 -0
- package/dist/spec/style.js +39 -0
- package/dist/spec/style.js.map +1 -0
- package/dist/spec/template.d.ts +363 -0
- package/dist/spec/template.d.ts.map +1 -0
- package/dist/spec/template.js +252 -0
- package/dist/spec/template.js.map +1 -0
- package/dist/spec/text.d.ts +157 -0
- package/dist/spec/text.d.ts.map +1 -0
- package/dist/spec/text.js +83 -0
- package/dist/spec/text.js.map +1 -0
- package/dist/style.d.ts +19 -0
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +923 -0
- package/dist/style.js.map +1 -1
- package/dist/template.d.ts +27 -0
- package/dist/template.d.ts.map +1 -0
- package/dist/template.js +362 -0
- package/dist/template.js.map +1 -0
- package/dist/text.d.ts +19 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +448 -0
- package/dist/text.js.map +1 -0
- package/package.json +2 -2
package/dist/style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,EAAE;IACZ,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,EAAE,EAAE,SAAS;CACd,CAAC,CAAC;AAIH,4BAA4B;AAC5B,MAAM,UAAU,EAAE,CAAC,GAAG,KAA+C;IACnE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxH,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FillTemplateInput, FillTemplateOutput, TemplateErrorCode, TemplateMarkerKey } from './spec/template.js';
|
|
2
|
+
/** 填充失败(形态逐字对齐冻结的 `TemplateErrorShape`:`{ name, code, marker?, message }`)。
|
|
3
|
+
*
|
|
4
|
+
* 与既有 `RenderError`(`src/contract.ts`)**并列、互不继承**、code 集互不重叠
|
|
5
|
+
* (契约 §3.3「错误形态与既有 RenderError 的关系」)。
|
|
6
|
+
*
|
|
7
|
+
* **不从 `src/index.ts` 导出**:`SPEC_FROZEN_SURFACE` 无该运行时条目,导出会打破
|
|
8
|
+
* 「新增运行时出口恰好等于清单 implemented 的运行时项」出口面锁。调用方按 `name`/`code`
|
|
9
|
+
* 判定(冻结形态的判定口径就是这两个字段)。
|
|
10
|
+
*/
|
|
11
|
+
export declare class TemplateError extends Error {
|
|
12
|
+
/** 逐字对齐 `TemplateErrorShape.name`。 */
|
|
13
|
+
readonly name = "TemplateError";
|
|
14
|
+
readonly code: TemplateErrorCode;
|
|
15
|
+
/** 归因标记(能唯一定位时给出;载荷槽/信封级失败不给)。 */
|
|
16
|
+
readonly marker?: TemplateMarkerKey;
|
|
17
|
+
constructor(code: TemplateErrorCode, message: string, marker?: TemplateMarkerKey);
|
|
18
|
+
}
|
|
19
|
+
/** 统一占位符填充器(冻结签名 `(input: FillTemplateInput): FillTemplateOutput`)。
|
|
20
|
+
*
|
|
21
|
+
* 判定按 `TEMPLATE_CHECK_ORDER` 逐阶段进行,**首个命中即抛、不聚合**;全部通过后按
|
|
22
|
+
* `INJECTION_ORDER` 依次替换四个注入步(资产由本填充器按 `ASSET_WRAPPERS` 包裹),
|
|
23
|
+
* 最后替换正文槽位(`content` 不占 `INJECTION_ORDER` 的位置,载荷槽两成员互斥,
|
|
24
|
+
* 故与四个注入步**无先后语义**,契约 §3.1.2①)。
|
|
25
|
+
*/
|
|
26
|
+
export declare function fillTemplate(input: FillTemplateInput): FillTemplateOutput;
|
|
27
|
+
//# sourceMappingURL=template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAIlB,iBAAiB,EAEjB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,sCAAsC;IACtC,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,kCAAkC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;gBAExB,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB;CAKjF;AAqID;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAoNzE"}
|
package/dist/template.js
ADDED
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
/** base-paint/template:统一占位符填充器(#74 运行时)。
|
|
2
|
+
*
|
|
3
|
+
* 契约正本:`docs/base-paint-contract.md` §3.1(含 §3.1.2)/§6.1;冻结面:
|
|
4
|
+
* `packages/base-render/src/spec/template.ts`(本文件**只消费**,不改任何冻结签名)。
|
|
5
|
+
*
|
|
6
|
+
* 三条红线(逐条对齐契约):
|
|
7
|
+
* 1. **命名(AC-1)**:`injector` 一词专指 sidebar 槽位装配(`src/injector.ts`);
|
|
8
|
+
* HTML 占位符填充器的对外名恒为 `fillTemplate`,禁止 `injectHtml`/`htmlInjector`
|
|
9
|
+
* /`injectPlaceholders`/`htmlTemplateInjector`/`mountTemplate` 等写法。
|
|
10
|
+
* 2. **依赖(AC-13)**:零运行时依赖——不 `import` base-link-core(只许 `import type`),
|
|
11
|
+
* 信封校验只用 base-paint 自持的 `STRICT_ENVELOPE_FIELDS`/`STRICT_ENVELOPE_SHAPES`,
|
|
12
|
+
* **不调用 `parseEnvelope`**。
|
|
13
|
+
* 3. **失败(边界规则 5)**:一律抛 `TemplateError`,**不返空页**(绝不返回 `html: ''`)。
|
|
14
|
+
*
|
|
15
|
+
* 单一真相(禁止第二份表):判定次序恒读 `TEMPLATE_CHECK_ORDER`(首个命中即抛、不聚合);
|
|
16
|
+
* 标记字面量恒读 `TEMPLATE_MARKERS`;数量规则恒读 `MARKER_RULES`;载荷槽恒读
|
|
17
|
+
* `PAYLOAD_SLOT_RULE`;分型恒读 `TEMPLATE_KIND_RULE`;包裹标签恒读 `ASSET_WRAPPERS`;
|
|
18
|
+
* 资产↔标记映射恒读 `ASSET_MARKER_KEYS`;两条不变量恒读 `WRAP_PREDICATES`;
|
|
19
|
+
* 容器作用域与 id/type 恒读 `CONTAINER_CHECK_RULE`;JSON 的 `<` 转义恒读
|
|
20
|
+
* `TEXT_JSON_LT_RULE`(§3.1/§3.4 同口径,FX-74-2)。
|
|
21
|
+
*
|
|
22
|
+
* 契约未规定处的取值(本文件显式记账,不留暗猜):
|
|
23
|
+
* - `report.markers` 的数组序 = `TEMPLATE_MARKERS` 的键序(六个标记的规范序);
|
|
24
|
+
* - `<!--NO-SHARED-->` 是**豁免声明本身、无填充物**(§3.1 标记表),故**原样留在输出**、
|
|
25
|
+
* `filled === false`(它不是注入步,只改数量校验);
|
|
26
|
+
* - 容器属性解析取**双引号**口径(与 `tooling/classify-templates.mjs` 同口径);
|
|
27
|
+
* - `template` 非字符串时按空模板处理(走载荷槽缺失 → `marker-missing`,不抛 TypeError)。
|
|
28
|
+
*/
|
|
29
|
+
import { ASSET_MARKER_KEYS, ASSET_WRAPPERS, ASSET_WRAP_RULE, CONTAINER_CHECK_RULE, INJECTION_ORDER, MARKER_RULES, PAYLOAD_SLOT_RULE, STRICT_ENVELOPE_FIELDS, STRICT_ENVELOPE_SHAPES, TEMPLATE_CHECK_ORDER, TEMPLATE_KIND_RULE, TEMPLATE_KINDS, TEMPLATE_MARKERS, WRAP_PREDICATES, } from './spec/template.js';
|
|
30
|
+
import { TEXT_JSON_LT_RULE } from './spec/text.js';
|
|
31
|
+
/** 填充失败(形态逐字对齐冻结的 `TemplateErrorShape`:`{ name, code, marker?, message }`)。
|
|
32
|
+
*
|
|
33
|
+
* 与既有 `RenderError`(`src/contract.ts`)**并列、互不继承**、code 集互不重叠
|
|
34
|
+
* (契约 §3.3「错误形态与既有 RenderError 的关系」)。
|
|
35
|
+
*
|
|
36
|
+
* **不从 `src/index.ts` 导出**:`SPEC_FROZEN_SURFACE` 无该运行时条目,导出会打破
|
|
37
|
+
* 「新增运行时出口恰好等于清单 implemented 的运行时项」出口面锁。调用方按 `name`/`code`
|
|
38
|
+
* 判定(冻结形态的判定口径就是这两个字段)。
|
|
39
|
+
*/
|
|
40
|
+
export class TemplateError extends Error {
|
|
41
|
+
/** 逐字对齐 `TemplateErrorShape.name`。 */
|
|
42
|
+
name = 'TemplateError';
|
|
43
|
+
code;
|
|
44
|
+
/** 归因标记(能唯一定位时给出;载荷槽/信封级失败不给)。 */
|
|
45
|
+
marker;
|
|
46
|
+
constructor(code, message, marker) {
|
|
47
|
+
super(message);
|
|
48
|
+
this.code = code;
|
|
49
|
+
if (marker !== undefined)
|
|
50
|
+
this.marker = marker;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** 抛错并收窄控制流(`never` 返回,便于 TS 在断言后收窄)。 */
|
|
54
|
+
function fail(code, message, marker) {
|
|
55
|
+
throw new TemplateError(code, message, marker);
|
|
56
|
+
}
|
|
57
|
+
/** 六个标记的规范序(恒取 `TEMPLATE_MARKERS` 键序,不自立第二份顺序)。 */
|
|
58
|
+
const MARKER_KEYS = Object.keys(TEMPLATE_MARKERS);
|
|
59
|
+
/** 包裹标签(唯一真相源 `ASSET_WRAPPERS`;本文件不写 `<style>`/`<script>` 字面量)。 */
|
|
60
|
+
const WRAP_OPEN_TAGS = Object.values(ASSET_WRAPPERS).map((w) => w.openTag);
|
|
61
|
+
const WRAP_CLOSE_TAGS = Object.values(ASSET_WRAPPERS).map((w) => w.closeTag);
|
|
62
|
+
/** 标签名形式(`<style>` → `style`),供不变量②的 `enclosing-open-tag` 判定使用。 */
|
|
63
|
+
const WRAP_TAG_NAMES = [...new Set(WRAP_OPEN_TAGS.map((tag) => tag.slice(1, -1)))];
|
|
64
|
+
/** 资产键 → 标记键(查 `ASSET_MARKER_KEYS`,不自立第二份映射表)。 */
|
|
65
|
+
function assetKeyForMarker(marker) {
|
|
66
|
+
const keys = Object.keys(ASSET_MARKER_KEYS);
|
|
67
|
+
for (const key of keys) {
|
|
68
|
+
if (ASSET_MARKER_KEYS[key] === marker)
|
|
69
|
+
return key;
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
/** 逐字出现次数(区分大小写;契约标记为逐字匹配)。 */
|
|
74
|
+
function countOccurrences(text, literal) {
|
|
75
|
+
let count = 0;
|
|
76
|
+
let index = text.indexOf(literal);
|
|
77
|
+
while (index >= 0) {
|
|
78
|
+
count += 1;
|
|
79
|
+
index = text.indexOf(literal, index + literal.length);
|
|
80
|
+
}
|
|
81
|
+
return count;
|
|
82
|
+
}
|
|
83
|
+
/** 替换**首个**出现处。
|
|
84
|
+
*
|
|
85
|
+
* 用 `indexOf` + 拼接而**不用** `String.prototype.replace`:后者会把替换文本里的
|
|
86
|
+
* `$&`/`$'`/`$\`` 当替换模式,资产文本或 JSON 载荷含这些字符时会被改写。
|
|
87
|
+
*/
|
|
88
|
+
function replaceFirst(text, literal, replacement) {
|
|
89
|
+
const index = text.indexOf(literal);
|
|
90
|
+
if (index < 0)
|
|
91
|
+
return text;
|
|
92
|
+
return text.slice(0, index) + replacement + text.slice(index + literal.length);
|
|
93
|
+
}
|
|
94
|
+
/** 六标记计数(键序恒 `TEMPLATE_MARKERS`)。 */
|
|
95
|
+
function countMarkers(template) {
|
|
96
|
+
const counts = {};
|
|
97
|
+
for (const key of MARKER_KEYS)
|
|
98
|
+
counts[key] = countOccurrences(template, TEMPLATE_MARKERS[key]);
|
|
99
|
+
return counts;
|
|
100
|
+
}
|
|
101
|
+
/** 分型判定(恒读 `TEMPLATE_KIND_RULE`):`required` 各恰 1 次且 `forbidden` 各 0 次。
|
|
102
|
+
*
|
|
103
|
+
* 计数 > 1 的模板**不属分型判定面**(规则只对 0/1 次计数试配)→ 返回 `null`,
|
|
104
|
+
* 由 `TEMPLATE_CHECK_ORDER` 的首个命中码报错(计数 > 1 → `marker-duplicate`)。
|
|
105
|
+
*/
|
|
106
|
+
function kindOf(counts) {
|
|
107
|
+
const hits = TEMPLATE_KINDS.filter((kind) => {
|
|
108
|
+
const rule = TEMPLATE_KIND_RULE[kind];
|
|
109
|
+
return rule.required.every((m) => counts[m] === 1) && rule.forbidden.every((m) => counts[m] === 0);
|
|
110
|
+
});
|
|
111
|
+
return hits.length === 1 ? hits[0] : null;
|
|
112
|
+
}
|
|
113
|
+
/** 不变量②判定(`WRAP_PREDICATES.forbidPreWrappedMarker`,方式 `enclosing-open-tag`)。
|
|
114
|
+
*
|
|
115
|
+
* 作用域 = `ASSET_MARKER_KEYS` 的值集(三个共享资产标记),**排除 `injectData`**
|
|
116
|
+
* (payload 容器是必需项、不是预包裹);对**每一个**标记出现处扫描其**左侧全部前缀文本**
|
|
117
|
+
* (不限同行),最近的未闭合包裹开标签存在即违反。返回首个违反的标记键。
|
|
118
|
+
*/
|
|
119
|
+
function preWrappedMarker(template) {
|
|
120
|
+
const predicate = WRAP_PREDICATES.forbidPreWrappedMarker;
|
|
121
|
+
const excluded = predicate.excludes;
|
|
122
|
+
for (const marker of predicate.scope) {
|
|
123
|
+
if (excluded.includes(marker))
|
|
124
|
+
continue;
|
|
125
|
+
const literal = TEMPLATE_MARKERS[marker];
|
|
126
|
+
for (let index = template.indexOf(literal); index >= 0; index = template.indexOf(literal, index + literal.length)) {
|
|
127
|
+
const before = template.slice(0, index);
|
|
128
|
+
const enclosed = WRAP_TAG_NAMES.some((name) => before.lastIndexOf('<' + name) > before.lastIndexOf('</' + name));
|
|
129
|
+
if (enclosed)
|
|
130
|
+
return marker;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
/** 容器定位(契约 §3.1 第 2 条 + FX-118-11 的 F-2 处置):取标记**左侧最近的未闭合开标签**,
|
|
136
|
+
* 标签名恒取 `CONTAINER_CHECK_RULE.openTag`(页内已闭合的业务 `<script>` 不算容器)。
|
|
137
|
+
* 返回该标签的 `id`/`type`(双引号口径);无容器返回 `null`。
|
|
138
|
+
*/
|
|
139
|
+
function locateContainer(template, markerIndex) {
|
|
140
|
+
const tagName = CONTAINER_CHECK_RULE.openTag.slice(1, -1);
|
|
141
|
+
const before = template.slice(0, markerIndex);
|
|
142
|
+
const openIndex = before.lastIndexOf('<' + tagName);
|
|
143
|
+
if (openIndex < 0)
|
|
144
|
+
return null;
|
|
145
|
+
if (before.lastIndexOf(CONTAINER_CHECK_RULE.closeTag) > openIndex)
|
|
146
|
+
return null;
|
|
147
|
+
const end = template.indexOf('>', openIndex);
|
|
148
|
+
const tag = end < 0 ? template.slice(openIndex) : template.slice(openIndex, end + 1);
|
|
149
|
+
const attribute = (name) => {
|
|
150
|
+
const hit = new RegExp('(?:^|\\s)' + name + '\\s*=\\s*"([^"]*)"').exec(tag);
|
|
151
|
+
return hit ? hit[1] : null;
|
|
152
|
+
};
|
|
153
|
+
return { id: attribute('id'), type: attribute('type') };
|
|
154
|
+
}
|
|
155
|
+
/** 零依赖信封校验(`strict: true` 时追加):`data` 是对象且含五字段、`shape` ∈ 六形状。
|
|
156
|
+
* **不调用** base-link-core 的 `parseEnvelope`(AC-13)。 */
|
|
157
|
+
function isEnvelopeLike(data) {
|
|
158
|
+
if (data === null || typeof data !== 'object' || Array.isArray(data))
|
|
159
|
+
return false;
|
|
160
|
+
const record = data;
|
|
161
|
+
for (const field of STRICT_ENVELOPE_FIELDS) {
|
|
162
|
+
if (!Object.prototype.hasOwnProperty.call(record, field))
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
const shape = record.shape;
|
|
166
|
+
return typeof shape === 'string' && STRICT_ENVELOPE_SHAPES.includes(shape);
|
|
167
|
+
}
|
|
168
|
+
/** 输出 HTML 的 UTF-8 字节数(对齐旧 CLI 结果 JSON 的 `bytes` 口径)。
|
|
169
|
+
* 用 `TextEncoder` 而非 `Buffer`:base-paint 是浏览器侧共享层,不依赖 Node 内建全局。 */
|
|
170
|
+
function utf8Bytes(text) {
|
|
171
|
+
return new TextEncoder().encode(text).length;
|
|
172
|
+
}
|
|
173
|
+
/** 统一占位符填充器(冻结签名 `(input: FillTemplateInput): FillTemplateOutput`)。
|
|
174
|
+
*
|
|
175
|
+
* 判定按 `TEMPLATE_CHECK_ORDER` 逐阶段进行,**首个命中即抛、不聚合**;全部通过后按
|
|
176
|
+
* `INJECTION_ORDER` 依次替换四个注入步(资产由本填充器按 `ASSET_WRAPPERS` 包裹),
|
|
177
|
+
* 最后替换正文槽位(`content` 不占 `INJECTION_ORDER` 的位置,载荷槽两成员互斥,
|
|
178
|
+
* 故与四个注入步**无先后语义**,契约 §3.1.2①)。
|
|
179
|
+
*/
|
|
180
|
+
export function fillTemplate(input) {
|
|
181
|
+
const source = input ?? {};
|
|
182
|
+
const template = typeof source.template === 'string' ? source.template : '';
|
|
183
|
+
const assets = (source.assets ?? {});
|
|
184
|
+
const counts = countMarkers(template);
|
|
185
|
+
const exempt = counts.noShared === 1;
|
|
186
|
+
const kind = kindOf(counts);
|
|
187
|
+
const dataPage = kind === 'data-page';
|
|
188
|
+
const contentPage = kind === 'content-page';
|
|
189
|
+
const expectedDataScriptId = source.dataScriptId ?? CONTAINER_CHECK_RULE.id;
|
|
190
|
+
/** SHARED 两标记(由冻结的 `exemptable` 判定,不自立名单)。 */
|
|
191
|
+
const sharedKeys = MARKER_KEYS.filter((key) => MARKER_RULES[key].exemptable);
|
|
192
|
+
/** `data` 的 JSON 序列化(惰性 + 记忆化);不可序列化 → `null`。 */
|
|
193
|
+
let serialized;
|
|
194
|
+
const serializeData = () => {
|
|
195
|
+
if (serialized !== undefined)
|
|
196
|
+
return serialized;
|
|
197
|
+
try {
|
|
198
|
+
const text = JSON.stringify(source.data);
|
|
199
|
+
serialized = typeof text === 'string' ? text : null;
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
serialized = null;
|
|
203
|
+
}
|
|
204
|
+
return serialized;
|
|
205
|
+
};
|
|
206
|
+
/** 八个阶段(键 = `TEMPLATE_ERROR_CODES` 全量;缺一个即编译红)。
|
|
207
|
+
* 执行顺序恒读 `TEMPLATE_CHECK_ORDER`,本表不自带次序。 */
|
|
208
|
+
const stages = {
|
|
209
|
+
// ① 数量规则:任一标记出现 > 1 次(`MARKER_RULES` 三个档位的上限都是 1)。
|
|
210
|
+
'marker-duplicate': () => {
|
|
211
|
+
const duplicated = MARKER_KEYS.find((key) => counts[key] > 1);
|
|
212
|
+
if (duplicated === undefined)
|
|
213
|
+
return;
|
|
214
|
+
fail('marker-duplicate', '标记重复:' + TEMPLATE_MARKERS[duplicated] + ' 出现 ' + counts[duplicated] + ' 次(规则 '
|
|
215
|
+
+ MARKER_RULES[duplicated].rule + ' 上限 1)', duplicated);
|
|
216
|
+
},
|
|
217
|
+
// ② 必需标记/载荷槽缺失(`PAYLOAD_SLOT_RULE.missingCode`)。
|
|
218
|
+
'marker-missing': () => {
|
|
219
|
+
if (PAYLOAD_SLOT_RULE.members.every((member) => counts[member] === 0)) {
|
|
220
|
+
fail(PAYLOAD_SLOT_RULE.missingCode, '载荷槽缺失:' + PAYLOAD_SLOT_RULE.members.map((m) => TEMPLATE_MARKERS[m]).join(' 与 ')
|
|
221
|
+
+ ' 必须恰有其一(' + PAYLOAD_SLOT_RULE.rule + ')');
|
|
222
|
+
}
|
|
223
|
+
const missing = MARKER_KEYS.find((key) => {
|
|
224
|
+
const rule = MARKER_RULES[key];
|
|
225
|
+
if (!rule.required || counts[key] !== 0)
|
|
226
|
+
return false;
|
|
227
|
+
return !(rule.exemptable && exempt);
|
|
228
|
+
});
|
|
229
|
+
if (missing === undefined)
|
|
230
|
+
return;
|
|
231
|
+
fail('marker-missing', '必需标记缺失:' + TEMPLATE_MARKERS[missing] + ' 未出现且未被豁免', missing);
|
|
232
|
+
},
|
|
233
|
+
// ③ 冲突:两载荷槽皆有 / NO-SHARED 与 SHARED 并存 / 共享资产标记被预包裹。
|
|
234
|
+
'marker-conflict': () => {
|
|
235
|
+
if (PAYLOAD_SLOT_RULE.members.every((member) => counts[member] >= 1)) {
|
|
236
|
+
fail(PAYLOAD_SLOT_RULE.conflictCode, '载荷槽冲突:' + PAYLOAD_SLOT_RULE.members.map((m) => TEMPLATE_MARKERS[m]).join(' 与 ')
|
|
237
|
+
+ ' 同时出现(' + PAYLOAD_SLOT_RULE.rule + ')');
|
|
238
|
+
}
|
|
239
|
+
if (exempt) {
|
|
240
|
+
const present = sharedKeys.filter((key) => counts[key] > 0);
|
|
241
|
+
if (present.length > 0) {
|
|
242
|
+
fail(ASSET_WRAP_RULE.markerPreWrappedCode, 'NO-SHARED 与 SHARED 并存:声明豁免后 ' + present.map((k) => TEMPLATE_MARKERS[k]).join('/')
|
|
243
|
+
+ ' 必须为 0(互斥)', present[0]);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
const preWrapped = preWrappedMarker(template);
|
|
247
|
+
if (preWrapped === null)
|
|
248
|
+
return;
|
|
249
|
+
fail(WRAP_PREDICATES.forbidPreWrappedMarker.code, '标记被预包裹(不变量② forbidPreWrappedMarker,判定 '
|
|
250
|
+
+ WRAP_PREDICATES.forbidPreWrappedMarker.method + '):' + TEMPLATE_MARKERS[preWrapped]
|
|
251
|
+
+ ' 落在未闭合的包裹标签内,须由填充器包裹', preWrapped);
|
|
252
|
+
},
|
|
253
|
+
// ④ 容器:**仅当模板含 `injectData` 时**执行(`CONTAINER_CHECK_RULE.appliesWhenMarker`)。
|
|
254
|
+
'container-missing': () => {
|
|
255
|
+
if (counts[CONTAINER_CHECK_RULE.appliesWhenMarker] === 0)
|
|
256
|
+
return;
|
|
257
|
+
const markerIndex = template.indexOf(TEMPLATE_MARKERS[CONTAINER_CHECK_RULE.appliesWhenMarker]);
|
|
258
|
+
const container = markerIndex < 0 ? null : locateContainer(template, markerIndex);
|
|
259
|
+
if (container === null) {
|
|
260
|
+
fail(CONTAINER_CHECK_RULE.code, '缺自带容器:' + TEMPLATE_MARKERS[CONTAINER_CHECK_RULE.appliesWhenMarker] + ' 必须落在 '
|
|
261
|
+
+ CONTAINER_CHECK_RULE.openTag + '…' + CONTAINER_CHECK_RULE.closeTag + ' 内(id='
|
|
262
|
+
+ expectedDataScriptId + ' type=' + CONTAINER_CHECK_RULE.type + ')', CONTAINER_CHECK_RULE.appliesWhenMarker);
|
|
263
|
+
}
|
|
264
|
+
if (container.id !== expectedDataScriptId || container.type !== CONTAINER_CHECK_RULE.type) {
|
|
265
|
+
fail(CONTAINER_CHECK_RULE.code, '容器 id/type 不符:期望 id=' + expectedDataScriptId + ' type=' + CONTAINER_CHECK_RULE.type
|
|
266
|
+
+ ',实际 id=' + String(container.id) + ' type=' + String(container.type), CONTAINER_CHECK_RULE.appliesWhenMarker);
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
// ⑤ 资产:被消费的资产为空串或自带包裹标签(不变量① `assetsBare`)。
|
|
270
|
+
'asset-missing': () => {
|
|
271
|
+
for (const step of INJECTION_ORDER) {
|
|
272
|
+
if (counts[step] === 0)
|
|
273
|
+
continue; // 未被消费(含 NO-SHARED 豁免缺席)不校验(F-3)
|
|
274
|
+
const assetKey = assetKeyForMarker(step);
|
|
275
|
+
if (assetKey === null)
|
|
276
|
+
continue;
|
|
277
|
+
const value = assets[assetKey];
|
|
278
|
+
if (typeof value !== 'string' || value === '') {
|
|
279
|
+
fail(ASSET_WRAP_RULE.assetWrappedCode, '资产为空串或未提供:assets.' + assetKey + '(标记 ' + TEMPLATE_MARKERS[step] + ' 被消费)', step);
|
|
280
|
+
}
|
|
281
|
+
const trimmed = value.trim();
|
|
282
|
+
const selfWrapped = WRAP_OPEN_TAGS.some((tag) => trimmed.startsWith(tag))
|
|
283
|
+
|| WRAP_CLOSE_TAGS.some((tag) => trimmed.endsWith(tag));
|
|
284
|
+
if (selfWrapped) {
|
|
285
|
+
fail(ASSET_WRAP_RULE.assetWrappedCode, '资产自带包裹标签(不变量① assetsBare,判定 ' + WRAP_PREDICATES.assetsBare.method
|
|
286
|
+
+ '):assets.' + assetKey, step);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
// ⑥ 数据:数据页 `data === undefined` 或不可 JSON 序列化。
|
|
291
|
+
'data-missing': () => {
|
|
292
|
+
if (!dataPage)
|
|
293
|
+
return; // 内容页忽略 `data`(#118 D-8 裁定 2)
|
|
294
|
+
if (source.data === undefined) {
|
|
295
|
+
fail('data-missing', '数据页缺 data:' + TEMPLATE_MARKERS.injectData + ' 必须由调用方提供场景数据', 'injectData');
|
|
296
|
+
}
|
|
297
|
+
if (serializeData() === null) {
|
|
298
|
+
fail('data-missing', 'data 不可 JSON 序列化(循环引用/BigInt/函数等)', 'injectData');
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
// ⑦ 正文:内容页 `content === undefined`(`''` 视为已提供,合法)。
|
|
302
|
+
'content-missing': () => {
|
|
303
|
+
if (!contentPage)
|
|
304
|
+
return; // 数据页忽略 `content`
|
|
305
|
+
if (source.content === undefined) {
|
|
306
|
+
fail('content-missing', '内容页缺 content:' + TEMPLATE_MARKERS.content + ' 必须由调用方提供正文 HTML', 'content');
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
// ⑧ 信封:`strict: true` 且数据页信封校验失败(内容页忽略,契约 §3.1「--strict 校验语义」)。
|
|
310
|
+
'strict-invalid': () => {
|
|
311
|
+
if (source.strict !== true || !dataPage)
|
|
312
|
+
return;
|
|
313
|
+
if (isEnvelopeLike(source.data))
|
|
314
|
+
return;
|
|
315
|
+
fail('strict-invalid', 'strict 信封校验失败:data 必须是对象且含 ' + STRICT_ENVELOPE_FIELDS.join('/')
|
|
316
|
+
+ ' 五字段,shape ∈ ' + STRICT_ENVELOPE_SHAPES.join('/'));
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
for (const code of TEMPLATE_CHECK_ORDER)
|
|
320
|
+
stages[code]();
|
|
321
|
+
// 检查全过 → 分型必命中(两载荷槽皆有已在阶段 ③ 拦截、计数 > 1 已在阶段 ① 拦截)。
|
|
322
|
+
if (kind === null)
|
|
323
|
+
fail(TEMPLATE_KIND_RULE.legacy.noKindCode, '模板不属任何分型(三型皆不命中)');
|
|
324
|
+
/** 已替换的标记(`filled` 口径 = 该标记被替换)。 */
|
|
325
|
+
const filled = new Set();
|
|
326
|
+
let html = template;
|
|
327
|
+
// 四个注入步:顺序恒读 `INJECTION_ORDER`(`content` 不在其中,见下)。
|
|
328
|
+
for (const step of INJECTION_ORDER) {
|
|
329
|
+
if (counts[step] === 0)
|
|
330
|
+
continue;
|
|
331
|
+
const assetKey = assetKeyForMarker(step);
|
|
332
|
+
const replacement = assetKey === null
|
|
333
|
+
// injectData:只替换标记文本,**不生成/不补写**容器(容器由模板自带,FX-2①②);
|
|
334
|
+
// JSON 文本中 `<` 一律写成反斜杠 + `TEXT_JSON_LT_RULE`(冻结常量,§3.1/§3.4 同口径),
|
|
335
|
+
// 防 `</script>` 断标签——**不写第二份转义字面量**(FX-74-2)。
|
|
336
|
+
? (serializeData() ?? '').replace(/</g, '\\' + TEXT_JSON_LT_RULE)
|
|
337
|
+
// 资产:裸文本 + 填充器包裹(`ASSET_WRAPPERS` 逐字,不双包)。
|
|
338
|
+
: ASSET_WRAPPERS[assetKey].openTag + String(assets[assetKey] ?? '') + ASSET_WRAPPERS[assetKey].closeTag;
|
|
339
|
+
html = replaceFirst(html, TEMPLATE_MARKERS[step], replacement);
|
|
340
|
+
filled.add(step);
|
|
341
|
+
}
|
|
342
|
+
// 正文槽位:只做标记文本替换,不生产、不转义正文(转义责任在产出正文的技能侧)。
|
|
343
|
+
if (counts.content === 1) {
|
|
344
|
+
html = replaceFirst(html, TEMPLATE_MARKERS.content, String(source.content ?? ''));
|
|
345
|
+
filled.add('content');
|
|
346
|
+
}
|
|
347
|
+
const markers = MARKER_KEYS.map((key) => ({
|
|
348
|
+
key,
|
|
349
|
+
literal: TEMPLATE_MARKERS[key],
|
|
350
|
+
rule: MARKER_RULES[key].rule,
|
|
351
|
+
count: counts[key],
|
|
352
|
+
filled: filled.has(key),
|
|
353
|
+
}));
|
|
354
|
+
const report = {
|
|
355
|
+
markers,
|
|
356
|
+
strict: source.strict === true,
|
|
357
|
+
exempt,
|
|
358
|
+
bytes: utf8Bytes(html),
|
|
359
|
+
};
|
|
360
|
+
return { html, report };
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
|
package/dist/text.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DataTextInput, LogTextInput, TextErrorCode } from './spec/text.js';
|
|
2
|
+
/** 复制序列化失败(形态逐字对齐冻结的 `TextErrorShape`:`{ name, code, message }`)。
|
|
3
|
+
*
|
|
4
|
+
* **不从 `src/index.ts` 导出**:`SPEC_FROZEN_SURFACE` 无该运行时条目,导出会打破
|
|
5
|
+
* 「新增运行时出口恰好等于清单 implemented 的运行时项」出口面锁。与 `TemplateError`
|
|
6
|
+
* /`ControlsError` 同口径,调用方按 `name`/`code` 判定。
|
|
7
|
+
*/
|
|
8
|
+
export declare class TextError extends Error {
|
|
9
|
+
/** 逐字对齐 `TextErrorShape.name`。 */
|
|
10
|
+
readonly name = "TextError";
|
|
11
|
+
readonly code: TextErrorCode;
|
|
12
|
+
constructor(code: TextErrorCode, message: string);
|
|
13
|
+
}
|
|
14
|
+
/** 数据文本:envelope 逐 shape 投影 → `text`/`json`/`csv`。失败抛 `TextError`(不返空、不降级)。 */
|
|
15
|
+
export declare function buildDataText(input: DataTextInput): string;
|
|
16
|
+
/** 日志文本:6 段(1 段 envelope 派生 + 5 段 `CopyLogFields`)→ `text`/`json`/`csv`。
|
|
17
|
+
* 结构校验与 `buildDataText` **同口径**(U14 定案:`data` 不符 shape 同样抛 `structure-invalid`)。 */
|
|
18
|
+
export declare function buildLogText(input: LogTextInput): string;
|
|
19
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,aAAa,EAEb,YAAY,EAEZ,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;gBAEjB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM;CAIjD;AAgWD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAgC1D;AAED;qFACqF;AACrF,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAsBxD"}
|