UNPKG

@lottiefiles/relottie-parse

Version:
56 lines (52 loc) 1.44 kB
import { MemberNode } from '@humanwhocodes/momoa'; import { AnyTitle, Root, Attribute, Element } from '@lottiefiles/last'; import { VFile } from 'vfile'; import { ParseOptions } from './options.js'; /** * Copyright 2024 Design Barn Inc. */ declare class Slots { /** * Parser's VFile instance */ readonly file: VFile; /** * SlotID.value to ParentTitle mapping */ idTitles: Map<string, AnyTitle>; /** * SlotProperty node in the JSON AST */ jsonNode: MemberNode | undefined; /** * Parser's options */ readonly options: ParseOptions; /** * Slots Parent Node */ parentNode: Root | undefined; constructor(vfile: VFile, options: ParseOptions); /** * If set, replaces the original Slots JSON node with a LAST node using collected SlotId parent titles. * * @returns void */ mutate(): void; /** * Collects SlotID id and its Parent's Ancestor title for future mutations * * @param node - SlotID Node * @param ancestor - SlotID Parent's Ancestor Node */ setIdTitle(node: Attribute, ancestor: Element): void; /** * Set Slots Node info for future mutations * * @param parentNode - SlotProperty parent node * @param jsonNode - SlotProperty node in the JSON AST * @returns void */ setNodes(parentNode: Root, jsonNode: MemberNode): void; } export { Slots };