UNPKG

@remotion/studio

Version:

APIs for interacting with the Remotion Studio

28 lines (27 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTimelineSequenceSequenceSortKey = void 0; const getTimelineSequenceSequenceSortKey = (track, tracks, sameHashes = {}, nonceRanks = new Map()) => { var _a; const firstSequenceWithSameHash = tracks.find((t) => sameHashes[track.hash].includes(t.sequence.id)); const sequenceId = firstSequenceWithSameHash.sequence.id; const rank = (_a = nonceRanks.get(sequenceId)) !== null && _a !== void 0 ? _a : 0; const id = String(rank).padStart(6, '0'); if (!track.sequence.parent) { return id; } const parent = tracks.find((t) => t.sequence.id === track.sequence.parent); if (!parent) { // Due to effects and conditional `showInTimeline`, a parent // may not exist in the `allTracks` array. return id; } const firstParentWithSameHash = tracks.find((a) => { return sameHashes[parent.hash].includes(a.sequence.id); }); if (!firstParentWithSameHash) { throw new Error('could not find parent: ' + track.sequence.parent); } return `${(0, exports.getTimelineSequenceSequenceSortKey)(firstParentWithSameHash, tracks, sameHashes, nonceRanks)}-${id}`; }; exports.getTimelineSequenceSequenceSortKey = getTimelineSequenceSequenceSortKey;