@estjs/shared 0.0.12-beta.1 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared.cjs +12 -1
- package/dist/shared.cjs.map +1 -1
- package/dist/shared.d.cts +5 -2
- package/dist/shared.d.ts +5 -2
- package/dist/shared.js +10 -1
- package/dist/shared.js.map +1 -1
- package/package.json +1 -1
package/dist/shared.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @estjs/shared v0.0.12
|
|
2
|
+
* @estjs/shared v0.0.12
|
|
3
3
|
* (c) 2023-Present jiangxd <jiangxd2016@gmail.com>
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -45,10 +45,12 @@ __export(src_exports, {
|
|
|
45
45
|
isMap: () => isMap,
|
|
46
46
|
isNil: () => isNil,
|
|
47
47
|
isObject: () => isObject,
|
|
48
|
+
isPlainObject: () => isPlainObject,
|
|
48
49
|
isPrimitive: () => isPrimitive,
|
|
49
50
|
isPromise: () => isPromise,
|
|
50
51
|
isSet: () => isSet,
|
|
51
52
|
isString: () => isString,
|
|
53
|
+
isStringNumber: () => isStringNumber,
|
|
52
54
|
isSymbol: () => isSymbol,
|
|
53
55
|
isWeakMap: () => isWeakMap,
|
|
54
56
|
isWeakSet: () => isWeakSet,
|
|
@@ -98,6 +100,13 @@ function isHTMLElement(obj) {
|
|
|
98
100
|
if (!obj) return false;
|
|
99
101
|
return obj && typeof obj === "object" && obj.nodeType === 1 && typeof obj.nodeName === "string";
|
|
100
102
|
}
|
|
103
|
+
var isPlainObject = (val) => _toString.call(val) === "[object Object]";
|
|
104
|
+
function isStringNumber(val) {
|
|
105
|
+
if (!isString(val)) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
return !Number.isNaN(Number(val));
|
|
109
|
+
}
|
|
101
110
|
|
|
102
111
|
// src/comm.ts
|
|
103
112
|
var _toString = Object.prototype.toString;
|
|
@@ -195,10 +204,12 @@ function error(msg, ...args) {
|
|
|
195
204
|
isMap,
|
|
196
205
|
isNil,
|
|
197
206
|
isObject,
|
|
207
|
+
isPlainObject,
|
|
198
208
|
isPrimitive,
|
|
199
209
|
isPromise,
|
|
200
210
|
isSet,
|
|
201
211
|
isString,
|
|
212
|
+
isStringNumber,
|
|
202
213
|
isSymbol,
|
|
203
214
|
isWeakMap,
|
|
204
215
|
isWeakSet,
|
package/dist/shared.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/is.ts","../src/comm.ts","../src/name.ts","../src/console.ts"],"sourcesContent":["export {\n noop,\n _toString,\n extend,\n hasChanged,\n coerceArray,\n hasOwn,\n startsWith,\n escape,\n isExclude,\n ExcludeType,\n generateUniqueId,\n isBrowser,\n} from './comm';\nexport {\n isString,\n isObject,\n isArray,\n isMap,\n isSet,\n isWeakMap,\n isWeakSet,\n isFunction,\n isNil,\n isPromise,\n isSymbol,\n isFalsy,\n isPrimitive,\n isHTMLElement,\n} from './is';\nexport { camelCase, kebabCase, capitalizeFirstLetter } from './name';\nexport { warn, info, error } from './console';\n","import { _toString } from './comm';\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n val !== null && typeof val === 'object';\nexport function isPromise(val: any): boolean {\n return _toString.call(val) === '[object Promise]';\n}\n\nexport const isArray = Array.isArray;\n\nexport function isString(val: unknown): val is string {\n return typeof val === 'string';\n}\nexport function isNull(val: any): val is null {\n return val === null;\n}\nexport function isSymbol(val: unknown): val is symbol {\n return typeof val === 'symbol';\n}\n\nexport function isSet(val: any): val is Set<any> {\n return _toString.call(val) === '[object Set]';\n}\nexport function isWeakMap(val: any): val is WeakMap<any, any> {\n return _toString.call(val) === '[object WeakMap]';\n}\nexport function isWeakSet(val: any): val is WeakSet<any> {\n return _toString.call(val) === '[object WeakSet]';\n}\n\nexport function isMap(val: unknown): val is Map<any, any> {\n return _toString.call(val) === '[object Map]';\n}\nexport function isNil(x: any): x is null | undefined {\n return x === null || x === undefined;\n}\n\nexport const isFunction = (val: unknown): val is Function => typeof val === 'function';\n\nexport function isFalsy(x: any): x is false | null | undefined {\n return x === false || x === null || x === undefined;\n}\n\nexport const isPrimitive = (\n val: unknown,\n): val is string | number | boolean | symbol | null | undefined =>\n ['string', 'number', 'boolean', 'symbol', 'undefined'].includes(typeof val) || isNull(val);\n\nexport function isHTMLElement(obj) {\n if (!obj) return false;\n return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n}\n","import { isFunction, isString } from './is';\n\nexport const _toString = Object.prototype.toString;\nexport const extend = Object.assign;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val =>\n hasOwnProperty.call(val, key);\n\nexport function coerceArray<T>(data: T | T[]): T[] {\n return Array.isArray(data) ? (data.flat() as T[]) : [data];\n}\nexport const hasChanged = (value, oldValue) =>\n value !== oldValue && (value === value || oldValue === oldValue);\nexport const noop = Function.prototype as () => void;\n\n/**\n * A function that checks if a string starts with a specific substring.\n * indexOf faster under normal circumstances\n * @see https://www.measurethat.net/Benchmarks/Show/12350/0/startswith-vs-test-vs-match-vs-indexof#latest_results_block\n\n * @param {string} str - The input string to check.\n * @param {string} searchString - The substring to check for at the beginning of the input string.\n * @return {boolean} Returns true if the input string starts with the specified substring, otherwise false.\n */\nexport function startsWith(str, searchString) {\n if (!isString(str)) {\n return false;\n }\n return str.indexOf(searchString) === 0;\n}\n\n/**\n * Escapes special HTML characters in a string.\n * @param str - The string to escape.\n * @returns The escaped string.\n */\nexport function escape(str: string): string {\n return str.replaceAll(/[\"&'<>]/g, char => {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n case \"'\":\n return ''';\n default:\n return char;\n }\n });\n}\n\nexport type ExcludeType = ((key: string | symbol) => boolean) | (string | symbol)[];\n\n/**\n * Checks if a key should be excluded based on the provided exclude criteria.\n * @param key - The key to check.\n * @param exclude - The exclusion criteria.\n * @returns True if the key should be excluded, otherwise false.\n */\nexport function isExclude(key: string | symbol, exclude?: ExcludeType): boolean {\n return Array.isArray(exclude)\n ? exclude.includes(key)\n : isFunction(exclude)\n ? exclude(key)\n : false;\n}\n\n/**\n * Generates a unique random 8 character string ID.\n * The generated IDs only contain alphanumeric characters.\n * @returns A unique random 8 character string ID.\n */\nexport function generateUniqueId() {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n const charactersLength = characters.length;\n for (let i = 0; i < 8; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\n/**\n * Checks if the current environment is a browser.\n * @returns True if the current environment is a browser, otherwise false.\n */\nexport function isBrowser() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n","export const kebabCase = (string: string): string => {\n return string.replaceAll(/[A-Z]+/g, (match, offset) => {\n return `${offset > 0 ? '-' : ''}${match.toLocaleLowerCase()}`;\n });\n};\n\nexport const camelCase = (str: string): string => {\n const s = str.replaceAll(/[\\s_-]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));\n return s[0].toLowerCase() + s.slice(1);\n};\n/**\n * Capitalizes the first letter of a string.\n *\n * @param {string} inputString - The input string to capitalize the first letter.\n * @return {string} The string with the first letter capitalized.\n */\nexport const capitalizeFirstLetter = (inputString: string): string => {\n return inputString.charAt(0).toUpperCase() + inputString.slice(1);\n};\n","export function warn(msg: string, ..._args: any[]): void;\nexport function warn(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.warn.apply(console, [`[Essor warn]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function info(msg: string, ..._args: any[]): void;\nexport function info(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread, no-console\n console.info.apply(console, [`[Essor info]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function error(msg: string, ..._args: any[]): void;\nexport function error(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.error.apply(console, [`[Essor error]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/is.ts","../src/comm.ts","../src/name.ts","../src/console.ts"],"sourcesContent":["export {\n noop,\n _toString,\n extend,\n hasChanged,\n coerceArray,\n hasOwn,\n startsWith,\n escape,\n isExclude,\n ExcludeType,\n generateUniqueId,\n isBrowser,\n} from './comm';\nexport {\n isString,\n isObject,\n isArray,\n isMap,\n isSet,\n isWeakMap,\n isWeakSet,\n isFunction,\n isNil,\n isPromise,\n isSymbol,\n isFalsy,\n isPlainObject,\n isPrimitive,\n isHTMLElement,\n isStringNumber,\n StringNumber,\n} from './is';\nexport { camelCase, kebabCase, capitalizeFirstLetter } from './name';\nexport { warn, info, error } from './console';\n","import { _toString } from './comm';\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n val !== null && typeof val === 'object';\nexport function isPromise(val: any): val is Promise<any> {\n return _toString.call(val) === '[object Promise]';\n}\n\nexport const isArray = Array.isArray;\n\nexport function isString(val: unknown): val is string {\n return typeof val === 'string';\n}\nexport function isNull(val: any): val is null {\n return val === null;\n}\nexport function isSymbol(val: unknown): val is symbol {\n return typeof val === 'symbol';\n}\n\nexport function isSet(val: any): val is Set<any> {\n return _toString.call(val) === '[object Set]';\n}\nexport function isWeakMap(val: any): val is WeakMap<any, any> {\n return _toString.call(val) === '[object WeakMap]';\n}\nexport function isWeakSet(val: any): val is WeakSet<any> {\n return _toString.call(val) === '[object WeakSet]';\n}\n\nexport function isMap(val: unknown): val is Map<any, any> {\n return _toString.call(val) === '[object Map]';\n}\nexport function isNil(x: any): x is null | undefined {\n return x === null || x === undefined;\n}\n\nexport const isFunction = (val: unknown): val is Function => typeof val === 'function';\n\nexport function isFalsy(x: any): x is false | null | undefined {\n return x === false || x === null || x === undefined;\n}\n\nexport const isPrimitive = (\n val: unknown,\n): val is string | number | boolean | symbol | null | undefined =>\n ['string', 'number', 'boolean', 'symbol', 'undefined'].includes(typeof val) || isNull(val);\n\nexport function isHTMLElement(obj) {\n if (!obj) return false;\n return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n}\n\nexport const isPlainObject = (val: unknown): val is object =>\n _toString.call(val) === '[object Object]';\n\nexport type StringNumber = `${number}`;\nexport function isStringNumber(val: unknown): val is StringNumber {\n if (!isString(val)) {\n return false;\n }\n return !Number.isNaN(Number(val));\n}\n","import { isFunction, isString } from './is';\n\nexport const _toString = Object.prototype.toString;\nexport const extend = Object.assign;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val =>\n hasOwnProperty.call(val, key);\n\nexport function coerceArray<T>(data: T | T[]): T[] {\n return Array.isArray(data) ? (data.flat() as T[]) : [data];\n}\nexport const hasChanged = (value, oldValue) =>\n value !== oldValue && (value === value || oldValue === oldValue);\nexport const noop = Function.prototype as () => void;\n\n/**\n * A function that checks if a string starts with a specific substring.\n * indexOf faster under normal circumstances\n * @see https://www.measurethat.net/Benchmarks/Show/12350/0/startswith-vs-test-vs-match-vs-indexof#latest_results_block\n\n * @param {string} str - The input string to check.\n * @param {string} searchString - The substring to check for at the beginning of the input string.\n * @return {boolean} Returns true if the input string starts with the specified substring, otherwise false.\n */\nexport function startsWith(str, searchString) {\n if (!isString(str)) {\n return false;\n }\n return str.indexOf(searchString) === 0;\n}\n\n/**\n * Escapes special HTML characters in a string.\n * @param str - The string to escape.\n * @returns The escaped string.\n */\nexport function escape(str: string): string {\n return str.replaceAll(/[\"&'<>]/g, char => {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n case \"'\":\n return ''';\n default:\n return char;\n }\n });\n}\n\nexport type ExcludeType = ((key: string | symbol) => boolean) | (string | symbol)[];\n\n/**\n * Checks if a key should be excluded based on the provided exclude criteria.\n * @param key - The key to check.\n * @param exclude - The exclusion criteria.\n * @returns True if the key should be excluded, otherwise false.\n */\nexport function isExclude(key: string | symbol, exclude?: ExcludeType): boolean {\n return Array.isArray(exclude)\n ? exclude.includes(key)\n : isFunction(exclude)\n ? exclude(key)\n : false;\n}\n\n/**\n * Generates a unique random 8 character string ID.\n * The generated IDs only contain alphanumeric characters.\n * @returns A unique random 8 character string ID.\n */\nexport function generateUniqueId() {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n const charactersLength = characters.length;\n for (let i = 0; i < 8; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\n/**\n * Checks if the current environment is a browser.\n * @returns True if the current environment is a browser, otherwise false.\n */\nexport function isBrowser() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n","export const kebabCase = (string: string): string => {\n return string.replaceAll(/[A-Z]+/g, (match, offset) => {\n return `${offset > 0 ? '-' : ''}${match.toLocaleLowerCase()}`;\n });\n};\n\nexport const camelCase = (str: string): string => {\n const s = str.replaceAll(/[\\s_-]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));\n return s[0].toLowerCase() + s.slice(1);\n};\n/**\n * Capitalizes the first letter of a string.\n *\n * @param {string} inputString - The input string to capitalize the first letter.\n * @return {string} The string with the first letter capitalized.\n */\nexport const capitalizeFirstLetter = (inputString: string): string => {\n return inputString.charAt(0).toUpperCase() + inputString.slice(1);\n};\n","export function warn(msg: string, ..._args: any[]): void;\nexport function warn(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.warn.apply(console, [`[Essor warn]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function info(msg: string, ..._args: any[]): void;\nexport function info(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread, no-console\n console.info.apply(console, [`[Essor info]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function error(msg: string, ..._args: any[]): void;\nexport function error(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.error.apply(console, [`[Essor error]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n"],"mappings":"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","names":[]}
|
package/dist/shared.d.cts
CHANGED
|
@@ -46,7 +46,7 @@ declare function generateUniqueId(): string;
|
|
|
46
46
|
declare function isBrowser(): boolean;
|
|
47
47
|
|
|
48
48
|
declare const isObject: (val: unknown) => val is Record<any, any>;
|
|
49
|
-
declare function isPromise(val: any):
|
|
49
|
+
declare function isPromise(val: any): val is Promise<any>;
|
|
50
50
|
declare const isArray: (arg: any) => arg is any[];
|
|
51
51
|
declare function isString(val: unknown): val is string;
|
|
52
52
|
declare function isSymbol(val: unknown): val is symbol;
|
|
@@ -59,6 +59,9 @@ declare const isFunction: (val: unknown) => val is Function;
|
|
|
59
59
|
declare function isFalsy(x: any): x is false | null | undefined;
|
|
60
60
|
declare const isPrimitive: (val: unknown) => val is string | number | boolean | symbol | null | undefined;
|
|
61
61
|
declare function isHTMLElement(obj: any): any;
|
|
62
|
+
declare const isPlainObject: (val: unknown) => val is object;
|
|
63
|
+
type StringNumber = `${number}`;
|
|
64
|
+
declare function isStringNumber(val: unknown): val is StringNumber;
|
|
62
65
|
|
|
63
66
|
declare const kebabCase: (string: string) => string;
|
|
64
67
|
declare const camelCase: (str: string) => string;
|
|
@@ -74,4 +77,4 @@ declare function warn(msg: string, ..._args: any[]): void;
|
|
|
74
77
|
declare function info(msg: string, ..._args: any[]): void;
|
|
75
78
|
declare function error(msg: string, ..._args: any[]): void;
|
|
76
79
|
|
|
77
|
-
export { type ExcludeType, _toString, camelCase, capitalizeFirstLetter, coerceArray, error, escape, extend, generateUniqueId, hasChanged, hasOwn, info, isArray, isBrowser, isExclude, isFalsy, isFunction, isHTMLElement, isMap, isNil, isObject, isPrimitive, isPromise, isSet, isString, isSymbol, isWeakMap, isWeakSet, kebabCase, noop, startsWith, warn };
|
|
80
|
+
export { type ExcludeType, type StringNumber, _toString, camelCase, capitalizeFirstLetter, coerceArray, error, escape, extend, generateUniqueId, hasChanged, hasOwn, info, isArray, isBrowser, isExclude, isFalsy, isFunction, isHTMLElement, isMap, isNil, isObject, isPlainObject, isPrimitive, isPromise, isSet, isString, isStringNumber, isSymbol, isWeakMap, isWeakSet, kebabCase, noop, startsWith, warn };
|
package/dist/shared.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ declare function generateUniqueId(): string;
|
|
|
46
46
|
declare function isBrowser(): boolean;
|
|
47
47
|
|
|
48
48
|
declare const isObject: (val: unknown) => val is Record<any, any>;
|
|
49
|
-
declare function isPromise(val: any):
|
|
49
|
+
declare function isPromise(val: any): val is Promise<any>;
|
|
50
50
|
declare const isArray: (arg: any) => arg is any[];
|
|
51
51
|
declare function isString(val: unknown): val is string;
|
|
52
52
|
declare function isSymbol(val: unknown): val is symbol;
|
|
@@ -59,6 +59,9 @@ declare const isFunction: (val: unknown) => val is Function;
|
|
|
59
59
|
declare function isFalsy(x: any): x is false | null | undefined;
|
|
60
60
|
declare const isPrimitive: (val: unknown) => val is string | number | boolean | symbol | null | undefined;
|
|
61
61
|
declare function isHTMLElement(obj: any): any;
|
|
62
|
+
declare const isPlainObject: (val: unknown) => val is object;
|
|
63
|
+
type StringNumber = `${number}`;
|
|
64
|
+
declare function isStringNumber(val: unknown): val is StringNumber;
|
|
62
65
|
|
|
63
66
|
declare const kebabCase: (string: string) => string;
|
|
64
67
|
declare const camelCase: (str: string) => string;
|
|
@@ -74,4 +77,4 @@ declare function warn(msg: string, ..._args: any[]): void;
|
|
|
74
77
|
declare function info(msg: string, ..._args: any[]): void;
|
|
75
78
|
declare function error(msg: string, ..._args: any[]): void;
|
|
76
79
|
|
|
77
|
-
export { type ExcludeType, _toString, camelCase, capitalizeFirstLetter, coerceArray, error, escape, extend, generateUniqueId, hasChanged, hasOwn, info, isArray, isBrowser, isExclude, isFalsy, isFunction, isHTMLElement, isMap, isNil, isObject, isPrimitive, isPromise, isSet, isString, isSymbol, isWeakMap, isWeakSet, kebabCase, noop, startsWith, warn };
|
|
80
|
+
export { type ExcludeType, type StringNumber, _toString, camelCase, capitalizeFirstLetter, coerceArray, error, escape, extend, generateUniqueId, hasChanged, hasOwn, info, isArray, isBrowser, isExclude, isFalsy, isFunction, isHTMLElement, isMap, isNil, isObject, isPlainObject, isPrimitive, isPromise, isSet, isString, isStringNumber, isSymbol, isWeakMap, isWeakSet, kebabCase, noop, startsWith, warn };
|
package/dist/shared.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @estjs/shared v0.0.12
|
|
2
|
+
* @estjs/shared v0.0.12
|
|
3
3
|
* (c) 2023-Present jiangxd <jiangxd2016@gmail.com>
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -43,6 +43,13 @@ function isHTMLElement(obj) {
|
|
|
43
43
|
if (!obj) return false;
|
|
44
44
|
return obj && typeof obj === "object" && obj.nodeType === 1 && typeof obj.nodeName === "string";
|
|
45
45
|
}
|
|
46
|
+
var isPlainObject = (val) => _toString.call(val) === "[object Object]";
|
|
47
|
+
function isStringNumber(val) {
|
|
48
|
+
if (!isString(val)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return !Number.isNaN(Number(val));
|
|
52
|
+
}
|
|
46
53
|
|
|
47
54
|
// src/comm.ts
|
|
48
55
|
var _toString = Object.prototype.toString;
|
|
@@ -139,10 +146,12 @@ export {
|
|
|
139
146
|
isMap,
|
|
140
147
|
isNil,
|
|
141
148
|
isObject,
|
|
149
|
+
isPlainObject,
|
|
142
150
|
isPrimitive,
|
|
143
151
|
isPromise,
|
|
144
152
|
isSet,
|
|
145
153
|
isString,
|
|
154
|
+
isStringNumber,
|
|
146
155
|
isSymbol,
|
|
147
156
|
isWeakMap,
|
|
148
157
|
isWeakSet,
|
package/dist/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/is.ts","../src/comm.ts","../src/name.ts","../src/console.ts"],"sourcesContent":["import { _toString } from './comm';\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n val !== null && typeof val === 'object';\nexport function isPromise(val: any):
|
|
1
|
+
{"version":3,"sources":["../src/is.ts","../src/comm.ts","../src/name.ts","../src/console.ts"],"sourcesContent":["import { _toString } from './comm';\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n val !== null && typeof val === 'object';\nexport function isPromise(val: any): val is Promise<any> {\n return _toString.call(val) === '[object Promise]';\n}\n\nexport const isArray = Array.isArray;\n\nexport function isString(val: unknown): val is string {\n return typeof val === 'string';\n}\nexport function isNull(val: any): val is null {\n return val === null;\n}\nexport function isSymbol(val: unknown): val is symbol {\n return typeof val === 'symbol';\n}\n\nexport function isSet(val: any): val is Set<any> {\n return _toString.call(val) === '[object Set]';\n}\nexport function isWeakMap(val: any): val is WeakMap<any, any> {\n return _toString.call(val) === '[object WeakMap]';\n}\nexport function isWeakSet(val: any): val is WeakSet<any> {\n return _toString.call(val) === '[object WeakSet]';\n}\n\nexport function isMap(val: unknown): val is Map<any, any> {\n return _toString.call(val) === '[object Map]';\n}\nexport function isNil(x: any): x is null | undefined {\n return x === null || x === undefined;\n}\n\nexport const isFunction = (val: unknown): val is Function => typeof val === 'function';\n\nexport function isFalsy(x: any): x is false | null | undefined {\n return x === false || x === null || x === undefined;\n}\n\nexport const isPrimitive = (\n val: unknown,\n): val is string | number | boolean | symbol | null | undefined =>\n ['string', 'number', 'boolean', 'symbol', 'undefined'].includes(typeof val) || isNull(val);\n\nexport function isHTMLElement(obj) {\n if (!obj) return false;\n return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n}\n\nexport const isPlainObject = (val: unknown): val is object =>\n _toString.call(val) === '[object Object]';\n\nexport type StringNumber = `${number}`;\nexport function isStringNumber(val: unknown): val is StringNumber {\n if (!isString(val)) {\n return false;\n }\n return !Number.isNaN(Number(val));\n}\n","import { isFunction, isString } from './is';\n\nexport const _toString = Object.prototype.toString;\nexport const extend = Object.assign;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val =>\n hasOwnProperty.call(val, key);\n\nexport function coerceArray<T>(data: T | T[]): T[] {\n return Array.isArray(data) ? (data.flat() as T[]) : [data];\n}\nexport const hasChanged = (value, oldValue) =>\n value !== oldValue && (value === value || oldValue === oldValue);\nexport const noop = Function.prototype as () => void;\n\n/**\n * A function that checks if a string starts with a specific substring.\n * indexOf faster under normal circumstances\n * @see https://www.measurethat.net/Benchmarks/Show/12350/0/startswith-vs-test-vs-match-vs-indexof#latest_results_block\n\n * @param {string} str - The input string to check.\n * @param {string} searchString - The substring to check for at the beginning of the input string.\n * @return {boolean} Returns true if the input string starts with the specified substring, otherwise false.\n */\nexport function startsWith(str, searchString) {\n if (!isString(str)) {\n return false;\n }\n return str.indexOf(searchString) === 0;\n}\n\n/**\n * Escapes special HTML characters in a string.\n * @param str - The string to escape.\n * @returns The escaped string.\n */\nexport function escape(str: string): string {\n return str.replaceAll(/[\"&'<>]/g, char => {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n case \"'\":\n return ''';\n default:\n return char;\n }\n });\n}\n\nexport type ExcludeType = ((key: string | symbol) => boolean) | (string | symbol)[];\n\n/**\n * Checks if a key should be excluded based on the provided exclude criteria.\n * @param key - The key to check.\n * @param exclude - The exclusion criteria.\n * @returns True if the key should be excluded, otherwise false.\n */\nexport function isExclude(key: string | symbol, exclude?: ExcludeType): boolean {\n return Array.isArray(exclude)\n ? exclude.includes(key)\n : isFunction(exclude)\n ? exclude(key)\n : false;\n}\n\n/**\n * Generates a unique random 8 character string ID.\n * The generated IDs only contain alphanumeric characters.\n * @returns A unique random 8 character string ID.\n */\nexport function generateUniqueId() {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n const charactersLength = characters.length;\n for (let i = 0; i < 8; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\n/**\n * Checks if the current environment is a browser.\n * @returns True if the current environment is a browser, otherwise false.\n */\nexport function isBrowser() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n","export const kebabCase = (string: string): string => {\n return string.replaceAll(/[A-Z]+/g, (match, offset) => {\n return `${offset > 0 ? '-' : ''}${match.toLocaleLowerCase()}`;\n });\n};\n\nexport const camelCase = (str: string): string => {\n const s = str.replaceAll(/[\\s_-]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));\n return s[0].toLowerCase() + s.slice(1);\n};\n/**\n * Capitalizes the first letter of a string.\n *\n * @param {string} inputString - The input string to capitalize the first letter.\n * @return {string} The string with the first letter capitalized.\n */\nexport const capitalizeFirstLetter = (inputString: string): string => {\n return inputString.charAt(0).toUpperCase() + inputString.slice(1);\n};\n","export function warn(msg: string, ..._args: any[]): void;\nexport function warn(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.warn.apply(console, [`[Essor warn]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function info(msg: string, ..._args: any[]): void;\nexport function info(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread, no-console\n console.info.apply(console, [`[Essor info]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function error(msg: string, ..._args: any[]): void;\nexport function error(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.error.apply(console, [`[Essor error]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n"],"mappings":"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","names":[]}
|