sales-frontend-utils 0.0.55 → 0.0.57
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.cjs +103 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +99 -13
- package/dist/index.js.map +1 -1
- package/dist/types/common.types.d.cts +5 -1
- package/dist/types/common.types.d.ts +5 -1
- package/dist/utils/cookie-utils.cjs.map +1 -1
- package/dist/utils/cookie-utils.js.map +1 -1
- package/dist/utils/download-utils.cjs +84 -0
- package/dist/utils/download-utils.cjs.map +1 -0
- package/dist/utils/download-utils.d.cts +8 -0
- package/dist/utils/download-utils.d.ts +8 -0
- package/dist/utils/download-utils.js +80 -0
- package/dist/utils/download-utils.js.map +1 -0
- package/dist/utils/environment-utils.cjs +4 -1
- package/dist/utils/environment-utils.cjs.map +1 -1
- package/dist/utils/environment-utils.d.cts +1 -1
- package/dist/utils/environment-utils.d.ts +1 -1
- package/dist/utils/environment-utils.js +4 -1
- package/dist/utils/environment-utils.js.map +1 -1
- package/dist/utils/file-utils.cjs +28 -11
- package/dist/utils/file-utils.cjs.map +1 -1
- package/dist/utils/file-utils.js +28 -11
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/utils/ga/index.cjs.map +1 -1
- package/dist/utils/ga/index.js.map +1 -1
- package/dist/utils/gender.cjs +21 -0
- package/dist/utils/gender.cjs.map +1 -0
- package/dist/utils/gender.d.cts +15 -0
- package/dist/utils/gender.d.ts +15 -0
- package/dist/utils/gender.js +18 -0
- package/dist/utils/gender.js.map +1 -0
- package/dist/utils/user-agent-utils.cjs.map +1 -1
- package/dist/utils/user-agent-utils.js.map +1 -1
- package/package.json +21 -1
package/dist/index.cjs
CHANGED
|
@@ -135,7 +135,10 @@ var isStorybookEnv = () => {
|
|
|
135
135
|
return false;
|
|
136
136
|
}
|
|
137
137
|
};
|
|
138
|
-
var getBusinessWorkDivisionCode = () => {
|
|
138
|
+
var getBusinessWorkDivisionCode = (pathname) => {
|
|
139
|
+
if (pathname) {
|
|
140
|
+
return pathname.split("/")[1] ?? "";
|
|
141
|
+
}
|
|
139
142
|
return location.pathname.split("/")[1] ?? "";
|
|
140
143
|
};
|
|
141
144
|
var getServicePath = () => {
|
|
@@ -690,23 +693,40 @@ function base64ToBlob(base64String, contentType = "") {
|
|
|
690
693
|
const regex = /^data:([a-zA-Z0-9/+.-]+);base64,/;
|
|
691
694
|
const matches = base64String.match(regex);
|
|
692
695
|
if (matches === null) {
|
|
693
|
-
|
|
696
|
+
const debugInfo = {
|
|
697
|
+
base64String
|
|
698
|
+
};
|
|
699
|
+
throw new Error(`Invalid base64 string format. Debug info: ${JSON.stringify(debugInfo, null, 2)}`);
|
|
694
700
|
}
|
|
695
701
|
const contentTypeFinal = contentType || matches[1];
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
702
|
+
try {
|
|
703
|
+
const byteCharacters = atob(base64String.replace(regex, ""));
|
|
704
|
+
const byteNumbers = new Array(byteCharacters.length);
|
|
705
|
+
for (let i = 0; i < byteCharacters.length; i++) {
|
|
706
|
+
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
707
|
+
}
|
|
708
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
709
|
+
return new Blob([byteArray], { type: contentTypeFinal });
|
|
710
|
+
} catch (error) {
|
|
711
|
+
throw new Error(
|
|
712
|
+
`Failed to decode base64 string. Original error: ${error instanceof Error ? error.message : "Unknown error"}. String length: ${base64String?.length}, Content type: ${contentTypeFinal}`
|
|
713
|
+
);
|
|
700
714
|
}
|
|
701
|
-
const byteArray = new Uint8Array(byteNumbers);
|
|
702
|
-
return new Blob([byteArray], { type: contentTypeFinal });
|
|
703
715
|
}
|
|
704
716
|
function base64ToFile(base64String, fileName, contentType = "") {
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
717
|
+
try {
|
|
718
|
+
const blob = base64ToBlob(base64String, contentType);
|
|
719
|
+
if (!blob) {
|
|
720
|
+
throw new Error(
|
|
721
|
+
`Failed to create blob. FileName: ${fileName}, ContentType: ${contentType}, StringLength: ${base64String?.length}`
|
|
722
|
+
);
|
|
723
|
+
}
|
|
724
|
+
return blobToFile(blob, fileName);
|
|
725
|
+
} catch (error) {
|
|
726
|
+
throw new Error(
|
|
727
|
+
`base64ToFile failed for "${fileName}". ${error instanceof Error ? error.message : "Unknown error"}`
|
|
728
|
+
);
|
|
708
729
|
}
|
|
709
|
-
return blobToFile(blob, fileName);
|
|
710
730
|
}
|
|
711
731
|
function blobToFile(blob, fileName) {
|
|
712
732
|
return new File([blob], fileName, {
|
|
@@ -1157,6 +1177,72 @@ function isOverEngCharCount(value, count) {
|
|
|
1157
1177
|
return false;
|
|
1158
1178
|
}
|
|
1159
1179
|
|
|
1180
|
+
// src/utils/gender.ts
|
|
1181
|
+
var GENDER_LABEL_MAP = {
|
|
1182
|
+
"1": "\uB0A8\uC131",
|
|
1183
|
+
"2": "\uC5EC\uC131",
|
|
1184
|
+
"3": "\uB0A8\uC131",
|
|
1185
|
+
"4": "\uC5EC\uC131",
|
|
1186
|
+
"5": "\uB0A8\uC131",
|
|
1187
|
+
"6": "\uC5EC\uC131",
|
|
1188
|
+
"7": "\uB0A8\uC131",
|
|
1189
|
+
"8": "\uC5EC\uC131"
|
|
1190
|
+
};
|
|
1191
|
+
var getGenderName = (genderCode) => {
|
|
1192
|
+
return genderCode ? GENDER_LABEL_MAP[genderCode] : "";
|
|
1193
|
+
};
|
|
1194
|
+
|
|
1195
|
+
// src/utils/download-utils.ts
|
|
1196
|
+
var getBlobUrl = async (url) => {
|
|
1197
|
+
let downloadUrl = "";
|
|
1198
|
+
if (url.startsWith("http")) {
|
|
1199
|
+
const response = await fetch(url);
|
|
1200
|
+
if (!response.ok) {
|
|
1201
|
+
throw new Error(`Failed to download ${url}`);
|
|
1202
|
+
}
|
|
1203
|
+
const blob = await response.blob();
|
|
1204
|
+
downloadUrl = window.URL.createObjectURL(blob);
|
|
1205
|
+
} else if (url.startsWith("blob")) {
|
|
1206
|
+
downloadUrl = url;
|
|
1207
|
+
} else if (url.startsWith("data")) {
|
|
1208
|
+
downloadUrl = URL.createObjectURL(base64ToBlob(url));
|
|
1209
|
+
} else {
|
|
1210
|
+
throw new Error(`unknown type : ${url}`);
|
|
1211
|
+
}
|
|
1212
|
+
return downloadUrl;
|
|
1213
|
+
};
|
|
1214
|
+
var downloadFromNewWindow = async (url, fileName) => {
|
|
1215
|
+
try {
|
|
1216
|
+
const aTag = document.createElement("a");
|
|
1217
|
+
const downloadUrl = await getBlobUrl(url);
|
|
1218
|
+
aTag.href = downloadUrl;
|
|
1219
|
+
aTag.download = fileName;
|
|
1220
|
+
const newWin = window.open();
|
|
1221
|
+
newWin?.document.body.appendChild(aTag);
|
|
1222
|
+
aTag.click();
|
|
1223
|
+
aTag.remove();
|
|
1224
|
+
window.URL.revokeObjectURL(downloadUrl);
|
|
1225
|
+
} catch (e) {
|
|
1226
|
+
console.error(e);
|
|
1227
|
+
throw e;
|
|
1228
|
+
}
|
|
1229
|
+
};
|
|
1230
|
+
var downloadFromCurrentWindow = async (url, fileName) => {
|
|
1231
|
+
try {
|
|
1232
|
+
const a = document.createElement("a");
|
|
1233
|
+
const downloadUrl = await getBlobUrl(url);
|
|
1234
|
+
a.href = downloadUrl;
|
|
1235
|
+
a.download = fileName;
|
|
1236
|
+
document.body.appendChild(a);
|
|
1237
|
+
a.click();
|
|
1238
|
+
a.remove();
|
|
1239
|
+
window.URL.revokeObjectURL(downloadUrl);
|
|
1240
|
+
} catch (e) {
|
|
1241
|
+
console.error(e);
|
|
1242
|
+
throw e;
|
|
1243
|
+
}
|
|
1244
|
+
};
|
|
1245
|
+
|
|
1160
1246
|
// src/utils/ga/ga.js
|
|
1161
1247
|
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";
|
|
1162
1248
|
|
|
@@ -1175,6 +1261,7 @@ var loadGaScript = () => {
|
|
|
1175
1261
|
}
|
|
1176
1262
|
};
|
|
1177
1263
|
|
|
1264
|
+
exports.GENDER_LABEL_MAP = GENDER_LABEL_MAP;
|
|
1178
1265
|
exports.MessageEventManager = MessageEventManager;
|
|
1179
1266
|
exports.addE2EObject = addE2EObject;
|
|
1180
1267
|
exports.base64ToBlob = base64ToBlob;
|
|
@@ -1190,9 +1277,12 @@ exports.convertTextToImg = convertTextToImg;
|
|
|
1190
1277
|
exports.debounce = debounce;
|
|
1191
1278
|
exports.deleteCookie = deleteCookie;
|
|
1192
1279
|
exports.downloadBlob = downloadBlob;
|
|
1280
|
+
exports.downloadFromCurrentWindow = downloadFromCurrentWindow;
|
|
1281
|
+
exports.downloadFromNewWindow = downloadFromNewWindow;
|
|
1193
1282
|
exports.drawImageResizeCentered = drawImageResizeCentered;
|
|
1194
1283
|
exports.fileToBase64 = fileToBase64;
|
|
1195
1284
|
exports.getApiHostNameFromEnvironment = getApiHostNameFromEnvironment;
|
|
1285
|
+
exports.getBlobUrl = getBlobUrl;
|
|
1196
1286
|
exports.getBrowserName = getBrowserName;
|
|
1197
1287
|
exports.getBrowserVersion = getBrowserVersion;
|
|
1198
1288
|
exports.getBusinessWorkDivisionCode = getBusinessWorkDivisionCode;
|
|
@@ -1211,6 +1301,7 @@ exports.getE2EDataIDs = getE2EDataIDs;
|
|
|
1211
1301
|
exports.getEnvironmentFromHostname = getEnvironmentFromHostname;
|
|
1212
1302
|
exports.getExt = getExt;
|
|
1213
1303
|
exports.getFormFactorFromUserAgent = getFormFactorFromUserAgent;
|
|
1304
|
+
exports.getGenderName = getGenderName;
|
|
1214
1305
|
exports.getLastDay = getLastDay;
|
|
1215
1306
|
exports.getNlcHostFromEnvironment = getNlcHostFromEnvironment;
|
|
1216
1307
|
exports.getOSName = getOSName;
|