sales-frontend-utils 0.0.55 → 0.0.56

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/index.d.cts CHANGED
@@ -8,7 +8,8 @@ export { base64ToBlob, base64ToFile, blobToFile, downloadBlob, fileToBase64, get
8
8
  export { addE2EObject, getE2EDataIDs, hasAstx2, initASTX2, loadScript } from './utils/astx2-utils.cjs';
9
9
  export { DateFormat, PeriodType, convertDateFormat, convertDateString, getDateDiff, getLastDay, getOneMonthLater, getPeriodDate, isDate, isDateAfter, isFutureDate, isValidDate, validateBirthdate } from './utils/date-utils.cjs';
10
10
  export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab } from './utils/key-trigger-utils.cjs';
11
+ export { GENDER_LABEL_MAP, getGenderName } from './utils/gender.cjs';
11
12
  export { loadGaScript } from './utils/ga/index.cjs';
12
- export { BrowserName, ExecutionEnvironment, OSName } from './types/common.types.cjs';
13
+ export { BrowserName, ExecutionEnvironment, GenderCode, OSName } from './types/common.types.cjs';
13
14
  import 'dayjs';
14
15
  import 'react';
package/dist/index.d.ts CHANGED
@@ -8,7 +8,8 @@ export { base64ToBlob, base64ToFile, blobToFile, downloadBlob, fileToBase64, get
8
8
  export { addE2EObject, getE2EDataIDs, hasAstx2, initASTX2, loadScript } from './utils/astx2-utils.js';
9
9
  export { DateFormat, PeriodType, convertDateFormat, convertDateString, getDateDiff, getLastDay, getOneMonthLater, getPeriodDate, isDate, isDateAfter, isFutureDate, isValidDate, validateBirthdate } from './utils/date-utils.js';
10
10
  export { charFilterEng, charFilterKor, checkKeys, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isEnter, isEscape, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isTab } from './utils/key-trigger-utils.js';
11
+ export { GENDER_LABEL_MAP, getGenderName } from './utils/gender.js';
11
12
  export { loadGaScript } from './utils/ga/index.js';
12
- export { BrowserName, ExecutionEnvironment, OSName } from './types/common.types.js';
13
+ export { BrowserName, ExecutionEnvironment, GenderCode, OSName } from './types/common.types.js';
13
14
  import 'dayjs';
14
15
  import 'react';
package/dist/index.js CHANGED
@@ -128,7 +128,10 @@ var isStorybookEnv = () => {
128
128
  return false;
129
129
  }
130
130
  };
