@cyberskill/shared 1.47.0 → 1.48.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.
Files changed (133) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +410 -30
  2. package/dist/_tsup-dts-rollup.d.ts +410 -30
  3. package/dist/cli.cjs +2136 -1
  4. package/dist/cli.d.cts +2 -1
  5. package/dist/cli.d.ts +2 -1
  6. package/dist/cli.js +2056 -1
  7. package/dist/configs/commitlint/base.cjs +64 -1
  8. package/dist/configs/commitlint/base.js +7 -1
  9. package/dist/configs/eslint/base.cjs +121 -1
  10. package/dist/configs/eslint/base.js +52 -1
  11. package/dist/configs/eslint/nestjs.cjs +155 -1
  12. package/dist/configs/eslint/nestjs.js +85 -1
  13. package/dist/configs/eslint/nextjs.cjs +155 -1
  14. package/dist/configs/eslint/nextjs.js +85 -1
  15. package/dist/configs/eslint/nodejs.cjs +156 -1
  16. package/dist/configs/eslint/nodejs.js +86 -1
  17. package/dist/configs/eslint/vite-react.cjs +159 -1
  18. package/dist/configs/eslint/vite-react.js +89 -1
  19. package/dist/configs/graphql/graphql-codegen.cjs +125 -1
  20. package/dist/configs/graphql/graphql-codegen.js +64 -1
  21. package/dist/configs/graphql/index.cjs +126 -1
  22. package/dist/configs/graphql/index.js +64 -1
  23. package/dist/configs/i18n/react/i18next.cjs +80 -1
  24. package/dist/configs/i18n/react/i18next.js +7 -1
  25. package/dist/configs/i18n/react/index.cjs +81 -1
  26. package/dist/configs/i18n/react/index.js +7 -1
  27. package/dist/configs/index.cjs +232 -1
  28. package/dist/configs/index.js +166 -1
  29. package/dist/configs/lint-staged/base.cjs +64 -1
  30. package/dist/configs/lint-staged/base.js +7 -1
  31. package/dist/configs/vitest/react/e2e.cjs +128 -1
  32. package/dist/configs/vitest/react/e2e.js +59 -1
  33. package/dist/configs/vitest/react/unit.cjs +305 -1
  34. package/dist/configs/vitest/react/unit.js +228 -1
  35. package/dist/configs/vitest/react/unit.setup.cjs +60 -1
  36. package/dist/configs/vitest/react/unit.setup.js +8 -1
  37. package/dist/constants/index.cjs +678 -1
  38. package/dist/constants/index.d.cts +31 -1
  39. package/dist/constants/index.d.ts +31 -1
  40. package/dist/constants/index.js +469 -1
  41. package/dist/constants/path.cjs +423 -1
  42. package/dist/constants/path.d.cts +31 -1
  43. package/dist/constants/path.d.ts +31 -1
  44. package/dist/constants/path.js +218 -1
  45. package/dist/constants/response-status.cjs +313 -1
  46. package/dist/constants/response-status.js +252 -1
  47. package/dist/index.cjs +4546 -1
  48. package/dist/index.d.cts +51 -7
  49. package/dist/index.d.ts +51 -7
  50. package/dist/index.js +4133 -1
  51. package/dist/nodejs/index.cjs +2138 -1
  52. package/dist/nodejs/index.js +2054 -1
  53. package/dist/nodejs/mongo.cjs +2137 -1
  54. package/dist/nodejs/mongo.js +2054 -1
  55. package/dist/react/apollo-client.cjs +177 -1
  56. package/dist/react/apollo-client.js +116 -1
  57. package/dist/react/index.cjs +990 -1
  58. package/dist/react/index.js +876 -1
  59. package/dist/react/loading.cjs +301 -1
  60. package/dist/react/loading.js +216 -1
  61. package/dist/react/next-intl.cjs +744 -1
  62. package/dist/react/next-intl.js +655 -1
  63. package/dist/react/storage.cjs +631 -1
  64. package/dist/react/storage.js +558 -1
  65. package/dist/typescript/api-response.cjs +48 -1
  66. package/dist/typescript/apollo.cjs +48 -1
  67. package/dist/typescript/command.cjs +68 -1
  68. package/dist/typescript/command.d.cts +4 -0
  69. package/dist/typescript/command.d.ts +4 -0
  70. package/dist/typescript/command.js +7 -1
  71. package/dist/typescript/config.cjs +48 -1
  72. package/dist/typescript/fs.cjs +48 -0
  73. package/dist/typescript/fs.d.cts +1 -0
  74. package/dist/typescript/fs.d.ts +1 -0
  75. package/dist/typescript/fs.js +0 -0
  76. package/dist/typescript/graphql-codegen.cjs +48 -1
  77. package/dist/typescript/index.cjs +175 -1
  78. package/dist/typescript/index.d.cts +5 -0
  79. package/dist/typescript/index.d.ts +5 -0
  80. package/dist/typescript/index.js +151 -1
  81. package/dist/typescript/loading.cjs +48 -1
  82. package/dist/typescript/log.cjs +48 -1
  83. package/dist/typescript/mongo.cjs +164 -1
  84. package/dist/typescript/mongo.js +145 -1
  85. package/dist/typescript/next-intl.cjs +48 -1
  86. package/dist/typescript/react.cjs +48 -1
  87. package/dist/typescript/serializer.cjs +48 -1
  88. package/dist/typescript/string.cjs +48 -1
  89. package/dist/utils/command.cjs +1387 -1
  90. package/dist/utils/command.d.cts +2 -0
  91. package/dist/utils/command.d.ts +2 -0
  92. package/dist/utils/command.js +1287 -1
  93. package/dist/utils/common.cjs +300 -1
  94. package/dist/utils/common.js +219 -1
  95. package/dist/utils/config.cjs +146 -1
  96. package/dist/utils/config.js +89 -1
  97. package/dist/utils/fs.cjs +118 -1
  98. package/dist/utils/fs.d.cts +4 -1
  99. package/dist/utils/fs.d.ts +4 -1
  100. package/dist/utils/fs.js +37 -1
  101. package/dist/utils/index-nodejs.cjs +1738 -1
  102. package/dist/utils/index-nodejs.d.cts +15 -6
  103. package/dist/utils/index-nodejs.d.ts +15 -6
  104. package/dist/utils/index-nodejs.js +1571 -1
  105. package/dist/utils/index.cjs +727 -1
  106. package/dist/utils/index.js +625 -1
  107. package/dist/utils/log.cjs +330 -1
  108. package/dist/utils/log.js +269 -1
  109. package/dist/utils/package.cjs +941 -0
  110. package/dist/utils/package.d.cts +3 -0
  111. package/dist/utils/package.d.ts +3 -0
  112. package/dist/utils/package.js +857 -0
  113. package/dist/utils/path.cjs +291 -0
  114. package/dist/utils/path.d.cts +6 -0
  115. package/dist/utils/path.d.ts +6 -0
  116. package/dist/utils/path.js +191 -0
  117. package/dist/utils/serializer.cjs +91 -1
  118. package/dist/utils/serializer.js +30 -1
  119. package/dist/utils/storage-client.cjs +349 -1
  120. package/dist/utils/storage-client.js +276 -1
  121. package/dist/utils/storage-server.cjs +636 -1
  122. package/dist/utils/storage-server.d.cts +1 -1
  123. package/dist/utils/storage-server.d.ts +1 -1
  124. package/dist/utils/storage-server.js +550 -1
  125. package/dist/utils/string.cjs +152 -1
  126. package/dist/utils/string.js +75 -1
  127. package/dist/utils/validate.cjs +90 -1
  128. package/dist/utils/validate.js +33 -1
  129. package/package.json +11 -11
  130. package/dist/utils/npm-package.cjs +0 -1
  131. package/dist/utils/npm-package.d.cts +0 -5
  132. package/dist/utils/npm-package.d.ts +0 -5
  133. package/dist/utils/npm-package.js +0 -1
