@hyperframes/core 0.2.0-alpha.1 → 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.
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Works in both Node.js and browser (no dependencies, regex-based).
|
|
6
6
|
*
|
|
7
7
|
* Guarantees every timed element gets:
|
|
8
|
+
* - id on media elements when missing
|
|
8
9
|
* - data-end (computed from data-start + data-duration when possible)
|
|
9
10
|
* - data-has-audio="true" on <video> elements
|
|
10
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timingCompiler.d.ts","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timingCompiler.d.ts","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA0ClE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAyBrF;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA6BzE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAkB/E"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Works in both Node.js and browser (no dependencies, regex-based).
|
|
6
6
|
*
|
|
7
7
|
* Guarantees every timed element gets:
|
|
8
|
+
* - id on media elements when missing
|
|
8
9
|
* - data-end (computed from data-start + data-duration when possible)
|
|
9
10
|
* - data-has-audio="true" on <video> elements
|
|
10
11
|
*
|
|
@@ -25,10 +26,14 @@ function injectAttr(tag, attr, value) {
|
|
|
25
26
|
return tag.replace(/>$/, ` ${attr}="${value}">`);
|
|
26
27
|
}
|
|
27
28
|
// ── Core compilation ─────────────────────────────────────────────────────
|
|
28
|
-
function compileTag(tag, isVideo) {
|
|
29
|
+
function compileTag(tag, isVideo, generateId) {
|
|
29
30
|
let result = tag;
|
|
30
31
|
let unresolved = null;
|
|
31
|
-
|
|
32
|
+
let id = getAttr(result, "id");
|
|
33
|
+
if (!id) {
|
|
34
|
+
id = `${isVideo ? "hf-video" : "hf-audio"}-${generateId()}`;
|
|
35
|
+
result = injectAttr(result, "id", id);
|
|
36
|
+
}
|
|
32
37
|
const startStr = getAttr(result, "data-start");
|
|
33
38
|
const start = startStr !== null ? parseFloat(startStr) : 0;
|
|
34
39
|
const mediaStartStr = getAttr(result, "data-media-start");
|
|
@@ -69,16 +74,18 @@ function compileTag(tag, isVideo) {
|
|
|
69
74
|
*/
|
|
70
75
|
export function compileTimingAttrs(html) {
|
|
71
76
|
const unresolved = [];
|
|
77
|
+
let nextVideoId = 0;
|
|
78
|
+
let nextAudioId = 0;
|
|
72
79
|
// Process <video ...> tags
|
|
73
80
|
html = html.replace(/<video[^>]*>/gi, (match) => {
|
|
74
|
-
const { tag, unresolved: u } = compileTag(match, true);
|
|
81
|
+
const { tag, unresolved: u } = compileTag(match, true, () => nextVideoId++);
|
|
75
82
|
if (u)
|
|
76
83
|
unresolved.push(u);
|
|
77
84
|
return tag;
|
|
78
85
|
});
|
|
79
86
|
// Process <audio ...> tags
|
|
80
87
|
html = html.replace(/<audio[^>]*>/gi, (match) => {
|
|
81
|
-
const { tag, unresolved: u } = compileTag(match, false);
|
|
88
|
+
const { tag, unresolved: u } = compileTag(match, false, () => nextAudioId++);
|
|
82
89
|
if (u)
|
|
83
90
|
unresolved.push(u);
|
|
84
91
|
return tag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timingCompiler.js","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"timingCompiler.js","sourceRoot":"","sources":["../../src/compiler/timingCompiler.ts"],"names":[],"mappings":"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"}
|