Aktueller Stand
This commit is contained in:
57
backend/node_modules/grammex/dist/utils.js
generated
vendored
Normal file
57
backend/node_modules/grammex/dist/utils.js
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
/* MAIN */
|
||||
const isArray = (value) => {
|
||||
return Array.isArray(value);
|
||||
};
|
||||
const isFunction = (value) => {
|
||||
return typeof value === 'function';
|
||||
};
|
||||
const isFunctionNullary = (value) => {
|
||||
return value.length === 0;
|
||||
};
|
||||
const isFunctionStrictlyNullaryOrUnary = (() => {
|
||||
const { toString } = Function.prototype;
|
||||
const re = /(?:^\(\s*(?:[^,.()]|\.(?!\.\.))*\s*\)\s*=>|^\s*[a-zA-Z$_][a-zA-Z0-9$_]*\s*=>)/;
|
||||
return (value) => {
|
||||
return (value.length === 0 || value.length === 1) && re.test(toString.call(value));
|
||||
};
|
||||
})();
|
||||
const isNumber = (value) => {
|
||||
return typeof value === 'number';
|
||||
};
|
||||
const isObject = (value) => {
|
||||
return typeof value === 'object' && value !== null;
|
||||
};
|
||||
const isRegExp = (value) => {
|
||||
return value instanceof RegExp;
|
||||
};
|
||||
const isRegExpCapturing = (() => {
|
||||
const sourceRe = /\\\(|\((?!\?(?::|=|!|<=|<!))/;
|
||||
return (re) => {
|
||||
return sourceRe.test(re.source);
|
||||
};
|
||||
})();
|
||||
const isRegExpStatic = (() => {
|
||||
const sourceRe = /^[a-zA-Z0-9_-]+$/;
|
||||
return (re) => {
|
||||
return sourceRe.test(re.source) && !re.flags.includes('i');
|
||||
};
|
||||
})();
|
||||
const isString = (value) => {
|
||||
return typeof value === 'string';
|
||||
};
|
||||
const isUndefined = (value) => {
|
||||
return value === undefined;
|
||||
};
|
||||
const memoize = (fn) => {
|
||||
const cache = new Map();
|
||||
return (arg) => {
|
||||
const cached = cache.get(arg);
|
||||
if (cached !== undefined)
|
||||
return cached;
|
||||
const value = fn(arg);
|
||||
cache.set(arg, value);
|
||||
return value;
|
||||
};
|
||||
};
|
||||
/* EXPORT */
|
||||
export { isArray, isFunction, isFunctionNullary, isFunctionStrictlyNullaryOrUnary, isNumber, isObject, isRegExp, isRegExpCapturing, isRegExpStatic, isString, isUndefined, memoize };
|
||||
Reference in New Issue
Block a user