@gateweb/react-utils 1.8.0 → 1.9.0
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/cjs/index.d.ts +21 -1
- package/dist/cjs/index.js +25 -0
- package/dist/es/index.d.mts +21 -1
- package/dist/es/index.mjs +25 -1
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -301,8 +301,28 @@ declare const formatAmount: (num: number) => string;
|
|
|
301
301
|
* @example
|
|
302
302
|
*
|
|
303
303
|
* formatString('123456', 1, 4) // '1****6'
|
|
304
|
+
*
|
|
305
|
+
* @deprecated use `maskString` instead
|
|
304
306
|
*/
|
|
305
307
|
declare const formatStarMask: (str: string, n: number, m: number) => string;
|
|
308
|
+
/**
|
|
309
|
+
* 將字串的指定位置的以後的字元轉換成星號
|
|
310
|
+
*
|
|
311
|
+
* @param str 字串
|
|
312
|
+
* @param start 起始位置 (從 0 開始計算)
|
|
313
|
+
* @param length 可選,從起始位置開始要遮罩的字元數量,默認為剩餘所有字元
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
*
|
|
317
|
+
* ```js
|
|
318
|
+
* maskString('123456789', 2) // '12*******'
|
|
319
|
+
* maskString('123456789', 2, 5) // '12*****89'
|
|
320
|
+
* maskString('123456789', 0, 15) // '*********'
|
|
321
|
+
* maskString('123456789', 10) // '123456789' (start out of bounds)
|
|
322
|
+
* maskString('123456789', -1) // '123456789' (start out of bounds)
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
325
|
+
declare const maskString: (str: string, start: number, length?: number) => string;
|
|
306
326
|
/**
|
|
307
327
|
* format file size to human readable string
|
|
308
328
|
*
|
|
@@ -1060,4 +1080,4 @@ declare const getLocalStorage: <T>(key: string, deCode?: boolean) => T | undefin
|
|
|
1060
1080
|
*/
|
|
1061
1081
|
declare const setLocalStorage: (key: string, value: Record<string, any>, enCode?: boolean) => void;
|
|
1062
1082
|
|
|
1063
|
-
export { ByteSize, type PartialBy, QueryProvider, type RequiredBy, type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, convertBytes, createEnumLikeObject, debounce, deepMerge, downloadFile, extractEnumLikeObject, fakeApi, formatAmount, formatBytes, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isEqual, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, isValidPassword, mergeRefs, objectToSearchParams, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, pick, pickByValue, rocEraToAd, searchParamsToObject, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, useQueryContext, useValue, validTaxId, validateDateString, validateFileType, wait };
|
|
1083
|
+
export { ByteSize, type PartialBy, QueryProvider, type RequiredBy, type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, convertBytes, createEnumLikeObject, debounce, deepMerge, downloadFile, extractEnumLikeObject, fakeApi, formatAmount, formatBytes, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isEqual, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, isValidPassword, maskString, mergeRefs, objectToSearchParams, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, pick, pickByValue, rocEraToAd, searchParamsToObject, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, useQueryContext, useValue, validTaxId, validateDateString, validateFileType, wait };
|
package/dist/cjs/index.js
CHANGED
|
@@ -762,7 +762,31 @@ const transformObjectKey = (obj, transformFunName)=>{
|
|
|
762
762
|
* @example
|
|
763
763
|
*
|
|
764
764
|
* formatString('123456', 1, 4) // '1****6'
|
|
765
|
+
*
|
|
766
|
+
* @deprecated use `maskString` instead
|
|
765
767
|
*/ const formatStarMask = (str, n, m)=>str.slice(0, n) + '*'.repeat(m - n + 1) + str.slice(m + 1);
|
|
768
|
+
/**
|
|
769
|
+
* 將字串的指定位置的以後的字元轉換成星號
|
|
770
|
+
*
|
|
771
|
+
* @param str 字串
|
|
772
|
+
* @param start 起始位置 (從 0 開始計算)
|
|
773
|
+
* @param length 可選,從起始位置開始要遮罩的字元數量,默認為剩餘所有字元
|
|
774
|
+
*
|
|
775
|
+
* @example
|
|
776
|
+
*
|
|
777
|
+
* ```js
|
|
778
|
+
* maskString('123456789', 2) // '12*******'
|
|
779
|
+
* maskString('123456789', 2, 5) // '12*****89'
|
|
780
|
+
* maskString('123456789', 0, 15) // '*********'
|
|
781
|
+
* maskString('123456789', 10) // '123456789' (start out of bounds)
|
|
782
|
+
* maskString('123456789', -1) // '123456789' (start out of bounds)
|
|
783
|
+
* ```
|
|
784
|
+
*/ const maskString = (str, start, length)=>{
|
|
785
|
+
if (start < 0 || start >= str.length) return str;
|
|
786
|
+
const maxMaskLength = str.length - start;
|
|
787
|
+
const safeLength = length !== undefined ? Math.max(0, Math.min(length, maxMaskLength)) : maxMaskLength;
|
|
788
|
+
return str.slice(0, start) + '*'.repeat(safeLength) + str.slice(start + safeLength);
|
|
789
|
+
};
|
|
766
790
|
const FILE_SIZE_UNITS = [
|
|
767
791
|
'Bytes',
|
|
768
792
|
'KB',
|
|
@@ -1199,6 +1223,7 @@ exports.isTWMobile = isTWMobile;
|
|
|
1199
1223
|
exports.isTWPhone = isTWPhone;
|
|
1200
1224
|
exports.isTimeString = isTimeString;
|
|
1201
1225
|
exports.isValidPassword = isValidPassword;
|
|
1226
|
+
exports.maskString = maskString;
|
|
1202
1227
|
exports.mergeRefs = mergeRefs;
|
|
1203
1228
|
exports.objectToSearchParams = objectToSearchParams;
|
|
1204
1229
|
exports.omit = omit;
|
package/dist/es/index.d.mts
CHANGED
|
@@ -301,8 +301,28 @@ declare const formatAmount: (num: number) => string;
|
|
|
301
301
|
* @example
|
|
302
302
|
*
|
|
303
303
|
* formatString('123456', 1, 4) // '1****6'
|
|
304
|
+
*
|
|
305
|
+
* @deprecated use `maskString` instead
|
|
304
306
|
*/
|
|
305
307
|
declare const formatStarMask: (str: string, n: number, m: number) => string;
|
|
308
|
+
/**
|
|
309
|
+
* 將字串的指定位置的以後的字元轉換成星號
|
|
310
|
+
*
|
|
311
|
+
* @param str 字串
|
|
312
|
+
* @param start 起始位置 (從 0 開始計算)
|
|
313
|
+
* @param length 可選,從起始位置開始要遮罩的字元數量,默認為剩餘所有字元
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
*
|
|
317
|
+
* ```js
|
|
318
|
+
* maskString('123456789', 2) // '12*******'
|
|
319
|
+
* maskString('123456789', 2, 5) // '12*****89'
|
|
320
|
+
* maskString('123456789', 0, 15) // '*********'
|
|
321
|
+
* maskString('123456789', 10) // '123456789' (start out of bounds)
|
|
322
|
+
* maskString('123456789', -1) // '123456789' (start out of bounds)
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
325
|
+
declare const maskString: (str: string, start: number, length?: number) => string;
|
|
306
326
|
/**
|
|
307
327
|
* format file size to human readable string
|
|
308
328
|
*
|
|
@@ -1060,4 +1080,4 @@ declare const getLocalStorage: <T>(key: string, deCode?: boolean) => T | undefin
|
|
|
1060
1080
|
*/
|
|
1061
1081
|
declare const setLocalStorage: (key: string, value: Record<string, any>, enCode?: boolean) => void;
|
|
1062
1082
|
|
|
1063
|
-
export { ByteSize, type PartialBy, QueryProvider, type RequiredBy, type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, convertBytes, createEnumLikeObject, debounce, deepMerge, downloadFile, extractEnumLikeObject, fakeApi, formatAmount, formatBytes, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isEqual, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, isValidPassword, mergeRefs, objectToSearchParams, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, pick, pickByValue, rocEraToAd, searchParamsToObject, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, useQueryContext, useValue, validTaxId, validateDateString, validateFileType, wait };
|
|
1083
|
+
export { ByteSize, type PartialBy, QueryProvider, type RequiredBy, type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, convertBytes, createEnumLikeObject, debounce, deepMerge, downloadFile, extractEnumLikeObject, fakeApi, formatAmount, formatBytes, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isEqual, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, isValidPassword, maskString, mergeRefs, objectToSearchParams, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, pick, pickByValue, rocEraToAd, searchParamsToObject, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, useQueryContext, useValue, validTaxId, validateDateString, validateFileType, wait };
|
package/dist/es/index.mjs
CHANGED
|
@@ -756,7 +756,31 @@ const transformObjectKey = (obj, transformFunName)=>{
|
|
|
756
756
|
* @example
|
|
757
757
|
*
|
|
758
758
|
* formatString('123456', 1, 4) // '1****6'
|
|
759
|
+
*
|
|
760
|
+
* @deprecated use `maskString` instead
|
|
759
761
|
*/ const formatStarMask = (str, n, m)=>str.slice(0, n) + '*'.repeat(m - n + 1) + str.slice(m + 1);
|
|
762
|
+
/**
|
|
763
|
+
* 將字串的指定位置的以後的字元轉換成星號
|
|
764
|
+
*
|
|
765
|
+
* @param str 字串
|
|
766
|
+
* @param start 起始位置 (從 0 開始計算)
|
|
767
|
+
* @param length 可選,從起始位置開始要遮罩的字元數量,默認為剩餘所有字元
|
|
768
|
+
*
|
|
769
|
+
* @example
|
|
770
|
+
*
|
|
771
|
+
* ```js
|
|
772
|
+
* maskString('123456789', 2) // '12*******'
|
|
773
|
+
* maskString('123456789', 2, 5) // '12*****89'
|
|
774
|
+
* maskString('123456789', 0, 15) // '*********'
|
|
775
|
+
* maskString('123456789', 10) // '123456789' (start out of bounds)
|
|
776
|
+
* maskString('123456789', -1) // '123456789' (start out of bounds)
|
|
777
|
+
* ```
|
|
778
|
+
*/ const maskString = (str, start, length)=>{
|
|
779
|
+
if (start < 0 || start >= str.length) return str;
|
|
780
|
+
const maxMaskLength = str.length - start;
|
|
781
|
+
const safeLength = length !== undefined ? Math.max(0, Math.min(length, maxMaskLength)) : maxMaskLength;
|
|
782
|
+
return str.slice(0, start) + '*'.repeat(safeLength) + str.slice(start + safeLength);
|
|
783
|
+
};
|
|
760
784
|
const FILE_SIZE_UNITS = [
|
|
761
785
|
'Bytes',
|
|
762
786
|
'KB',
|
|
@@ -1152,4 +1176,4 @@ function mergeRefs(refs) {
|
|
|
1152
1176
|
return dayjs(endMonth, 'YYYYMM').subtract(1911, 'year').format('YYYYMM').substring(1);
|
|
1153
1177
|
};
|
|
1154
1178
|
|
|
1155
|
-
export { ByteSize, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, convertBytes, createEnumLikeObject, debounce, deepMerge, extractEnumLikeObject, fakeApi, formatAmount, formatBytes, formatStarMask, generatePeriodArray, getCurrentPeriod, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isEqual, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, isValidPassword, mergeRefs, objectToSearchParams, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, pick, pickByValue, rocEraToAd, searchParamsToObject, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useValue, validTaxId, validateDateString, validateFileType, wait };
|
|
1179
|
+
export { ByteSize, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, convertBytes, createEnumLikeObject, debounce, deepMerge, extractEnumLikeObject, fakeApi, formatAmount, formatBytes, formatStarMask, generatePeriodArray, getCurrentPeriod, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isEqual, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, isValidPassword, maskString, mergeRefs, objectToSearchParams, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, pick, pickByValue, rocEraToAd, searchParamsToObject, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useValue, validTaxId, validateDateString, validateFileType, wait };
|