diginext-utils 3.9.2 → 3.11.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.
@@ -0,0 +1 @@
1
+ export default function getUrlBypassCors(imgUrl: string): string | null;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getUrlBypassCors(imgUrl) {
4
+ //
5
+ try {
6
+ const src = new URL(imgUrl);
7
+ src.searchParams.append("cors", `${Date.now()}`);
8
+ return src.href;
9
+ }
10
+ catch (error) {
11
+ console.error(`getUrlByPassCors error`, error);
12
+ return null;
13
+ }
14
+ }
15
+ exports.default = getUrlBypassCors;
16
+ //# sourceMappingURL=getUrlBypassCors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUrlBypassCors.js","sourceRoot":"","sources":["../../src/images/getUrlBypassCors.ts"],"names":[],"mappings":";;AAAA,SAAwB,gBAAgB,CAAC,MAAc;IACtD,EAAE;IACF,IAAI;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC,IAAI,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAVD,mCAUC"}
@@ -0,0 +1 @@
1
+ export default function loadImageAsBlobUrl(imageUrl: string): Promise<string | null>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const getUrlByPassCors_1 = __importDefault(require("./getUrlByPassCors"));
7
+ async function loadImageAsBlobUrl(imageUrl) {
8
+ try {
9
+ const url = (0, getUrlByPassCors_1.default)(imageUrl);
10
+ if (!url)
11
+ throw new Error("imageUrl error");
12
+ const response = await fetch(url);
13
+ if (!response.ok) {
14
+ throw new Error(`HTTP error! status: ${response.status}`);
15
+ }
16
+ const imageBlob = await response.blob();
17
+ const blobUrl = URL.createObjectURL(imageBlob);
18
+ return blobUrl;
19
+ }
20
+ catch (e) {
21
+ console.error(e);
22
+ return null;
23
+ }
24
+ }
25
+ exports.default = loadImageAsBlobUrl;
26
+ //# sourceMappingURL=loadImageAsBlobUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadImageAsBlobUrl.js","sourceRoot":"","sources":["../../src/images/loadImageAsBlobUrl.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAEnC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChE,IAAI;QACH,MAAM,GAAG,GAAG,IAAA,0BAAgB,EAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1D;QACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAhBD,qCAgBC"}
@@ -0,0 +1 @@
1
+ export default function guessMimeType(filepath: string): "image/png" | "image/jpeg" | "unknown" | "image/gif" | "image/webp" | "video/mp4" | "video/quicktime" | "video/webm" | "video/mpeg";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const guessMimeTypeByBuffer_1 = __importDefault(require("./guessMimeTypeByBuffer"));
8
+ function guessMimeType(filepath) {
9
+ const buffer = fs_1.default.readFileSync(filepath);
10
+ return (0, guessMimeTypeByBuffer_1.default)(buffer);
11
+ }
12
+ exports.default = guessMimeType;
13
+ //# sourceMappingURL=guessMimeType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guessMimeType.js","sourceRoot":"","sources":["../../src/string/guessMimeType.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,oFAA4D;AAE5D,SAAwB,aAAa,CAAC,QAAgB;IACrD,MAAM,MAAM,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,IAAA,+BAAqB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAHD,gCAGC"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="node" />
2
+ export default function guessMimeTypeByBuffer(buffer: Buffer): "image/png" | "image/jpeg" | "unknown" | "image/gif" | "image/webp" | "video/mp4" | "video/quicktime" | "video/webm" | "video/mpeg";
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function guessMimeTypeByBuffer(buffer) {
4
+ const signature = buffer.toString("hex", 0, 4);
5
+ switch (signature) {
6
+ case "89504e47":
7
+ return "image/png";
8
+ case "47494638":
9
+ return "image/gif";
10
+ case "52494646": {
11
+ const webpSignature = buffer.toString("hex", 8, 12);
12
+ if (webpSignature === "57454250") {
13
+ return "image/webp";
14
+ }
15
+ break;
16
+ }
17
+ // MP4, MOV, and other video formats can have multiple signatures
18
+ case "00000018":
19
+ case "0000001c":
20
+ case "00000020":
21
+ return "video/mp4";
22
+ case "66747970":
23
+ return "video/quicktime"; // MOV
24
+ case "1a45dfa3": // This is the start of an EBML document (used in WebM, MKV)
25
+ return "video/webm";
26
+ case "000001ba":
27
+ case "000001b3":
28
+ return "video/mpeg";
29
+ // Add more cases as needed
30
+ default:
31
+ // Check for JPEG signatures
32
+ if (signature.startsWith("ffd8ff")) {
33
+ return "image/jpeg";
34
+ }
35
+ return "unknown";
36
+ }
37
+ return "unknown";
38
+ }
39
+ exports.default = guessMimeTypeByBuffer;
40
+ //# sourceMappingURL=guessMimeTypeByBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guessMimeTypeByBuffer.js","sourceRoot":"","sources":["../../src/string/guessMimeTypeByBuffer.ts"],"names":[],"mappings":";;AAAA,SAAwB,qBAAqB,CAAC,MAAc;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,QAAQ,SAAS,EAAE;QAClB,KAAK,UAAU;YACd,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,aAAa,KAAK,UAAU,EAAE;gBACjC,OAAO,YAAY,CAAC;aACpB;YACD,MAAM;SACN;QACD,iEAAiE;QACjE,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACd,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,iBAAiB,CAAC,CAAC,MAAM;QACjC,KAAK,UAAU,EAAE,4DAA4D;YAC5E,OAAO,YAAY,CAAC;QACrB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACd,OAAO,YAAY,CAAC;QACrB,2BAA2B;QAC3B;YACC,4BAA4B;YAC5B,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO,YAAY,CAAC;aACpB;YACD,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AArCD,wCAqCC"}
@@ -0,0 +1 @@
1
+ export default function getUrlBypassCors(imgUrl: string): string | null;
@@ -0,0 +1,13 @@
1
+ export default function getUrlBypassCors(imgUrl) {
2
+ //
3
+ try {
4
+ const src = new URL(imgUrl);
5
+ src.searchParams.append("cors", `${Date.now()}`);
6
+ return src.href;
7
+ }
8
+ catch (error) {
9
+ console.error(`getUrlByPassCors error`, error);
10
+ return null;
11
+ }
12
+ }
13
+ //# sourceMappingURL=getUrlBypassCors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUrlBypassCors.js","sourceRoot":"","sources":["../../src/images/getUrlBypassCors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAc;IACtD,EAAE;IACF,IAAI;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC,IAAI,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;KACZ;AACF,CAAC"}
@@ -0,0 +1 @@
1
+ export default function loadImageAsBlobUrl(imageUrl: string): Promise<string | null>;
@@ -0,0 +1,20 @@
1
+ import getUrlBypassCors from "./getUrlByPassCors";
2
+ export default async function loadImageAsBlobUrl(imageUrl) {
3
+ try {
4
+ const url = getUrlBypassCors(imageUrl);
5
+ if (!url)
6
+ throw new Error("imageUrl error");
7
+ const response = await fetch(url);
8
+ if (!response.ok) {
9
+ throw new Error(`HTTP error! status: ${response.status}`);
10
+ }
11
+ const imageBlob = await response.blob();
12
+ const blobUrl = URL.createObjectURL(imageBlob);
13
+ return blobUrl;
14
+ }
15
+ catch (e) {
16
+ console.error(e);
17
+ return null;
18
+ }
19
+ }
20
+ //# sourceMappingURL=loadImageAsBlobUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadImageAsBlobUrl.js","sourceRoot":"","sources":["../../src/images/loadImageAsBlobUrl.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IAChE,IAAI;QACH,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1D;QACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;KACZ;AACF,CAAC"}
@@ -0,0 +1 @@
1
+ export default function guessMimeType(filepath: string): "image/png" | "image/jpeg" | "unknown" | "image/gif" | "image/webp" | "video/mp4" | "video/quicktime" | "video/webm" | "video/mpeg";
@@ -0,0 +1,7 @@
1
+ import fs from "fs";
2
+ import guessMimeTypeByBuffer from "./guessMimeTypeByBuffer";
3
+ export default function guessMimeType(filepath) {
4
+ const buffer = fs.readFileSync(filepath);
5
+ return guessMimeTypeByBuffer(buffer);
6
+ }
7
+ //# sourceMappingURL=guessMimeType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guessMimeType.js","sourceRoot":"","sources":["../../src/string/guessMimeType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,QAAgB;IACrD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="node" />
2
+ export default function guessMimeTypeByBuffer(buffer: Buffer): "image/png" | "image/jpeg" | "unknown" | "image/gif" | "image/webp" | "video/mp4" | "video/quicktime" | "video/webm" | "video/mpeg";
@@ -0,0 +1,37 @@
1
+ export default function guessMimeTypeByBuffer(buffer) {
2
+ const signature = buffer.toString("hex", 0, 4);
3
+ switch (signature) {
4
+ case "89504e47":
5
+ return "image/png";
6
+ case "47494638":
7
+ return "image/gif";
8
+ case "52494646": {
9
+ const webpSignature = buffer.toString("hex", 8, 12);
10
+ if (webpSignature === "57454250") {
11
+ return "image/webp";
12
+ }
13
+ break;
14
+ }
15
+ // MP4, MOV, and other video formats can have multiple signatures
16
+ case "00000018":
17
+ case "0000001c":
18
+ case "00000020":
19
+ return "video/mp4";
20
+ case "66747970":
21
+ return "video/quicktime"; // MOV
22
+ case "1a45dfa3": // This is the start of an EBML document (used in WebM, MKV)
23
+ return "video/webm";
24
+ case "000001ba":
25
+ case "000001b3":
26
+ return "video/mpeg";
27
+ // Add more cases as needed
28
+ default:
29
+ // Check for JPEG signatures
30
+ if (signature.startsWith("ffd8ff")) {
31
+ return "image/jpeg";
32
+ }
33
+ return "unknown";
34
+ }
35
+ return "unknown";
36
+ }
37
+ //# sourceMappingURL=guessMimeTypeByBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guessMimeTypeByBuffer.js","sourceRoot":"","sources":["../../src/string/guessMimeTypeByBuffer.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,MAAc;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,QAAQ,SAAS,EAAE;QAClB,KAAK,UAAU;YACd,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,aAAa,KAAK,UAAU,EAAE;gBACjC,OAAO,YAAY,CAAC;aACpB;YACD,MAAM;SACN;QACD,iEAAiE;QACjE,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACd,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,iBAAiB,CAAC,CAAC,MAAM;QACjC,KAAK,UAAU,EAAE,4DAA4D;YAC5E,OAAO,YAAY,CAAC;QACrB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACd,OAAO,YAAY,CAAC;QACrB,2BAA2B;QAC3B;YACC,4BAA4B;YAC5B,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO,YAAY,CAAC;aACpB;YACD,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "diginext-utils",
3
- "version": "3.9.2",
3
+ "version": "3.11.0",
4
4
  "sideEffects": false,
5
5
  "readme": "README.md",
6
6
  "homepage": "https://wearetopgroup.com",