summaryrefslogtreecommitdiff
path: root/node_modules/doiuse/utils
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/doiuse/utils')
-rw-r--r--node_modules/doiuse/utils/getFiles.js19
-rw-r--r--node_modules/doiuse/utils/kebabToCamel.js8
-rw-r--r--node_modules/doiuse/utils/util.js79
3 files changed, 0 insertions, 106 deletions
diff --git a/node_modules/doiuse/utils/getFiles.js b/node_modules/doiuse/utils/getFiles.js
deleted file mode 100644
index 3e939420..00000000
--- a/node_modules/doiuse/utils/getFiles.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { readdir } from 'node:fs/promises';
-import { resolve } from 'node:path';
-
-/**
- * recursively get all files in a directory
- * @param {string} directory the directory to read
- * @yields {string} the path to each file
- * @return {AsyncGenerator<string>} the path to each file
- */
-export async function* getFiles(directory) {
- for (const entry of await readdir(directory, { withFileTypes: true })) {
- const path = resolve(directory, entry.name);
- if (entry.isDirectory()) {
- yield* getFiles(path);
- } else {
- yield path;
- }
- }
-}
diff --git a/node_modules/doiuse/utils/kebabToCamel.js b/node_modules/doiuse/utils/kebabToCamel.js
deleted file mode 100644
index c7237c3c..00000000
--- a/node_modules/doiuse/utils/kebabToCamel.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * given a kebab-case string, returns a camelCase string
- * @param {string} kebab the kebab-case string
- * @return {string} the camelCase string
- */
-export function kebabToCamel(kebab) {
- return kebab.replaceAll(/-([a-z])/g, (match, letter) => letter.toUpperCase());
-}
diff --git a/node_modules/doiuse/utils/util.js b/node_modules/doiuse/utils/util.js
deleted file mode 100644
index e9b323e9..00000000
--- a/node_modules/doiuse/utils/util.js
+++ /dev/null
@@ -1,79 +0,0 @@
-import { agents } from 'caniuse-lite';
-
-/** @typedef {RegExp|string|((value:string) => boolean)} FeatureCheck */
-
-/**
- * @param {string} browserKey
- * @param {string[]} [versions]
- * @return {string}
- */
-export function formatBrowserName(browserKey, versions) {
- const entry = agents[browserKey];
- const browserName = entry ? entry.browser : null;
- if (!versions) {
- return browserName || '';
- }
- return (`${browserName} (${versions.join(',')})`);
-}
-
-/**
- *
- * @param {FeatureCheck|FeatureCheck[]} check
- * @param {?string|undefined} candidate
- */
-export function performFeatureCheck(check, candidate) {
- if (check == null || candidate == null) return false;
- if (check instanceof RegExp) {
- return check.test(candidate);
- }
- switch (typeof check) {
- case 'string':
- return candidate.includes(check);
- case 'function':
- return check(candidate);
- case 'boolean':
- return check;
- case 'object':
- if (Array.isArray(check)) {
- return check.some((c) => performFeatureCheck(c, candidate));
- }
- // Fallthrough
- default:
- console.error(check);
- throw new TypeError(`Unexpected feature check: ${check}`);
- }
-}
-
-/**
- * @param {FeatureCheck|FeatureCheck[]} selector
- * @return {(rule:import('postcss').ChildNode) => boolean}
- */
-export function checkSelector(selector) {
- return (rule) => rule.type === 'rule'
- && performFeatureCheck(selector, rule.selector);
-}
-
-/**
- * @param {FeatureCheck|FeatureCheck[]} [name]
- * @param {FeatureCheck|FeatureCheck[]} [parameters]
- * @return {(rule:import('postcss').ChildNode) => boolean}
- */
-export function checkAtRule(name, parameters) {
- return (rule) => rule.type === 'atrule'
- && performFeatureCheck(name, rule.name)
- && (!parameters || performFeatureCheck(parameters, rule.params));
-}
-
-/**
- * @see https://drafts.csswg.org/css-values/#lengths
- * @see https://drafts.csswg.org/css-values/#number-value
- * @param {string[]} units
- * @return {(rule:import('postcss').ChildNode) => boolean}
- */
-export function checkCSSLengthUnits(...units) {
- const regexp = new RegExp(`(\\+-)?[\\d.]*\\.?\\d+(e(\\+-)?\\d+)?(${units.join('|')})`, 'i');
- return (rule) => (
- (rule.type === 'decl') ? performFeatureCheck(regexp, rule.value)
- : ((rule.type === 'atrule') ? performFeatureCheck(regexp, rule.params)
- : false));
-}