UNPKG

motion

Version:

The Motion library for the web

32 lines (28 loc) 954 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const testAnimation = (keyframes) => document.createElement("div").animate(keyframes, { duration: 0.001 }); const featureTests = { cssRegisterProperty: () => typeof CSS !== "undefined" && Object.hasOwnProperty.call(CSS, "registerProperty"), waapi: () => Object.hasOwnProperty.call(Element.prototype, "animate"), partialKeyframes: () => { try { testAnimation({ opacity: [1] }); } catch (e) { return false; } return true; }, finished: () => Boolean(testAnimation({ opacity: [0, 1] }).finished), }; const results = {}; const supports = Object.keys(featureTests).reduce((acc, key) => { acc[key] = () => { if (results[key] === undefined) results[key] = featureTests[key](); return results[key]; }; return acc; }, {}); exports.supports = supports;