@gateweb/react-utils 0.0.1 → 0.0.2

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.
@@ -263,6 +263,8 @@ type TCountdownActions = {
263
263
  */
264
264
  declare const useCountdown: (initialCountdown: number, enableReinitialize?: boolean) => TCountdownActions;
265
265
 
266
+ declare function invariant(condition: any, message?: string | (() => string)): asserts condition;
267
+
266
268
  /**
267
269
  * 判斷執行環境是否為 Server(node.js) 端
268
270
  */
@@ -617,4 +619,4 @@ declare const getLocalStorage: <T>(key: string, deCode?: boolean) => T | undefin
617
619
  */
618
620
  declare const setLocalStorage: (key: string, value: Record<string, any>, enCode?: boolean) => void;
619
621
 
620
- export { type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, debounce, downloadFile, extractEnumLikeObject, formatAmount, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, rocEraToAd, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, validTaxId, validateDateString, validateFileType };
622
+ export { type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, debounce, downloadFile, extractEnumLikeObject, formatAmount, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, rocEraToAd, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, validTaxId, validateDateString, validateFileType };
package/dist/cjs/index.js CHANGED
@@ -376,6 +376,32 @@ const transformObjectKey = (obj, transformFunName)=>{
376
376
  }
377
377
  };
378
378
 
379
+ // const isProduction: boolean = process.env.NODE_ENV === 'production';
380
+ const prefix = 'Invariant failed';
381
+ // Throw an error if the condition fails
382
+ // Strip out error messages for production
383
+ // > Not providing an inline default argument for message as the result is smaller
384
+ function invariant(condition, // Can provide a string, or a function that returns a string for cases where
385
+ // the message takes a fair amount of effort to compute
386
+ message) {
387
+ if (condition) {
388
+ return;
389
+ }
390
+ // Condition not passed
391
+ // In production we strip the message but still throw
392
+ if (process.env.NODE_ENV === 'production') {
393
+ throw new Error(prefix);
394
+ }
395
+ // When not in production we allow the message to pass through
396
+ // *This block will be removed in production builds*
397
+ const provided = typeof message === 'function' ? message() : message;
398
+ // Options:
399
+ // 1. message provided: `${prefix}: ${provided}`
400
+ // 2. message not provided: prefix
401
+ const value = provided ? `${prefix}: ${provided}` : prefix;
402
+ throw new Error(value);
403
+ }
404
+
379
405
  /**
380
406
  * 判斷執行環境是否為 Server(node.js) 端
381
407
  */ const isServer = ()=>typeof window === 'undefined';
@@ -685,6 +711,7 @@ exports.formatStarMask = formatStarMask;
685
711
  exports.generatePeriodArray = generatePeriodArray;
686
712
  exports.getCurrentPeriod = getCurrentPeriod;
687
713
  exports.getMimeType = getMimeType;
714
+ exports.invariant = invariant;
688
715
  exports.isChinese = isChinese;
689
716
  exports.isDateString = isDateString;
690
717
  exports.isDateTimeString = isDateTimeString;
@@ -263,6 +263,8 @@ type TCountdownActions = {
263
263
  */
264
264
  declare const useCountdown: (initialCountdown: number, enableReinitialize?: boolean) => TCountdownActions;
265
265
 
266
+ declare function invariant(condition: any, message?: string | (() => string)): asserts condition;
267
+
266
268
  /**
267
269
  * 判斷執行環境是否為 Server(node.js) 端
268
270
  */
@@ -617,4 +619,4 @@ declare const getLocalStorage: <T>(key: string, deCode?: boolean) => T | undefin
617
619
  */
618
620
  declare const setLocalStorage: (key: string, value: Record<string, any>, enCode?: boolean) => void;
619
621
 
620
- export { type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, debounce, downloadFile, extractEnumLikeObject, formatAmount, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, rocEraToAd, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, validTaxId, validateDateString, validateFileType };
622
+ export { type TCountdownActions, adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, debounce, downloadFile, extractEnumLikeObject, formatAmount, formatStarMask, generatePeriodArray, getCurrentPeriod, getLocalStorage, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, rocEraToAd, setLocalStorage, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, useCountdown, validTaxId, validateDateString, validateFileType };
package/dist/es/index.mjs CHANGED
@@ -370,6 +370,32 @@ const transformObjectKey = (obj, transformFunName)=>{
370
370
  }
371
371
  };
372
372
 
373
+ // const isProduction: boolean = process.env.NODE_ENV === 'production';
374
+ const prefix = 'Invariant failed';
375
+ // Throw an error if the condition fails
376
+ // Strip out error messages for production
377
+ // > Not providing an inline default argument for message as the result is smaller
378
+ function invariant(condition, // Can provide a string, or a function that returns a string for cases where
379
+ // the message takes a fair amount of effort to compute
380
+ message) {
381
+ if (condition) {
382
+ return;
383
+ }
384
+ // Condition not passed
385
+ // In production we strip the message but still throw
386
+ if (process.env.NODE_ENV === 'production') {
387
+ throw new Error(prefix);
388
+ }
389
+ // When not in production we allow the message to pass through
390
+ // *This block will be removed in production builds*
391
+ const provided = typeof message === 'function' ? message() : message;
392
+ // Options:
393
+ // 1. message provided: `${prefix}: ${provided}`
394
+ // 2. message not provided: prefix
395
+ const value = provided ? `${prefix}: ${provided}` : prefix;
396
+ throw new Error(value);
397
+ }
398
+
373
399
  /**
374
400
  * 判斷執行環境是否為 Server(node.js) 端
375
401
  */ const isServer = ()=>typeof window === 'undefined';
@@ -663,4 +689,4 @@ const transformObjectKey = (obj, transformFunName)=>{
663
689
  * formatString('123456', 1, 4) // '1****6'
664
690
  */ const formatStarMask = (str, n, m)=>str.slice(0, n) + '*'.repeat(m - n + 1) + str.slice(m + 1);
665
691
 
666
- export { adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, debounce, extractEnumLikeObject, formatAmount, formatStarMask, generatePeriodArray, getCurrentPeriod, getMimeType, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, rocEraToAd, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, validTaxId, validateDateString, validateFileType };
692
+ export { adToRocEra, camelCase2PascalCase, camelCase2SnakeCase, camelString2PascalString, camelString2SnakeString, debounce, extractEnumLikeObject, formatAmount, formatStarMask, generatePeriodArray, getCurrentPeriod, getMimeType, invariant, isChinese, isDateString, isDateTimeString, isEmail, isEnglish, isNonZeroStart, isNumber, isNumberAtLeastN, isNumberN, isNumberNM, isServer, isTWMobile, isTWPhone, isTimeString, omit, omitByValue, pascalCase2CamelCase, pascalCase2SnakeCase, pascalString2CamelString, pascalString2SnakeString, rocEraToAd, snakeCase2CamelCase, snakeCase2PascalCase, snakeString2CamelString, snakeString2PascalString, throttle, validTaxId, validateDateString, validateFileType };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gateweb/react-utils",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "React Utils for GateWeb",
5
5
  "homepage": "https://github.com/GatewebSolutions/react-utils",
6
6
  "files": [