pinata 1.0.6 → 1.2.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.
- package/dist/index.d.mts +35 -6
- package/dist/index.d.ts +35 -6
- package/dist/index.js +152 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +152 -26
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -417,9 +417,19 @@ var listFiles = async (config, options) => {
|
|
|
417
417
|
}
|
|
418
418
|
const params = new URLSearchParams();
|
|
419
419
|
if (options) {
|
|
420
|
-
const { limit, pageToken, cidPending } = options;
|
|
420
|
+
const { name, group, cid, order, limit, mimeType, pageToken, cidPending } = options;
|
|
421
421
|
if (limit)
|
|
422
422
|
params.append("limit", limit.toString());
|
|
423
|
+
if (name)
|
|
424
|
+
params.append("name", name);
|
|
425
|
+
if (group)
|
|
426
|
+
params.append("group", group);
|
|
427
|
+
if (cid)
|
|
428
|
+
params.append("cid", cid);
|
|
429
|
+
if (mimeType)
|
|
430
|
+
params.append("mimeType", mimeType);
|
|
431
|
+
if (order)
|
|
432
|
+
params.append("order", order);
|
|
423
433
|
if (pageToken)
|
|
424
434
|
params.append("pageToken", pageToken);
|
|
425
435
|
if (cidPending)
|
|
@@ -531,13 +541,41 @@ var updateFile = async (config, options) => {
|
|
|
531
541
|
};
|
|
532
542
|
|
|
533
543
|
// src/core/gateway/getCid.ts
|
|
534
|
-
var getCid = async (config, cid) => {
|
|
544
|
+
var getCid = async (config, cid, options) => {
|
|
535
545
|
if (!config) {
|
|
536
546
|
throw new ValidationError("Pinata configuration is missing");
|
|
537
547
|
}
|
|
538
548
|
let data;
|
|
539
549
|
let newUrl = `${config?.pinataGateway}/files/${cid}`;
|
|
540
550
|
const params = new URLSearchParams();
|
|
551
|
+
if (options) {
|
|
552
|
+
if (options.width)
|
|
553
|
+
params.append("img-width", options.width.toString());
|
|
554
|
+
if (options.height)
|
|
555
|
+
params.append("img-height", options.height.toString());
|
|
556
|
+
if (options.dpr)
|
|
557
|
+
params.append("img-dpr", options.dpr.toString());
|
|
558
|
+
if (options.fit)
|
|
559
|
+
params.append("img-fit", options.fit);
|
|
560
|
+
if (options.gravity)
|
|
561
|
+
params.append("img-gravity", options.gravity);
|
|
562
|
+
if (options.quality)
|
|
563
|
+
params.append("img-quality", options.quality.toString());
|
|
564
|
+
if (options.format)
|
|
565
|
+
params.append("img-format", options.format);
|
|
566
|
+
if (options.animation !== void 0)
|
|
567
|
+
params.append("img-anim", options.animation.toString());
|
|
568
|
+
if (options.sharpen)
|
|
569
|
+
params.append("img-sharpen", options.sharpen.toString());
|
|
570
|
+
if (options.onError === true)
|
|
571
|
+
params.append("img-onerror", "redirect");
|
|
572
|
+
if (options.metadata)
|
|
573
|
+
params.append("img-metadata", options.metadata);
|
|
574
|
+
}
|
|
575
|
+
const queryString = params.toString();
|
|
576
|
+
if (queryString) {
|
|
577
|
+
newUrl += `?${queryString}`;
|
|
578
|
+
}
|
|
541
579
|
const date = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
542
580
|
const payload = JSON.stringify({
|
|
543
581
|
url: newUrl,
|
|
@@ -545,17 +583,18 @@ var getCid = async (config, cid) => {
|
|
|
545
583
|
expires: 30,
|
|
546
584
|
method: "GET"
|
|
547
585
|
});
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
}
|
|
558
|
-
|
|
586
|
+
let endpoint = "https://api.pinata.cloud/v3";
|
|
587
|
+
if (config.endpointUrl) {
|
|
588
|
+
endpoint = config.endpointUrl;
|
|
589
|
+
}
|
|
590
|
+
const signedUrlRequest = await fetch(`${endpoint}/files/sign`, {
|
|
591
|
+
method: "POST",
|
|
592
|
+
headers: {
|
|
593
|
+
"Content-Type": "application/json",
|
|
594
|
+
Authorization: `Bearer ${config?.pinataJwt}`
|
|
595
|
+
},
|
|
596
|
+
body: payload
|
|
597
|
+
});
|
|
559
598
|
const signedUrl = await signedUrlRequest.json();
|
|
560
599
|
try {
|
|
561
600
|
const request = await fetch(signedUrl.data);
|
|
@@ -868,13 +907,13 @@ var listGroups = async (config, options) => {
|
|
|
868
907
|
}
|
|
869
908
|
const params = new URLSearchParams();
|
|
870
909
|
if (options) {
|
|
871
|
-
const { pageToken,
|
|
910
|
+
const { pageToken, name, limit, isPublic } = options;
|
|
872
911
|
if (pageToken)
|
|
873
912
|
params.append("pageToken", pageToken.toString());
|
|
874
913
|
if (isPublic)
|
|
875
914
|
params.append("isPublic", isPublic.toString());
|
|
876
|
-
if (
|
|
877
|
-
params.append("
|
|
915
|
+
if (name)
|
|
916
|
+
params.append("name", name);
|
|
878
917
|
if (limit !== void 0)
|
|
879
918
|
params.append("limit", limit.toString());
|
|
880
919
|
}
|
|
@@ -1085,11 +1124,40 @@ var deleteGroup = async (config, options) => {
|
|
|
1085
1124
|
};
|
|
1086
1125
|
|
|
1087
1126
|
// src/core/gateway/createSignedURL.ts
|
|
1088
|
-
var createSignedURL = async (config, options) => {
|
|
1127
|
+
var createSignedURL = async (config, options, imgOpts) => {
|
|
1089
1128
|
if (!config) {
|
|
1090
1129
|
throw new ValidationError("Pinata configuration is missing");
|
|
1091
1130
|
}
|
|
1092
1131
|
let newUrl = `${config?.pinataGateway}/files/${options.cid}`;
|
|
1132
|
+
const params = new URLSearchParams();
|
|
1133
|
+
if (imgOpts) {
|
|
1134
|
+
if (imgOpts.width)
|
|
1135
|
+
params.append("img-width", imgOpts.width.toString());
|
|
1136
|
+
if (imgOpts.height)
|
|
1137
|
+
params.append("img-height", imgOpts.height.toString());
|
|
1138
|
+
if (imgOpts.dpr)
|
|
1139
|
+
params.append("img-dpr", imgOpts.dpr.toString());
|
|
1140
|
+
if (imgOpts.fit)
|
|
1141
|
+
params.append("img-fit", imgOpts.fit);
|
|
1142
|
+
if (imgOpts.gravity)
|
|
1143
|
+
params.append("img-gravity", imgOpts.gravity);
|
|
1144
|
+
if (imgOpts.quality)
|
|
1145
|
+
params.append("img-quality", imgOpts.quality.toString());
|
|
1146
|
+
if (imgOpts.format)
|
|
1147
|
+
params.append("img-format", imgOpts.format);
|
|
1148
|
+
if (imgOpts.animation !== void 0)
|
|
1149
|
+
params.append("img-anim", imgOpts.animation.toString());
|
|
1150
|
+
if (imgOpts.sharpen)
|
|
1151
|
+
params.append("img-sharpen", imgOpts.sharpen.toString());
|
|
1152
|
+
if (imgOpts.onError === true)
|
|
1153
|
+
params.append("img-onerror", "redirect");
|
|
1154
|
+
if (imgOpts.metadata)
|
|
1155
|
+
params.append("img-metadata", imgOpts.metadata);
|
|
1156
|
+
}
|
|
1157
|
+
const queryString = params.toString();
|
|
1158
|
+
if (queryString) {
|
|
1159
|
+
newUrl += `?${queryString}`;
|
|
1160
|
+
}
|
|
1093
1161
|
const date = options?.date || Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
1094
1162
|
const payload = JSON.stringify({
|
|
1095
1163
|
url: newUrl,
|
|
@@ -1269,6 +1337,26 @@ var FilterFiles = class {
|
|
|
1269
1337
|
this.query = {};
|
|
1270
1338
|
this.config = config;
|
|
1271
1339
|
}
|
|
1340
|
+
name(name) {
|
|
1341
|
+
this.query.name = name;
|
|
1342
|
+
return this;
|
|
1343
|
+
}
|
|
1344
|
+
group(group) {
|
|
1345
|
+
this.query.group = group;
|
|
1346
|
+
return this;
|
|
1347
|
+
}
|
|
1348
|
+
cid(cid) {
|
|
1349
|
+
this.query.cid = cid;
|
|
1350
|
+
return this;
|
|
1351
|
+
}
|
|
1352
|
+
mimeType(mimeType) {
|
|
1353
|
+
this.query.mimeType = mimeType;
|
|
1354
|
+
return this;
|
|
1355
|
+
}
|
|
1356
|
+
order(order) {
|
|
1357
|
+
this.query.order = order;
|
|
1358
|
+
return this;
|
|
1359
|
+
}
|
|
1272
1360
|
limit(limit) {
|
|
1273
1361
|
this.query.limit = limit;
|
|
1274
1362
|
return this;
|
|
@@ -1277,6 +1365,10 @@ var FilterFiles = class {
|
|
|
1277
1365
|
this.query.cidPending = cidPending;
|
|
1278
1366
|
return this;
|
|
1279
1367
|
}
|
|
1368
|
+
pageToken(pageToken) {
|
|
1369
|
+
this.query.pageToken = pageToken;
|
|
1370
|
+
return this;
|
|
1371
|
+
}
|
|
1280
1372
|
then(onfulfilled) {
|
|
1281
1373
|
return this.fetchPage().then(onfulfilled);
|
|
1282
1374
|
}
|
|
@@ -1286,7 +1378,7 @@ var FilterFiles = class {
|
|
|
1286
1378
|
}
|
|
1287
1379
|
const response = await listFiles(this.config, this.query);
|
|
1288
1380
|
this.currentPageToken = response.next_page_token;
|
|
1289
|
-
return response
|
|
1381
|
+
return response;
|
|
1290
1382
|
}
|
|
1291
1383
|
// // rate limit, hopefully temporary?
|
|
1292
1384
|
// private async rateLimit(): Promise<void> {
|
|
@@ -1305,7 +1397,7 @@ var FilterFiles = class {
|
|
|
1305
1397
|
async *[Symbol.asyncIterator]() {
|
|
1306
1398
|
while (true) {
|
|
1307
1399
|
const items = await this.fetchPage();
|
|
1308
|
-
for (const item of items) {
|
|
1400
|
+
for (const item of items.files) {
|
|
1309
1401
|
yield item;
|
|
1310
1402
|
}
|
|
1311
1403
|
if (!this.currentPageToken) {
|
|
@@ -1329,10 +1421,10 @@ var Gateways = class {
|
|
|
1329
1421
|
this.config = newConfig;
|
|
1330
1422
|
}
|
|
1331
1423
|
get(cid) {
|
|
1332
|
-
return
|
|
1424
|
+
return new OptimizeImageGetCid(this.config, cid);
|
|
1333
1425
|
}
|
|
1334
1426
|
createSignedURL(options) {
|
|
1335
|
-
return
|
|
1427
|
+
return new OptimizeImageCreateSignedURL(this.config, options);
|
|
1336
1428
|
}
|
|
1337
1429
|
// get(cid: string): OptimizeImage {
|
|
1338
1430
|
// return new OptimizeImage(this.config, cid);
|
|
@@ -1389,6 +1481,36 @@ var Gateways = class {
|
|
|
1389
1481
|
// return deleteSwap(this.config, cid);
|
|
1390
1482
|
// }
|
|
1391
1483
|
};
|
|
1484
|
+
var OptimizeImageGetCid = class {
|
|
1485
|
+
constructor(config, cid) {
|
|
1486
|
+
this.options = {};
|
|
1487
|
+
this.config = config;
|
|
1488
|
+
this.cid = cid;
|
|
1489
|
+
}
|
|
1490
|
+
optimizeImage(options) {
|
|
1491
|
+
this.options = { ...this.options, ...options };
|
|
1492
|
+
return this;
|
|
1493
|
+
}
|
|
1494
|
+
then(onfulfilled) {
|
|
1495
|
+
return getCid(this.config, this.cid, this.options).then(onfulfilled);
|
|
1496
|
+
}
|
|
1497
|
+
};
|
|
1498
|
+
var OptimizeImageCreateSignedURL = class {
|
|
1499
|
+
constructor(config, urlOpts) {
|
|
1500
|
+
this.imgOpts = {};
|
|
1501
|
+
this.config = config;
|
|
1502
|
+
this.urlOpts = urlOpts;
|
|
1503
|
+
}
|
|
1504
|
+
optimizeImage(options) {
|
|
1505
|
+
this.imgOpts = { ...this.imgOpts, ...options };
|
|
1506
|
+
return this;
|
|
1507
|
+
}
|
|
1508
|
+
then(onfulfilled) {
|
|
1509
|
+
return createSignedURL(this.config, this.urlOpts, this.imgOpts).then(
|
|
1510
|
+
onfulfilled
|
|
1511
|
+
);
|
|
1512
|
+
}
|
|
1513
|
+
};
|
|
1392
1514
|
var Keys = class {
|
|
1393
1515
|
constructor(config) {
|
|
1394
1516
|
this.config = formatConfig(config);
|
|
@@ -1510,10 +1632,10 @@ var FilterGroups = class {
|
|
|
1510
1632
|
this.query = {};
|
|
1511
1633
|
this.config = config;
|
|
1512
1634
|
}
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1635
|
+
name(name) {
|
|
1636
|
+
this.query.name = name;
|
|
1637
|
+
return this;
|
|
1638
|
+
}
|
|
1517
1639
|
limit(limit) {
|
|
1518
1640
|
this.query.limit = limit;
|
|
1519
1641
|
return this;
|
|
@@ -1522,10 +1644,14 @@ var FilterGroups = class {
|
|
|
1522
1644
|
this.query.isPublic = isPublic;
|
|
1523
1645
|
return this;
|
|
1524
1646
|
}
|
|
1647
|
+
pageToken(pageToken) {
|
|
1648
|
+
this.query.pageToken = pageToken;
|
|
1649
|
+
return this;
|
|
1650
|
+
}
|
|
1525
1651
|
then(onfulfilled) {
|
|
1526
1652
|
return this.fetchPage().then((response) => {
|
|
1527
1653
|
this.nextPageToken = response.next_page_token;
|
|
1528
|
-
return response
|
|
1654
|
+
return response;
|
|
1529
1655
|
}).then(onfulfilled);
|
|
1530
1656
|
}
|
|
1531
1657
|
async fetchPage() {
|