sales-frontend-oz 0.0.17 → 0.0.18
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 +180 -402
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -104
- package/dist/index.d.ts +24 -104
- package/dist/index.js +181 -387
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -151,48 +151,6 @@ var commonPdfExportParam = [
|
|
|
151
151
|
// 폰트를 포함시킬때 사용하는 글자만 포함시킨다
|
|
152
152
|
`pdf.fontembedding_subset=true`
|
|
153
153
|
];
|
|
154
|
-
|
|
155
|
-
// src/oz/constant/test-data.ts
|
|
156
|
-
var wrapperStyle = { display: "flex", flexFlow: "column", gap: "10px" };
|
|
157
|
-
var btnStyle = { border: "1px solid red", minHeight: "40px" };
|
|
158
|
-
var DownloadDocumentList = [
|
|
159
|
-
{ name: "[A0010]\uCCAD\uC57D\uC11C", doc: [{ docCode: "A0010", fileID: "548PJrCOTEbtSKkAA", imageFormatCode: "RT003000", imageDocumentTypeCode: "IT00", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
160
|
-
{ name: "[A0100]\uBE44\uAD50\uC548\uB0B4\uD655\uC778\uC11C", doc: [{ docCode: "A0100", fileID: "ADXS1CCOTEgGVKkAA", imageFormatCode: "RT003001", imageDocumentTypeCode: "IT01", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
161
|
-
{ name: "[A0900]\uC0C1\uD488\uC124\uBA85\uC11C", doc: [{ docCode: "A0900", fileID: "q7jjxECOTErDoKkAA", imageFormatCode: "RT003002", imageDocumentTypeCode: "IT02", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
162
|
-
{ name: "[A1500]\uCCAD\uC57D\uBD80\uC18D\uC815\uBCF4\uD655\uC778\uC11C", doc: [{ docCode: "A1500", fileID: "PHYuIXCOTEvSIKkAA", imageFormatCode: "RT003003", imageDocumentTypeCode: "IT03", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
163
|
-
{ name: "[A2215]\uBCF4\uD5D8\uACC4\uC57D\uB300\uCD9C\uC774\uD589\uAD00\uB9AC\uB3D9\uC758\uC11C", doc: [{ docCode: "A2215", fileID: "aCLb5eCOTEyqjKkAA", imageFormatCode: "RT003004", imageDocumentTypeCode: "IT04", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
164
|
-
{ name: "[A2800]\uACC4\uC57D\uC804\uC54C\uB9B4\uC758\uBB34", doc: [{ docCode: "A2800", fileID: "Je6ZAtCOTE4rTKkAA", imageFormatCode: "RT003005", imageDocumentTypeCode: "IT05", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
165
|
-
{ name: "[A3503]\uCCAD\uC57D\uC11C\uBCC4\uC9C0(\uBCC0\uC561\uC6A9)", doc: [{ docCode: "A3503", fileID: "ApnNTbCOTE8CjKkAA", imageFormatCode: "RT003006", imageDocumentTypeCode: "IT06", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
166
|
-
{ name: "[B0101]\uBCF4\uD5D8\uACC4\uC57D\uCCB4\uACB0\uB3D9\uC758\uC11C", doc: [{ docCode: "B0101", fileID: "756qLXCOTFDYFKkAA", imageFormatCode: "RT003007", imageDocumentTypeCode: "IT07", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
167
|
-
{ name: "[C0400]\uACC4\uC57D\uCCB4\uACB0\uC774\uD589\uB3D9\uC758\uC11C", doc: [{ docCode: "C0400", fileID: "Bg0c0HCOTFHF7KkAA", imageFormatCode: "RT003008", imageDocumentTypeCode: "IT08", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
168
|
-
{ name: "[C0401]\uC0C1\uD488\uC18C\uAC1C\uC0C1\uC138\uB3D9\uC758\uC11C", doc: [{ docCode: "C0401", fileID: "yDoJLMCOTFKKpKkAA", imageFormatCode: "RT003009", imageDocumentTypeCode: "IT09", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
169
|
-
{ name: "[C1000]\uBCF4\uD5D8\uC0C1\uD488\uD310\uB9E4\uCCB4\uD06C\uB9AC\uC2A4\uD2B8", doc: [{ docCode: "C1000", fileID: "FtAEqcCOTFOOsKkAA", imageFormatCode: "RT003010", imageDocumentTypeCode: "IT10", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
170
|
-
{ name: "[C1300]\uACC4\uC57D\uCCB4\uACB0\uACE0\uC9C0\uC758\uBB34\uD655\uC778\uC11C", doc: [{ docCode: "C1300", fileID: "TAHeCCCOTFRqrKkAA", imageFormatCode: "RT003011", imageDocumentTypeCode: "IT11", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false },
|
|
171
|
-
{ name: "[C1400]\uBCF4\uD5D8\uC0C1\uD488\uBE44\uAD50\uC124\uBA85\uD655\uC778\uC11C", doc: [{ docCode: "C1400", fileID: "3nLROXCOTFU1QKkAA", imageFormatCode: "RT003012", imageDocumentTypeCode: "IT12", filePath: "", startPage: 0, endPage: 0 }], complete: false, startPage: 0, endPage: 0, focus: false }
|
|
172
|
-
];
|
|
173
|
-
var ExtraData = {
|
|
174
|
-
// 문서코드
|
|
175
|
-
A0010: {
|
|
176
|
-
// connection.inputjson으로 바인딩할 데이터
|
|
177
|
-
inputJson: {
|
|
178
|
-
// 계약자 성명 사인정보
|
|
179
|
-
A0010_mynm_sg: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAABDUlEQVR4nOzSMQ0CQBQEUSAnAAU0iEAAPWKQgQU04gED10z1IXlPwWay6/78HH7P+3qZnrBxmh7wT8QKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECtZjvaY3bNzOx+kJG54ViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgVfAMAAP//tD4Eb/yjIncAAAAASUVORK5CYII=",
|
|
180
|
-
// 계약자 서명 사인정보
|
|
181
|
-
A0010_mysg_sign: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAABDElEQVR4nOzSsQkCYRgEUZXDVgTtxdDIYgR7sFkTG/iTiT4P3qtgGXa7vp+H//M5PqYnLJymB+yJWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgVjBdj9fpjcsvG7f6QkLnhWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBX8AgAA//9+7gTkg4AcBQAAAABJRU5ErkJggg=="
|
|
182
|
-
},
|
|
183
|
-
// 기타 공통으로 사용하지 않을 파라미터
|
|
184
|
-
extraParam: [],
|
|
185
|
-
// aaa=bbb
|
|
186
|
-
args: []
|
|
187
|
-
},
|
|
188
|
-
A0900: {
|
|
189
|
-
args: []
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
var policyNumber = "300034894";
|
|
193
|
-
var fpInfo = { uniqNo: "2210000" };
|
|
194
|
-
var roleCode = [`11`, `28`];
|
|
195
|
-
var xdudheaders = `Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJXNWRtc1g1MkVWZGV0YThJRy90YmlZY281bnVCdzRZOXhGZjlWakZzdWxnbU00YnkiLCJpYXQiOjE3NjEwNDMyNjgsImV4cCI6MTc2NjI5OTI2OH0.KDnF7ZhkmnEApGCvOcItwcHnLWe5iJu64g93GACT2yo`;
|
|
196
154
|
function useDocumentInfo(initialValue) {
|
|
197
155
|
const documentInfo = initialValue;
|
|
198
156
|
const documentList = react.useMemo(() => documentInfo.map((i) => i.doc).flat(1), [documentInfo]);
|
|
@@ -267,6 +225,20 @@ var OZTriggerExternalEvent = /* @__PURE__ */ ((OZTriggerExternalEvent2) => {
|
|
|
267
225
|
OZTriggerExternalEvent2["CropImage"] = "cropimage";
|
|
268
226
|
return OZTriggerExternalEvent2;
|
|
269
227
|
})(OZTriggerExternalEvent || {});
|
|
228
|
+
async function AlertTemporaryError() {
|
|
229
|
+
return await salesFrontendBridge.Bridge.nativeOz.showAlert({
|
|
230
|
+
title: "\uC77C\uC2DC\uC801\uC778 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4",
|
|
231
|
+
message: "\uBB38\uC81C\uAC00 \uC9C0\uC18D\uB420 \uACBD\uC6B0 IT\uCF5C\uC13C\uD130(1522-6379)\uB85C \uBB38\uC758\uD574\uC8FC\uC138\uC694.",
|
|
232
|
+
buttons: { close: false, main: "\uD655\uC778" }
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
async function AlertDocumentLoadError() {
|
|
236
|
+
return await salesFrontendBridge.Bridge.nativeOz.showAlert({
|
|
237
|
+
title: "\uCCAD\uC57D\uBB38\uC11C\uB97C \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4",
|
|
238
|
+
message: "\uBB38\uC81C\uAC00 \uC9C0\uC18D\uB420 \uACBD\uC6B0 IT\uCF5C\uC13C\uD130(1522-6379)\uB85C \uBB38\uC758\uD574\uC8FC\uC138\uC694.",
|
|
239
|
+
buttons: { close: false, main: "\uD655\uC778" }
|
|
240
|
+
});
|
|
241
|
+
}
|
|
270
242
|
|
|
271
243
|
// src/oz/utils/common-util.ts
|
|
272
244
|
function categorizeByPageRange(data, pageCounts) {
|
|
@@ -324,22 +296,69 @@ function ensureArray(arg) {
|
|
|
324
296
|
function DeepCopy(arg) {
|
|
325
297
|
return JSON.parse(JSON.stringify(arg));
|
|
326
298
|
}
|
|
327
|
-
async function
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
299
|
+
async function fetchDocument(args) {
|
|
300
|
+
const { data: result } = await salesFrontendBridge.Bridge.native.downloadDocument(args);
|
|
301
|
+
return result.data.map((i) => ({ ...i, startPage: 0, endPage: 0 }));
|
|
302
|
+
}
|
|
303
|
+
async function fetchFont() {
|
|
304
|
+
const { data: fontMap } = await salesFrontendBridge.Bridge.native.getOzFontParam();
|
|
305
|
+
const fontParms = Object.keys(fontMap).map((i) => `font.${i}=${fontMap[i]}`);
|
|
306
|
+
return fontParms;
|
|
307
|
+
}
|
|
308
|
+
async function postFiletoDud(imageStr) {
|
|
309
|
+
const formData = new FormData();
|
|
310
|
+
formData.append("data", salesFrontendUtils.base64ToFile(imageStr, "test.png"));
|
|
311
|
+
formData.append("fileIdentifierValue", "string");
|
|
312
|
+
formData.append("fileExtendContent1", "string");
|
|
313
|
+
formData.append("fileExtendContent2", "string");
|
|
314
|
+
formData.append("preservationTerm", "1");
|
|
315
|
+
formData.append("fileType", "png");
|
|
316
|
+
const response = await fetch("/api/v1/post/file", {
|
|
317
|
+
headers: {
|
|
318
|
+
"x-channel-appversion": "3.1",
|
|
319
|
+
"x-channel-carriername": "SK",
|
|
320
|
+
"x-channel-deviceid": "deviceid",
|
|
321
|
+
"x-channel-devicemodel": "iPHONE13",
|
|
322
|
+
"x-channel-formfactor": "Phone",
|
|
323
|
+
"x-channel-loginchannel": "DSP",
|
|
324
|
+
"x-channel-logintype": "ONPA_PIN",
|
|
325
|
+
"x-channel-networktype": "LTE",
|
|
326
|
+
"x-channel-platformversion": "15.4.1",
|
|
327
|
+
"x-channel-screenid": "ScreenId",
|
|
328
|
+
"x-dud-authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJXNWRtc1g1MkVWZGV0YThJRy90YmlZY281bnVCdzRZOXhGZjlWakZzdWxnbU00YnkiLCJpYXQiOjE3NjEwNDMyNjgsImV4cCI6MTc2NjI5OTI2OH0.KDnF7ZhkmnEApGCvOcItwcHnLWe5iJu64g93GACT2yo",
|
|
329
|
+
"x-x-channel-platformname": "IOS"
|
|
330
|
+
},
|
|
331
|
+
method: "POST",
|
|
332
|
+
body: formData
|
|
332
333
|
});
|
|
334
|
+
const json = await response.json();
|
|
335
|
+
return json;
|
|
333
336
|
}
|
|
334
|
-
async function
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
337
|
+
async function getFileFromDud(fileMgmtId) {
|
|
338
|
+
const outputType = "binary";
|
|
339
|
+
const response = await fetch("/api/v1/get/file", {
|
|
340
|
+
headers: {
|
|
341
|
+
"content-type": "application/json",
|
|
342
|
+
"x-channel-appversion": "3.1",
|
|
343
|
+
"x-channel-carriername": "SK",
|
|
344
|
+
"x-channel-deviceid": "deviceid",
|
|
345
|
+
"x-channel-devicemodel": "iPHONE13",
|
|
346
|
+
"x-channel-formfactor": "Phone",
|
|
347
|
+
"x-channel-loginchannel": "DSP",
|
|
348
|
+
"x-channel-logintype": "ONPA_PIN",
|
|
349
|
+
"x-channel-networktype": "LTE",
|
|
350
|
+
"x-channel-platformversion": "15.4.1",
|
|
351
|
+
"x-channel-screenid": "ScreenId",
|
|
352
|
+
"x-dud-authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJXNWRtc1g1MkVWZGV0YThJRy90YmlZY281bnVCdzRZOXhGZjlWakZzdWxnbU00YnkiLCJpYXQiOjE3NjEwNDMyNjgsImV4cCI6MTc2NjI5OTI2OH0.KDnF7ZhkmnEApGCvOcItwcHnLWe5iJu64g93GACT2yo",
|
|
353
|
+
"x-x-channel-platformname": "IOS"
|
|
354
|
+
},
|
|
355
|
+
method: "POST",
|
|
356
|
+
body: JSON.stringify({ fileMgmtId, outputType })
|
|
339
357
|
});
|
|
358
|
+
const blob = await response.blob();
|
|
359
|
+
const base64String = await salesFrontendUtils.fileToBase64(blob);
|
|
360
|
+
return base64String;
|
|
340
361
|
}
|
|
341
|
-
|
|
342
|
-
// src/oz/utils/bridge-util/oz-wrapper-util.ts
|
|
343
362
|
async function CreateOzViewer(ozParam) {
|
|
344
363
|
const { promise, resolve, reject } = PromiseWithResolvers();
|
|
345
364
|
const handleTimeout = () => {
|
|
@@ -425,338 +444,6 @@ var getReportCountMemo = (() => {
|
|
|
425
444
|
return getReportCount;
|
|
426
445
|
})();
|
|
427
446
|
|
|
428
|
-
// src/oz/utils/bridge-util/btn-touch-event-util/category-handler.ts
|
|
429
|
-
async function CategoryHandler(documentInfo, { type, btnID }) {
|
|
430
|
-
if (type !== "category") {
|
|
431
|
-
throw `Unexpected Type ${type}`;
|
|
432
|
-
}
|
|
433
|
-
const target = documentInfo.find((i) => i.name === btnID);
|
|
434
|
-
if (!target) {
|
|
435
|
-
throw `Unexpected btnID ${target}`;
|
|
436
|
-
}
|
|
437
|
-
await MovePage(target.startPage);
|
|
438
|
-
}
|
|
439
|
-
async function TopHandler({ type, btnID }) {
|
|
440
|
-
if (type !== "top") {
|
|
441
|
-
throw `Unexpected Type ${type}`;
|
|
442
|
-
}
|
|
443
|
-
if (btnID === "btnExit") {
|
|
444
|
-
await salesFrontendBridge.Bridge.native.hideOZViewer();
|
|
445
|
-
} else {
|
|
446
|
-
throw `Unexpected btnID ${btnID}`;
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
async function CommentHandler({ type, btnID }) {
|
|
450
|
-
if (type !== "comment") {
|
|
451
|
-
throw `Unexpected Type ${type}`;
|
|
452
|
-
}
|
|
453
|
-
if (btnID === "yellow") {
|
|
454
|
-
await setEnableCommentMode("yellow");
|
|
455
|
-
} else if (btnID === "pink") {
|
|
456
|
-
await setEnableCommentMode("pink");
|
|
457
|
-
} else if (btnID === "green") {
|
|
458
|
-
await setEnableCommentMode("green");
|
|
459
|
-
} else if (btnID === "eraser") {
|
|
460
|
-
await setEnableCommentMode("eraser");
|
|
461
|
-
} else if (btnID === "disable") {
|
|
462
|
-
await setDisableCommentMode();
|
|
463
|
-
} else {
|
|
464
|
-
throw `Unexpected btnID ${btnID}`;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
async function isCommentMode() {
|
|
468
|
-
const { data } = await salesFrontendBridge.Bridge.nativeOz.getInformation({ command: `COMMENT_MODE` });
|
|
469
|
-
return data === "comment";
|
|
470
|
-
}
|
|
471
|
-
async function setCommentMode(penConfig) {
|
|
472
|
-
const command = `mode_comment_all`;
|
|
473
|
-
const commentEnabled = await isCommentMode();
|
|
474
|
-
const param = [
|
|
475
|
-
...commentEnabled ? [] : [`viewer.screentool=comment`],
|
|
476
|
-
...penConfig
|
|
477
|
-
].join("\n");
|
|
478
|
-
await sleep();
|
|
479
|
-
return await salesFrontendBridge.Bridge.nativeOz.scriptEx({ command, param });
|
|
480
|
-
}
|
|
481
|
-
async function setEnableCommentMode(type = "yellow") {
|
|
482
|
-
let param;
|
|
483
|
-
if (type === "yellow") {
|
|
484
|
-
param = commentPenYellow;
|
|
485
|
-
} else if (type === "pink") {
|
|
486
|
-
param = commentPenPink;
|
|
487
|
-
} else if (type === "green") {
|
|
488
|
-
param = commentPenGreen;
|
|
489
|
-
} else {
|
|
490
|
-
param = commentPenEraser;
|
|
491
|
-
}
|
|
492
|
-
return await setCommentMode(param);
|
|
493
|
-
}
|
|
494
|
-
async function setDisableCommentMode() {
|
|
495
|
-
const command = `mode_input_all`;
|
|
496
|
-
return await salesFrontendBridge.Bridge.nativeOz.script({ command });
|
|
497
|
-
}
|
|
498
|
-
async function PdfHandler({ type, btnID }) {
|
|
499
|
-
if (type !== "pdf") {
|
|
500
|
-
throw `Unexpected Type ${type}`;
|
|
501
|
-
}
|
|
502
|
-
if (btnID === "modify") {
|
|
503
|
-
await salesFrontendBridge.Bridge.nativeOz.hideOzPdfViewer();
|
|
504
|
-
} else if (btnID === "submit") {
|
|
505
|
-
await salesFrontendBridge.Bridge.nativeOz.hideOzPdfViewer();
|
|
506
|
-
await salesFrontendBridge.Bridge.native.hideOZViewer();
|
|
507
|
-
} else {
|
|
508
|
-
throw `Unexpected btnID ${btnID}`;
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
async function setFocusOnValidation(enable, reportCount) {
|
|
512
|
-
const count = reportCount ?? await getReportCountMemo();
|
|
513
|
-
const expectedValue = enable ? "1" : "0";
|
|
514
|
-
const { data: prev } = await salesFrontendBridge.Bridge.nativeOz.getGlobal({ key: "chkFlag", docIndex: 0 });
|
|
515
|
-
if (prev === expectedValue) {
|
|
516
|
-
return;
|
|
517
|
-
}
|
|
518
|
-
for (let i = 0; i < count; i++) {
|
|
519
|
-
await sleep();
|
|
520
|
-
await salesFrontendBridge.Bridge.nativeOz.setGlobal({ key: "chkFlag", value: expectedValue, docIndex: i });
|
|
521
|
-
}
|
|
522
|
-
return;
|
|
523
|
-
}
|
|
524
|
-
async function enableFocusOnValidation(reportCount) {
|
|
525
|
-
return setFocusOnValidation(true, reportCount);
|
|
526
|
-
}
|
|
527
|
-
async function disableFocusOnValidation(reportCount) {
|
|
528
|
-
return setFocusOnValidation(false, reportCount);
|
|
529
|
-
}
|
|
530
|
-
async function checkDocumentsValidityByIndex(indexList) {
|
|
531
|
-
const VALID = "";
|
|
532
|
-
for (let i = 0; i < indexList.length; i++) {
|
|
533
|
-
await sleep();
|
|
534
|
-
const command = `INVALID_INFO_JSON_AT=${indexList[i]}`;
|
|
535
|
-
const { data } = await salesFrontendBridge.Bridge.nativeOz.getInformation({ command });
|
|
536
|
-
if (data !== VALID) {
|
|
537
|
-
return false;
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
return true;
|
|
541
|
-
}
|
|
542
|
-
async function validateAllPages(pageCount) {
|
|
543
|
-
const count = pageCount ?? await getTotalPageMemo();
|
|
544
|
-
for (let i = 1; i <= count; i++) {
|
|
545
|
-
await sleep();
|
|
546
|
-
const isValid = await checkValidPageMemo(i);
|
|
547
|
-
if (!isValid) {
|
|
548
|
-
return false;
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
return true;
|
|
552
|
-
}
|
|
553
|
-
var checkValidPageMemo = (() => {
|
|
554
|
-
const cache = /* @__PURE__ */ new Map();
|
|
555
|
-
async function checkValidPage(page) {
|
|
556
|
-
const cached = cache.get(page);
|
|
557
|
-
if (cached) {
|
|
558
|
-
return cached;
|
|
559
|
-
}
|
|
560
|
-
const VALID = "valid";
|
|
561
|
-
const command = `INPUT_CHECK_VALIDITY_PAGE_AT=${page}`;
|
|
562
|
-
const promise = (async () => {
|
|
563
|
-
try {
|
|
564
|
-
const { data } = await salesFrontendBridge.Bridge.nativeOz.getInformation({ command });
|
|
565
|
-
const isValid = data === VALID;
|
|
566
|
-
if (!isValid) {
|
|
567
|
-
cache.delete(page);
|
|
568
|
-
}
|
|
569
|
-
return isValid;
|
|
570
|
-
} catch (err) {
|
|
571
|
-
cache.delete(page);
|
|
572
|
-
throw err;
|
|
573
|
-
}
|
|
574
|
-
})();
|
|
575
|
-
cache.set(page, promise);
|
|
576
|
-
return promise;
|
|
577
|
-
}
|
|
578
|
-
checkValidPage.clearCache = () => {
|
|
579
|
-
cache.clear();
|
|
580
|
-
};
|
|
581
|
-
checkValidPage.clearCacheByPage = (page) => {
|
|
582
|
-
cache.delete(page);
|
|
583
|
-
};
|
|
584
|
-
return checkValidPage;
|
|
585
|
-
})();
|
|
586
|
-
|
|
587
|
-
// src/oz/utils/bridge-util/btn-touch-event-util/signature-handler.ts
|
|
588
|
-
async function SignatureHandler({ type, btnID }) {
|
|
589
|
-
if (type !== "signature") {
|
|
590
|
-
throw `Unexpected Type ${type}`;
|
|
591
|
-
}
|
|
592
|
-
if (btnID === "signatureInProgress") {
|
|
593
|
-
await SignatureInProgressHandler();
|
|
594
|
-
} else if (btnID === "signatureInMissing") {
|
|
595
|
-
await SignatureInMissingHandler();
|
|
596
|
-
} else if (btnID === "signatureComplete") {
|
|
597
|
-
await SignatureCompleteHandler();
|
|
598
|
-
} else {
|
|
599
|
-
throw `Unexpected btnID ${btnID}`;
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
async function SignatureInProgressHandler() {
|
|
603
|
-
const reportCount = await getReportCountMemo();
|
|
604
|
-
const pageCount = await getTotalPageMemo();
|
|
605
|
-
await enableFocusOnValidation(reportCount);
|
|
606
|
-
await validateAllPages(pageCount);
|
|
607
|
-
}
|
|
608
|
-
async function SignatureInMissingHandler() {
|
|
609
|
-
const { data: result } = await salesFrontendBridge.Bridge.nativeOz.showAlert({
|
|
610
|
-
title: "\uC785\uB825\uD558\uC9C0 \uC54A\uC740 \uD56D\uBAA9\uC774 \uC788\uC2B5\uB2C8\uB2E4",
|
|
611
|
-
message: "\uD574\uB2F9 \uD56D\uBAA9\uC73C\uB85C \uC774\uB3D9\uD558\uC5EC \uC785\uB825\uC744 \uC644\uB8CC\uD574\uC8FC\uC138\uC694.",
|
|
612
|
-
buttons: {
|
|
613
|
-
close: true,
|
|
614
|
-
main: "\uBBF8\uC785\uB825 \uD56D\uBAA9 \uC785\uB825\uD558\uAE30"
|
|
615
|
-
}
|
|
616
|
-
});
|
|
617
|
-
if (result === "main") {
|
|
618
|
-
return await SignatureInProgressHandler();
|
|
619
|
-
}
|
|
620
|
-
return;
|
|
621
|
-
}
|
|
622
|
-
async function SignatureCompleteHandler() {
|
|
623
|
-
try {
|
|
624
|
-
await salesFrontendBridge.Bridge.native.showLoader();
|
|
625
|
-
checkValidPageMemo.clearCache();
|
|
626
|
-
getReportCountMemo.clearCache();
|
|
627
|
-
getTotalPageMemo.clearCache();
|
|
628
|
-
const reportCount = await getReportCountMemo();
|
|
629
|
-
const pageCount = await getTotalPageMemo();
|
|
630
|
-
await disableFocusOnValidation(reportCount);
|
|
631
|
-
const isAllValid = await validateAllPages(pageCount);
|
|
632
|
-
if (!isAllValid) {
|
|
633
|
-
throw "MissingAlert";
|
|
634
|
-
}
|
|
635
|
-
const filePath = await SaveTotalPdf();
|
|
636
|
-
await salesFrontendBridge.Bridge.nativeOz.createOzPdfViewer({ filePath });
|
|
637
|
-
} catch (e) {
|
|
638
|
-
if (e === "MissingAlert") {
|
|
639
|
-
await SignatureInMissingHandler();
|
|
640
|
-
} else {
|
|
641
|
-
alert("PDF export \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD558\uC600\uC2B5\uB2C8\uB2E4");
|
|
642
|
-
}
|
|
643
|
-
} finally {
|
|
644
|
-
await salesFrontendBridge.Bridge.native.hideLoader();
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
async function SaveTotalPdf() {
|
|
648
|
-
const { promise, resolve } = PromiseWithResolvers();
|
|
649
|
-
window.addEventListener(
|
|
650
|
-
"OZExportCommand" /* OZExportCommand */,
|
|
651
|
-
// 이벤트를 CustomEvent로 타입 캐스팅하고, detail에서 파일 경로 추출
|
|
652
|
-
(e) => resolve(e.detail.filepaths),
|
|
653
|
-
// 이벤트 리스너는 한 번만 실행되도록 설정
|
|
654
|
-
{ once: true }
|
|
655
|
-
);
|
|
656
|
-
const totalPage = await getTotalPageMemo();
|
|
657
|
-
await salesFrontendBridge.Bridge.nativeOz.savePdf({
|
|
658
|
-
// PDF 저장은 증번폴더/파일이름.pdf로 생성
|
|
659
|
-
policyNumber,
|
|
660
|
-
param: [
|
|
661
|
-
// 저장할 파일명 설정
|
|
662
|
-
`pdf.filename=${"total.pdf"}`,
|
|
663
|
-
// 1페이지부터 마지막 페이지까지 저장
|
|
664
|
-
`export.pages=${1}-${totalPage}`,
|
|
665
|
-
// 공통 PDF 내보내기 파라미터 추가
|
|
666
|
-
...commonPdfExportParam
|
|
667
|
-
].join("\n")
|
|
668
|
-
});
|
|
669
|
-
const filepath = await promise;
|
|
670
|
-
return filepath;
|
|
671
|
-
}
|
|
672
|
-
async function SaveSinglePdf({ startPage, endPage, imageDocumentTypeCode }) {
|
|
673
|
-
const { promise, resolve } = PromiseWithResolvers();
|
|
674
|
-
window.addEventListener(
|
|
675
|
-
"OZExportCommand" /* OZExportCommand */,
|
|
676
|
-
// 이벤트를 CustomEvent로 타입 캐스팅하고, detail에서 파일 경로 추출
|
|
677
|
-
(e) => resolve(e.detail.filepaths),
|
|
678
|
-
// 이벤트 리스너는 한 번만 실행되도록 설정
|
|
679
|
-
{ once: true }
|
|
680
|
-
);
|
|
681
|
-
await salesFrontendBridge.Bridge.nativeOz.savePdf({
|
|
682
|
-
// PDF 저장은 증번폴더/파일이름.pdf로 생성
|
|
683
|
-
policyNumber,
|
|
684
|
-
param: [
|
|
685
|
-
// 저장할 파일명 설정
|
|
686
|
-
`pdf.filename=${imageDocumentTypeCode}.pdf`,
|
|
687
|
-
// 1페이지부터 마지막 페이지까지 저장
|
|
688
|
-
`export.pages=${startPage}-${endPage}`,
|
|
689
|
-
// 공통 PDF 내보내기 파라미터 추가
|
|
690
|
-
...commonPdfExportParam
|
|
691
|
-
].join("\n")
|
|
692
|
-
});
|
|
693
|
-
const filepath = await promise;
|
|
694
|
-
return filepath;
|
|
695
|
-
}
|
|
696
|
-
async function fetchDocument(args) {
|
|
697
|
-
const { data: result } = await salesFrontendBridge.Bridge.native.downloadDocument(args);
|
|
698
|
-
return result.data.map((i) => ({ ...i, startPage: 0, endPage: 0 }));
|
|
699
|
-
}
|
|
700
|
-
async function fetchFont() {
|
|
701
|
-
const { data: fontMap } = await salesFrontendBridge.Bridge.native.getOzFontParam();
|
|
702
|
-
const fontParms = Object.keys(fontMap).map((i) => `font.${i}=${fontMap[i]}`);
|
|
703
|
-
return fontParms;
|
|
704
|
-
}
|
|
705
|
-
async function postFiletoDud(imageStr) {
|
|
706
|
-
const formData = new FormData();
|
|
707
|
-
formData.append("data", salesFrontendUtils.base64ToFile(imageStr, "test.png"));
|
|
708
|
-
formData.append("fileIdentifierValue", "string");
|
|
709
|
-
formData.append("fileExtendContent1", "string");
|
|
710
|
-
formData.append("fileExtendContent2", "string");
|
|
711
|
-
formData.append("preservationTerm", "1");
|
|
712
|
-
formData.append("fileType", "png");
|
|
713
|
-
const response = await fetch("/api/v1/post/file", {
|
|
714
|
-
headers: {
|
|
715
|
-
"x-channel-appversion": "3.1",
|
|
716
|
-
"x-channel-carriername": "SK",
|
|
717
|
-
"x-channel-deviceid": "deviceid",
|
|
718
|
-
"x-channel-devicemodel": "iPHONE13",
|
|
719
|
-
"x-channel-formfactor": "Phone",
|
|
720
|
-
"x-channel-loginchannel": "DSP",
|
|
721
|
-
"x-channel-logintype": "ONPA_PIN",
|
|
722
|
-
"x-channel-networktype": "LTE",
|
|
723
|
-
"x-channel-platformversion": "15.4.1",
|
|
724
|
-
"x-channel-screenid": "ScreenId",
|
|
725
|
-
"x-dud-authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJXNWRtc1g1MkVWZGV0YThJRy90YmlZY281bnVCdzRZOXhGZjlWakZzdWxnbU00YnkiLCJpYXQiOjE3NjEwNDMyNjgsImV4cCI6MTc2NjI5OTI2OH0.KDnF7ZhkmnEApGCvOcItwcHnLWe5iJu64g93GACT2yo",
|
|
726
|
-
"x-x-channel-platformname": "IOS"
|
|
727
|
-
},
|
|
728
|
-
method: "POST",
|
|
729
|
-
body: formData
|
|
730
|
-
});
|
|
731
|
-
const json = await response.json();
|
|
732
|
-
return json;
|
|
733
|
-
}
|
|
734
|
-
async function getFileFromDud(fileMgmtId) {
|
|
735
|
-
const outputType = "binary";
|
|
736
|
-
const response = await fetch("/api/v1/get/file", {
|
|
737
|
-
headers: {
|
|
738
|
-
"content-type": "application/json",
|
|
739
|
-
"x-channel-appversion": "3.1",
|
|
740
|
-
"x-channel-carriername": "SK",
|
|
741
|
-
"x-channel-deviceid": "deviceid",
|
|
742
|
-
"x-channel-devicemodel": "iPHONE13",
|
|
743
|
-
"x-channel-formfactor": "Phone",
|
|
744
|
-
"x-channel-loginchannel": "DSP",
|
|
745
|
-
"x-channel-logintype": "ONPA_PIN",
|
|
746
|
-
"x-channel-networktype": "LTE",
|
|
747
|
-
"x-channel-platformversion": "15.4.1",
|
|
748
|
-
"x-channel-screenid": "ScreenId",
|
|
749
|
-
"x-dud-authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJXNWRtc1g1MkVWZGV0YThJRy90YmlZY281bnVCdzRZOXhGZjlWakZzdWxnbU00YnkiLCJpYXQiOjE3NjEwNDMyNjgsImV4cCI6MTc2NjI5OTI2OH0.KDnF7ZhkmnEApGCvOcItwcHnLWe5iJu64g93GACT2yo",
|
|
750
|
-
"x-x-channel-platformname": "IOS"
|
|
751
|
-
},
|
|
752
|
-
method: "POST",
|
|
753
|
-
body: JSON.stringify({ fileMgmtId, outputType })
|
|
754
|
-
});
|
|
755
|
-
const blob = await response.blob();
|
|
756
|
-
const base64String = await salesFrontendUtils.fileToBase64(blob);
|
|
757
|
-
return base64String;
|
|
758
|
-
}
|
|
759
|
-
|
|
760
447
|
// src/oz/utils/bridge-util/create-report-util.ts
|
|
761
448
|
async function CreateOzParam({ documentList, extraData = {}, roleCd, jijungInfo = "" }) {
|
|
762
449
|
if (documentList.length === 0) {
|
|
@@ -859,6 +546,113 @@ async function triggerDraftDataByIndexList(indexList) {
|
|
|
859
546
|
await salesFrontendBridge.Bridge.nativeOz.triggerExternalEventByDocIndex({ param1: "getDraftData" /* GetDraftData */, docIndex: indexList[i] });
|
|
860
547
|
}
|
|
861
548
|
}
|
|
549
|
+
async function setFocusOnValidation(enable, reportCount) {
|
|
550
|
+
const count = reportCount ?? await getReportCountMemo();
|
|
551
|
+
const expectedValue = enable ? "1" : "0";
|
|
552
|
+
const { data: prev } = await salesFrontendBridge.Bridge.nativeOz.getGlobal({ key: "chkFlag", docIndex: 0 });
|
|
553
|
+
if (prev === expectedValue) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
for (let i = 0; i < count; i++) {
|
|
557
|
+
await sleep();
|
|
558
|
+
await salesFrontendBridge.Bridge.nativeOz.setGlobal({ key: "chkFlag", value: expectedValue, docIndex: i });
|
|
559
|
+
}
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
562
|
+
async function enableFocusOnValidation(reportCount) {
|
|
563
|
+
return setFocusOnValidation(true, reportCount);
|
|
564
|
+
}
|
|
565
|
+
async function disableFocusOnValidation(reportCount) {
|
|
566
|
+
return setFocusOnValidation(false, reportCount);
|
|
567
|
+
}
|
|
568
|
+
async function SaveTotalPdf(policyNumber, fileName) {
|
|
569
|
+
const startPage = 1;
|
|
570
|
+
const endPage = await getTotalPageMemo();
|
|
571
|
+
return await SavePdf({ policyNumber, fileName, startPage, endPage });
|
|
572
|
+
}
|
|
573
|
+
async function SaveSinglePdf(policyNumber, { startPage, endPage, docCode: fileName }) {
|
|
574
|
+
return await SavePdf({ policyNumber, fileName, startPage, endPage });
|
|
575
|
+
}
|
|
576
|
+
async function SavePdf({ policyNumber, fileName, startPage, endPage }) {
|
|
577
|
+
const { promise, resolve } = PromiseWithResolvers();
|
|
578
|
+
window.addEventListener(
|
|
579
|
+
"OZExportCommand" /* OZExportCommand */,
|
|
580
|
+
// 이벤트를 CustomEvent로 타입 캐스팅하고, detail에서 파일 경로 추출
|
|
581
|
+
(e) => resolve(e.detail.filepaths),
|
|
582
|
+
// 이벤트 리스너는 한 번만 실행되도록 설정
|
|
583
|
+
{ once: true }
|
|
584
|
+
);
|
|
585
|
+
await salesFrontendBridge.Bridge.nativeOz.savePdf({
|
|
586
|
+
// PDF 저장은 증번폴더/파일이름.pdf로 생성
|
|
587
|
+
policyNumber,
|
|
588
|
+
param: [
|
|
589
|
+
// 저장할 파일명 설정
|
|
590
|
+
`pdf.filename=${fileName}.pdf`,
|
|
591
|
+
// 1페이지부터 마지막 페이지까지 저장
|
|
592
|
+
`export.pages=${startPage}-${endPage}`,
|
|
593
|
+
// 공통 PDF 내보내기 파라미터 추가
|
|
594
|
+
...commonPdfExportParam
|
|
595
|
+
].join("\n")
|
|
596
|
+
});
|
|
597
|
+
const filepath = await promise;
|
|
598
|
+
return filepath;
|
|
599
|
+
}
|
|
600
|
+
async function checkDocumentsValidityByIndex(indexList) {
|
|
601
|
+
const VALID = "";
|
|
602
|
+
for (let i = 0; i < indexList.length; i++) {
|
|
603
|
+
await sleep();
|
|
604
|
+
const command = `INVALID_INFO_JSON_AT=${indexList[i]}`;
|
|
605
|
+
const { data } = await salesFrontendBridge.Bridge.nativeOz.getInformation({ command });
|
|
606
|
+
if (data !== VALID) {
|
|
607
|
+
return false;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
return true;
|
|
611
|
+
}
|
|
612
|
+
async function validateAllPages(pageCount) {
|
|
613
|
+
const count = pageCount ?? await getTotalPageMemo();
|
|
614
|
+
for (let i = 1; i <= count; i++) {
|
|
615
|
+
await sleep();
|
|
616
|
+
const isValid = await checkValidPageMemo(i);
|
|
617
|
+
if (!isValid) {
|
|
618
|
+
return false;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
return true;
|
|
622
|
+
}
|
|
623
|
+
var checkValidPageMemo = (() => {
|
|
624
|
+
const cache = /* @__PURE__ */ new Map();
|
|
625
|
+
async function checkValidPage(page) {
|
|
626
|
+
const cached = cache.get(page);
|
|
627
|
+
if (cached) {
|
|
628
|
+
return cached;
|
|
629
|
+
}
|
|
630
|
+
const VALID = "valid";
|
|
631
|
+
const command = `INPUT_CHECK_VALIDITY_PAGE_AT=${page}`;
|
|
632
|
+
const promise = (async () => {
|
|
633
|
+
try {
|
|
634
|
+
const { data } = await salesFrontendBridge.Bridge.nativeOz.getInformation({ command });
|
|
635
|
+
const isValid = data === VALID;
|
|
636
|
+
if (!isValid) {
|
|
637
|
+
cache.delete(page);
|
|
638
|
+
}
|
|
639
|
+
return isValid;
|
|
640
|
+
} catch (err) {
|
|
641
|
+
cache.delete(page);
|
|
642
|
+
throw err;
|
|
643
|
+
}
|
|
644
|
+
})();
|
|
645
|
+
cache.set(page, promise);
|
|
646
|
+
return promise;
|
|
647
|
+
}
|
|
648
|
+
checkValidPage.clearCache = () => {
|
|
649
|
+
cache.clear();
|
|
650
|
+
};
|
|
651
|
+
checkValidPage.clearCacheByPage = (page) => {
|
|
652
|
+
cache.delete(page);
|
|
653
|
+
};
|
|
654
|
+
return checkValidPage;
|
|
655
|
+
})();
|
|
862
656
|
var valueChangeDebounceMap = /* @__PURE__ */ new Map();
|
|
863
657
|
function getDebouncedValueChangeHandler(docIndex, onValueChanged) {
|
|
864
658
|
const DEBOUNCE_DELAY = 1e3 * 1;
|
|
@@ -878,22 +672,14 @@ function clearValueChangeDebounceHandlers() {
|
|
|
878
672
|
|
|
879
673
|
exports.AlertDocumentLoadError = AlertDocumentLoadError;
|
|
880
674
|
exports.AlertTemporaryError = AlertTemporaryError;
|
|
881
|
-
exports.CategoryHandler = CategoryHandler;
|
|
882
|
-
exports.CommentHandler = CommentHandler;
|
|
883
675
|
exports.CreateOzParam = CreateOzParam;
|
|
884
676
|
exports.CreateOzViewer = CreateOzViewer;
|
|
885
|
-
exports.DownloadDocumentList = DownloadDocumentList;
|
|
886
|
-
exports.ExtraData = ExtraData;
|
|
887
677
|
exports.MovePage = MovePage;
|
|
888
678
|
exports.OZTriggerExternalEvent = OZTriggerExternalEvent;
|
|
889
679
|
exports.OZViewerEvent = OZViewerEvent;
|
|
890
|
-
exports.PdfHandler = PdfHandler;
|
|
891
680
|
exports.PromiseWithResolvers = PromiseWithResolvers;
|
|
892
681
|
exports.SaveSinglePdf = SaveSinglePdf;
|
|
893
682
|
exports.SaveTotalPdf = SaveTotalPdf;
|
|
894
|
-
exports.SignatureHandler = SignatureHandler;
|
|
895
|
-
exports.TopHandler = TopHandler;
|
|
896
|
-
exports.btnStyle = btnStyle;
|
|
897
683
|
exports.categorizeByPageRange = categorizeByPageRange;
|
|
898
684
|
exports.checkDocumentsValidityByIndex = checkDocumentsValidityByIndex;
|
|
899
685
|
exports.checkValidPageMemo = checkValidPageMemo;
|
|
@@ -910,7 +696,6 @@ exports.ensureArray = ensureArray;
|
|
|
910
696
|
exports.extractFileName = extractFileName;
|
|
911
697
|
exports.fetchDocument = fetchDocument;
|
|
912
698
|
exports.fetchFont = fetchFont;
|
|
913
|
-
exports.fpInfo = fpInfo;
|
|
914
699
|
exports.getCurrentPage = getCurrentPage;
|
|
915
700
|
exports.getDebouncedValueChangeHandler = getDebouncedValueChangeHandler;
|
|
916
701
|
exports.getDraftDataHandler = getDraftDataHandler;
|
|
@@ -919,13 +704,8 @@ exports.getFileListByGlobalIndex = getFileListByGlobalIndex;
|
|
|
919
704
|
exports.getReportCountMemo = getReportCountMemo;
|
|
920
705
|
exports.getTotalPageMemo = getTotalPageMemo;
|
|
921
706
|
exports.getTotalPageOnAllDocuments = getTotalPageOnAllDocuments;
|
|
922
|
-
exports.isCommentMode = isCommentMode;
|
|
923
|
-
exports.policyNumber = policyNumber;
|
|
924
707
|
exports.postFiletoDud = postFiletoDud;
|
|
925
|
-
exports.roleCode = roleCode;
|
|
926
708
|
exports.setCheckEform = setCheckEform;
|
|
927
|
-
exports.setDisableCommentMode = setDisableCommentMode;
|
|
928
|
-
exports.setEnableCommentMode = setEnableCommentMode;
|
|
929
709
|
exports.sleep = sleep;
|
|
930
710
|
exports.triggerClickOnAllDocuments = triggerClickOnAllDocuments;
|
|
931
711
|
exports.triggerCropImageOnAllDocuments = triggerCropImageOnAllDocuments;
|
|
@@ -933,7 +713,5 @@ exports.triggerDraftDataByIndexList = triggerDraftDataByIndexList;
|
|
|
933
713
|
exports.useDocumentInfo = useDocumentInfo;
|
|
934
714
|
exports.useOzEventListener = useOzEventListener;
|
|
935
715
|
exports.validateAllPages = validateAllPages;
|
|
936
|
-
exports.wrapperStyle = wrapperStyle;
|
|
937
|
-
exports.xdudheaders = xdudheaders;
|
|
938
716
|
//# sourceMappingURL=index.cjs.map
|
|
939
717
|
//# sourceMappingURL=index.cjs.map
|