@sarangkale66/pixxo-sdk-node 1.0.1 → 1.0.3
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/README.md +117 -107
- package/dist/pixxo.d.ts.map +1 -1
- package/dist/pixxo.js +4 -3
- package/dist/pixxo.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +30 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +114 -16
- package/dist/utils.js.map +1 -1
- package/package.json +32 -32
package/README.md
CHANGED
|
@@ -1,107 +1,117 @@
|
|
|
1
|
-
# Pixxo Node.js SDK
|
|
2
|
-
|
|
3
|
-
> Drop-in replacement for the [ImageKit Node.js SDK](https://github.com/imagekit-developer/imagekit-nodejs). Swap `import ImageKit from 'imagekit'` with `import Pixxo from 'pixxo'` — zero refactor required.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install pixxo
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Quick Start
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
import Pixxo from "pixxo";
|
|
15
|
-
import fs from "fs";
|
|
16
|
-
|
|
17
|
-
const pixxo = new Pixxo({
|
|
18
|
-
email: "you@example.com",
|
|
19
|
-
password: "your-password",
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
const result = await pixxo.upload({
|
|
23
|
-
file: fs.readFileSync("receipt.pdf"),
|
|
24
|
-
fileName: "receipt.pdf",
|
|
25
|
-
folder: "/receipts",
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
console.log(result.url); // https://px.pixxo.io/…
|
|
29
|
-
console.log(result.fileId); // MongoDB ObjectId
|
|
30
|
-
console.log(result.name); // receipt.pdf
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
|
51
|
-
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
+
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
1
|
+
# Pixxo Node.js SDK
|
|
2
|
+
|
|
3
|
+
> Drop-in replacement for the [ImageKit Node.js SDK](https://github.com/imagekit-developer/imagekit-nodejs). Swap `import ImageKit from 'imagekit'` with `import Pixxo from 'pixxo'` — zero refactor required.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install pixxo
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import Pixxo from "pixxo";
|
|
15
|
+
import fs from "fs";
|
|
16
|
+
|
|
17
|
+
const pixxo = new Pixxo({
|
|
18
|
+
email: "you@example.com",
|
|
19
|
+
password: "your-password",
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const result = await pixxo.upload({
|
|
23
|
+
file: fs.readFileSync("receipt.pdf"),
|
|
24
|
+
fileName: "receipt.pdf",
|
|
25
|
+
folder: "/receipts",
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
console.log(result.url); // https://px.pixxo.io/…
|
|
29
|
+
console.log(result.fileId); // MongoDB ObjectId
|
|
30
|
+
console.log(result.name); // receipt.pdf
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
You can also pass raw base64 or a data URI:
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
const result = await pixxo.upload({
|
|
37
|
+
file: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
|
|
38
|
+
fileName: "photo.png",
|
|
39
|
+
folder: "/products/images",
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Constructor Options
|
|
44
|
+
|
|
45
|
+
| Option | Type | Required | Default | Description |
|
|
46
|
+
|---|---|---|---|---|
|
|
47
|
+
| `email` | `string` | ✅ | — | Pixxo account email |
|
|
48
|
+
| `password` | `string` | ✅ | — | Pixxo account password |
|
|
49
|
+
| `baseUrl` | `string` | — | `https://api.pixxo.io` | API base URL |
|
|
50
|
+
| `cdnDomain` | `string` | — | `px.pixxo.io` | CDN domain for returned URLs |
|
|
51
|
+
| `maxRetries` | `number` | — | `2` | Retry attempts for S3 upload failures |
|
|
52
|
+
| `publicKey` | `string` | — | — | *Ignored* (ImageKit compat) |
|
|
53
|
+
| `privateKey` | `string` | — | — | *Ignored* (ImageKit compat) |
|
|
54
|
+
| `urlEndpoint` | `string` | — | — | *Ignored* (ImageKit compat) |
|
|
55
|
+
|
|
56
|
+
## `upload(options)`
|
|
57
|
+
|
|
58
|
+
### Options
|
|
59
|
+
|
|
60
|
+
| Option | Type | Required | Description |
|
|
61
|
+
|---|---|---|---|
|
|
62
|
+
| `file` | `Buffer \| string` | ✅ | Buffer, base64 string, or file path |
|
|
63
|
+
| `fileName` | `string` | ✅ | File name with extension |
|
|
64
|
+
| `folder` | `string` | — | Destination folder (e.g. `"/receipts"`) |
|
|
65
|
+
| `useUniqueFileName` | `boolean` | — | Append unique suffix (default: `true`) |
|
|
66
|
+
|
|
67
|
+
### Response
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
{
|
|
71
|
+
url: string; // CDN URL
|
|
72
|
+
fileId: string; // Pixxo asset ID
|
|
73
|
+
name: string; // Stored file name
|
|
74
|
+
fileType: string; // MIME type
|
|
75
|
+
size: number; // Size in bytes
|
|
76
|
+
folderId: string | null;
|
|
77
|
+
s3Key: string;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Migration from ImageKit
|
|
82
|
+
|
|
83
|
+
```diff
|
|
84
|
+
- import ImageKit from "imagekit";
|
|
85
|
+
+ import Pixxo from "pixxo";
|
|
86
|
+
|
|
87
|
+
- const imagekit = new ImageKit({
|
|
88
|
+
- publicKey: "...",
|
|
89
|
+
- privateKey: "...",
|
|
90
|
+
- urlEndpoint: "...",
|
|
91
|
+
- });
|
|
92
|
+
+ const imagekit = new Pixxo({
|
|
93
|
+
+ email: "you@example.com",
|
|
94
|
+
+ password: "your-password",
|
|
95
|
+
+ });
|
|
96
|
+
|
|
97
|
+
// Everything else stays the same!
|
|
98
|
+
const result = await imagekit.upload({
|
|
99
|
+
file: buffer,
|
|
100
|
+
fileName: "photo.jpg",
|
|
101
|
+
folder: "/products",
|
|
102
|
+
});
|
|
103
|
+
console.log(result.url);
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Features
|
|
107
|
+
|
|
108
|
+
- **Token caching** — authenticates once, reuses token until expiry
|
|
109
|
+
- **Automatic retry** — exponential back-off for S3 upload failures
|
|
110
|
+
- **Recursive folder creation** — deeply nested paths just work
|
|
111
|
+
- **Multiple file input types** — Buffer, base64, file path
|
|
112
|
+
- **ImageKit-compatible response** — `url`, `fileId`, `name`
|
|
113
|
+
- **Zero dependencies** — uses native `fetch` (Node 18+)
|
|
114
|
+
|
|
115
|
+
## License
|
|
116
|
+
|
|
117
|
+
MIT
|
package/dist/pixxo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixxo.d.ts","sourceRoot":"","sources":["../src/pixxo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pixxo.d.ts","sourceRoot":"","sources":["../src/pixxo.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,cAAc,EAEf,MAAM,SAAS,CAAC;AAajB,cAAM,KAAK;IACT,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,uBAAuB;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,mDAAmD;IACnD,OAAO,CAAC,WAAW,CAAa;gBAEpB,MAAM,EAAE,WAAW;IAa/B;;OAEG;YACW,QAAQ;IAuBtB;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;YAoF/C,eAAe;IAyB7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED,SAAS,KAAK,CAAC"}
|
package/dist/pixxo.js
CHANGED
|
@@ -66,9 +66,10 @@ class Pixxo {
|
|
|
66
66
|
*/
|
|
67
67
|
async upload(options) {
|
|
68
68
|
// ── Resolve file ─────────────────────────────────────────────────
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
const
|
|
69
|
+
const resolvedFile = (0, utils_1.resolveUploadFile)(options.file);
|
|
70
|
+
const buffer = resolvedFile.buffer;
|
|
71
|
+
const fileName = (0, utils_1.ensureFileExtension)(options.fileName, resolvedFile.extension);
|
|
72
|
+
const fileType = resolvedFile.mimeType || (0, utils_1.getMimeType)(fileName);
|
|
72
73
|
const fileSize = buffer.length;
|
|
73
74
|
// ── Normalise folder ─────────────────────────────────────────────
|
|
74
75
|
const folderPath = (0, utils_1.normalizeFolderPath)(options.folder);
|
package/dist/pixxo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixxo.js","sourceRoot":"","sources":["../src/pixxo.ts"],"names":[],"mappings":";AAAA,iCAAyC;AACzC,qCAAsC;AACtC,qCAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"pixxo.js","sourceRoot":"","sources":["../src/pixxo.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export interface UploadOptions {
|
|
|
23
23
|
* - `Buffer` – raw bytes
|
|
24
24
|
* - `string` – base64‑encoded data **or** an absolute/relative file path
|
|
25
25
|
*/
|
|
26
|
+
/** Accepts Buffer, raw base64, data URI base64, or file path. */
|
|
26
27
|
file: Buffer | string;
|
|
27
28
|
/** Desired file name including extension */
|
|
28
29
|
fileName: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
* `application/octet-stream` for unknown extensions.
|
|
4
4
|
*/
|
|
5
5
|
export declare function getMimeType(fileName: string): string;
|
|
6
|
+
export interface ResolvedUploadFile {
|
|
7
|
+
buffer: Buffer;
|
|
8
|
+
extension?: string;
|
|
9
|
+
mimeType?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function decodeBase64Image(base64: string): {
|
|
12
|
+
buffer: Buffer;
|
|
13
|
+
extension: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the `file` parameter and preserve detected metadata when possible.
|
|
18
|
+
*
|
|
19
|
+
* Accepts:
|
|
20
|
+
* - `Buffer` -> returned as-is
|
|
21
|
+
* - base64 string or data URI -> decoded
|
|
22
|
+
* - file path -> read from disk
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveUploadFile(file: Buffer | string): ResolvedUploadFile;
|
|
6
25
|
/**
|
|
7
26
|
* Resolve the `file` parameter from an upload call into a `Buffer`.
|
|
8
27
|
*
|
|
@@ -12,6 +31,17 @@ export declare function getMimeType(fileName: string): string;
|
|
|
12
31
|
* - file path → read from disk
|
|
13
32
|
*/
|
|
14
33
|
export declare function resolveFileToBuffer(file: Buffer | string): Buffer;
|
|
34
|
+
/**
|
|
35
|
+
* Ensure `fileName` ends with the correct extension. If the name already
|
|
36
|
+
* has a recognised extension, it is left untouched. Otherwise, the
|
|
37
|
+
* detected extension (if any) is appended.
|
|
38
|
+
*
|
|
39
|
+
* ensureFileExtension("avatar", "png") -> "avatar.png"
|
|
40
|
+
* ensureFileExtension("avatar.jpg", "png") -> "avatar.jpg"
|
|
41
|
+
* ensureFileExtension("my.course", "png") -> "my.course.png"
|
|
42
|
+
* ensureFileExtension("avatar", undefined) -> "avatar"
|
|
43
|
+
*/
|
|
44
|
+
export declare function ensureFileExtension(fileName: string, detectedExtension?: string): string;
|
|
15
45
|
/**
|
|
16
46
|
* Convert ImageKit‑style folder (`/receipts`) to Pixxo style (`receipts`).
|
|
17
47
|
* Also trims trailing slashes and collapses duplicate slashes.
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AA6CA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAuED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAeA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CA+B3E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAWR;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
|
package/dist/utils.js
CHANGED
|
@@ -34,7 +34,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.getMimeType = getMimeType;
|
|
37
|
+
exports.decodeBase64Image = decodeBase64Image;
|
|
38
|
+
exports.resolveUploadFile = resolveUploadFile;
|
|
37
39
|
exports.resolveFileToBuffer = resolveFileToBuffer;
|
|
40
|
+
exports.ensureFileExtension = ensureFileExtension;
|
|
38
41
|
exports.normalizeFolderPath = normalizeFolderPath;
|
|
39
42
|
exports.sleep = sleep;
|
|
40
43
|
const fs = __importStar(require("fs"));
|
|
@@ -85,43 +88,138 @@ function getMimeType(fileName) {
|
|
|
85
88
|
const ext = path.extname(fileName).toLowerCase();
|
|
86
89
|
return MIME_MAP[ext] ?? "application/octet-stream";
|
|
87
90
|
}
|
|
91
|
+
const MIME_TO_EXT = {
|
|
92
|
+
"image/png": "png",
|
|
93
|
+
"image/jpeg": "jpg",
|
|
94
|
+
"image/jpg": "jpg",
|
|
95
|
+
"image/webp": "webp",
|
|
96
|
+
"image/gif": "gif",
|
|
97
|
+
"image/svg+xml": "svg",
|
|
98
|
+
"image/bmp": "bmp",
|
|
99
|
+
"image/avif": "avif",
|
|
100
|
+
"application/pdf": "pdf",
|
|
101
|
+
};
|
|
88
102
|
// ─── File resolution ───────────────────────────────────────────────────────
|
|
89
103
|
/**
|
|
90
104
|
* Determines whether a string looks like base64‑encoded data.
|
|
91
105
|
* Heuristic: length ≥ 64, matches base64 charset, no path separators.
|
|
92
106
|
*/
|
|
93
107
|
function isBase64(str) {
|
|
94
|
-
|
|
108
|
+
const normalized = str.replace(/\s/g, "");
|
|
109
|
+
if (normalized.length < 4 || normalized.length % 4 !== 0)
|
|
95
110
|
return false;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
111
|
+
return /^[A-Za-z0-9+/]+={0,2}$/.test(normalized);
|
|
112
|
+
}
|
|
113
|
+
function detectFileType(buffer) {
|
|
114
|
+
if (buffer.length >= 8 &&
|
|
115
|
+
buffer[0] === 0x89 &&
|
|
116
|
+
buffer[1] === 0x50 &&
|
|
117
|
+
buffer[2] === 0x4e &&
|
|
118
|
+
buffer[3] === 0x47) {
|
|
119
|
+
return { extension: "png", mimeType: "image/png" };
|
|
120
|
+
}
|
|
121
|
+
if (buffer.length >= 3 &&
|
|
122
|
+
buffer[0] === 0xff &&
|
|
123
|
+
buffer[1] === 0xd8 &&
|
|
124
|
+
buffer[2] === 0xff) {
|
|
125
|
+
return { extension: "jpg", mimeType: "image/jpeg" };
|
|
126
|
+
}
|
|
127
|
+
if (buffer.length >= 12 &&
|
|
128
|
+
buffer.toString("ascii", 0, 4) === "RIFF" &&
|
|
129
|
+
buffer.toString("ascii", 8, 12) === "WEBP") {
|
|
130
|
+
return { extension: "webp", mimeType: "image/webp" };
|
|
131
|
+
}
|
|
132
|
+
if (buffer.length >= 6 &&
|
|
133
|
+
(buffer.toString("ascii", 0, 6) === "GIF87a" ||
|
|
134
|
+
buffer.toString("ascii", 0, 6) === "GIF89a")) {
|
|
135
|
+
return { extension: "gif", mimeType: "image/gif" };
|
|
136
|
+
}
|
|
137
|
+
if (buffer.length >= 4 && buffer.toString("ascii", 0, 4) === "%PDF") {
|
|
138
|
+
return { extension: "pdf", mimeType: "application/pdf" };
|
|
139
|
+
}
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
function decodeBase64Image(base64) {
|
|
143
|
+
const dataUriMatch = /^data:([^;]+);base64,(.*)$/s.exec(base64);
|
|
144
|
+
const mimeFromUri = dataUriMatch?.[1];
|
|
145
|
+
const raw = dataUriMatch ? dataUriMatch[2] : base64;
|
|
146
|
+
const buffer = Buffer.from(raw.replace(/\s/g, ""), "base64");
|
|
147
|
+
const detected = detectFileType(buffer);
|
|
148
|
+
const mimeType = mimeFromUri || detected.mimeType || "application/octet-stream";
|
|
149
|
+
const extension = (mimeFromUri ? MIME_TO_EXT[mimeFromUri.toLowerCase()] : undefined) ||
|
|
150
|
+
detected.extension ||
|
|
151
|
+
"bin";
|
|
152
|
+
return { buffer, extension, mimeType };
|
|
99
153
|
}
|
|
100
154
|
/**
|
|
101
|
-
* Resolve the `file` parameter
|
|
155
|
+
* Resolve the `file` parameter and preserve detected metadata when possible.
|
|
102
156
|
*
|
|
103
157
|
* Accepts:
|
|
104
|
-
* - `Buffer`
|
|
105
|
-
* - base64 string
|
|
106
|
-
* - file path
|
|
158
|
+
* - `Buffer` -> returned as-is
|
|
159
|
+
* - base64 string or data URI -> decoded
|
|
160
|
+
* - file path -> read from disk
|
|
107
161
|
*/
|
|
108
|
-
function
|
|
109
|
-
if (Buffer.isBuffer(file))
|
|
110
|
-
|
|
162
|
+
function resolveUploadFile(file) {
|
|
163
|
+
if (Buffer.isBuffer(file)) {
|
|
164
|
+
const detected = detectFileType(file);
|
|
165
|
+
return { buffer: file, ...detected };
|
|
166
|
+
}
|
|
111
167
|
if (typeof file === "string") {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return Buffer.from(file, "base64");
|
|
168
|
+
if (/^data:[^;]+;base64,/i.test(file) || isBase64(file)) {
|
|
169
|
+
return decodeBase64Image(file);
|
|
115
170
|
}
|
|
116
|
-
// Treat as file path
|
|
117
171
|
const resolved = path.resolve(file);
|
|
118
172
|
if (!fs.existsSync(resolved)) {
|
|
119
173
|
throw new Error(`File not found: ${resolved}`);
|
|
120
174
|
}
|
|
121
|
-
|
|
175
|
+
const buffer = fs.readFileSync(resolved);
|
|
176
|
+
const fileNameMimeType = getMimeType(resolved);
|
|
177
|
+
const detected = detectFileType(buffer);
|
|
178
|
+
return {
|
|
179
|
+
buffer,
|
|
180
|
+
extension: detected.extension || path.extname(resolved).slice(1),
|
|
181
|
+
mimeType: fileNameMimeType === "application/octet-stream"
|
|
182
|
+
? detected.mimeType
|
|
183
|
+
: fileNameMimeType,
|
|
184
|
+
};
|
|
122
185
|
}
|
|
123
186
|
throw new Error("Invalid file: expected Buffer, base64 string, or file path");
|
|
124
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Resolve the `file` parameter from an upload call into a `Buffer`.
|
|
190
|
+
*
|
|
191
|
+
* Accepts:
|
|
192
|
+
* - `Buffer` → returned as-is
|
|
193
|
+
* - base64 string → decoded
|
|
194
|
+
* - file path → read from disk
|
|
195
|
+
*/
|
|
196
|
+
function resolveFileToBuffer(file) {
|
|
197
|
+
return resolveUploadFile(file).buffer;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Ensure `fileName` ends with the correct extension. If the name already
|
|
201
|
+
* has a recognised extension, it is left untouched. Otherwise, the
|
|
202
|
+
* detected extension (if any) is appended.
|
|
203
|
+
*
|
|
204
|
+
* ensureFileExtension("avatar", "png") -> "avatar.png"
|
|
205
|
+
* ensureFileExtension("avatar.jpg", "png") -> "avatar.jpg"
|
|
206
|
+
* ensureFileExtension("my.course", "png") -> "my.course.png"
|
|
207
|
+
* ensureFileExtension("avatar", undefined) -> "avatar"
|
|
208
|
+
*/
|
|
209
|
+
function ensureFileExtension(fileName, detectedExtension) {
|
|
210
|
+
if (!fileName)
|
|
211
|
+
return fileName;
|
|
212
|
+
const existingExt = path.extname(fileName).toLowerCase();
|
|
213
|
+
// Only treat as "already has extension" if it's a known one
|
|
214
|
+
if (existingExt && MIME_MAP[existingExt])
|
|
215
|
+
return fileName;
|
|
216
|
+
if (!detectedExtension)
|
|
217
|
+
return fileName;
|
|
218
|
+
const ext = detectedExtension.replace(/^\.+/, "").toLowerCase();
|
|
219
|
+
if (!ext)
|
|
220
|
+
return fileName;
|
|
221
|
+
return `${fileName}.${ext}`;
|
|
222
|
+
}
|
|
125
223
|
// ─── Folder path normalisation ─────────────────────────────────────────────
|
|
126
224
|
/**
|
|
127
225
|
* Convert ImageKit‑style folder (`/receipts`) to Pixxo style (`receipts`).
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@sarangkale66/pixxo-sdk-node",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Pixxo Node.js SDK — drop-in replacement for ImageKit SDK",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"files": [
|
|
8
|
-
"dist"
|
|
9
|
-
],
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsc",
|
|
12
|
-
"prepublishOnly": "npm run build",
|
|
13
|
-
"typecheck": "tsc --noEmit"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"pixxo",
|
|
17
|
-
"imagekit",
|
|
18
|
-
"image",
|
|
19
|
-
"upload",
|
|
20
|
-
"cdn",
|
|
21
|
-
"asset-management",
|
|
22
|
-
"s3"
|
|
23
|
-
],
|
|
24
|
-
"author": "",
|
|
25
|
-
"license": "MIT",
|
|
26
|
-
"devDependencies": {
|
|
27
|
-
"@types/node": "^20.12.0",
|
|
28
|
-
"typescript": "^5.4.5"
|
|
29
|
-
},
|
|
30
|
-
"engines": {
|
|
31
|
-
"node": ">=18.0.0"
|
|
32
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@sarangkale66/pixxo-sdk-node",
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"description": "Pixxo Node.js SDK — drop-in replacement for ImageKit SDK",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"prepublishOnly": "npm run build",
|
|
13
|
+
"typecheck": "tsc --noEmit"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"pixxo",
|
|
17
|
+
"imagekit",
|
|
18
|
+
"image",
|
|
19
|
+
"upload",
|
|
20
|
+
"cdn",
|
|
21
|
+
"asset-management",
|
|
22
|
+
"s3"
|
|
23
|
+
],
|
|
24
|
+
"author": "",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/node": "^20.12.0",
|
|
28
|
+
"typescript": "^5.4.5"
|
|
29
|
+
},
|
|
30
|
+
"engines": {
|
|
31
|
+
"node": ">=18.0.0"
|
|
32
|
+
}
|
|
33
33
|
}
|