pinata 1.1.0 → 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 +31 -4
- package/dist/index.d.ts +31 -4
- package/dist/index.js +141 -23
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +141 -23
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -59,9 +59,14 @@ type FileListResponse = {
|
|
|
59
59
|
next_page_token: string;
|
|
60
60
|
};
|
|
61
61
|
type FileListQuery = {
|
|
62
|
+
name?: string;
|
|
63
|
+
group?: string;
|
|
64
|
+
mimeType?: string;
|
|
65
|
+
cid?: string;
|
|
66
|
+
cidPending?: boolean;
|
|
67
|
+
order?: "ASC" | "DESC";
|
|
62
68
|
limit?: number;
|
|
63
69
|
pageToken?: string;
|
|
64
|
-
cidPending?: boolean;
|
|
65
70
|
};
|
|
66
71
|
type PinJobQuery = {
|
|
67
72
|
sort?: "ASC" | "DSC";
|
|
@@ -245,7 +250,7 @@ type GroupResponseItem = {
|
|
|
245
250
|
createdAt: string;
|
|
246
251
|
};
|
|
247
252
|
type GroupQueryOptions = {
|
|
248
|
-
|
|
253
|
+
name?: string;
|
|
249
254
|
limit?: number;
|
|
250
255
|
pageToken?: string;
|
|
251
256
|
isPublic?: boolean;
|
|
@@ -325,6 +330,11 @@ declare class FilterFiles {
|
|
|
325
330
|
private query;
|
|
326
331
|
private currentPageToken;
|
|
327
332
|
constructor(config: PinataConfig | undefined);
|
|
333
|
+
name(name: string): FilterFiles;
|
|
334
|
+
group(group: string): FilterFiles;
|
|
335
|
+
cid(cid: string): FilterFiles;
|
|
336
|
+
mimeType(mimeType: string): FilterFiles;
|
|
337
|
+
order(order: "ASC" | "DESC"): FilterFiles;
|
|
328
338
|
limit(limit: number): FilterFiles;
|
|
329
339
|
cidPending(cidPending: boolean): FilterFiles;
|
|
330
340
|
pageToken(pageToken: string): FilterFiles;
|
|
@@ -337,8 +347,24 @@ declare class Gateways {
|
|
|
337
347
|
config: PinataConfig | undefined;
|
|
338
348
|
constructor(config?: PinataConfig);
|
|
339
349
|
updateConfig(newConfig: PinataConfig): void;
|
|
340
|
-
get(cid: string):
|
|
341
|
-
createSignedURL(options: SignedUrlOptions):
|
|
350
|
+
get(cid: string): OptimizeImageGetCid;
|
|
351
|
+
createSignedURL(options: SignedUrlOptions): OptimizeImageCreateSignedURL;
|
|
352
|
+
}
|
|
353
|
+
declare class OptimizeImageGetCid {
|
|
354
|
+
private config;
|
|
355
|
+
private cid;
|
|
356
|
+
private options;
|
|
357
|
+
constructor(config: PinataConfig | undefined, cid: string);
|
|
358
|
+
optimizeImage(options: OptimizeImageOptions): OptimizeImageGetCid;
|
|
359
|
+
then(onfulfilled?: ((value: GetCIDResponse) => any) | null): Promise<any>;
|
|
360
|
+
}
|
|
361
|
+
declare class OptimizeImageCreateSignedURL {
|
|
362
|
+
private config;
|
|
363
|
+
private urlOpts;
|
|
364
|
+
private imgOpts;
|
|
365
|
+
constructor(config: PinataConfig | undefined, urlOpts: SignedUrlOptions);
|
|
366
|
+
optimizeImage(options: OptimizeImageOptions): OptimizeImageCreateSignedURL;
|
|
367
|
+
then(onfulfilled?: ((value: string) => any) | null): Promise<any>;
|
|
342
368
|
}
|
|
343
369
|
declare class Keys {
|
|
344
370
|
config: PinataConfig | undefined;
|
|
@@ -376,6 +402,7 @@ declare class FilterGroups {
|
|
|
376
402
|
private query;
|
|
377
403
|
private nextPageToken;
|
|
378
404
|
constructor(config: PinataConfig | undefined);
|
|
405
|
+
name(name: string): FilterGroups;
|
|
379
406
|
limit(limit: number): FilterGroups;
|
|
380
407
|
isPublic(isPublic: boolean): FilterGroups;
|
|
381
408
|
pageToken(pageToken: string): FilterGroups;
|
package/dist/index.d.ts
CHANGED
|
@@ -59,9 +59,14 @@ type FileListResponse = {
|
|
|
59
59
|
next_page_token: string;
|
|
60
60
|
};
|
|
61
61
|
type FileListQuery = {
|
|
62
|
+
name?: string;
|
|
63
|
+
group?: string;
|
|
64
|
+
mimeType?: string;
|
|
65
|
+
cid?: string;
|
|
66
|
+
cidPending?: boolean;
|
|
67
|
+
order?: "ASC" | "DESC";
|
|
62
68
|
limit?: number;
|
|
63
69
|
pageToken?: string;
|
|
64
|
-
cidPending?: boolean;
|
|
65
70
|
};
|
|
66
71
|
type PinJobQuery = {
|
|
67
72
|
sort?: "ASC" | "DSC";
|
|
@@ -245,7 +250,7 @@ type GroupResponseItem = {
|
|
|
245
250
|
createdAt: string;
|
|
246
251
|
};
|
|
247
252
|
type GroupQueryOptions = {
|
|
248
|
-
|
|
253
|
+
name?: string;
|
|
249
254
|
limit?: number;
|
|
250
255
|
pageToken?: string;
|
|
251
256
|
isPublic?: boolean;
|
|
@@ -325,6 +330,11 @@ declare class FilterFiles {
|
|
|
325
330
|
private query;
|
|
326
331
|
private currentPageToken;
|
|
327
332
|
constructor(config: PinataConfig | undefined);
|
|
333
|
+
name(name: string): FilterFiles;
|
|
334
|
+
group(group: string): FilterFiles;
|
|
335
|
+
cid(cid: string): FilterFiles;
|
|
336
|
+
mimeType(mimeType: string): FilterFiles;
|
|
337
|
+
order(order: "ASC" | "DESC"): FilterFiles;
|
|
328
338
|
limit(limit: number): FilterFiles;
|
|
329
339
|
cidPending(cidPending: boolean): FilterFiles;
|
|
330
340
|
pageToken(pageToken: string): FilterFiles;
|
|
@@ -337,8 +347,24 @@ declare class Gateways {
|
|
|
337
347
|
config: PinataConfig | undefined;
|
|
338
348
|
constructor(config?: PinataConfig);
|
|
339
349
|
updateConfig(newConfig: PinataConfig): void;
|
|
340
|
-
get(cid: string):
|
|
341
|
-
createSignedURL(options: SignedUrlOptions):
|
|
350
|
+
get(cid: string): OptimizeImageGetCid;
|
|
351
|
+
createSignedURL(options: SignedUrlOptions): OptimizeImageCreateSignedURL;
|
|
352
|
+
}
|
|
353
|
+
declare class OptimizeImageGetCid {
|
|
354
|
+
private config;
|
|
355
|
+
private cid;
|
|
356
|
+
private options;
|
|
357
|
+
constructor(config: PinataConfig | undefined, cid: string);
|
|
358
|
+
optimizeImage(options: OptimizeImageOptions): OptimizeImageGetCid;
|
|
359
|
+
then(onfulfilled?: ((value: GetCIDResponse) => any) | null): Promise<any>;
|
|
360
|
+
}
|
|
361
|
+
declare class OptimizeImageCreateSignedURL {
|
|
362
|
+
private config;
|
|
363
|
+
private urlOpts;
|
|
364
|
+
private imgOpts;
|
|
365
|
+
constructor(config: PinataConfig | undefined, urlOpts: SignedUrlOptions);
|
|
366
|
+
optimizeImage(options: OptimizeImageOptions): OptimizeImageCreateSignedURL;
|
|
367
|
+
then(onfulfilled?: ((value: string) => any) | null): Promise<any>;
|
|
342
368
|
}
|
|
343
369
|
declare class Keys {
|
|
344
370
|
config: PinataConfig | undefined;
|
|
@@ -376,6 +402,7 @@ declare class FilterGroups {
|
|
|
376
402
|
private query;
|
|
377
403
|
private nextPageToken;
|
|
378
404
|
constructor(config: PinataConfig | undefined);
|
|
405
|
+
name(name: string): FilterGroups;
|
|
379
406
|
limit(limit: number): FilterGroups;
|
|
380
407
|
isPublic(isPublic: boolean): FilterGroups;
|
|
381
408
|
pageToken(pageToken: string): FilterGroups;
|
package/dist/index.js
CHANGED
|
@@ -443,9 +443,19 @@ var listFiles = async (config, options) => {
|
|
|
443
443
|
}
|
|
444
444
|
const params = new URLSearchParams();
|
|
445
445
|
if (options) {
|
|
446
|
-
const { limit, pageToken, cidPending } = options;
|
|
446
|
+
const { name, group, cid, order, limit, mimeType, pageToken, cidPending } = options;
|
|
447
447
|
if (limit)
|
|
448
448
|
params.append("limit", limit.toString());
|
|
449
|
+
if (name)
|
|
450
|
+
params.append("name", name);
|
|
451
|
+
if (group)
|
|
452
|
+
params.append("group", group);
|
|
453
|
+
if (cid)
|
|
454
|
+
params.append("cid", cid);
|
|
455
|
+
if (mimeType)
|
|
456
|
+
params.append("mimeType", mimeType);
|
|
457
|
+
if (order)
|
|
458
|
+
params.append("order", order);
|
|
449
459
|
if (pageToken)
|
|
450
460
|
params.append("pageToken", pageToken);
|
|
451
461
|
if (cidPending)
|
|
@@ -557,13 +567,41 @@ var updateFile = async (config, options) => {
|
|
|
557
567
|
};
|
|
558
568
|
|
|
559
569
|
// src/core/gateway/getCid.ts
|
|
560
|
-
var getCid = async (config, cid) => {
|
|
570
|
+
var getCid = async (config, cid, options) => {
|
|
561
571
|
if (!config) {
|
|
562
572
|
throw new ValidationError("Pinata configuration is missing");
|
|
563
573
|
}
|
|
564
574
|
let data;
|
|
565
575
|
let newUrl = `${config?.pinataGateway}/files/${cid}`;
|
|
566
576
|
const params = new URLSearchParams();
|
|
577
|
+
if (options) {
|
|
578
|
+
if (options.width)
|
|
579
|
+
params.append("img-width", options.width.toString());
|
|
580
|
+
if (options.height)
|
|
581
|
+
params.append("img-height", options.height.toString());
|
|
582
|
+
if (options.dpr)
|
|
583
|
+
params.append("img-dpr", options.dpr.toString());
|
|
584
|
+
if (options.fit)
|
|
585
|
+
params.append("img-fit", options.fit);
|
|
586
|
+
if (options.gravity)
|
|
587
|
+
params.append("img-gravity", options.gravity);
|
|
588
|
+
if (options.quality)
|
|
589
|
+
params.append("img-quality", options.quality.toString());
|
|
590
|
+
if (options.format)
|
|
591
|
+
params.append("img-format", options.format);
|
|
592
|
+
if (options.animation !== void 0)
|
|
593
|
+
params.append("img-anim", options.animation.toString());
|
|
594
|
+
if (options.sharpen)
|
|
595
|
+
params.append("img-sharpen", options.sharpen.toString());
|
|
596
|
+
if (options.onError === true)
|
|
597
|
+
params.append("img-onerror", "redirect");
|
|
598
|
+
if (options.metadata)
|
|
599
|
+
params.append("img-metadata", options.metadata);
|
|
600
|
+
}
|
|
601
|
+
const queryString = params.toString();
|
|
602
|
+
if (queryString) {
|
|
603
|
+
newUrl += `?${queryString}`;
|
|
604
|
+
}
|
|
567
605
|
const date = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
568
606
|
const payload = JSON.stringify({
|
|
569
607
|
url: newUrl,
|
|
@@ -571,17 +609,18 @@ var getCid = async (config, cid) => {
|
|
|
571
609
|
expires: 30,
|
|
572
610
|
method: "GET"
|
|
573
611
|
});
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
}
|
|
584
|
-
|
|
612
|
+
let endpoint = "https://api.pinata.cloud/v3";
|
|
613
|
+
if (config.endpointUrl) {
|
|
614
|
+
endpoint = config.endpointUrl;
|
|
615
|
+
}
|
|
616
|
+
const signedUrlRequest = await fetch(`${endpoint}/files/sign`, {
|
|
617
|
+
method: "POST",
|
|
618
|
+
headers: {
|
|
619
|
+
"Content-Type": "application/json",
|
|
620
|
+
Authorization: `Bearer ${config?.pinataJwt}`
|
|
621
|
+
},
|
|
622
|
+
body: payload
|
|
623
|
+
});
|
|
585
624
|
const signedUrl = await signedUrlRequest.json();
|
|
586
625
|
try {
|
|
587
626
|
const request = await fetch(signedUrl.data);
|
|
@@ -894,13 +933,13 @@ var listGroups = async (config, options) => {
|
|
|
894
933
|
}
|
|
895
934
|
const params = new URLSearchParams();
|
|
896
935
|
if (options) {
|
|
897
|
-
const { pageToken,
|
|
936
|
+
const { pageToken, name, limit, isPublic } = options;
|
|
898
937
|
if (pageToken)
|
|
899
938
|
params.append("pageToken", pageToken.toString());
|
|
900
939
|
if (isPublic)
|
|
901
940
|
params.append("isPublic", isPublic.toString());
|
|
902
|
-
if (
|
|
903
|
-
params.append("
|
|
941
|
+
if (name)
|
|
942
|
+
params.append("name", name);
|
|
904
943
|
if (limit !== void 0)
|
|
905
944
|
params.append("limit", limit.toString());
|
|
906
945
|
}
|
|
@@ -1111,11 +1150,40 @@ var deleteGroup = async (config, options) => {
|
|
|
1111
1150
|
};
|
|
1112
1151
|
|
|
1113
1152
|
// src/core/gateway/createSignedURL.ts
|
|
1114
|
-
var createSignedURL = async (config, options) => {
|
|
1153
|
+
var createSignedURL = async (config, options, imgOpts) => {
|
|
1115
1154
|
if (!config) {
|
|
1116
1155
|
throw new ValidationError("Pinata configuration is missing");
|
|
1117
1156
|
}
|
|
1118
1157
|
let newUrl = `${config?.pinataGateway}/files/${options.cid}`;
|
|
1158
|
+
const params = new URLSearchParams();
|
|
1159
|
+
if (imgOpts) {
|
|
1160
|
+
if (imgOpts.width)
|
|
1161
|
+
params.append("img-width", imgOpts.width.toString());
|
|
1162
|
+
if (imgOpts.height)
|
|
1163
|
+
params.append("img-height", imgOpts.height.toString());
|
|
1164
|
+
if (imgOpts.dpr)
|
|
1165
|
+
params.append("img-dpr", imgOpts.dpr.toString());
|
|
1166
|
+
if (imgOpts.fit)
|
|
1167
|
+
params.append("img-fit", imgOpts.fit);
|
|
1168
|
+
if (imgOpts.gravity)
|
|
1169
|
+
params.append("img-gravity", imgOpts.gravity);
|
|
1170
|
+
if (imgOpts.quality)
|
|
1171
|
+
params.append("img-quality", imgOpts.quality.toString());
|
|
1172
|
+
if (imgOpts.format)
|
|
1173
|
+
params.append("img-format", imgOpts.format);
|
|
1174
|
+
if (imgOpts.animation !== void 0)
|
|
1175
|
+
params.append("img-anim", imgOpts.animation.toString());
|
|
1176
|
+
if (imgOpts.sharpen)
|
|
1177
|
+
params.append("img-sharpen", imgOpts.sharpen.toString());
|
|
1178
|
+
if (imgOpts.onError === true)
|
|
1179
|
+
params.append("img-onerror", "redirect");
|
|
1180
|
+
if (imgOpts.metadata)
|
|
1181
|
+
params.append("img-metadata", imgOpts.metadata);
|
|
1182
|
+
}
|
|
1183
|
+
const queryString = params.toString();
|
|
1184
|
+
if (queryString) {
|
|
1185
|
+
newUrl += `?${queryString}`;
|
|
1186
|
+
}
|
|
1119
1187
|
const date = options?.date || Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
1120
1188
|
const payload = JSON.stringify({
|
|
1121
1189
|
url: newUrl,
|
|
@@ -1295,6 +1363,26 @@ var FilterFiles = class {
|
|
|
1295
1363
|
this.query = {};
|
|
1296
1364
|
this.config = config;
|
|
1297
1365
|
}
|
|
1366
|
+
name(name) {
|
|
1367
|
+
this.query.name = name;
|
|
1368
|
+
return this;
|
|
1369
|
+
}
|
|
1370
|
+
group(group) {
|
|
1371
|
+
this.query.group = group;
|
|
1372
|
+
return this;
|
|
1373
|
+
}
|
|
1374
|
+
cid(cid) {
|
|
1375
|
+
this.query.cid = cid;
|
|
1376
|
+
return this;
|
|
1377
|
+
}
|
|
1378
|
+
mimeType(mimeType) {
|
|
1379
|
+
this.query.mimeType = mimeType;
|
|
1380
|
+
return this;
|
|
1381
|
+
}
|
|
1382
|
+
order(order) {
|
|
1383
|
+
this.query.order = order;
|
|
1384
|
+
return this;
|
|
1385
|
+
}
|
|
1298
1386
|
limit(limit) {
|
|
1299
1387
|
this.query.limit = limit;
|
|
1300
1388
|
return this;
|
|
@@ -1359,10 +1447,10 @@ var Gateways = class {
|
|
|
1359
1447
|
this.config = newConfig;
|
|
1360
1448
|
}
|
|
1361
1449
|
get(cid) {
|
|
1362
|
-
return
|
|
1450
|
+
return new OptimizeImageGetCid(this.config, cid);
|
|
1363
1451
|
}
|
|
1364
1452
|
createSignedURL(options) {
|
|
1365
|
-
return
|
|
1453
|
+
return new OptimizeImageCreateSignedURL(this.config, options);
|
|
1366
1454
|
}
|
|
1367
1455
|
// get(cid: string): OptimizeImage {
|
|
1368
1456
|
// return new OptimizeImage(this.config, cid);
|
|
@@ -1419,6 +1507,36 @@ var Gateways = class {
|
|
|
1419
1507
|
// return deleteSwap(this.config, cid);
|
|
1420
1508
|
// }
|
|
1421
1509
|
};
|
|
1510
|
+
var OptimizeImageGetCid = class {
|
|
1511
|
+
constructor(config, cid) {
|
|
1512
|
+
this.options = {};
|
|
1513
|
+
this.config = config;
|
|
1514
|
+
this.cid = cid;
|
|
1515
|
+
}
|
|
1516
|
+
optimizeImage(options) {
|
|
1517
|
+
this.options = { ...this.options, ...options };
|
|
1518
|
+
return this;
|
|
1519
|
+
}
|
|
1520
|
+
then(onfulfilled) {
|
|
1521
|
+
return getCid(this.config, this.cid, this.options).then(onfulfilled);
|
|
1522
|
+
}
|
|
1523
|
+
};
|
|
1524
|
+
var OptimizeImageCreateSignedURL = class {
|
|
1525
|
+
constructor(config, urlOpts) {
|
|
1526
|
+
this.imgOpts = {};
|
|
1527
|
+
this.config = config;
|
|
1528
|
+
this.urlOpts = urlOpts;
|
|
1529
|
+
}
|
|
1530
|
+
optimizeImage(options) {
|
|
1531
|
+
this.imgOpts = { ...this.imgOpts, ...options };
|
|
1532
|
+
return this;
|
|
1533
|
+
}
|
|
1534
|
+
then(onfulfilled) {
|
|
1535
|
+
return createSignedURL(this.config, this.urlOpts, this.imgOpts).then(
|
|
1536
|
+
onfulfilled
|
|
1537
|
+
);
|
|
1538
|
+
}
|
|
1539
|
+
};
|
|
1422
1540
|
var Keys = class {
|
|
1423
1541
|
constructor(config) {
|
|
1424
1542
|
this.config = formatConfig(config);
|
|
@@ -1540,10 +1658,10 @@ var FilterGroups = class {
|
|
|
1540
1658
|
this.query = {};
|
|
1541
1659
|
this.config = config;
|
|
1542
1660
|
}
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1661
|
+
name(name) {
|
|
1662
|
+
this.query.name = name;
|
|
1663
|
+
return this;
|
|
1664
|
+
}
|
|
1547
1665
|
limit(limit) {
|
|
1548
1666
|
this.query.limit = limit;
|
|
1549
1667
|
return this;
|