{"version":3,"sources":["jsdelivr-header.js","/npm/interpolation-builder@2.1.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,AC4CA,SAAS,MAAO,EAAc,GAE5B,IAAK,IAAI,KAAK,EAEkB,mBAAnB,EAAY,IAAsB,EAAY,GAGpB,iBAAnB,EAAY,IAE5B,MAAO,EAAa,IAAK,GAAK,EAAY,IAH1C,EAAa,IAAK,EAAG,EAAY,GAMvC,CAEA,SAAS,KAAM,EAAM,EAAO,GAE1B,OAAS,EAAM,GAAU,EAAO,CAClC,CAnEA,OAAO,QAAU,SAAS,EAAS,GAEjC,IAAI,EAAyB,CAAC,EAE9B,SAAS,EAAc,EAAM,EAAO,GAElC,IAAI,EAAO,MAAM,QAAS,GAAU,GAAK,CAAC,EAE1C,IAAK,IAAI,KAAK,EAEZ,EAAM,GAAM,EAAwB,GAAK,EAAM,EAAO,GAAK,EAAK,IAGlE,OAAO,CACT,CAiCA,OA/BA,EAAa,IAAM,SAAU,GAE3B,IAAI,EAAW,IAIf,OAFA,EAAwB,GAAa,EAE9B,CACT,EAEA,EAAa,IAAM,SAAU,EAAU,GAarC,OAXI,MAAM,QAAS,GAEjB,EAAS,SAAS,SAAU,GAE1B,EAAwB,GAAa,GAAyB,IAChE,IAGA,EAAwB,GAAa,GAAyB,KAGzD,CACT,EAGI,GAEF,MAAO,EAAc,GAGhB,CACT","file":"/npm/interpolation-builder@2.1.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/interpolation-builder@2.1.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","module.exports = function builder( definition ) {\n\n  var interpolationFunctions = {};\n\n  function interpolator( time, start, end ) {\n\n    var rVal = Array.isArray( start ) ? [] : {};\n\n    for( var i in interpolationFunctions ) {\n\n      rVal[ i ] = interpolationFunctions[ i ]( time, start[ i ], end[ i ] );\n    }\n\n    return rVal;\n  }\n\n  interpolator.sub = function( property ) {\n\n    var nBuilder = builder();\n\n    interpolationFunctions[ property ] = nBuilder;\n\n    return nBuilder;\n  },\n\n  interpolator.map = function( property, interpolationFunction ) {\n\n    if( Array.isArray( property ) ) {\n\n      property.forEach( function( property ) {\n\n        interpolationFunctions[ property ] = interpolationFunction || lerp;        \n      });\n    } else {\n\n      interpolationFunctions[ property ] = interpolationFunction || lerp;  \n    }\n\n    return interpolator;\n  };\n\n  // if we have a definition setup interpolator\n  if( definition ) {\n\n    parse( interpolator, definition );\n  }\n\n  return interpolator;\n};\n\nfunction parse( interpolator, definition ) {\n\n  for( var i in definition ) {\n\n    if( typeof definition[ i ] == 'function' || !definition[ i ]  ) {\n\n      interpolator.map( i, definition[ i ] );\n    } else if( typeof definition[ i ] == 'object' ) {\n\n      parse( interpolator.sub( i ), definition[ i ] );\n    }\n  }\n}\n\nfunction lerp( time, start, end ) {\n\n  return ( end - start ) * time + start;\n}"]}