Usage Scenarios Create a dotLottie and download as file (browser only) import { DotLottie } from 'dotlottie-js'; const dotlottie = await (new DotLottie() .addAnimation({ id: 'animation_1', data: 'https://assets3.lottiefiles.com/packages/lf20_5jxqjx.json', speed: 1, loop: true }) .build()); await Dotlottie.download('my_animation.lottie') Create a dotLottie and download as a buffer import { DotLottie } from 'dotlottie-js'; const dotlottie = await (new DotLottie() .addAnimation({ id: 'animation_1', data: 'https://assets3.lottiefiles.com/packages/lf20_5jxqjx.json', speed: 1, loop: true, }) .build()); const buffer = dotlottie.toArrayBuffer(); Set the manifest of a dotLottie import { DotLottie } from 'dotlottie-js'; const dotlottie = await (new DotLottie() .setAuthor('Ashraf') .setVersion('1.0.0') .setDescription('Some description') .setKeywords('keywords') .setGenerator('generator') .addAnimation({ id: 'animation_1', data: 'https://assets3.lottiefiles.com/packages/lf20_5jxqjx.json' }) .build()) const manifest = dotlottie.manifest Build from a pre-existing dotLottie and add an animation import { DotLottie } from 'dotlottie-js'; let existingDotLottie = new DotLottie();existingDotLottie = await existingDotLottie.fromURL('https://assets3.lottiefiles.com/packages/lf20_5jxqjx.lottie') await (existingDotlottie .addAnimation({ id: 'animation_1', data: 'https://assets3.lottiefiles.com/packages/lf20_5jxqjx.json', speed: 1, loop: true, }) .build()) const buffer = newDotlottie.toArrayBuffer(); Merge multiple dotLotties import { DotLottie } from 'dotlottie-js'; const dotlottie1 = new DotLottie().addAnimation({ id: 'lottie1', data: animationData as AnimationData,}); const dotlottie2 = new DotLottie().addAnimation({ id: 'lottie2', data: animationData as AnimationData,}); let mergedDotlottie = new DotLottie(); mergedDotlottie = await mergedDotlottie.merge(dotlottie1, dotlottie2).build();Ï Get all animations from the dotLottie import { DotLottie } from 'dotlottie-js'; let dotLottie = new DotLottie();const dotLottie = await dotLottie.fromAsync('https://assets3.lottiefiles.com/packages/lf20_5jxqjx.lottie'); const animations: Array<[string, LottieAnimationCommon] = dotLottie.getAnimations(); animations.map(animation => { // animation.toArrayBuffer(); // animation.toJSON(); // animation.toBlob();} Remove animation from dotLottie import { DotLottie } from 'dotlottie-js'; const dotlottie = await (new Dotlottie() .addAnimation({ id: 'animation_1', data: 'https://assets3.lottiefiles.com/packages/lf20_5jxqjx.json', }) .removeAnimation('animation_1') .build()) Add an animation (.json) from a URL to a dotLottie import { DotLottie } from 'dotlottie-js'; const dotlottie = await (new Dotlottie() .addAnimation({ id: 'animation_1', url: 'https://assets3.lottiefiles.com/packages/lf20_5jxqjx.json', }) .build()) Add animation data (.json) to a dotLottie import { DotLottie } from 'dotlottie-js'; import animationJson from './animation.json'; const dotlottie = await (new DotLottie() .addAnimation({ id: 'animation_1', data: animationJson, }) .build())