@@ -1 +1,727 @@
1
- "use strict";function e(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function r(e){if(Array.isArray(e))return e}function t(r){if(Array.isArray(r))return e(r)}function n(e,r,t,n,o,u,a){try{var i=e[u](a);var c=i.value}catch(e){t(e);return}if(i.done){r(c)}else{Promise.resolve(c).then(n,o)}}function o(e){return function(){var r=this,t=arguments;return new Promise(function(o,u){var a=e.apply(r,t);function i(e){n(a,o,u,i,c,"next",e)}function c(e){n(a,o,u,i,c,"throw",e)}i(undefined)})}}function u(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function a(e,r){if(r!=null&&typeof Symbol!=="undefined"&&r[Symbol.hasInstance]){return!!r[Symbol.hasInstance](e)}else{return e instanceof r}}function i(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,r){var t=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(t==null)return;var n=[];var o=true;var u=false;var a,i;try{for(t=t.call(e);!(o=(a=t.next()).done);o=true){n.push(a.value);if(r&&n.length===r)break}}catch(e){u=true;i=e}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(u)throw i}}return n}function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};var n=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}n.forEach(function(r){u(e,r,t[r])})}return e}function y(e,r){if(e==null)return{};var t=p(e,r);var n,o;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(o=0;o<u.length;o++){n=u[o];if(r.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;t[n]=e[n]}}return t}function p(e,r){if(e==null)return{};var t={};var n=Object.keys(e);var o,u;for(u=0;u<n.length;u++){o=n[u];if(r.indexOf(o)>=0)continue;t[o]=e[o]}return t}function v(e,t){return r(e)||c(e,t)||g(e,t)||l()}function d(e){return t(e)||i(e)||g(e)||f()}function b(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function g(r,t){if(!r)return;if(typeof r==="string")return e(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor)n=r.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}function h(e,r){var t,n,o,u,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return u={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function i(e){return function(r){return c([e,r])}}function c(u){if(t)throw new TypeError("Generator is already executing.");while(a)try{if(t=1,n&&(o=u[0]&2?n["return"]:u[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;if(n=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(u[0]===6&&a.label<o[1]){a.label=o[1];o=u;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(u);break}if(o[2])a.ops.pop();a.trys.pop();continue}u=r.call(e,a)}catch(e){u=[6,e];n=0}finally{t=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var m=Object.create;var S=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var k=function(e,r){for(var t in r)S(e,t,{get:r[t],enumerable:!0})},x=function(e,r,t,n){var o=true,u=false,a=undefined;if(r&&(typeof r==="undefined"?"undefined":b(r))=="object"||typeof r=="function")try{var i=function(){var o=l.value;!A.call(e,o)&&o!==t&&S(e,o,{get:function(){return r[o]},enumerable:!(n=w(r,o))||n.enumerable})};for(var c=O(r)[Symbol.iterator](),l;!(o=(l=c.next()).done);o=true)i()}catch(e){u=true;a=e}finally{try{if(!o&&c.return!=null){c.return()}}finally{if(u){throw a}}}return e};var I=function(e,r,t){return t=e!=null?m(j(e)):{},x(r||!e||!e.__esModule?S(t,"default",{value:e,enumerable:!0}):t,e)},P=function(e){return x(S({},"__esModule",{value:!0}),e)};var E={};k(E,{deepMerge:function(){return N},generateShortId:function(){return $},generateSlug:function(){return G},isJson:function(){return D},regexSearchMapper:function(){return C},removeAccent:function(){return J},serializer:function(){return q},storageClient:function(){return U},validate:function(){return B}});module.exports=P(E);var M=I(require("unorm"),1);function D(e){try{return JSON.parse(e),!0}catch(e){return!1}}var _={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},z=Object.entries(_).reduce(function(e,r){var t=v(r,2),n=t[0],o=t[1];return e[n.toUpperCase()]=o.map(function(e){return e.toUpperCase()}),e},{});function C(e){e=M.default.nfkc(e);var r=s({},_,z);var t=true,n=false,o=undefined;try{for(var u=Object.entries(r)[Symbol.iterator](),a;!(t=(a=u.next()).done);t=true){var i=v(a.value,2),c=i[0],l=i[1];var f="[".concat(c).concat(l.join(""),"]"),y="(".concat([c].concat(d(l)).join("|"),")");e=e.replace(new RegExp(f,"g"),y)}}catch(e){n=true;o=e}finally{try{if(!t&&u.return!=null){u.return()}}finally{if(n){throw o}}}return e}function J(e){return e.normalize("NFD").replace(RegExp("\\p{Diacritic}","gu"),"")}function N(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}var n=function(e,r){var t=s({},e);return Object.keys(r).forEach(function(e){if(!Object.hasOwnProperty.call(r,e))return;var o=r[e],u=t[e];Array.isArray(o)?t[e]=d(new Set(d(Array.isArray(u)?u:[]).concat(d(o)))):(typeof o==="undefined"?"undefined":b(o))=="object"&&o!==null&&!Array.isArray(o)?t[e]=n((typeof u==="undefined"?"undefined":b(u))=="object"&&u!==null&&!Array.isArray(u)?u:{},o):t[e]=o}),t};return r.flatMap(function(e){return Array.isArray(e)?e:[e]}).reduce(function(e,r){return n(e,r)},{})}var q={serialize:function(e){return JSON.stringify(e,function(e,r){return a(r,Date)?{__type:"Date",value:r.toISOString()}:r})},deserialize:function(e){return JSON.parse(e,function(e,r){return(r===null||r===void 0?void 0:r.__type)==="Date"?new Date(r.value):r})}};var T=I(require("localforage"),1),U={get:function e(e){return o(function(){var r;return h(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,T.default.getItem(e)];case 1:return[2,t.sent()];case 2:r=t.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 3:return[2]}})})()},set:function e(e,r){return o(function(){var t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,T.default.setItem(e,r)];case 1:n.sent();return[3,3];case 2:t=n.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),t);return[3,3];case 3:return[2]}})})()},remove:function e(e){return o(function(){var r;return h(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,T.default.removeItem(e)];case 1:t.sent();return[3,3];case 2:r=t.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),r);return[3,3];case 3:return[2]}})})()},keys:function e(){return o(function(){var e,r;return h(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,T.default.keys()];case 1:return[2,(e=t.sent())!==null&&e!==void 0?e:[]];case 2:r=t.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",r),[])];case 3:return[2]}})})()}};var H=I(require("crypto-js"),1),R=I(require("slugify"),1),F=R.default.default||R.default;function G(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",r=arguments.length>1?arguments[1]:void 0;var t=r||{},n=t.lower,o=n===void 0?!0:n,u=t.locale,a=u===void 0?"vi":u,i=y(t,["lower","locale"]);return F(e,s({lower:o,locale:a},i))}function $(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return H.default.SHA256(e).toString(H.default.enc.Hex).slice(0,r)}var B={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":b(e))=="object"?a(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};0&&(module.exports={deepMerge:deepMerge,generateShortId:generateShortId,generateSlug:generateSlug,isJson:isJson,regexSearchMapper:regexSearchMapper,removeAccent:removeAccent,serializer:serializer,storageClient:storageClient,validate:validate});
1
+ "use strict";
2
+ function _array_like_to_array(arr, len) {
3
+ if (len == null || len > arr.length) len = arr.length;
4
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
+ return arr2;
6
+ }
7
+ function _array_with_holes(arr) {
8
+ if (Array.isArray(arr)) return arr;
9
+ }
10
+ function _array_without_holes(arr) {
11
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
12
+ }
13
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
14
+ try {
15
+ var info = gen[key](arg);
16
+ var value = info.value;
17
+ } catch (error) {
18
+ reject(error);
19
+ return;
20
+ }
21
+ if (info.done) {
22
+ resolve(value);
23
+ } else {
24
+ Promise.resolve(value).then(_next, _throw);
25
+ }
26
+ }
27
+ function _async_to_generator(fn) {
28
+ return function() {
29
+ var self = this, args = arguments;
30
+ return new Promise(function(resolve, reject) {
31
+ var gen = fn.apply(self, args);
32
+ function _next(value) {
33
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
34
+ }
35
+ function _throw(err) {
36
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
37
+ }
38
+ _next(undefined);
39
+ });
40
+ };
41
+ }
42
+ function _define_property(obj, key, value) {
43
+ if (key in obj) {
44
+ Object.defineProperty(obj, key, {
45
+ value: value,
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true
49
+ });
50
+ } else {
51
+ obj[key] = value;
52
+ }
53
+ return obj;
54
+ }
55
+ function _instanceof(left, right) {
56
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
57
+ return !!right[Symbol.hasInstance](left);
58
+ } else {
59
+ return left instanceof right;
60
+ }
61
+ }
62
+ function _iterable_to_array(iter) {
63
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
64
+ }
65
+ function _iterable_to_array_limit(arr, i) {
66
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
67
+ if (_i == null) return;
68
+ var _arr = [];
69
+ var _n = true;
70
+ var _d = false;
71
+ var _s, _e;
72
+ try {
73
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
74
+ _arr.push(_s.value);
75
+ if (i && _arr.length === i) break;
76
+ }
77
+ } catch (err) {
78
+ _d = true;
79
+ _e = err;
80
+ } finally{
81
+ try {
82
+ if (!_n && _i["return"] != null) _i["return"]();
83
+ } finally{
84
+ if (_d) throw _e;
85
+ }
86
+ }
87
+ return _arr;
88
+ }
89
+ function _non_iterable_rest() {
90
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
91
+ }
92
+ function _non_iterable_spread() {
93
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
94
+ }
95
+ function _object_spread(target) {
96
+ for(var i = 1; i < arguments.length; i++){
97
+ var source = arguments[i] != null ? arguments[i] : {};
98
+ var ownKeys = Object.keys(source);
99
+ if (typeof Object.getOwnPropertySymbols === "function") {
100
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
101
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
102
+ }));
103
+ }
104
+ ownKeys.forEach(function(key) {
105
+ _define_property(target, key, source[key]);
106
+ });
107
+ }
108
+ return target;
109
+ }
110
+ function _object_without_properties(source, excluded) {
111
+ if (source == null) return {};
112
+ var target = _object_without_properties_loose(source, excluded);
113
+ var key, i;
114
+ if (Object.getOwnPropertySymbols) {
115
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
116
+ for(i = 0; i < sourceSymbolKeys.length; i++){
117
+ key = sourceSymbolKeys[i];
118
+ if (excluded.indexOf(key) >= 0) continue;
119
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
120
+ target[key] = source[key];
121
+ }
122
+ }
123
+ return target;
124
+ }
125
+ function _object_without_properties_loose(source, excluded) {
126
+ if (source == null) return {};
127
+ var target = {};
128
+ var sourceKeys = Object.keys(source);
129
+ var key, i;
130
+ for(i = 0; i < sourceKeys.length; i++){
131
+ key = sourceKeys[i];
132
+ if (excluded.indexOf(key) >= 0) continue;
133
+ target[key] = source[key];
134
+ }
135
+ return target;
136
+ }
137
+ function _sliced_to_array(arr, i) {
138
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
139
+ }
140
+ function _to_consumable_array(arr) {
141
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
142
+ }
143
+ function _type_of(obj) {
144
+ "@swc/helpers - typeof";
145
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
146
+ }
147
+ function _unsupported_iterable_to_array(o, minLen) {
148
+ if (!o) return;
149
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
150
+ var n = Object.prototype.toString.call(o).slice(8, -1);
151
+ if (n === "Object" && o.constructor) n = o.constructor.name;
152
+ if (n === "Map" || n === "Set") return Array.from(n);
153
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
154
+ }
155
+ function _ts_generator(thisArg, body) {
156
+ var f, y, t, g, _ = {
157
+ label: 0,
158
+ sent: function() {
159
+ if (t[0] & 1) throw t[1];
160
+ return t[1];
161
+ },
162
+ trys: [],
163
+ ops: []
164
+ };
165
+ return g = {
166
+ next: verb(0),
167
+ "throw": verb(1),
168
+ "return": verb(2)
169
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
170
+ return this;
171
+ }), g;
172
+ function verb(n) {
173
+ return function(v) {
174
+ return step([
175
+ n,
176
+ v
177
+ ]);
178
+ };
179
+ }
180
+ function step(op) {
181
+ if (f) throw new TypeError("Generator is already executing.");
182
+ while(_)try {
183
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
184
+ if (y = 0, t) op = [
185
+ op[0] & 2,
186
+ t.value
187
+ ];
188
+ switch(op[0]){
189
+ case 0:
190
+ case 1:
191
+ t = op;
192
+ break;
193
+ case 4:
194
+ _.label++;
195
+ return {
196
+ value: op[1],
197
+ done: false
198
+ };
199
+ case 5:
200
+ _.label++;
201
+ y = op[1];
202
+ op = [
203
+ 0
204
+ ];
205
+ continue;
206
+ case 7:
207
+ op = _.ops.pop();
208
+ _.trys.pop();
209
+ continue;
210
+ default:
211
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
212
+ _ = 0;
213
+ continue;
214
+ }
215
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
216
+ _.label = op[1];
217
+ break;
218
+ }
219
+ if (op[0] === 6 && _.label < t[1]) {
220
+ _.label = t[1];
221
+ t = op;
222
+ break;
223
+ }
224
+ if (t && _.label < t[2]) {
225
+ _.label = t[2];
226
+ _.ops.push(op);
227
+ break;
228
+ }
229
+ if (t[2]) _.ops.pop();
230
+ _.trys.pop();
231
+ continue;
232
+ }
233
+ op = body.call(thisArg, _);
234
+ } catch (e) {
235
+ op = [
236
+ 6,
237
+ e
238
+ ];
239
+ y = 0;
240
+ } finally{
241
+ f = t = 0;
242
+ }
243
+ if (op[0] & 5) throw op[1];
244
+ return {
245
+ value: op[0] ? op[1] : void 0,
246
+ done: true
247
+ };
248
+ }
249
+ }
250
+ var __create = Object.create;
251
+ var __defProp = Object.defineProperty;
252
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
253
+ var __getOwnPropNames = Object.getOwnPropertyNames;
254
+ var __getProtoOf = Object.getPrototypeOf;
255
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
256
+ var __export = function(target, all) {
257
+ for(var name in all)__defProp(target, name, {
258
+ get: all[name],
259
+ enumerable: true
260
+ });
261
+ };
262
+ var __copyProps = function(to, from, except, desc) {
263
+ if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
264
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
265
+ try {
266
+ var _loop = function() {
267
+ var key = _step.value;
268
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
269
+ get: function() {
270
+ return from[key];
271
+ },
272
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
273
+ });
274
+ };
275
+ for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
276
+ } catch (err) {
277
+ _didIteratorError = true;
278
+ _iteratorError = err;
279
+ } finally{
280
+ try {
281
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
282
+ _iterator.return();
283
+ }
284
+ } finally{
285
+ if (_didIteratorError) {
286
+ throw _iteratorError;
287
+ }
288
+ }
289
+ }
290
+ }
291
+ return to;
292
+ };
293
+ var __toESM = function(mod, isNodeMode, target) {
294
+ return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
295
+ // file that has been converted to a CommonJS file using a Babel-
296
+ // compatible transform (i.e. "__esModule" has not been set), then set
297
+ // "default" to the CommonJS "module.exports" for node compatibility.
298
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
299
+ value: mod,
300
+ enumerable: true
301
+ }) : target, mod);
302
+ };
303
+ var __toCommonJS = function(mod) {
304
+ return __copyProps(__defProp({}, "__esModule", {
305
+ value: true
306
+ }), mod);
307
+ };
308
+ // src/utils/index.ts
309
+ var utils_exports = {};
310
+ __export(utils_exports, {
311
+ deepMerge: function() {
312
+ return deepMerge;
313
+ },
314
+ generateShortId: function() {
315
+ return generateShortId;
316
+ },
317
+ generateSlug: function() {
318
+ return generateSlug;
319
+ },
320
+ isJson: function() {
321
+ return isJson;
322
+ },
323
+ regexSearchMapper: function() {
324
+ return regexSearchMapper;
325
+ },
326
+ removeAccent: function() {
327
+ return removeAccent;
328
+ },
329
+ serializer: function() {
330
+ return serializer;
331
+ },
332
+ storageClient: function() {
333
+ return storageClient;
334
+ },
335
+ validate: function() {
336
+ return validate;
337
+ }
338
+ });
339
+ module.exports = __toCommonJS(utils_exports);
340
+ // src/utils/common.ts
341
+ var import_unorm = __toESM(require("unorm"), 1);
342
+ function isJson(str) {
343
+ try {
344
+ JSON.parse(str);
345
+ return true;
346
+ } catch (e) {
347
+ return false;
348
+ }
349
+ }
350
+ var charMap = {
351
+ a: [
352
+ "\xE0",
353
+ "\xE1",
354
+ "\u1EA1",
355
+ "\u1EA3",
356
+ "\xE3",
357
+ "\xE2",
358
+ "\u1EA7",
359
+ "\u1EA5",
360
+ "\u1EAD",
361
+ "\u1EA9",
362
+ "\u1EAB",
363
+ "\u0103",
364
+ "\u1EB1",
365
+ "\u1EAF",
366
+ "\u1EB7",
367
+ "\u1EB3",
368
+ "\u1EB5"
369
+ ],
370
+ e: [
371
+ "\xE8",
372
+ "\xE9",
373
+ "\u1EB9",
374
+ "\u1EBB",
375
+ "\u1EBD",
376
+ "\xEA",
377
+ "\u1EC1",
378
+ "\u1EBF",
379
+ "\u1EC7",
380
+ "\u1EC3",
381
+ "\u1EC5"
382
+ ],
383
+ i: [
384
+ "\xEC",
385
+ "\xED",
386
+ "\u1ECB",
387
+ "\u1EC9",
388
+ "\u0129"
389
+ ],
390
+ o: [
391
+ "\xF2",
392
+ "\xF3",
393
+ "\u1ECD",
394
+ "\u1ECF",
395
+ "\xF5",
396
+ "\xF4",
397
+ "\u1ED3",
398
+ "\u1ED1",
399
+ "\u1ED9",
400
+ "\u1ED5",
401
+ "\u1ED7",
402
+ "\u01A1",
403
+ "\u1EDD",
404
+ "\u1EDB",
405
+ "\u1EE3",
406
+ "\u1EDF",
407
+ "\u1EE1"
408
+ ],
409
+ u: [
410
+ "\xF9",
411
+ "\xFA",
412
+ "\u1EE5",
413
+ "\u1EE7",
414
+ "\u0169",
415
+ "\u01B0",
416
+ "\u1EEB",
417
+ "\u1EE9",
418
+ "\u1EF1",
419
+ "\u1EED",
420
+ "\u1EEF"
421
+ ],
422
+ y: [
423
+ "\u1EF3",
424
+ "\xFD",
425
+ "\u1EF5",
426
+ "\u1EF7",
427
+ "\u1EF9"
428
+ ],
429
+ d: [
430
+ "\u0111"
431
+ ]
432
+ };
433
+ var upperCharMap = Object.entries(charMap).reduce(function(map, param) {
434
+ var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
435
+ map[key.toUpperCase()] = value.map(function(char) {
436
+ return char.toUpperCase();
437
+ });
438
+ return map;
439
+ }, {});
440
+ function regexSearchMapper(str) {
441
+ str = import_unorm.default.nfkc(str);
442
+ var combinedMap = _object_spread({}, charMap, upperCharMap);
443
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
444
+ try {
445
+ for(var _iterator = Object.entries(combinedMap)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
446
+ var _step_value = _sliced_to_array(_step.value, 2), baseChar = _step_value[0], variations = _step_value[1];
447
+ var pattern = "[".concat(baseChar).concat(variations.join(""), "]");
448
+ var replacement = "(".concat([
449
+ baseChar
450
+ ].concat(_to_consumable_array(variations)).join("|"), ")");
451
+ str = str.replace(new RegExp(pattern, "g"), replacement);
452
+ }
453
+ } catch (err) {
454
+ _didIteratorError = true;
455
+ _iteratorError = err;
456
+ } finally{
457
+ try {
458
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
459
+ _iterator.return();
460
+ }
461
+ } finally{
462
+ if (_didIteratorError) {
463
+ throw _iteratorError;
464
+ }
465
+ }
466
+ }
467
+ return str;
468
+ }
469
+ function removeAccent(str) {
470
+ return str.normalize("NFD").replace(RegExp("\\p{Diacritic}", "gu"), "");
471
+ }
472
+ // src/utils/config.ts
473
+ function deepMerge() {
474
+ for(var _len = arguments.length, configs = new Array(_len), _key = 0; _key < _len; _key++){
475
+ configs[_key] = arguments[_key];
476
+ }
477
+ var merge = function(target, source) {
478
+ var result = _object_spread({}, target);
479
+ Object.keys(source).forEach(function(key) {
480
+ if (!Object.hasOwnProperty.call(source, key)) {
481
+ return;
482
+ }
483
+ var sourceValue = source[key];
484
+ var targetValue = result[key];
485
+ if (Array.isArray(sourceValue)) {
486
+ result[key] = _to_consumable_array(/* @__PURE__ */ new Set(_to_consumable_array(Array.isArray(targetValue) ? targetValue : []).concat(_to_consumable_array(sourceValue))));
487
+ } else if ((typeof sourceValue === "undefined" ? "undefined" : _type_of(sourceValue)) === "object" && sourceValue !== null && !Array.isArray(sourceValue)) {
488
+ result[key] = merge((typeof targetValue === "undefined" ? "undefined" : _type_of(targetValue)) === "object" && targetValue !== null && !Array.isArray(targetValue) ? targetValue : {}, sourceValue);
489
+ } else {
490
+ result[key] = sourceValue;
491
+ }
492
+ });
493
+ return result;
494
+ };
495
+ return configs.flatMap(function(config) {
496
+ return Array.isArray(config) ? config : [
497
+ config
498
+ ];
499
+ }).reduce(function(acc, config) {
500
+ return merge(acc, config);
501
+ }, {});
502
+ }
503
+ // src/utils/serializer.ts
504
+ var serializer = {
505
+ serialize: function(value) {
506
+ return JSON.stringify(value, function(_, v) {
507
+ if (_instanceof(v, Date)) {
508
+ return {
509
+ __type: "Date",
510
+ value: v.toISOString()
511
+ };
512
+ }
513
+ return v;
514
+ });
515
+ },
516
+ deserialize: function(value) {
517
+ return JSON.parse(value, function(_, v) {
518
+ if ((v === null || v === void 0 ? void 0 : v.__type) === "Date") {
519
+ return new Date(v.value);
520
+ }
521
+ return v;
522
+ });
523
+ }
524
+ };
525
+ // src/utils/storage-client.ts
526
+ var import_localforage = __toESM(require("localforage"), 1);
527
+ var storageClient = {
528
+ get: function get(key) {
529
+ return _async_to_generator(function() {
530
+ var error;
531
+ return _ts_generator(this, function(_state) {
532
+ switch(_state.label){
533
+ case 0:
534
+ _state.trys.push([
535
+ 0,
536
+ 2,
537
+ ,
538
+ 3
539
+ ]);
540
+ return [
541
+ 4,
542
+ import_localforage.default.getItem(key)
543
+ ];
544
+ case 1:
545
+ return [
546
+ 2,
547
+ _state.sent()
548
+ ];
549
+ case 2:
550
+ error = _state.sent();
551
+ console.error('❌ [Storage:get] Error getting key "'.concat(key, '":'), error);
552
+ return [
553
+ 2,
554
+ null
555
+ ];
556
+ case 3:
557
+ return [
558
+ 2
559
+ ];
560
+ }
561
+ });
562
+ })();
563
+ },
564
+ set: function set(key, value) {
565
+ return _async_to_generator(function() {
566
+ var error;
567
+ return _ts_generator(this, function(_state) {
568
+ switch(_state.label){
569
+ case 0:
570
+ _state.trys.push([
571
+ 0,
572
+ 2,
573
+ ,
574
+ 3
575
+ ]);
576
+ return [
577
+ 4,
578
+ import_localforage.default.setItem(key, value)
579
+ ];
580
+ case 1:
581
+ _state.sent();
582
+ return [
583
+ 3,
584
+ 3
585
+ ];
586
+ case 2:
587
+ error = _state.sent();
588
+ console.error('❌ [Storage:set] Error setting key "'.concat(key, '":'), error);
589
+ return [
590
+ 3,
591
+ 3
592
+ ];
593
+ case 3:
594
+ return [
595
+ 2
596
+ ];
597
+ }
598
+ });
599
+ })();
600
+ },
601
+ remove: function remove(key) {
602
+ return _async_to_generator(function() {
603
+ var error;
604
+ return _ts_generator(this, function(_state) {
605
+ switch(_state.label){
606
+ case 0:
607
+ _state.trys.push([
608
+ 0,
609
+ 2,
610
+ ,
611
+ 3
612
+ ]);
613
+ return [
614
+ 4,
615
+ import_localforage.default.removeItem(key)
616
+ ];
617
+ case 1:
618
+ _state.sent();
619
+ return [
620
+ 3,
621
+ 3
622
+ ];
623
+ case 2:
624
+ error = _state.sent();
625
+ console.error('❌ [Storage:remove] Error removing key "'.concat(key, '":'), error);
626
+ return [
627
+ 3,
628
+ 3
629
+ ];
630
+ case 3:
631
+ return [
632
+ 2
633
+ ];
634
+ }
635
+ });
636
+ })();
637
+ },
638
+ keys: function keys() {
639
+ return _async_to_generator(function() {
640
+ var keys, error;
641
+ return _ts_generator(this, function(_state) {
642
+ switch(_state.label){
643
+ case 0:
644
+ _state.trys.push([
645
+ 0,
646
+ 2,
647
+ ,
648
+ 3
649
+ ]);
650
+ return [
651
+ 4,
652
+ import_localforage.default.keys()
653
+ ];
654
+ case 1:
655
+ keys = _state.sent();
656
+ return [
657
+ 2,
658
+ keys !== null && keys !== void 0 ? keys : []
659
+ ];
660
+ case 2:
661
+ error = _state.sent();
662
+ console.error("❌ [Storage:keys] Error getting keys:", error);
663
+ return [
664
+ 2,
665
+ []
666
+ ];
667
+ case 3:
668
+ return [
669
+ 2
670
+ ];
671
+ }
672
+ });
673
+ })();
674
+ }
675
+ };
676
+ // src/utils/string.ts
677
+ var import_crypto_js = __toESM(require("crypto-js"), 1);
678
+ var import_slugify = __toESM(require("slugify"), 1);
679
+ var slugify = import_slugify.default.default || import_slugify.default;
680
+ function generateSlug() {
681
+ var str = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", options = arguments.length > 1 ? arguments[1] : void 0;
682
+ var _ref = options || {}, _ref_lower = _ref.lower, lower = _ref_lower === void 0 ? true : _ref_lower, _ref_locale = _ref.locale, locale = _ref_locale === void 0 ? "vi" : _ref_locale, rest = _object_without_properties(_ref, [
683
+ "lower",
684
+ "locale"
685
+ ]);
686
+ return slugify(str, _object_spread({
687
+ lower: lower,
688
+ locale: locale
689
+ }, rest));
690
+ }
691
+ function generateShortId(uuid) {
692
+ var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 4;
693
+ return import_crypto_js.default.SHA256(uuid).toString(import_crypto_js.default.enc.Hex).slice(0, length);
694
+ }
695
+ // src/utils/validate.ts
696
+ var validate = {
697
+ isEmpty: function isEmpty(value) {
698
+ if (value === null || value === void 0) {
699
+ return true;
700
+ }
701
+ if (Array.isArray(value)) {
702
+ return value.length === 0;
703
+ }
704
+ if ((typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
705
+ if (_instanceof(value, Date)) {
706
+ return false;
707
+ }
708
+ return Object.keys(value).length === 0;
709
+ }
710
+ if (typeof value === "string") {
711
+ return value.trim().length === 0;
712
+ }
713
+ return false;
714
+ }
715
+ };
716
+ // Annotate the CommonJS export names for ESM import in node:
717
+ 0 && (module.exports = {
718
+ deepMerge: deepMerge,
719
+ generateShortId: generateShortId,
720
+ generateSlug: generateSlug,
721
+ isJson: isJson,
722
+ regexSearchMapper: regexSearchMapper,
723
+ removeAccent: removeAccent,
724
+ serializer: serializer,
725
+ storageClient: storageClient,
726
+ validate: validate
727
+ });