@se-studio/contentful-rest-api 1.21.1 → 1.22.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/CHANGELOG.md +6 -0
- package/dist/converters/enrichAssets.d.ts +1 -1
- package/dist/converters/enrichAssets.js +5 -5
- package/dist/converters/enrichAssets.js.map +1 -1
- package/dist/converters/heroVideoEnricher.d.ts +3 -3
- package/dist/converters/heroVideoEnricher.d.ts.map +1 -1
- package/dist/converters/heroVideoEnricher.js +20 -6
- package/dist/converters/heroVideoEnricher.js.map +1 -1
- package/dist/converters/heroVideoEnv.d.ts +5 -0
- package/dist/converters/heroVideoEnv.d.ts.map +1 -1
- package/dist/converters/heroVideoEnv.js +14 -0
- package/dist/converters/heroVideoEnv.js.map +1 -1
- package/dist/converters/videoEnricher.d.ts +1 -1
- package/dist/converters/videoEnricher.d.ts.map +1 -1
- package/dist/converters/videoEnricher.js +1 -1
- package/dist/converters/videoEnricher.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,7 @@ import type { FetchOptions } from '../types';
|
|
|
5
5
|
* Runs asset-enrichment steps in parallel and returns the map of pre-fetched oEmbed data for
|
|
6
6
|
* ConverterContext.
|
|
7
7
|
*
|
|
8
|
-
* -
|
|
8
|
+
* - seEnrichVideoAssets / imagekitEnrichVideoAssets: R2 mute-loop pack or ImageKit dimensions
|
|
9
9
|
* - enrichAnimationAssets: fetches Lottie SVG placeholders (mutates assets)
|
|
10
10
|
* - enrichExternalVideoEmbeds: fetches oEmbed data for external video entries
|
|
11
11
|
* - enrichPictureBlurPlaceholders: optional; when `fetchOptions.enrichPictureBlurPlaceholders`,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { enrichAnimationAssets } from './animationEnricher.js';
|
|
2
2
|
import { enrichExternalVideoEmbeds } from './externalVideoEnricher.js';
|
|
3
|
-
import {
|
|
3
|
+
import { seEnrichVideoAssets } from './heroVideoEnricher.js';
|
|
4
4
|
import { readHeroVideoEnv } from './heroVideoEnv.js';
|
|
5
5
|
import { enrichPictureBlurPlaceholders } from './pictureBlurEnricher.js';
|
|
6
|
-
import {
|
|
6
|
+
import { imagekitEnrichVideoAssets } from './videoEnricher.js';
|
|
7
7
|
/**
|
|
8
8
|
* Runs asset-enrichment steps in parallel and returns the map of pre-fetched oEmbed data for
|
|
9
9
|
* ConverterContext.
|
|
10
10
|
*
|
|
11
|
-
* -
|
|
11
|
+
* - seEnrichVideoAssets / imagekitEnrichVideoAssets: R2 mute-loop pack or ImageKit dimensions
|
|
12
12
|
* - enrichAnimationAssets: fetches Lottie SVG placeholders (mutates assets)
|
|
13
13
|
* - enrichExternalVideoEmbeds: fetches oEmbed data for external video entries
|
|
14
14
|
* - enrichPictureBlurPlaceholders: optional; when `fetchOptions.enrichPictureBlurPlaceholders`,
|
|
@@ -23,8 +23,8 @@ export async function enrichAllAssets(assets, includes, fetchOptions) {
|
|
|
23
23
|
? enrichPictureBlurPlaceholders(assets)
|
|
24
24
|
: Promise.resolve();
|
|
25
25
|
const videoEnrichment = readHeroVideoEnv()
|
|
26
|
-
?
|
|
27
|
-
:
|
|
26
|
+
? seEnrichVideoAssets(assets)
|
|
27
|
+
: imagekitEnrichVideoAssets(assets);
|
|
28
28
|
const [, , externalVideoEmbeds] = await Promise.all([
|
|
29
29
|
videoEnrichment,
|
|
30
30
|
enrichAnimationAssets(assets),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichAssets.js","sourceRoot":"","sources":["../../src/converters/enrichAssets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"enrichAssets.js","sourceRoot":"","sources":["../../src/converters/enrichAssets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA4B,EAC5B,QAA4C,EAC5C,YAAkE;IAElE,MAAM,WAAW,GACf,YAAY,EAAE,6BAA6B,KAAK,IAAI;QAClD,CAAC,CAAC,6BAA6B,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAExB,MAAM,eAAe,GAAG,gBAAgB,EAAE;QACxC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,CAAC,EAAE,AAAD,EAAG,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,eAAe;QACf,qBAAqB,CAAC,MAAM,CAAC;QAC7B,yBAAyB,CAAC,QAAQ,CAAC;QACnC,WAAW;KACZ,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
import type { IVisual } from '@se-studio/core-data-types';
|
|
3
|
-
export { type HeroVideoEnv, heroManifestUrl, readHeroVideoEnv } from './heroVideoEnv';
|
|
3
|
+
export { type HeroVideoEnv, heroManifestUrl, readHeroVideoEnv, shouldRetryFailedHeroManifest, } from './heroVideoEnv';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* SE Studio mute-loop packs on R2: GET manifest, enqueue encode on miss or failed retry.
|
|
6
6
|
* No-op when HERO_VIDEO_* env is unset (ImageKit path remains).
|
|
7
7
|
*/
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function seEnrichVideoAssets(assets: Map<string, IVisual>): Promise<void>;
|
|
9
9
|
//# sourceMappingURL=heroVideoEnricher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heroVideoEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/heroVideoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,EAA0C,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"heroVideoEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/heroVideoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,EAA0C,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAUlG,OAAO,EACL,KAAK,YAAY,EACjB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAmExB;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwErF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
import { unstable_cache } from 'next/cache';
|
|
3
|
-
import { heroManifestUrl, readHeroVideoEnv } from './heroVideoEnv.js';
|
|
4
|
-
export { heroManifestUrl, readHeroVideoEnv } from './heroVideoEnv.js';
|
|
3
|
+
import { heroManifestUrl, readHeroVideoEnv, shouldRetryFailedHeroManifest, } from './heroVideoEnv.js';
|
|
4
|
+
export { heroManifestUrl, readHeroVideoEnv, shouldRetryFailedHeroManifest, } from './heroVideoEnv.js';
|
|
5
5
|
function deliveryFromManifest(json) {
|
|
6
6
|
return {
|
|
7
7
|
status: json.status === 'ready' || json.status === 'rejected' || json.status === 'failed'
|
|
@@ -42,10 +42,10 @@ async function requestEncode(env, body) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* SE Studio mute-loop packs on R2: GET manifest, enqueue encode on miss or failed retry.
|
|
46
46
|
* No-op when HERO_VIDEO_* env is unset (ImageKit path remains).
|
|
47
47
|
*/
|
|
48
|
-
export async function
|
|
48
|
+
export async function seEnrichVideoAssets(assets) {
|
|
49
49
|
const env = readHeroVideoEnv();
|
|
50
50
|
if (!env) {
|
|
51
51
|
return;
|
|
@@ -66,7 +66,7 @@ export async function enrichHeroVideoAssets(assets) {
|
|
|
66
66
|
const getCached = unstable_cache(() => fetchManifest(url), ['hero-video-manifest', env.tenant, assetId], { revalidate: 60, tags: [`asset#${assetId}`] });
|
|
67
67
|
try {
|
|
68
68
|
const manifest = await getCached();
|
|
69
|
-
if (manifest) {
|
|
69
|
+
if (manifest && !shouldRetryFailedHeroManifest(manifest)) {
|
|
70
70
|
const delivery = deliveryFromManifest(manifest);
|
|
71
71
|
video.heroDelivery = delivery;
|
|
72
72
|
if (delivery.width && delivery.height) {
|
|
@@ -78,7 +78,21 @@ export async function enrichHeroVideoAssets(assets) {
|
|
|
78
78
|
}
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
if (manifest) {
|
|
82
|
+
const delivery = deliveryFromManifest(manifest);
|
|
83
|
+
video.heroDelivery = {
|
|
84
|
+
...delivery,
|
|
85
|
+
status: 'pending',
|
|
86
|
+
error: undefined,
|
|
87
|
+
};
|
|
88
|
+
if (delivery.width && delivery.height) {
|
|
89
|
+
video.width = delivery.width;
|
|
90
|
+
video.height = delivery.height;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
video.heroDelivery = { status: 'pending' };
|
|
95
|
+
}
|
|
82
96
|
await requestEncode(env, {
|
|
83
97
|
tenant: env.tenant,
|
|
84
98
|
assetId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heroVideoEnricher.js","sourceRoot":"","sources":["../../src/converters/heroVideoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"heroVideoEnricher.js","sourceRoot":"","sources":["../../src/converters/heroVideoEnricher.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,9 @@ export interface HeroVideoEnv {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function readHeroVideoEnv(env?: NodeJS.ProcessEnv): HeroVideoEnv | undefined;
|
|
8
8
|
export declare function heroManifestUrl(origin: string, tenant: string, assetId: string): string;
|
|
9
|
+
export declare const HERO_FAILED_RETRY_MS = 60000;
|
|
10
|
+
export declare function shouldRetryFailedHeroManifest(manifest: {
|
|
11
|
+
status?: string;
|
|
12
|
+
updatedAt?: string;
|
|
13
|
+
}, nowMs?: number): boolean;
|
|
9
14
|
//# sourceMappingURL=heroVideoEnv.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heroVideoEnv.d.ts","sourceRoot":"","sources":["../../src/converters/heroVideoEnv.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,SAAS,CAS/F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
|
1
|
+
{"version":3,"file":"heroVideoEnv.d.ts","sourceRoot":"","sources":["../../src/converters/heroVideoEnv.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,GAAG,SAAS,CAS/F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,KAAK,GAAE,MAAmB,GACzB,OAAO,CAYT"}
|
|
@@ -11,4 +11,18 @@ export function readHeroVideoEnv(env = process.env) {
|
|
|
11
11
|
export function heroManifestUrl(origin, tenant, assetId) {
|
|
12
12
|
return `${origin}/${tenant}/${assetId}/manifest.json`;
|
|
13
13
|
}
|
|
14
|
+
export const HERO_FAILED_RETRY_MS = 60_000;
|
|
15
|
+
export function shouldRetryFailedHeroManifest(manifest, nowMs = Date.now()) {
|
|
16
|
+
if (manifest.status !== 'failed') {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (!manifest.updatedAt) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
const updated = Date.parse(manifest.updatedAt);
|
|
23
|
+
if (!Number.isFinite(updated)) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
return nowMs - updated >= HERO_FAILED_RETRY_MS;
|
|
27
|
+
}
|
|
14
28
|
//# sourceMappingURL=heroVideoEnv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heroVideoEnv.js","sourceRoot":"","sources":["../../src/converters/heroVideoEnv.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAc,EAAE,OAAe;IAC7E,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,OAAO,gBAAgB,CAAC;AACxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"heroVideoEnv.js","sourceRoot":"","sources":["../../src/converters/heroVideoEnv.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAc,EAAE,OAAe;IAC7E,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,OAAO,gBAAgB,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,MAAM,UAAU,6BAA6B,CAC3C,QAAiD,EACjD,QAAgB,IAAI,CAAC,GAAG,EAAE;IAE1B,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,GAAG,OAAO,IAAI,oBAAoB,CAAC;AACjD,CAAC"}
|
|
@@ -10,5 +10,5 @@ import type { IVisual } from '@se-studio/core-data-types';
|
|
|
10
10
|
*
|
|
11
11
|
* @param assets - The Map<assetId, IVisual> built by convertAllAssets
|
|
12
12
|
*/
|
|
13
|
-
export declare function
|
|
13
|
+
export declare function imagekitEnrichVideoAssets(assets: Map<string, IVisual>): Promise<void>;
|
|
14
14
|
//# sourceMappingURL=videoEnricher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,EAA2B,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAsEnF;;;;;;;;;GASG;AACH,wBAAsB,
|
|
1
|
+
{"version":3,"file":"videoEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,EAA2B,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAsEnF;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC3F"}
|
|
@@ -51,7 +51,7 @@ async function fetchVideoMetadata(videoUrl, assetId, imagekitUrl, privateKey) {
|
|
|
51
51
|
*
|
|
52
52
|
* @param assets - The Map<assetId, IVisual> built by convertAllAssets
|
|
53
53
|
*/
|
|
54
|
-
export async function
|
|
54
|
+
export async function imagekitEnrichVideoAssets(assets) {
|
|
55
55
|
const imagekitUrl = process.env.IMAGEKIT_URL;
|
|
56
56
|
const privateKey = process.env.IMAGEKIT_PRIVATE_KEY;
|
|
57
57
|
if (!imagekitUrl || !privateKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"videoEnricher.js","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAW5C;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAW,EACX,UAAkB;IAElB,MAAM,OAAO,GAAG,2CAA2C,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IACrF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;QACpC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;SAC3E;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,qCAAqC,QAAQ,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,OAAe,EACf,WAAmB,EACnB,UAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,WAAW,GAAG,OAAO,CAAC,QAAQ,eAAe,CAAC;IAE7D,MAAM,SAAS,GAAG,cAAc,CAC9B,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,EACxC,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAC9B,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;IAEF,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"videoEnricher.js","sourceRoot":"","sources":["../../src/converters/videoEnricher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED