UNPKG

@lottiefiles/relottie-extract-features

Version:
2 lines 2.13 kB
import{visitParents as g}from"unist-util-visit-parents";import{TITLES as k}from"@lottiefiles/last";var{element:u,intBoolean:n,number:d,object:U}=k,T=t=>{let e=t.children[0];return e?e.children.length>0:!1},m=t=>{let e=t.children[0];return e?e.children.length>0:!1},A=t=>{let e=t.children[0];return e?m(e):!1},v=t=>{let e=t.value;switch(typeof e){case"string":return e.length!==0;default:return!0}},E=t=>{let e=t.children[0];return e?v(e):!1},I=t=>t.children.length>0,a=(t,e=0)=>{let r=t.children[0];if(!r)return!1;let o=r.value;return typeof o!="number"?!1:o!==e},O=t=>{if(t.title!==d.timeStretch)return!1;let r=t.children[0];if(!r)return!1;let o=r.value;return typeof o!="number"?!1:o>0&&o!==1},S=(t,e=0)=>{if(t.title!==d.baselineShift)return!1;let o=t.children[0];if(!o)return!1;let s=o.value;return typeof s!="number"?!1:s!==e},c=t=>{let e=t.children[0];if(!e)return!1;if(e.title!==U.animatedValueStatic)return m(e);for(let r of e.children){if(r.title!==d.staticValue)continue;return r.children[0]?.value!==0}return!0},b=new Map([[n.threedimensional,a],[n.layerThreedimensional,a],[n.autoOrient,a],[n.extraComposition,a],[n.embedded,a],[n.hold,a],[n.enabled,a],[n.collapseTransformNew,a],[n.expressible,a],[n.randomize,a],[n.matteTarget,a],[d.timeStretch,O],[d.baselineShift,S],[u.dilate,c],[u.layerTransformSkew,c],[u.shapeTransformSkew,c],[u.transformRepeaterSkew,c],[u.textStyleSkew,c]]),C=(t,e)=>{if(b.has(t)){let r=b.get(t);return r?r(e):!0}switch(e.type){case"attribute":return E(e);case"element":return A(e);case"collection":return T(e);case"array":return I(e);case"object":return m(e);default:return!0}};var V=(t={})=>{function e(r,o){let s=new Map;g(r,(f,F)=>{if(f.type==="root"||f.type==="primitive")return;let l=f.title,y=F.at(-1);if(!y)return;let p=y.title,i=s.has(l)?s.get(l):s.set(l,{parents:new Map,y:0,n:0}).get(l);if(!i)return;let h=i.parents.has(p)?i.parents.get(p):i.parents.set(p,{y:0,n:0}).get(p);if(!h)return;C(l,f)?(i.y+=1,h.y+=1):(i.n+=1,h.n+=1)});let N={"extract-features":s};Object.assign(o.data,N)}return e},x=V;var w={};var L=x;export{w as DEFAULT_OPTIONS,L as default}; //# sourceMappingURL=index.js.map