@lumeweb/pinner 0.1.0 → 0.1.1

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.
Files changed (75) hide show
  1. package/README.md +35 -18
  2. package/dist/cjs/adapters/pinata/index.cjs +6 -3
  3. package/dist/cjs/adapters/pinata/legacy/adapter.cjs +83 -0
  4. package/dist/cjs/adapters/pinata/legacy/adapter.cjs.map +1 -0
  5. package/dist/cjs/adapters/pinata/legacy/adapter.d.cts +74 -0
  6. package/dist/cjs/adapters/pinata/legacy/index.cjs +1 -0
  7. package/dist/cjs/adapters/pinata/shared/index.cjs +1 -0
  8. package/dist/cjs/adapters/pinata/shared/types.d.cts +218 -0
  9. package/dist/cjs/adapters/pinata/shared/utils.cjs +83 -0
  10. package/dist/cjs/adapters/pinata/shared/utils.cjs.map +1 -0
  11. package/dist/cjs/adapters/pinata/v2/adapter-interface.d.cts +198 -0
  12. package/dist/cjs/adapters/pinata/v2/adapter.cjs +636 -0
  13. package/dist/cjs/adapters/pinata/v2/adapter.cjs.map +1 -0
  14. package/dist/cjs/adapters/pinata/v2/adapter.d.cts +17 -0
  15. package/dist/cjs/adapters/pinata/v2/index.cjs +1 -0
  16. package/dist/cjs/adapters/pinata/v2/types.d.cts +308 -0
  17. package/dist/cjs/index.cjs +3 -1
  18. package/dist/cjs/index.d.cts +5 -3
  19. package/dist/cjs/pin/client.cjs +5 -3
  20. package/dist/cjs/pin/client.cjs.map +1 -1
  21. package/dist/cjs/pinner.cjs +6 -0
  22. package/dist/cjs/pinner.cjs.map +1 -1
  23. package/dist/cjs/pinner.d.cts +4 -0
  24. package/dist/cjs/types/constants.cjs +6 -1
  25. package/dist/cjs/types/constants.cjs.map +1 -1
  26. package/dist/cjs/types/pin.d.cts +4 -0
  27. package/dist/esm/adapters/pinata/index.d.ts +7 -4
  28. package/dist/esm/adapters/pinata/index.js +6 -3
  29. package/dist/esm/adapters/pinata/legacy/adapter.d.ts +74 -0
  30. package/dist/esm/adapters/pinata/legacy/adapter.js +83 -0
  31. package/dist/esm/adapters/pinata/legacy/adapter.js.map +1 -0
  32. package/dist/esm/adapters/pinata/legacy/index.d.ts +1 -0
  33. package/dist/esm/adapters/pinata/legacy/index.js +1 -0
  34. package/dist/esm/adapters/pinata/shared/index.d.ts +2 -0
  35. package/dist/esm/adapters/pinata/shared/index.js +1 -0
  36. package/dist/esm/adapters/pinata/shared/types.d.ts +218 -0
  37. package/dist/esm/adapters/pinata/shared/utils.d.ts +1 -0
  38. package/dist/esm/adapters/pinata/shared/utils.js +78 -0
  39. package/dist/esm/adapters/pinata/shared/utils.js.map +1 -0
  40. package/dist/esm/adapters/pinata/v2/adapter-interface.d.ts +198 -0
  41. package/dist/esm/adapters/pinata/v2/adapter.d.ts +17 -0
  42. package/dist/esm/adapters/pinata/v2/adapter.js +636 -0
  43. package/dist/esm/adapters/pinata/v2/adapter.js.map +1 -0
  44. package/dist/esm/adapters/pinata/v2/index.d.ts +3 -0
  45. package/dist/esm/adapters/pinata/v2/index.js +1 -0
  46. package/dist/esm/adapters/pinata/v2/types.d.ts +308 -0
  47. package/dist/esm/index.d.ts +5 -3
  48. package/dist/esm/index.js +3 -2
  49. package/dist/esm/pin/client.js +5 -3
  50. package/dist/esm/pin/client.js.map +1 -1
  51. package/dist/esm/pinner.d.ts +4 -0
  52. package/dist/esm/pinner.js +6 -0
  53. package/dist/esm/pinner.js.map +1 -1
  54. package/dist/esm/types/constants.js +6 -2
  55. package/dist/esm/types/constants.js.map +1 -1
  56. package/dist/esm/types/pin.d.ts +4 -0
  57. package/package.json +3 -3
  58. package/dist/cjs/adapters/pinata/adapter.cjs +0 -88
  59. package/dist/cjs/adapters/pinata/adapter.cjs.map +0 -1
  60. package/dist/cjs/adapters/pinata/adapter.d.cts +0 -35
  61. package/dist/cjs/adapters/pinata/builder.cjs +0 -194
  62. package/dist/cjs/adapters/pinata/builder.cjs.map +0 -1
  63. package/dist/cjs/adapters/pinata/list-builder.cjs +0 -52
  64. package/dist/cjs/adapters/pinata/list-builder.cjs.map +0 -1
  65. package/dist/cjs/types/pinata.d.cts +0 -99
  66. package/dist/esm/adapters/pinata/adapter.d.ts +0 -35
  67. package/dist/esm/adapters/pinata/adapter.js +0 -87
  68. package/dist/esm/adapters/pinata/adapter.js.map +0 -1
  69. package/dist/esm/adapters/pinata/builder.d.ts +0 -1
  70. package/dist/esm/adapters/pinata/builder.js +0 -187
  71. package/dist/esm/adapters/pinata/builder.js.map +0 -1
  72. package/dist/esm/adapters/pinata/list-builder.d.ts +0 -1
  73. package/dist/esm/adapters/pinata/list-builder.js +0 -51
  74. package/dist/esm/adapters/pinata/list-builder.js.map +0 -1
  75. package/dist/esm/types/pinata.d.ts +0 -99
