@lottiefiles/relottie-extract-features
Version:
relottie plugin to extract Lottie features
2 lines • 1.91 kB
JavaScript
import{TITLES as h}from"@lottiefiles/last";var{element:a,intBoolean:n,number:i,object:f}=h,b=t=>{let e=t.children[0];return e?e.children.length>0:!1},u=t=>{let e=t.children[0];return e?e.children.length>0:!1},m=t=>{let e=t.children[0];return e?u(e):!1},C=t=>{let e=t.value;switch(typeof e){case"string":return e.length!==0;default:return!0}},k=t=>{let e=t.children[0];return e?C(e):!1},p=t=>t.children.length>0,o=(t,e=0)=>{let r=t.children[0];if(!r)return!1;let l=r.value;return typeof l!="number"?!1:l!==e},N=t=>{if(t.title!==i.timeStretch)return!1;let r=t.children[0];if(!r)return!1;let l=r.value;return typeof l!="number"?!1:l>0&&l!==1},y=(t,e=0)=>{if(t.title!==i.baselineShift)return!1;let l=t.children[0];if(!l)return!1;let c=l.value;return typeof c!="number"?!1:c!==e},s=t=>{let e=t.children[0];if(!e)return!1;if(e.title!==f.animatedValueStatic)return u(e);for(let r of e.children){if(r.title!==i.staticValue)continue;return r.children[0]?.value!==0}return!0},d=new Map([[n.threedimensional,o],[n.layerThreedimensional,o],[n.autoOrient,o],[n.extraComposition,o],[n.embedded,o],[n.hold,o],[n.enabled,o],[n.collapseTransformNew,o],[n.expressible,o],[n.randomize,o],[n.matteTarget,o],[i.timeStretch,N],[i.baselineShift,y],[a.dilate,s],[a.layerTransformSkew,s],[a.shapeTransformSkew,s],[a.transformRepeaterSkew,s],[a.textStyleSkew,s]]),F=(t,e)=>{if(d.has(t)){let r=d.get(t);return r?r(e):!0}switch(e.type){case"attribute":return k(e);case"element":return m(e);case"collection":return b(e);case"array":return p(e);case"object":return u(e);default:return!0}};export{d as FEATURE_CHECKERS,s as animatedValueStaticChecker,p as arrayNodeChecker,k as attributeValueChecker,y as baselineShiftChecker,b as collectionNodeChecker,m as elementNodeChecker,o as intBooleanNodeChecker,F as isFeatureUsed,u as objectNodeChecker,C as primitiveNodeChecker,N as timeStretchChecker};
//# sourceMappingURL=used-features.js.map