Buckets:
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.getBrowserScope = exports.setBrowserScope = exports.getLatestStableBrowsers = exports.find = exports.isSupported = exports.getSupport = exports.features = undefined; | |
| var _lodash = require("lodash.memoize"); | |
| var _lodash2 = _interopRequireDefault(_lodash); | |
| var _browserslist = require("browserslist"); | |
| var _browserslist2 = _interopRequireDefault(_browserslist); | |
| var _caniuseLite = require("caniuse-lite"); | |
| var _utils = require("./utils"); | |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | |
| var featuresList = Object.keys(_caniuseLite.features); | |
| var browsers = void 0; | |
| function setBrowserScope(browserList) { | |
| browsers = (0, _utils.cleanBrowsersList)(browserList); | |
| } | |
| function getBrowserScope() { | |
| return browsers; | |
| } | |
| var parse = (0, _lodash2.default)(_utils.parseCaniuseData, function (feat, browsers) { | |
| return feat.title + browsers; | |
| }); | |
| function getSupport(query) { | |
| var feature = void 0; | |
| try { | |
| feature = (0, _caniuseLite.feature)(_caniuseLite.features[query]); | |
| } catch (e) { | |
| var res = find(query); | |
| if (res.length === 1) return getSupport(res[0]); | |
| throw new ReferenceError("Please provide a proper feature name. Cannot find " + query); | |
| } | |
| return parse(feature, browsers); | |
| } | |
| function isSupported(feature, browsers) { | |
| var data = void 0; | |
| try { | |
| data = (0, _caniuseLite.feature)(_caniuseLite.features[feature]); | |
| } catch (e) { | |
| var res = find(feature); | |
| if (res.length === 1) { | |
| data = _caniuseLite.features[res[0]]; | |
| } else { | |
| throw new ReferenceError("Please provide a proper feature name. Cannot find " + feature); | |
| } | |
| } | |
| return (0, _browserslist2.default)(browsers, { ignoreUnknownVersions: true }).map(function (browser) { | |
| return browser.split(" "); | |
| }).every(function (browser) { | |
| return data.stats[browser[0]] && data.stats[browser[0]][browser[1]] === "y"; | |
| }); | |
| } | |
| function find(query) { | |
| if (typeof query !== "string") { | |
| throw new TypeError("The `query` parameter should be a string."); | |
| } | |
| if (~featuresList.indexOf(query)) { | |
| // exact match | |
| return query; | |
| } | |
| return featuresList.filter(function (file) { | |
| return (0, _utils.contains)(file, query); | |
| }); | |
| } | |
| function getLatestStableBrowsers() { | |
| return (0, _browserslist2.default)("last 1 version"); | |
| } | |
| setBrowserScope(); | |
| exports.features = featuresList; | |
| exports.getSupport = getSupport; | |
| exports.isSupported = isSupported; | |
| exports.find = find; | |
| exports.getLatestStableBrowsers = getLatestStableBrowsers; | |
| exports.setBrowserScope = setBrowserScope; | |
| exports.getBrowserScope = getBrowserScope; |
Xet Storage Details
- Size:
- 2.68 kB
- Xet hash:
- a54397f4c99c2131c13182c6859768e464d770dc3cb580977d1bcb268f48e15b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.