@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 CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @estjs/shared v0.0.12-beta.1
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,
@@ -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 '&amp;';\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '\"':\n return '&quot;';\n case \"'\":\n return '&#039;';\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 '&amp;';\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '\"':\n return '&quot;';\n case \"'\":\n return '&#039;';\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): boolean;
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): boolean;
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-beta.1
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,
@@ -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): 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 '&amp;';\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '\"':\n return '&quot;';\n case \"'\":\n return '&#039;';\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/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 '&amp;';\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '\"':\n return '&quot;';\n case \"'\":\n return '&#039;';\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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@estjs/shared",
3
- "version": "0.0.12-beta.1",
3
+ "version": "0.0.12",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "keywords": [],