UNPKG

@lottiefiles/relottie-extract-features

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