131
- var getBusinessWorkDivisionCode = () => {
131
+ var getBusinessWorkDivisionCode = (pathname) => {
132
+ if (pathname) {
133
+ return pathname.split("/")[1] ?? "";
134
+ }
132
135
  return location.pathname.split("/")[1] ?? "";
133
136
  };
134
137
  var getServicePath = () => {
@@ -683,23 +686,40 @@ function base64ToBlob(base64String, contentType = "") {
683
686
  const regex = /^data:([a-zA-Z0-9/+.-]+);base64,/;
684
687
  const matches = base64String.match(regex);
685
688
  if (matches === null) {
686
- throw new Error("Invalid base64 string");
689
+ const debugInfo = {
690
+ base64String
691
+ };
692
+ throw new Error(`Invalid base64 string format. Debug info: ${JSON.stringify(debugInfo, null, 2)}`);
687
693
  }
688
694
  const contentTypeFinal = contentType || matches[1];
689
- const byteCharacters = atob(base64String.replace(regex, ""));
690
- const byteNumbers = new Array(byteCharacters.length);
691
- for (let i = 0; i < byteCharacters.length; i++) {
692
- byteNumbers[i] = byteCharacters.charCodeAt(i);
695
+ try {
696
+ const byteCharacters = atob(base64String.replace(regex, ""));
697
+ const byteNumbers = new Array(byteCharacters.length);
698
+ for (let i = 0; i < byteCharacters.length; i++) {
699
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
700
+ }
701
+ const byteArray = new Uint8Array(byteNumbers);
702
+ return new Blob([byteArray], { type: contentTypeFinal });
703
+ } catch (error) {
704
+ throw new Error(
705
+ `Failed to decode base64 string. Original error: ${error instanceof Error ? error.message : "Unknown error"}. String length: ${base64String?.length}, Content type: ${contentTypeFinal}`
706
+ );
693
707
  }
694
- const byteArray = new Uint8Array(byteNumbers);
695
- return new Blob([byteArray], { type: contentTypeFinal });
696
708
  }
697
709
  function base64ToFile(base64String, fileName, contentType = "") {
698
- const blob = base64ToBlob(base64String, contentType);
699
- if (!blob) {
700
- throw new Error("Invalid base64 string");
710
+ try {
711
+ const blob = base64ToBlob(base64String, contentType);
712
+ if (!blob) {
713
+ throw new Error(
714
+ `Failed to create blob. FileName: ${fileName}, ContentType: ${contentType}, StringLength: ${base64String?.length}`
715
+ );
716
+ }
717
+ return blobToFile(blob, fileName);
718
+ } catch (error) {
719
+ throw new Error(
720
+ `base64ToFile failed for "${fileName}". ${error instanceof Error ? error.message : "Unknown error"}`
721
+ );
701
722
  }
702
- return blobToFile(blob, fileName);
703
723
  }
704
724
  function blobToFile(blob, fileName) {
705
725
  return new File([blob], fileName, {
@@ -1150,6 +1170,21 @@ function isOverEngCharCount(value, count) {
1150
1170
  return false;
1151
1171
  }
1152
1172
 
1173
+ // src/utils/gender.ts
1174
+ var GENDER_LABEL_MAP = {
1175
+ "1": "\uB0A8\uC131",
1176
+ "2": "\uC5EC\uC131",
1177
+ "3": "\uB0A8\uC131",
1178
+ "4": "\uC5EC\uC131",
1179
+ "5": "\uB0A8\uC131",
1180
+ "6": "\uC5EC\uC131",
1181
+ "7": "\uB0A8\uC131",
1182
+ "8": "\uC5EC\uC131"
1183
+ };
1184
+ var getGenderName = (genderCode) => {
1185
+ return genderCode ? GENDER_LABEL_MAP[genderCode] : "";
1186
+ };
1187
+
1153
1188
  // src/utils/ga/ga.js
1154
1189
  var ga_default = "(function (w, d, s, l, i) {\n w[l] = w[l] || [];\n w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });\n let f = d.getElementsByTagName(s)[0],\n j = d.createElement(s),\n dl = l !== 'dataLayer' ? `&l=${l}` : '';\n j.async = true;\n j.src = `https://www.googletagmanager.com/gtm.js?id=${i}${dl}`;\n f.parentNode.insertBefore(j, f);\n})(window, document, 'script', 'dataLayer', 'GTM-PPT3LJ56');\n";
1155
1190
 
@@ -1168,6 +1203,6 @@ var loadGaScript = () => {
1168
1203
  }
1169
1204
  };
1170
1205
 
1171
- export { MessageEventManager, addE2EObject, base64ToBlob, base64ToFile, blobToFile, charFilterEng, charFilterKor, checkKeys, checkUserAgentDspApp, convertDateFormat, convertDateString, convertTextToImg, debounce, deleteCookie, downloadBlob, drawImageResizeCentered, fileToBase64, getApiHostNameFromEnvironment, getBrowserName, getBrowserVersion, getBusinessWorkDivisionCode, getCdnHostNameFromEnvironment, getCookie, getCurrentBrowserName, getCurrentBrowserVersion, getCurrentOSName, getCurrentOSVersion, getDateDiff, getDeviceModel, getDspApiBasePathFromEnvironment, getDspExecutionEnvironment, getDudApiBasePathFromEnvironment, getE2EDataIDs, getEnvironmentFromHostname, getExt, getFormFactorFromUserAgent, getLastDay, getNlcHostFromEnvironment, getOSName, getOSVersion, getOneMonthLater, getOrCreateDeviceId, getPeriodDate, getServicePath, getSubdomain, getTextWidth, hasAstx2, imageUrlToFile, imageUrlToFileFetch, imageUrlToFileWithCanvas, imageUrlToFileWithXMLHttpRequest, initASTX2, isAndroidDevice, isAndroidWebView, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isClient, isDate, isDateAfter, isDspApp, isEnter, isEscape, isFpPlannerApp, isFutureDate, isIosDevice, isIosWebView, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isPc, isPhone, isProductionApp, isSalesPortal, isStorybookEnv, isTab, isTablet, isValidDate, loadGaScript, loadScript, objectUrlToBase64, objectUrlToBlob, setCookie, throttle, validateBirthdate };
1206
+ export { GENDER_LABEL_MAP, MessageEventManager, addE2EObject, base64ToBlob, base64ToFile, blobToFile, charFilterEng, charFilterKor, checkKeys, checkUserAgentDspApp, convertDateFormat, convertDateString, convertTextToImg, debounce, deleteCookie, downloadBlob, drawImageResizeCentered, fileToBase64, getApiHostNameFromEnvironment, getBrowserName, getBrowserVersion, getBusinessWorkDivisionCode, getCdnHostNameFromEnvironment, getCookie, getCurrentBrowserName, getCurrentBrowserVersion, getCurrentOSName, getCurrentOSVersion, getDateDiff, getDeviceModel, getDspApiBasePathFromEnvironment, getDspExecutionEnvironment, getDudApiBasePathFromEnvironment, getE2EDataIDs, getEnvironmentFromHostname, getExt, getFormFactorFromUserAgent, getGenderName, getLastDay, getNlcHostFromEnvironment, getOSName, getOSVersion, getOneMonthLater, getOrCreateDeviceId, getPeriodDate, getServicePath, getSubdomain, getTextWidth, hasAstx2, imageUrlToFile, imageUrlToFileFetch, imageUrlToFileWithCanvas, imageUrlToFileWithXMLHttpRequest, initASTX2, isAndroidDevice, isAndroidWebView, isArrowDown, isArrowLeft, isArrowRight, isArrowUp, isBackspace, isClient, isDate, isDateAfter, isDspApp, isEnter, isEscape, isFpPlannerApp, isFutureDate, isIosDevice, isIosWebView, isOverCharCount, isOverEngCharCount, isOverKorCharCount, isPc, isPhone, isProductionApp, isSalesPortal, isStorybookEnv, isTab, isTablet, isValidDate, loadGaScript, loadScript, objectUrlToBase64, objectUrlToBlob, setCookie, throttle, validateBirthdate };
1172
1207
  //# sourceMappingURL=index.js.map
1173
1208
  //# sourceMappingURL=index.js.map