@@ -0,0 +1,198 @@
1
+ import { AccessLinkOptions, DeleteResponse, FileListItem, FileListResponse, GetGroupOptions, GroupCIDOptions, GroupListResponse, GroupOptions, GroupResponseItem, PinByCIDResponse, PinQueueItem, PinQueueResponse, PinataConfig, SignedUploadUrlOptions, SwapCidOptions, SwapCidResponse, SwapHistoryOptions, TimeIntervalAnalyticsQuery, TimeIntervalAnalyticsResponse, TopAnalyticsQuery, TopAnalyticsResponse, UpdateFileOptions, UpdateGroupFilesResponse, UpdateGroupOptions, UploadCIDOptions, UploadOptions, UploadResponse } from "./types.js";
2
+
3
+ //#region src/adapters/pinata/v2/adapter-interface.d.ts
4
+
5
+ /**
6
+ * Upload builder interface
7
+ */
8
+ interface UploadBuilder<TResult> {
9
+ name(name: string): this;
10
+ keyvalues(keyvalues: Record<string, string>): this;
11
+ execute(): Promise<TResult>;
12
+ }
13
+ /**
14
+ * Filter files builder interface
15
+ */
16
+ interface FilterFiles {
17
+ name(name: string): FilterFiles;
18
+ group(group: string): FilterFiles;
19
+ cid(cid: string): FilterFiles;
20
+ mimeType(mimeType: string): FilterFiles;
21
+ order(order: "ASC" | "DESC"): FilterFiles;
22
+ limit(limit: number): FilterFiles;
23
+ cidPending(cidPending: boolean): FilterFiles;
24
+ keyvalues(keyvalues: Record<string, string>): FilterFiles;
25
+ noGroup(noGroup: boolean): FilterFiles;
26
+ pageToken(pageToken: string): FilterFiles;
27
+ then(onfulfilled?: ((value: FileListResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
28
+ all(): Promise<FileListItem[]>;
29
+ [Symbol.asyncIterator](): AsyncGenerator<FileListItem, void, unknown>;
30
+ }
31
+ /**
32
+ * Filter queue builder interface
33
+ */
34
+ interface FilterQueue {
35
+ cid(cid: string): FilterQueue;
36
+ status(status: "prechecking" | "retrieving" | "expired" | "backfilled" | "over_free_limit" | "over_max_size" | "invalid_object" | "bad_host_node"): FilterQueue;
37
+ pageLimit(limit: number): FilterQueue;
38
+ pageToken(pageToken: string): FilterQueue;
39
+ sort(sort: "ASC" | "DSC"): FilterQueue;
40
+ then(onfulfilled?: ((value: PinQueueResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
41
+ all(): Promise<PinQueueItem[]>;
42
+ [Symbol.asyncIterator](): AsyncGenerator<PinQueueItem, void, unknown>;
43
+ }
44
+ /**
45
+ * Filter groups builder interface
46
+ */
47
+ interface FilterGroups {
48
+ name(name: string): FilterGroups;
49
+ limit(limit: number): FilterGroups;
50
+ pageToken(pageToken: string): FilterGroups;
51
+ isPublic(isPublic: boolean): FilterGroups;
52
+ then(onfulfilled?: ((value: GroupListResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
53
+ all(): Promise<GroupResponseItem[]>;
54
+ [Symbol.asyncIterator](): AsyncGenerator<GroupResponseItem, void, unknown>;
55
+ }
56
+ /**
57
+ * Public upload interface
58
+ */
59
+ interface PublicUpload {
60
+ file(file: File, options?: UploadOptions): UploadBuilder<UploadResponse>;
61
+ fileArray(files: File[], options?: UploadOptions): UploadBuilder<UploadResponse>;
62
+ base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
63
+ url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
64
+ json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
65
+ cid(cid: string, options?: UploadCIDOptions): UploadBuilder<PinByCIDResponse>;
66
+ createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
67
+ }
68
+ /**
69
+ * Private upload interface
70
+ */
71
+ interface PrivateUpload {
72
+ file(file: File, options?: UploadOptions): UploadBuilder<UploadResponse>;
73
+ fileArray(files: File[], options?: UploadOptions): UploadBuilder<UploadResponse>;
74
+ base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
75
+ url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
76
+ json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
77
+ cid(cid: string, options?: UploadCIDOptions): UploadBuilder<PinByCIDResponse>;
78
+ createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
79
+ }
80
+ /**
81
+ * Public files interface
82
+ */
83
+ interface PublicFiles {
84
+ list(): FilterFiles;
85
+ get(id: string): Promise<FileListItem>;
86
+ delete(files: string[]): Promise<DeleteResponse[]>;
87
+ update(options: UpdateFileOptions): Promise<FileListItem>;
88
+ addSwap(options: SwapCidOptions): Promise<SwapCidResponse>;
89
+ getSwapHistory(options: SwapHistoryOptions): Promise<SwapCidResponse[]>;
90
+ deleteSwap(cid: string): Promise<string>;
91
+ queue(): FilterQueue;
92
+ deletePinRequest(requestId: string): Promise<string>;
93
+ }
94
+ /**
95
+ * Private files interface
96
+ */
97
+ interface PrivateFiles {
98
+ list(): FilterFiles;
99
+ get(id: string): Promise<FileListItem>;
100
+ delete(files: string[]): Promise<DeleteResponse[]>;
101
+ update(options: UpdateFileOptions): Promise<FileListItem>;
102
+ addSwap(options: SwapCidOptions): Promise<SwapCidResponse>;
103
+ getSwapHistory(options: SwapHistoryOptions): Promise<SwapCidResponse[]>;
104
+ deleteSwap(cid: string): Promise<string>;
105
+ queue(): FilterQueue;
106
+ deletePinRequest(requestId: string): Promise<string>;
107
+ }
108
+ /**
109
+ * Public gateways interface
110
+ */
111
+ interface PublicGateways {
112
+ get(cid: string): any;
113
+ convert(url: string, gatewayPrefix?: string): Promise<string>;
114
+ }
115
+ /**
116
+ * Private gateways interface
117
+ */
118
+ interface PrivateGateways {
119
+ get(cid: string): any;
120
+ createAccessLink(options: AccessLinkOptions): any;
121
+ }
122
+ /**
123
+ * Public groups interface
124
+ */
125
+ interface PublicGroups {
126
+ create(options: GroupOptions): Promise<GroupResponseItem>;
127
+ list(): FilterGroups;
128
+ get(options: GetGroupOptions): Promise<GroupResponseItem>;
129
+ addFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
130
+ removeFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
131
+ update(options: UpdateGroupOptions): Promise<GroupResponseItem>;
132
+ delete(options: GetGroupOptions): Promise<string>;
133
+ }
134
+ /**
135
+ * Private groups interface
136
+ */
137
+ interface PrivateGroups {
138
+ create(options: GroupOptions): Promise<GroupResponseItem>;
139
+ list(): FilterGroups;
140
+ get(options: GetGroupOptions): Promise<GroupResponseItem>;
141
+ addFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
142
+ removeFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
143
+ update(options: UpdateGroupOptions): Promise<GroupResponseItem>;
144
+ delete(options: GetGroupOptions): Promise<string>;
145
+ }
146
+ /**
147
+ * Analytics interface
148
+ */
149
+ interface Analytics {
150
+ requests(query: TopAnalyticsQuery): Promise<TopAnalyticsResponse>;
151
+ bandwidth(query: TimeIntervalAnalyticsQuery): Promise<TimeIntervalAnalyticsResponse>;
152
+ }
153
+ /**
154
+ * Pinata 2.x Adapter Interface
155
+ * Matches Pinata SDK 2.x API exactly
156
+ */
157
+ interface PinataAdapter {
158
+ /**
159
+ * Configuration
160
+ */
161
+ config: PinataConfig;
162
+ updateConfig(newConfig: PinataConfig): void;
163
+ /**
164
+ * Upload with public/private separation
165
+ */
166
+ upload: {
167
+ public: PublicUpload;
168
+ private: PrivateUpload;
169
+ };
170
+ /**
171
+ * Files with public/private separation
172
+ */
173
+ files: {
174
+ public: PublicFiles;
175
+ private: PrivateFiles;
176
+ };
177
+ /**
178
+ * Gateways with public/private separation
179
+ */
180
+ gateways: {
181
+ public: PublicGateways;
182
+ private: PrivateGateways;
183
+ };
184
+ /**
185
+ * Groups with public/private separation
186
+ */
187
+ groups: {
188
+ public: PublicGroups;
189
+ private: PrivateGroups;
190
+ };
191
+ /**
192
+ * Analytics (no public/private)
193
+ */
194
+ analytics: Analytics;
195
+ }
196
+ //#endregion
197
+ export { PinataAdapter };
198
+ //# sourceMappingURL=adapter-interface.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { Pinner } from "../../../pinner.js";
2
+ import { PinataConfig } from "./types.js";
3
+ import { PinataAdapter } from "./adapter-interface.js";
4
+
5
+ //#region src/adapters/pinata/v2/adapter.d.ts
6
+
7
+ /**
8
+ * Create Pinata Adapter
9
+ *
10
+ * @param pinner - Pinner client instance
11
+ * @param config - Pinata configuration
12
+ * @returns PinataAdapter
13
+ */
14
+ declare function pinataAdapter(pinner: Pinner, config?: PinataConfig): PinataAdapter;
15
+ //#endregion
16
+ export { pinataAdapter };
17
+ //# sourceMappingURL=adapter.d.ts.map