@hanzo/s3 0.6.4 → 8.0.7
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/LICENSE +202 -0
- package/MAINTAINERS.md +62 -0
- package/README.md +262 -0
- package/README_zh_CN.md +192 -0
- package/dist/esm/AssumeRoleProvider.d.mts +86 -0
- package/dist/esm/AssumeRoleProvider.mjs +183 -0
- package/dist/esm/CredentialProvider.d.mts +22 -0
- package/dist/esm/CredentialProvider.mjs +48 -0
- package/dist/esm/Credentials.d.mts +22 -0
- package/dist/esm/Credentials.mjs +38 -0
- package/dist/esm/IamAwsProvider.d.mts +27 -0
- package/dist/esm/IamAwsProvider.mjs +189 -0
- package/dist/esm/errors.d.mts +82 -0
- package/dist/esm/errors.mjs +117 -0
- package/dist/esm/helpers.d.mts +156 -0
- package/dist/esm/helpers.mjs +218 -0
- package/dist/esm/internal/async.d.mts +9 -0
- package/dist/esm/internal/async.mjs +14 -0
- package/dist/esm/internal/callbackify.d.mts +1 -0
- package/dist/esm/internal/callbackify.mjs +15 -0
- package/dist/esm/internal/client.d.mts +394 -0
- package/dist/esm/internal/client.mjs +3007 -0
- package/dist/esm/internal/copy-conditions.d.mts +10 -0
- package/dist/esm/internal/copy-conditions.mjs +25 -0
- package/dist/esm/internal/extensions.d.mts +18 -0
- package/dist/esm/internal/extensions.mjs +114 -0
- package/dist/esm/internal/helper.d.mts +177 -0
- package/dist/esm/internal/helper.mjs +552 -0
- package/dist/esm/internal/join-host-port.d.mts +11 -0
- package/dist/esm/internal/join-host-port.mjs +23 -0
- package/dist/esm/internal/post-policy.d.mts +17 -0
- package/dist/esm/internal/post-policy.mjs +98 -0
- package/dist/esm/internal/request.d.mts +11 -0
- package/dist/esm/internal/request.mjs +75 -0
- package/dist/esm/internal/response.d.mts +8 -0
- package/dist/esm/internal/response.mjs +16 -0
- package/dist/esm/internal/s3-endpoints.d.mts +38 -0
- package/dist/esm/internal/s3-endpoints.mjs +68 -0
- package/dist/esm/internal/type.d.mts +482 -0
- package/dist/esm/internal/type.mjs +30 -0
- package/dist/esm/internal/xml-parser.d.mts +93 -0
- package/dist/esm/internal/xml-parser.mjs +819 -0
- package/dist/esm/notification.d.mts +58 -0
- package/dist/esm/notification.mjs +209 -0
- package/dist/esm/s3.d.mts +40 -0
- package/dist/esm/s3.mjs +86 -0
- package/dist/esm/signing.d.mts +5 -0
- package/dist/esm/signing.mjs +258 -0
- package/dist/main/AssumeRoleProvider.d.ts +86 -0
- package/dist/main/AssumeRoleProvider.js +191 -0
- package/dist/main/CredentialProvider.d.ts +22 -0
- package/dist/main/CredentialProvider.js +55 -0
- package/dist/main/Credentials.d.ts +22 -0
- package/dist/main/Credentials.js +45 -0
- package/dist/main/IamAwsProvider.d.ts +27 -0
- package/dist/main/IamAwsProvider.js +198 -0
- package/dist/main/errors.d.ts +82 -0
- package/dist/main/errors.js +138 -0
- package/dist/main/helpers.d.ts +156 -0
- package/dist/main/helpers.js +233 -0
- package/dist/main/internal/async.d.ts +9 -0
- package/dist/main/internal/async.js +24 -0
- package/dist/main/internal/callbackify.d.ts +1 -0
- package/dist/main/internal/callbackify.js +21 -0
- package/dist/main/internal/client.d.ts +394 -0
- package/dist/main/internal/client.js +3014 -0
- package/dist/main/internal/copy-conditions.d.ts +10 -0
- package/dist/main/internal/copy-conditions.js +31 -0
- package/dist/main/internal/extensions.d.ts +18 -0
- package/dist/main/internal/extensions.js +122 -0
- package/dist/main/internal/helper.d.ts +177 -0
- package/dist/main/internal/helper.js +608 -0
- package/dist/main/internal/join-host-port.d.ts +11 -0
- package/dist/main/internal/join-host-port.js +29 -0
- package/dist/main/internal/post-policy.d.ts +17 -0
- package/dist/main/internal/post-policy.js +107 -0
- package/dist/main/internal/request.d.ts +11 -0
- package/dist/main/internal/request.js +83 -0
- package/dist/main/internal/response.d.ts +8 -0
- package/dist/main/internal/response.js +24 -0
- package/dist/main/internal/s3-endpoints.d.ts +38 -0
- package/dist/main/internal/s3-endpoints.js +73 -0
- package/dist/main/internal/type.d.ts +482 -0
- package/dist/main/internal/type.js +42 -0
- package/dist/main/internal/xml-parser.d.ts +93 -0
- package/dist/main/internal/xml-parser.js +849 -0
- package/dist/main/notification.d.ts +58 -0
- package/dist/main/notification.js +230 -0
- package/dist/main/s3.d.ts +40 -0
- package/dist/main/s3.js +117 -0
- package/dist/main/signing.d.ts +5 -0
- package/dist/main/signing.js +269 -0
- package/package.json +146 -39
- package/src/AssumeRoleProvider.ts +262 -0
- package/src/CredentialProvider.ts +54 -0
- package/src/Credentials.ts +44 -0
- package/src/IamAwsProvider.ts +234 -0
- package/src/errors.ts +120 -0
- package/src/helpers.ts +354 -0
- package/src/internal/async.ts +14 -0
- package/src/internal/callbackify.ts +19 -0
- package/src/internal/client.ts +3412 -0
- package/src/internal/copy-conditions.ts +30 -0
- package/src/internal/extensions.ts +140 -0
- package/src/internal/helper.ts +606 -0
- package/src/internal/join-host-port.ts +23 -0
- package/src/internal/post-policy.ts +99 -0
- package/src/internal/request.ts +102 -0
- package/src/internal/response.ts +26 -0
- package/src/internal/s3-endpoints.ts +70 -0
- package/src/internal/type.ts +577 -0
- package/src/internal/xml-parser.ts +871 -0
- package/src/notification.ts +254 -0
- package/src/s3.ts +155 -0
- package/src/signing.ts +325 -0
- package/lib/index.js +0 -450
- package/lib/index.js.map +0 -7
- package/lib/perfTest.js +0 -91
- package/lib/perfTest.js.map +0 -7
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { EventEmitter } from 'eventemitter3';
|
|
2
|
+
import type { TypedClient } from "./internal/client.js";
|
|
3
|
+
type Event = unknown;
|
|
4
|
+
export declare class TargetConfig {
|
|
5
|
+
private Filter?;
|
|
6
|
+
private Event?;
|
|
7
|
+
private Id;
|
|
8
|
+
setId(id: unknown): void;
|
|
9
|
+
addEvent(newevent: Event): void;
|
|
10
|
+
addFilterSuffix(suffix: string): void;
|
|
11
|
+
addFilterPrefix(prefix: string): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class TopicConfig extends TargetConfig {
|
|
14
|
+
private Topic;
|
|
15
|
+
constructor(arn: string);
|
|
16
|
+
}
|
|
17
|
+
export declare class QueueConfig extends TargetConfig {
|
|
18
|
+
private Queue;
|
|
19
|
+
constructor(arn: string);
|
|
20
|
+
}
|
|
21
|
+
export declare class CloudFunctionConfig extends TargetConfig {
|
|
22
|
+
private CloudFunction;
|
|
23
|
+
constructor(arn: string);
|
|
24
|
+
}
|
|
25
|
+
export declare class NotificationConfig {
|
|
26
|
+
private TopicConfiguration?;
|
|
27
|
+
private CloudFunctionConfiguration?;
|
|
28
|
+
private QueueConfiguration?;
|
|
29
|
+
add(target: TargetConfig): void;
|
|
30
|
+
}
|
|
31
|
+
export declare const buildARN: (partition: string, service: string, region: string, accountId: string, resource: string) => string;
|
|
32
|
+
export declare const ObjectCreatedAll = "s3:ObjectCreated:*";
|
|
33
|
+
export declare const ObjectCreatedPut = "s3:ObjectCreated:Put";
|
|
34
|
+
export declare const ObjectCreatedPost = "s3:ObjectCreated:Post";
|
|
35
|
+
export declare const ObjectCreatedCopy = "s3:ObjectCreated:Copy";
|
|
36
|
+
export declare const ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload";
|
|
37
|
+
export declare const ObjectRemovedAll = "s3:ObjectRemoved:*";
|
|
38
|
+
export declare const ObjectRemovedDelete = "s3:ObjectRemoved:Delete";
|
|
39
|
+
export declare const ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated";
|
|
40
|
+
export declare const ObjectReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject";
|
|
41
|
+
export type NotificationEvent = 's3:ObjectCreated:*' | 's3:ObjectCreated:Put' | 's3:ObjectCreated:Post' | 's3:ObjectCreated:Copy' | 's3:ObjectCreated:CompleteMultipartUpload' | 's3:ObjectRemoved:*' | 's3:ObjectRemoved:Delete' | 's3:ObjectRemoved:DeleteMarkerCreated' | 's3:ReducedRedundancyLostObject' | 's3:TestEvent' | 's3:ObjectRestore:Post' | 's3:ObjectRestore:Completed' | 's3:Replication:OperationFailedReplication' | 's3:Replication:OperationMissedThreshold' | 's3:Replication:OperationReplicatedAfterThreshold' | 's3:Replication:OperationNotTracked' | string;
|
|
42
|
+
export type NotificationRecord = unknown;
|
|
43
|
+
export declare class NotificationPoller extends EventEmitter<{
|
|
44
|
+
notification: (event: NotificationRecord) => void;
|
|
45
|
+
error: (error: unknown) => void;
|
|
46
|
+
}> {
|
|
47
|
+
private client;
|
|
48
|
+
private bucketName;
|
|
49
|
+
private prefix;
|
|
50
|
+
private suffix;
|
|
51
|
+
private events;
|
|
52
|
+
private ending;
|
|
53
|
+
constructor(client: TypedClient, bucketName: string, prefix: string, suffix: string, events: NotificationEvent[]);
|
|
54
|
+
start(): void;
|
|
55
|
+
stop(): void;
|
|
56
|
+
checkForChanges(): void;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _eventemitter = require("eventemitter3");
|
|
7
|
+
var _Parser = require("stream-json/jsonl/Parser.js");
|
|
8
|
+
var _helpers = require("./helpers.js");
|
|
9
|
+
var _helper = require("./internal/helper.js");
|
|
10
|
+
/*
|
|
11
|
+
* Hanzo S3 Javascript Library for Amazon S3 Compatible Cloud Storage, (C) 2016 Hanzo AI, Inc.
|
|
12
|
+
*
|
|
13
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14
|
+
* you may not use this file except in compliance with the License.
|
|
15
|
+
* You may obtain a copy of the License at
|
|
16
|
+
*
|
|
17
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
20
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
+
* See the License for the specific language governing permissions and
|
|
23
|
+
* limitations under the License.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
// TODO: type this
|
|
27
|
+
|
|
28
|
+
// Base class for three supported configs.
|
|
29
|
+
class TargetConfig {
|
|
30
|
+
setId(id) {
|
|
31
|
+
this.Id = id;
|
|
32
|
+
}
|
|
33
|
+
addEvent(newevent) {
|
|
34
|
+
if (!this.Event) {
|
|
35
|
+
this.Event = [];
|
|
36
|
+
}
|
|
37
|
+
this.Event.push(newevent);
|
|
38
|
+
}
|
|
39
|
+
addFilterSuffix(suffix) {
|
|
40
|
+
if (!this.Filter) {
|
|
41
|
+
this.Filter = {
|
|
42
|
+
S3Key: {
|
|
43
|
+
FilterRule: []
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
this.Filter.S3Key.FilterRule.push({
|
|
48
|
+
Name: 'suffix',
|
|
49
|
+
Value: suffix
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
addFilterPrefix(prefix) {
|
|
53
|
+
if (!this.Filter) {
|
|
54
|
+
this.Filter = {
|
|
55
|
+
S3Key: {
|
|
56
|
+
FilterRule: []
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
this.Filter.S3Key.FilterRule.push({
|
|
61
|
+
Name: 'prefix',
|
|
62
|
+
Value: prefix
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// 1. Topic (simple notification service)
|
|
68
|
+
exports.TargetConfig = TargetConfig;
|
|
69
|
+
class TopicConfig extends TargetConfig {
|
|
70
|
+
constructor(arn) {
|
|
71
|
+
super();
|
|
72
|
+
this.Topic = arn;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// 2. Queue (simple queue service)
|
|
77
|
+
exports.TopicConfig = TopicConfig;
|
|
78
|
+
class QueueConfig extends TargetConfig {
|
|
79
|
+
constructor(arn) {
|
|
80
|
+
super();
|
|
81
|
+
this.Queue = arn;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// 3. CloudFront (lambda function)
|
|
86
|
+
exports.QueueConfig = QueueConfig;
|
|
87
|
+
class CloudFunctionConfig extends TargetConfig {
|
|
88
|
+
constructor(arn) {
|
|
89
|
+
super();
|
|
90
|
+
this.CloudFunction = arn;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Notification config - array of target configs.
|
|
95
|
+
// Target configs can be
|
|
96
|
+
// 1. Topic (simple notification service)
|
|
97
|
+
// 2. Queue (simple queue service)
|
|
98
|
+
// 3. CloudFront (lambda function)
|
|
99
|
+
exports.CloudFunctionConfig = CloudFunctionConfig;
|
|
100
|
+
class NotificationConfig {
|
|
101
|
+
add(target) {
|
|
102
|
+
let instance;
|
|
103
|
+
if (target instanceof TopicConfig) {
|
|
104
|
+
instance = this.TopicConfiguration ?? (this.TopicConfiguration = []);
|
|
105
|
+
}
|
|
106
|
+
if (target instanceof QueueConfig) {
|
|
107
|
+
instance = this.QueueConfiguration ?? (this.QueueConfiguration = []);
|
|
108
|
+
}
|
|
109
|
+
if (target instanceof CloudFunctionConfig) {
|
|
110
|
+
instance = this.CloudFunctionConfiguration ?? (this.CloudFunctionConfiguration = []);
|
|
111
|
+
}
|
|
112
|
+
if (instance) {
|
|
113
|
+
instance.push(target);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.NotificationConfig = NotificationConfig;
|
|
118
|
+
const buildARN = (partition, service, region, accountId, resource) => {
|
|
119
|
+
return 'arn:' + partition + ':' + service + ':' + region + ':' + accountId + ':' + resource;
|
|
120
|
+
};
|
|
121
|
+
exports.buildARN = buildARN;
|
|
122
|
+
const ObjectCreatedAll = 's3:ObjectCreated:*';
|
|
123
|
+
exports.ObjectCreatedAll = ObjectCreatedAll;
|
|
124
|
+
const ObjectCreatedPut = 's3:ObjectCreated:Put';
|
|
125
|
+
exports.ObjectCreatedPut = ObjectCreatedPut;
|
|
126
|
+
const ObjectCreatedPost = 's3:ObjectCreated:Post';
|
|
127
|
+
exports.ObjectCreatedPost = ObjectCreatedPost;
|
|
128
|
+
const ObjectCreatedCopy = 's3:ObjectCreated:Copy';
|
|
129
|
+
exports.ObjectCreatedCopy = ObjectCreatedCopy;
|
|
130
|
+
const ObjectCreatedCompleteMultipartUpload = 's3:ObjectCreated:CompleteMultipartUpload';
|
|
131
|
+
exports.ObjectCreatedCompleteMultipartUpload = ObjectCreatedCompleteMultipartUpload;
|
|
132
|
+
const ObjectRemovedAll = 's3:ObjectRemoved:*';
|
|
133
|
+
exports.ObjectRemovedAll = ObjectRemovedAll;
|
|
134
|
+
const ObjectRemovedDelete = 's3:ObjectRemoved:Delete';
|
|
135
|
+
exports.ObjectRemovedDelete = ObjectRemovedDelete;
|
|
136
|
+
const ObjectRemovedDeleteMarkerCreated = 's3:ObjectRemoved:DeleteMarkerCreated';
|
|
137
|
+
exports.ObjectRemovedDeleteMarkerCreated = ObjectRemovedDeleteMarkerCreated;
|
|
138
|
+
const ObjectReducedRedundancyLostObject = 's3:ReducedRedundancyLostObject';
|
|
139
|
+
|
|
140
|
+
// put string at least so auto-complete could work
|
|
141
|
+
|
|
142
|
+
// TODO: type this
|
|
143
|
+
exports.ObjectReducedRedundancyLostObject = ObjectReducedRedundancyLostObject;
|
|
144
|
+
// Poll for notifications, used in #listenBucketNotification.
|
|
145
|
+
// Listening constitutes repeatedly requesting s3 whether or not any
|
|
146
|
+
// changes have occurred.
|
|
147
|
+
class NotificationPoller extends _eventemitter.EventEmitter {
|
|
148
|
+
constructor(client, bucketName, prefix, suffix, events) {
|
|
149
|
+
super();
|
|
150
|
+
this.client = client;
|
|
151
|
+
this.bucketName = bucketName;
|
|
152
|
+
this.prefix = prefix;
|
|
153
|
+
this.suffix = suffix;
|
|
154
|
+
this.events = events;
|
|
155
|
+
this.ending = false;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Starts the polling.
|
|
159
|
+
start() {
|
|
160
|
+
this.ending = false;
|
|
161
|
+
process.nextTick(() => {
|
|
162
|
+
this.checkForChanges();
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Stops the polling.
|
|
167
|
+
stop() {
|
|
168
|
+
this.ending = true;
|
|
169
|
+
}
|
|
170
|
+
checkForChanges() {
|
|
171
|
+
// Don't continue if we're looping again but are cancelled.
|
|
172
|
+
if (this.ending) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const method = 'GET';
|
|
176
|
+
const queries = [];
|
|
177
|
+
if (this.prefix) {
|
|
178
|
+
const prefix = (0, _helper.uriEscape)(this.prefix);
|
|
179
|
+
queries.push(`prefix=${prefix}`);
|
|
180
|
+
}
|
|
181
|
+
if (this.suffix) {
|
|
182
|
+
const suffix = (0, _helper.uriEscape)(this.suffix);
|
|
183
|
+
queries.push(`suffix=${suffix}`);
|
|
184
|
+
}
|
|
185
|
+
if (this.events) {
|
|
186
|
+
this.events.forEach(s3event => queries.push('events=' + (0, _helper.uriEscape)(s3event)));
|
|
187
|
+
}
|
|
188
|
+
queries.sort();
|
|
189
|
+
let query = '';
|
|
190
|
+
if (queries.length > 0) {
|
|
191
|
+
query = `${queries.join('&')}`;
|
|
192
|
+
}
|
|
193
|
+
const region = this.client.region || _helpers.DEFAULT_REGION;
|
|
194
|
+
this.client.makeRequestAsync({
|
|
195
|
+
method,
|
|
196
|
+
bucketName: this.bucketName,
|
|
197
|
+
query
|
|
198
|
+
}, '', [200], region).then(response => {
|
|
199
|
+
const asm = _Parser.make();
|
|
200
|
+
(0, _helper.pipesetup)(response, asm).on('data', data => {
|
|
201
|
+
// Data is flushed periodically (every 5 seconds), so we should
|
|
202
|
+
// handle it after flushing from the JSON parser.
|
|
203
|
+
let records = data.value.Records;
|
|
204
|
+
// If null (= no records), change to an empty array.
|
|
205
|
+
if (!records) {
|
|
206
|
+
records = [];
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Iterate over the notifications and emit them individually.
|
|
210
|
+
records.forEach(record => {
|
|
211
|
+
this.emit('notification', record);
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
// If we're done, stop.
|
|
215
|
+
if (this.ending) {
|
|
216
|
+
response === null || response === void 0 ? void 0 : response.destroy();
|
|
217
|
+
}
|
|
218
|
+
}).on('error', e => this.emit('error', e)).on('end', () => {
|
|
219
|
+
// Do it again, if we haven't cancelled yet.
|
|
220
|
+
process.nextTick(() => {
|
|
221
|
+
this.checkForChanges();
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
}, e => {
|
|
225
|
+
return this.emit('error', e);
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
exports.NotificationPoller = NotificationPoller;
|
|
230
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRlbWl0dGVyIiwicmVxdWlyZSIsIl9QYXJzZXIiLCJfaGVscGVycyIsIl9oZWxwZXIiLCJUYXJnZXRDb25maWciLCJzZXRJZCIsImlkIiwiSWQiLCJhZGRFdmVudCIsIm5ld2V2ZW50IiwiRXZlbnQiLCJwdXNoIiwiYWRkRmlsdGVyU3VmZml4Iiwic3VmZml4IiwiRmlsdGVyIiwiUzNLZXkiLCJGaWx0ZXJSdWxlIiwiTmFtZSIsIlZhbHVlIiwiYWRkRmlsdGVyUHJlZml4IiwicHJlZml4IiwiZXhwb3J0cyIsIlRvcGljQ29uZmlnIiwiY29uc3RydWN0b3IiLCJhcm4iLCJUb3BpYyIsIlF1ZXVlQ29uZmlnIiwiUXVldWUiLCJDbG91ZEZ1bmN0aW9uQ29uZmlnIiwiQ2xvdWRGdW5jdGlvbiIsIk5vdGlmaWNhdGlvbkNvbmZpZyIsImFkZCIsInRhcmdldCIsImluc3RhbmNlIiwiVG9waWNDb25maWd1cmF0aW9uIiwiUXVldWVDb25maWd1cmF0aW9uIiwiQ2xvdWRGdW5jdGlvbkNvbmZpZ3VyYXRpb24iLCJidWlsZEFSTiIsInBhcnRpdGlvbiIsInNlcnZpY2UiLCJyZWdpb24iLCJhY2NvdW50SWQiLCJyZXNvdXJjZSIsIk9iamVjdENyZWF0ZWRBbGwiLCJPYmplY3RDcmVhdGVkUHV0IiwiT2JqZWN0Q3JlYXRlZFBvc3QiLCJPYmplY3RDcmVhdGVkQ29weSIsIk9iamVjdENyZWF0ZWRDb21wbGV0ZU11bHRpcGFydFVwbG9hZCIsIk9iamVjdFJlbW92ZWRBbGwiLCJPYmplY3RSZW1vdmVkRGVsZXRlIiwiT2JqZWN0UmVtb3ZlZERlbGV0ZU1hcmtlckNyZWF0ZWQiLCJPYmplY3RSZWR1Y2VkUmVkdW5kYW5jeUxvc3RPYmplY3QiLCJOb3RpZmljYXRpb25Qb2xsZXIiLCJFdmVudEVtaXR0ZXIiLCJjbGllbnQiLCJidWNrZXROYW1lIiwiZXZlbnRzIiwiZW5kaW5nIiwic3RhcnQiLCJwcm9jZXNzIiwibmV4dFRpY2siLCJjaGVja0ZvckNoYW5nZXMiLCJzdG9wIiwibWV0aG9kIiwicXVlcmllcyIsInVyaUVzY2FwZSIsImZvckVhY2giLCJzM2V2ZW50Iiwic29ydCIsInF1ZXJ5IiwibGVuZ3RoIiwiam9pbiIsIkRFRkFVTFRfUkVHSU9OIiwibWFrZVJlcXVlc3RBc3luYyIsInRoZW4iLCJyZXNwb25zZSIsImFzbSIsImpzb25MaW5lUGFyc2VyIiwibWFrZSIsInBpcGVzZXR1cCIsIm9uIiwiZGF0YSIsInJlY29yZHMiLCJ2YWx1ZSIsIlJlY29yZHMiLCJyZWNvcmQiLCJlbWl0IiwiZGVzdHJveSIsImUiXSwic291cmNlcyI6WyJub3RpZmljYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEhhbnpvIFMzIEphdmFzY3JpcHQgTGlicmFyeSBmb3IgQW1hem9uIFMzIENvbXBhdGlibGUgQ2xvdWQgU3RvcmFnZSwgKEMpIDIwMTYgSGFuem8gQUksIEluYy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRlbWl0dGVyMydcbmltcG9ydCBqc29uTGluZVBhcnNlciBmcm9tICdzdHJlYW0tanNvbi9qc29ubC9QYXJzZXIuanMnXG5cbmltcG9ydCB7IERFRkFVTFRfUkVHSU9OIH0gZnJvbSAnLi9oZWxwZXJzLnRzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlZENsaWVudCB9IGZyb20gJy4vaW50ZXJuYWwvY2xpZW50LnRzJ1xuaW1wb3J0IHsgcGlwZXNldHVwLCB1cmlFc2NhcGUgfSBmcm9tICcuL2ludGVybmFsL2hlbHBlci50cydcblxuLy8gVE9ETzogdHlwZSB0aGlzXG5cbnR5cGUgRXZlbnQgPSB1bmtub3duXG5cbi8vIEJhc2UgY2xhc3MgZm9yIHRocmVlIHN1cHBvcnRlZCBjb25maWdzLlxuZXhwb3J0IGNsYXNzIFRhcmdldENvbmZpZyB7XG4gIHByaXZhdGUgRmlsdGVyPzogeyBTM0tleTogeyBGaWx0ZXJSdWxlOiB7IE5hbWU6IHN0cmluZzsgVmFsdWU6IHN0cmluZyB9W10gfSB9XG4gIHByaXZhdGUgRXZlbnQ/OiBFdmVudFtdXG4gIHByaXZhdGUgSWQ6IHVua25vd25cblxuICBzZXRJZChpZDogdW5rbm93bikge1xuICAgIHRoaXMuSWQgPSBpZFxuICB9XG5cbiAgYWRkRXZlbnQobmV3ZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLkV2ZW50KSB7XG4gICAgICB0aGlzLkV2ZW50ID0gW11cbiAgICB9XG4gICAgdGhpcy5FdmVudC5wdXNoKG5ld2V2ZW50KVxuICB9XG5cbiAgYWRkRmlsdGVyU3VmZml4KHN1ZmZpeDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLkZpbHRlcikge1xuICAgICAgdGhpcy5GaWx0ZXIgPSB7IFMzS2V5OiB7IEZpbHRlclJ1bGU6IFtdIH0gfVxuICAgIH1cbiAgICB0aGlzLkZpbHRlci5TM0tleS5GaWx0ZXJSdWxlLnB1c2goeyBOYW1lOiAnc3VmZml4JywgVmFsdWU6IHN1ZmZpeCB9KVxuICB9XG5cbiAgYWRkRmlsdGVyUHJlZml4KHByZWZpeDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLkZpbHRlcikge1xuICAgICAgdGhpcy5GaWx0ZXIgPSB7IFMzS2V5OiB7IEZpbHRlclJ1bGU6IFtdIH0gfVxuICAgIH1cbiAgICB0aGlzLkZpbHRlci5TM0tleS5GaWx0ZXJSdWxlLnB1c2goeyBOYW1lOiAncHJlZml4JywgVmFsdWU6IHByZWZpeCB9KVxuICB9XG59XG5cbi8vIDEuIFRvcGljIChzaW1wbGUgbm90aWZpY2F0aW9uIHNlcnZpY2UpXG5leHBvcnQgY2xhc3MgVG9waWNDb25maWcgZXh0ZW5kcyBUYXJnZXRDb25maWcge1xuICBwcml2YXRlIFRvcGljOiBzdHJpbmdcblxuICBjb25zdHJ1Y3Rvcihhcm46IHN0cmluZykge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLlRvcGljID0gYXJuXG4gIH1cbn1cblxuLy8gMi4gUXVldWUgKHNpbXBsZSBxdWV1ZSBzZXJ2aWNlKVxuZXhwb3J0IGNsYXNzIFF1ZXVlQ29uZmlnIGV4dGVuZHMgVGFyZ2V0Q29uZmlnIHtcbiAgcHJpdmF0ZSBRdWV1ZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IoYXJuOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5RdWV1ZSA9IGFyblxuICB9XG59XG5cbi8vIDMuIENsb3VkRnJvbnQgKGxhbWJkYSBmdW5jdGlvbilcbmV4cG9ydCBjbGFzcyBDbG91ZEZ1bmN0aW9uQ29uZmlnIGV4dGVuZHMgVGFyZ2V0Q29uZmlnIHtcbiAgcHJpdmF0ZSBDbG91ZEZ1bmN0aW9uOiBzdHJpbmdcblxuICBjb25zdHJ1Y3Rvcihhcm46IHN0cmluZykge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLkNsb3VkRnVuY3Rpb24gPSBhcm5cbiAgfVxufVxuXG4vLyBOb3RpZmljYXRpb24gY29uZmlnIC0gYXJyYXkgb2YgdGFyZ2V0IGNvbmZpZ3MuXG4vLyBUYXJnZXQgY29uZmlncyBjYW4gYmVcbi8vIDEuIFRvcGljIChzaW1wbGUgbm90aWZpY2F0aW9uIHNlcnZpY2UpXG4vLyAyLiBRdWV1ZSAoc2ltcGxlIHF1ZXVlIHNlcnZpY2UpXG4vLyAzLiBDbG91ZEZyb250IChsYW1iZGEgZnVuY3Rpb24pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQ29uZmlnIHtcbiAgcHJpdmF0ZSBUb3BpY0NvbmZpZ3VyYXRpb24/OiBUYXJnZXRDb25maWdbXVxuICBwcml2YXRlIENsb3VkRnVuY3Rpb25Db25maWd1cmF0aW9uPzogVGFyZ2V0Q29uZmlnW11cbiAgcHJpdmF0ZSBRdWV1ZUNvbmZpZ3VyYXRpb24/OiBUYXJnZXRDb25maWdbXVxuXG4gIGFkZCh0YXJnZXQ6IFRhcmdldENvbmZpZykge1xuICAgIGxldCBpbnN0YW5jZTogVGFyZ2V0Q29uZmlnW10gfCB1bmRlZmluZWRcbiAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgVG9waWNDb25maWcpIHtcbiAgICAgIGluc3RhbmNlID0gdGhpcy5Ub3BpY0NvbmZpZ3VyYXRpb24gPz89IFtdXG4gICAgfVxuICAgIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBRdWV1ZUNvbmZpZykge1xuICAgICAgaW5zdGFuY2UgPSB0aGlzLlF1ZXVlQ29uZmlndXJhdGlvbiA/Pz0gW11cbiAgICB9XG4gICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIENsb3VkRnVuY3Rpb25Db25maWcpIHtcbiAgICAgIGluc3RhbmNlID0gdGhpcy5DbG91ZEZ1bmN0aW9uQ29uZmlndXJhdGlvbiA/Pz0gW11cbiAgICB9XG4gICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICBpbnN0YW5jZS5wdXNoKHRhcmdldClcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkQVJOID0gKHBhcnRpdGlvbjogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCBhY2NvdW50SWQ6IHN0cmluZywgcmVzb3VyY2U6IHN0cmluZykgPT4ge1xuICByZXR1cm4gJ2FybjonICsgcGFydGl0aW9uICsgJzonICsgc2VydmljZSArICc6JyArIHJlZ2lvbiArICc6JyArIGFjY291bnRJZCArICc6JyArIHJlc291cmNlXG59XG5leHBvcnQgY29uc3QgT2JqZWN0Q3JlYXRlZEFsbCA9ICdzMzpPYmplY3RDcmVhdGVkOionXG5leHBvcnQgY29uc3QgT2JqZWN0Q3JlYXRlZFB1dCA9ICdzMzpPYmplY3RDcmVhdGVkOlB1dCdcbmV4cG9ydCBjb25zdCBPYmplY3RDcmVhdGVkUG9zdCA9ICdzMzpPYmplY3RDcmVhdGVkOlBvc3QnXG5leHBvcnQgY29uc3QgT2JqZWN0Q3JlYXRlZENvcHkgPSAnczM6T2JqZWN0Q3JlYXRlZDpDb3B5J1xuZXhwb3J0IGNvbnN0IE9iamVjdENyZWF0ZWRDb21wbGV0ZU11bHRpcGFydFVwbG9hZCA9ICdzMzpPYmplY3RDcmVhdGVkOkNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkJ1xuZXhwb3J0IGNvbnN0IE9iamVjdFJlbW92ZWRBbGwgPSAnczM6T2JqZWN0UmVtb3ZlZDoqJ1xuZXhwb3J0IGNvbnN0IE9iamVjdFJlbW92ZWREZWxldGUgPSAnczM6T2JqZWN0UmVtb3ZlZDpEZWxldGUnXG5leHBvcnQgY29uc3QgT2JqZWN0UmVtb3ZlZERlbGV0ZU1hcmtlckNyZWF0ZWQgPSAnczM6T2JqZWN0UmVtb3ZlZDpEZWxldGVNYXJrZXJDcmVhdGVkJ1xuZXhwb3J0IGNvbnN0IE9iamVjdFJlZHVjZWRSZWR1bmRhbmN5TG9zdE9iamVjdCA9ICdzMzpSZWR1Y2VkUmVkdW5kYW5jeUxvc3RPYmplY3QnXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25FdmVudCA9XG4gIHwgJ3MzOk9iamVjdENyZWF0ZWQ6KidcbiAgfCAnczM6T2JqZWN0Q3JlYXRlZDpQdXQnXG4gIHwgJ3MzOk9iamVjdENyZWF0ZWQ6UG9zdCdcbiAgfCAnczM6T2JqZWN0Q3JlYXRlZDpDb3B5J1xuICB8ICdzMzpPYmplY3RDcmVhdGVkOkNvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkJ1xuICB8ICdzMzpPYmplY3RSZW1vdmVkOionXG4gIHwgJ3MzOk9iamVjdFJlbW92ZWQ6RGVsZXRlJ1xuICB8ICdzMzpPYmplY3RSZW1vdmVkOkRlbGV0ZU1hcmtlckNyZWF0ZWQnXG4gIHwgJ3MzOlJlZHVjZWRSZWR1bmRhbmN5TG9zdE9iamVjdCdcbiAgfCAnczM6VGVzdEV2ZW50J1xuICB8ICdzMzpPYmplY3RSZXN0b3JlOlBvc3QnXG4gIHwgJ3MzOk9iamVjdFJlc3RvcmU6Q29tcGxldGVkJ1xuICB8ICdzMzpSZXBsaWNhdGlvbjpPcGVyYXRpb25GYWlsZWRSZXBsaWNhdGlvbidcbiAgfCAnczM6UmVwbGljYXRpb246T3BlcmF0aW9uTWlzc2VkVGhyZXNob2xkJ1xuICB8ICdzMzpSZXBsaWNhdGlvbjpPcGVyYXRpb25SZXBsaWNhdGVkQWZ0ZXJUaHJlc2hvbGQnXG4gIHwgJ3MzOlJlcGxpY2F0aW9uOk9wZXJhdGlvbk5vdFRyYWNrZWQnXG4gIHwgc3RyaW5nIC8vIHB1dCBzdHJpbmcgYXQgbGVhc3Qgc28gYXV0by1jb21wbGV0ZSBjb3VsZCB3b3JrXG5cbi8vIFRPRE86IHR5cGUgdGhpc1xuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uUmVjb3JkID0gdW5rbm93blxuLy8gUG9sbCBmb3Igbm90aWZpY2F0aW9ucywgdXNlZCBpbiAjbGlzdGVuQnVja2V0Tm90aWZpY2F0aW9uLlxuLy8gTGlzdGVuaW5nIGNvbnN0aXR1dGVzIHJlcGVhdGVkbHkgcmVxdWVzdGluZyBzMyB3aGV0aGVyIG9yIG5vdCBhbnlcbi8vIGNoYW5nZXMgaGF2ZSBvY2N1cnJlZC5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Qb2xsZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXI8e1xuICBub3RpZmljYXRpb246IChldmVudDogTm90aWZpY2F0aW9uUmVjb3JkKSA9PiB2b2lkXG4gIGVycm9yOiAoZXJyb3I6IHVua25vd24pID0+IHZvaWRcbn0+IHtcbiAgcHJpdmF0ZSBjbGllbnQ6IFR5cGVkQ2xpZW50XG4gIHByaXZhdGUgYnVja2V0TmFtZTogc3RyaW5nXG4gIHByaXZhdGUgcHJlZml4OiBzdHJpbmdcbiAgcHJpdmF0ZSBzdWZmaXg6IHN0cmluZ1xuICBwcml2YXRlIGV2ZW50czogTm90aWZpY2F0aW9uRXZlbnRbXVxuICBwcml2YXRlIGVuZGluZzogYm9vbGVhblxuXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogVHlwZWRDbGllbnQsIGJ1Y2tldE5hbWU6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIHN1ZmZpeDogc3RyaW5nLCBldmVudHM6IE5vdGlmaWNhdGlvbkV2ZW50W10pIHtcbiAgICBzdXBlcigpXG5cbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudFxuICAgIHRoaXMuYnVja2V0TmFtZSA9IGJ1Y2tldE5hbWVcbiAgICB0aGlzLnByZWZpeCA9IHByZWZpeFxuICAgIHRoaXMuc3VmZml4ID0gc3VmZml4XG4gICAgdGhpcy5ldmVudHMgPSBldmVudHNcblxuICAgIHRoaXMuZW5kaW5nID0gZmFsc2VcbiAgfVxuXG4gIC8vIFN0YXJ0cyB0aGUgcG9sbGluZy5cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5lbmRpbmcgPSBmYWxzZVxuXG4gICAgcHJvY2Vzcy5uZXh0VGljaygoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrRm9yQ2hhbmdlcygpXG4gICAgfSlcbiAgfVxuXG4gIC8vIFN0b3BzIHRoZSBwb2xsaW5nLlxuICBzdG9wKCkge1xuICAgIHRoaXMuZW5kaW5nID0gdHJ1ZVxuICB9XG5cbiAgY2hlY2tGb3JDaGFuZ2VzKCkge1xuICAgIC8vIERvbid0IGNvbnRpbnVlIGlmIHdlJ3JlIGxvb3BpbmcgYWdhaW4gYnV0IGFyZSBjYW5jZWxsZWQuXG4gICAgaWYgKHRoaXMuZW5kaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBtZXRob2QgPSAnR0VUJ1xuICAgIGNvbnN0IHF1ZXJpZXMgPSBbXVxuICAgIGlmICh0aGlzLnByZWZpeCkge1xuICAgICAgY29uc3QgcHJlZml4ID0gdXJpRXNjYXBlKHRoaXMucHJlZml4KVxuICAgICAgcXVlcmllcy5wdXNoKGBwcmVmaXg9JHtwcmVmaXh9YClcbiAgICB9XG4gICAgaWYgKHRoaXMuc3VmZml4KSB7XG4gICAgICBjb25zdCBzdWZmaXggPSB1cmlFc2NhcGUodGhpcy5zdWZmaXgpXG4gICAgICBxdWVyaWVzLnB1c2goYHN1ZmZpeD0ke3N1ZmZpeH1gKVxuICAgIH1cbiAgICBpZiAodGhpcy5ldmVudHMpIHtcbiAgICAgIHRoaXMuZXZlbnRzLmZvckVhY2goKHMzZXZlbnQpID0+IHF1ZXJpZXMucHVzaCgnZXZlbnRzPScgKyB1cmlFc2NhcGUoczNldmVudCkpKVxuICAgIH1cbiAgICBxdWVyaWVzLnNvcnQoKVxuXG4gICAgbGV0IHF1ZXJ5ID0gJydcbiAgICBpZiAocXVlcmllcy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeSA9IGAke3F1ZXJpZXMuam9pbignJicpfWBcbiAgICB9XG4gICAgY29uc3QgcmVnaW9uID0gdGhpcy5jbGllbnQucmVnaW9uIHx8IERFRkFVTFRfUkVHSU9OXG5cbiAgICB0aGlzLmNsaWVudC5tYWtlUmVxdWVzdEFzeW5jKHsgbWV0aG9kLCBidWNrZXROYW1lOiB0aGlzLmJ1Y2tldE5hbWUsIHF1ZXJ5IH0sICcnLCBbMjAwXSwgcmVnaW9uKS50aGVuKFxuICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGFzbSA9IGpzb25MaW5lUGFyc2VyLm1ha2UoKVxuXG4gICAgICAgIHBpcGVzZXR1cChyZXNwb25zZSwgYXNtKVxuICAgICAgICAgIC5vbignZGF0YScsIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAvLyBEYXRhIGlzIGZsdXNoZWQgcGVyaW9kaWNhbGx5IChldmVyeSA1IHNlY29uZHMpLCBzbyB3ZSBzaG91bGRcbiAgICAgICAgICAgIC8vIGhhbmRsZSBpdCBhZnRlciBmbHVzaGluZyBmcm9tIHRoZSBKU09OIHBhcnNlci5cbiAgICAgICAgICAgIGxldCByZWNvcmRzID0gZGF0YS52YWx1ZS5SZWNvcmRzXG4gICAgICAgICAgICAvLyBJZiBudWxsICg9IG5vIHJlY29yZHMpLCBjaGFuZ2UgdG8gYW4gZW1wdHkgYXJyYXkuXG4gICAgICAgICAgICBpZiAoIXJlY29yZHMpIHtcbiAgICAgICAgICAgICAgcmVjb3JkcyA9IFtdXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgbm90aWZpY2F0aW9ucyBhbmQgZW1pdCB0aGVtIGluZGl2aWR1YWxseS5cbiAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgocmVjb3JkOiBOb3RpZmljYXRpb25SZWNvcmQpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5lbWl0KCdub3RpZmljYXRpb24nLCByZWNvcmQpXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAvLyBJZiB3ZSdyZSBkb25lLCBzdG9wLlxuICAgICAgICAgICAgaWYgKHRoaXMuZW5kaW5nKSB7XG4gICAgICAgICAgICAgIHJlc3BvbnNlPy5kZXN0cm95KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5vbignZXJyb3InLCAoZSkgPT4gdGhpcy5lbWl0KCdlcnJvcicsIGUpKVxuICAgICAgICAgIC5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgLy8gRG8gaXQgYWdhaW4sIGlmIHdlIGhhdmVuJ3QgY2FuY2VsbGVkIHlldC5cbiAgICAgICAgICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNoZWNrRm9yQ2hhbmdlcygpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgKGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1pdCgnZXJyb3InLCBlKVxuICAgICAgfSxcbiAgICApXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFnQkEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFB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
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { LEGAL_HOLD_STATUS, RETENTION_MODES, RETENTION_VALIDITY_UNITS } from "./helpers.js";
|
|
2
|
+
import { TypedClient } from "./internal/client.js";
|
|
3
|
+
import { CopyConditions } from "./internal/copy-conditions.js";
|
|
4
|
+
import { PostPolicy } from "./internal/post-policy.js";
|
|
5
|
+
export * from "./errors.js";
|
|
6
|
+
export * from "./helpers.js";
|
|
7
|
+
export * from "./notification.js";
|
|
8
|
+
export { CopyConditions, PostPolicy };
|
|
9
|
+
export { IamAwsProvider } from "./IamAwsProvider.js";
|
|
10
|
+
export type { MakeBucketOpt } from "./internal/client.js";
|
|
11
|
+
export type { ClientOptions, NoResultCallback, RemoveOptions } from "./internal/client.js";
|
|
12
|
+
export type { Region } from "./internal/s3-endpoints.js";
|
|
13
|
+
export type { BucketItem, BucketItemCopy, BucketItemFromList, BucketItemStat, BucketItemWithMetadata, BucketStream, EmptyObject, ExistingObjectReplication, GetObjectLegalHoldOptions, IncompleteUploadedBucketItem, InputSerialization, IsoDate, ItemBucketMetadata, ItemBucketMetadataList, LegalHoldStatus, LifecycleConfig, LifecycleRule, MetadataItem, ObjectLockInfo, OutputSerialization, PostPolicyResult, PutObjectLegalHoldOptions, ReplicaModifications, ReplicationConfig, ReplicationConfigOpts, ReplicationRule, ReplicationRuleAnd, ReplicationRuleDestination, ReplicationRuleFilter, ReplicationRuleStatus, Retention, RetentionOptions, ScanRange, SelectOptions, SelectProgress, SourceSelectionCriteria, Tag } from "./internal/type.js";
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated keep for backward compatible, use `RETENTION_MODES` instead
|
|
16
|
+
*/
|
|
17
|
+
export type Mode = RETENTION_MODES;
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated keep for backward compatible
|
|
20
|
+
*/
|
|
21
|
+
export type LockUnit = RETENTION_VALIDITY_UNITS;
|
|
22
|
+
export type VersioningConfig = Record<string | number | symbol, unknown>;
|
|
23
|
+
export type TagList = Record<string, string>;
|
|
24
|
+
export interface LockConfig {
|
|
25
|
+
mode: RETENTION_MODES;
|
|
26
|
+
unit: RETENTION_VALIDITY_UNITS;
|
|
27
|
+
validity: number;
|
|
28
|
+
}
|
|
29
|
+
export interface LegalHoldOptions {
|
|
30
|
+
versionId: string;
|
|
31
|
+
status: LEGAL_HOLD_STATUS;
|
|
32
|
+
}
|
|
33
|
+
export interface SourceObjectStats {
|
|
34
|
+
size: number;
|
|
35
|
+
metaData: string;
|
|
36
|
+
lastModicied: Date;
|
|
37
|
+
versionId: string;
|
|
38
|
+
etag: string;
|
|
39
|
+
}
|
|
40
|
+
export declare class Client extends TypedClient {}
|
package/dist/main/s3.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
IamAwsProvider: true,
|
|
8
|
+
Client: true,
|
|
9
|
+
CopyConditions: true,
|
|
10
|
+
PostPolicy: true
|
|
11
|
+
};
|
|
12
|
+
var _callbackify = require("./internal/callbackify.js");
|
|
13
|
+
var _client = require("./internal/client.js");
|
|
14
|
+
var _copyConditions = require("./internal/copy-conditions.js");
|
|
15
|
+
exports.CopyConditions = _copyConditions.CopyConditions;
|
|
16
|
+
var _postPolicy = require("./internal/post-policy.js");
|
|
17
|
+
exports.PostPolicy = _postPolicy.PostPolicy;
|
|
18
|
+
var _errors = require("./errors.js");
|
|
19
|
+
Object.keys(_errors).forEach(function (key) {
|
|
20
|
+
if (key === "default" || key === "__esModule") return;
|
|
21
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
22
|
+
if (key in exports && exports[key] === _errors[key]) return;
|
|
23
|
+
exports[key] = _errors[key];
|
|
24
|
+
});
|
|
25
|
+
var _helpers = require("./helpers.js");
|
|
26
|
+
Object.keys(_helpers).forEach(function (key) {
|
|
27
|
+
if (key === "default" || key === "__esModule") return;
|
|
28
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
29
|
+
if (key in exports && exports[key] === _helpers[key]) return;
|
|
30
|
+
exports[key] = _helpers[key];
|
|
31
|
+
});
|
|
32
|
+
var _notification = require("./notification.js");
|
|
33
|
+
Object.keys(_notification).forEach(function (key) {
|
|
34
|
+
if (key === "default" || key === "__esModule") return;
|
|
35
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
36
|
+
if (key in exports && exports[key] === _notification[key]) return;
|
|
37
|
+
exports[key] = _notification[key];
|
|
38
|
+
});
|
|
39
|
+
var _IamAwsProvider = require("./IamAwsProvider.js");
|
|
40
|
+
exports.IamAwsProvider = _IamAwsProvider.IamAwsProvider;
|
|
41
|
+
/*
|
|
42
|
+
* Hanzo S3 Javascript Library for Amazon S3 Compatible Cloud Storage, (C) 2015 Hanzo AI, Inc.
|
|
43
|
+
*
|
|
44
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
45
|
+
* you may not use this file except in compliance with the License.
|
|
46
|
+
* You may obtain a copy of the License at
|
|
47
|
+
*
|
|
48
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
49
|
+
*
|
|
50
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
51
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
52
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
53
|
+
* See the License for the specific language governing permissions and
|
|
54
|
+
* limitations under the License.
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated keep for backward compatible, use `RETENTION_MODES` instead
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated keep for backward compatible
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
class Client extends _client.TypedClient {}
|
|
66
|
+
|
|
67
|
+
// refactored API use promise internally
|
|
68
|
+
exports.Client = Client;
|
|
69
|
+
Client.prototype.makeBucket = (0, _callbackify.callbackify)(Client.prototype.makeBucket);
|
|
70
|
+
Client.prototype.bucketExists = (0, _callbackify.callbackify)(Client.prototype.bucketExists);
|
|
71
|
+
Client.prototype.removeBucket = (0, _callbackify.callbackify)(Client.prototype.removeBucket);
|
|
72
|
+
Client.prototype.listBuckets = (0, _callbackify.callbackify)(Client.prototype.listBuckets);
|
|
73
|
+
Client.prototype.getObject = (0, _callbackify.callbackify)(Client.prototype.getObject);
|
|
74
|
+
Client.prototype.fGetObject = (0, _callbackify.callbackify)(Client.prototype.fGetObject);
|
|
75
|
+
Client.prototype.getPartialObject = (0, _callbackify.callbackify)(Client.prototype.getPartialObject);
|
|
76
|
+
Client.prototype.statObject = (0, _callbackify.callbackify)(Client.prototype.statObject);
|
|
77
|
+
Client.prototype.putObjectRetention = (0, _callbackify.callbackify)(Client.prototype.putObjectRetention);
|
|
78
|
+
Client.prototype.putObject = (0, _callbackify.callbackify)(Client.prototype.putObject);
|
|
79
|
+
Client.prototype.fPutObject = (0, _callbackify.callbackify)(Client.prototype.fPutObject);
|
|
80
|
+
Client.prototype.removeObject = (0, _callbackify.callbackify)(Client.prototype.removeObject);
|
|
81
|
+
Client.prototype.removeBucketReplication = (0, _callbackify.callbackify)(Client.prototype.removeBucketReplication);
|
|
82
|
+
Client.prototype.setBucketReplication = (0, _callbackify.callbackify)(Client.prototype.setBucketReplication);
|
|
83
|
+
Client.prototype.getBucketReplication = (0, _callbackify.callbackify)(Client.prototype.getBucketReplication);
|
|
84
|
+
Client.prototype.getObjectLegalHold = (0, _callbackify.callbackify)(Client.prototype.getObjectLegalHold);
|
|
85
|
+
Client.prototype.setObjectLegalHold = (0, _callbackify.callbackify)(Client.prototype.setObjectLegalHold);
|
|
86
|
+
Client.prototype.setObjectLockConfig = (0, _callbackify.callbackify)(Client.prototype.setObjectLockConfig);
|
|
87
|
+
Client.prototype.getObjectLockConfig = (0, _callbackify.callbackify)(Client.prototype.getObjectLockConfig);
|
|
88
|
+
Client.prototype.getBucketPolicy = (0, _callbackify.callbackify)(Client.prototype.getBucketPolicy);
|
|
89
|
+
Client.prototype.setBucketPolicy = (0, _callbackify.callbackify)(Client.prototype.setBucketPolicy);
|
|
90
|
+
Client.prototype.getBucketTagging = (0, _callbackify.callbackify)(Client.prototype.getBucketTagging);
|
|
91
|
+
Client.prototype.getObjectTagging = (0, _callbackify.callbackify)(Client.prototype.getObjectTagging);
|
|
92
|
+
Client.prototype.setBucketTagging = (0, _callbackify.callbackify)(Client.prototype.setBucketTagging);
|
|
93
|
+
Client.prototype.removeBucketTagging = (0, _callbackify.callbackify)(Client.prototype.removeBucketTagging);
|
|
94
|
+
Client.prototype.setObjectTagging = (0, _callbackify.callbackify)(Client.prototype.setObjectTagging);
|
|
95
|
+
Client.prototype.removeObjectTagging = (0, _callbackify.callbackify)(Client.prototype.removeObjectTagging);
|
|
96
|
+
Client.prototype.getBucketVersioning = (0, _callbackify.callbackify)(Client.prototype.getBucketVersioning);
|
|
97
|
+
Client.prototype.setBucketVersioning = (0, _callbackify.callbackify)(Client.prototype.setBucketVersioning);
|
|
98
|
+
Client.prototype.selectObjectContent = (0, _callbackify.callbackify)(Client.prototype.selectObjectContent);
|
|
99
|
+
Client.prototype.setBucketLifecycle = (0, _callbackify.callbackify)(Client.prototype.setBucketLifecycle);
|
|
100
|
+
Client.prototype.getBucketLifecycle = (0, _callbackify.callbackify)(Client.prototype.getBucketLifecycle);
|
|
101
|
+
Client.prototype.removeBucketLifecycle = (0, _callbackify.callbackify)(Client.prototype.removeBucketLifecycle);
|
|
102
|
+
Client.prototype.setBucketEncryption = (0, _callbackify.callbackify)(Client.prototype.setBucketEncryption);
|
|
103
|
+
Client.prototype.getBucketEncryption = (0, _callbackify.callbackify)(Client.prototype.getBucketEncryption);
|
|
104
|
+
Client.prototype.removeBucketEncryption = (0, _callbackify.callbackify)(Client.prototype.removeBucketEncryption);
|
|
105
|
+
Client.prototype.getObjectRetention = (0, _callbackify.callbackify)(Client.prototype.getObjectRetention);
|
|
106
|
+
Client.prototype.removeObjects = (0, _callbackify.callbackify)(Client.prototype.removeObjects);
|
|
107
|
+
Client.prototype.removeIncompleteUpload = (0, _callbackify.callbackify)(Client.prototype.removeIncompleteUpload);
|
|
108
|
+
Client.prototype.copyObject = (0, _callbackify.callbackify)(Client.prototype.copyObject);
|
|
109
|
+
Client.prototype.composeObject = (0, _callbackify.callbackify)(Client.prototype.composeObject);
|
|
110
|
+
Client.prototype.presignedUrl = (0, _callbackify.callbackify)(Client.prototype.presignedUrl);
|
|
111
|
+
Client.prototype.presignedGetObject = (0, _callbackify.callbackify)(Client.prototype.presignedGetObject);
|
|
112
|
+
Client.prototype.presignedPutObject = (0, _callbackify.callbackify)(Client.prototype.presignedPutObject);
|
|
113
|
+
Client.prototype.presignedPostPolicy = (0, _callbackify.callbackify)(Client.prototype.presignedPostPolicy);
|
|
114
|
+
Client.prototype.setBucketNotification = (0, _callbackify.callbackify)(Client.prototype.setBucketNotification);
|
|
115
|
+
Client.prototype.getBucketNotification = (0, _callbackify.callbackify)(Client.prototype.getBucketNotification);
|
|
116
|
+
Client.prototype.removeAllBucketNotification = (0, _callbackify.callbackify)(Client.prototype.removeAllBucketNotification);
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2FsbGJhY2tpZnkiLCJyZXF1aXJlIiwiX2NsaWVudCIsIl9jb3B5Q29uZGl0aW9ucyIsImV4cG9ydHMiLCJDb3B5Q29uZGl0aW9ucyIsIl9wb3N0UG9saWN5IiwiUG9zdFBvbGljeSIsIl9lcnJvcnMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsIl9oZWxwZXJzIiwiX25vdGlmaWNhdGlvbiIsIl9JYW1Bd3NQcm92aWRlciIsIklhbUF3c1Byb3ZpZGVyIiwiQ2xpZW50IiwiVHlwZWRDbGllbnQiLCJtYWtlQnVja2V0IiwiY2FsbGJhY2tpZnkiLCJidWNrZXRFeGlzdHMiLCJyZW1vdmVCdWNrZXQiLCJsaXN0QnVja2V0cyIsImdldE9iamVjdCIsImZHZXRPYmplY3QiLCJnZXRQYXJ0aWFsT2JqZWN0Iiwic3RhdE9iamVjdCIsInB1dE9iamVjdFJldGVudGlvbiIsInB1dE9iamVjdCIsImZQdXRPYmplY3QiLCJyZW1vdmVPYmplY3QiLCJyZW1vdmVCdWNrZXRSZXBsaWNhdGlvbiIsInNldEJ1Y2tldFJlcGxpY2F0aW9uIiwiZ2V0QnVja2V0UmVwbGljYXRpb24iLCJnZXRPYmplY3RMZWdhbEhvbGQiLCJzZXRPYmplY3RMZWdhbEhvbGQiLCJzZXRPYmplY3RMb2NrQ29uZmlnIiwiZ2V0T2JqZWN0TG9ja0NvbmZpZyIsImdldEJ1Y2tldFBvbGljeSIsInNldEJ1Y2tldFBvbGljeSIsImdldEJ1Y2tldFRhZ2dpbmciLCJnZXRPYmplY3RUYWdnaW5nIiwic2V0QnVja2V0VGFnZ2luZyIsInJlbW92ZUJ1Y2tldFRhZ2dpbmciLCJzZXRPYmplY3RUYWdnaW5nIiwicmVtb3ZlT2JqZWN0VGFnZ2luZyIsImdldEJ1Y2tldFZlcnNpb25pbmciLCJzZXRCdWNrZXRWZXJzaW9uaW5nIiwic2VsZWN0T2JqZWN0Q29udGVudCIsInNldEJ1Y2tldExpZmVjeWNsZSIsImdldEJ1Y2tldExpZmVjeWNsZSIsInJlbW92ZUJ1Y2tldExpZmVjeWNsZSIsInNldEJ1Y2tldEVuY3J5cHRpb24iLCJnZXRCdWNrZXRFbmNyeXB0aW9uIiwicmVtb3ZlQnVja2V0RW5jcnlwdGlvbiIsImdldE9iamVjdFJldGVudGlvbiIsInJlbW92ZU9iamVjdHMiLCJyZW1vdmVJbmNvbXBsZXRlVXBsb2FkIiwiY29weU9iamVjdCIsImNvbXBvc2VPYmplY3QiLCJwcmVzaWduZWRVcmwiLCJwcmVzaWduZWRHZXRPYmplY3QiLCJwcmVzaWduZWRQdXRPYmplY3QiLCJwcmVzaWduZWRQb3N0UG9saWN5Iiwic2V0QnVja2V0Tm90aWZpY2F0aW9uIiwiZ2V0QnVja2V0Tm90aWZpY2F0aW9uIiwicmVtb3ZlQWxsQnVja2V0Tm90aWZpY2F0aW9uIl0sInNvdXJjZXMiOlsiczMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEhhbnpvIFMzIEphdmFzY3JpcHQgTGlicmFyeSBmb3IgQW1hem9uIFMzIENvbXBhdGlibGUgQ2xvdWQgU3RvcmFnZSwgKEMpIDIwMTUgSGFuem8gQUksIEluYy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBMRUdBTF9IT0xEX1NUQVRVUywgUkVURU5USU9OX01PREVTLCBSRVRFTlRJT05fVkFMSURJVFlfVU5JVFMgfSBmcm9tICcuL2hlbHBlcnMudHMnXG5pbXBvcnQgeyBjYWxsYmFja2lmeSB9IGZyb20gJy4vaW50ZXJuYWwvY2FsbGJhY2tpZnkudHMnXG5pbXBvcnQgeyBUeXBlZENsaWVudCB9IGZyb20gJy4vaW50ZXJuYWwvY2xpZW50LnRzJ1xuaW1wb3J0IHsgQ29weUNvbmRpdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL2NvcHktY29uZGl0aW9ucy50cydcbmltcG9ydCB7IFBvc3RQb2xpY3kgfSBmcm9tICcuL2ludGVybmFsL3Bvc3QtcG9saWN5LnRzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycy50cydcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy50cydcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uLnRzJ1xuZXhwb3J0IHsgQ29weUNvbmRpdGlvbnMsIFBvc3RQb2xpY3kgfVxuZXhwb3J0IHsgSWFtQXdzUHJvdmlkZXIgfSBmcm9tICcuL0lhbUF3c1Byb3ZpZGVyLnRzJ1xuZXhwb3J0IHR5cGUgeyBNYWtlQnVja2V0T3B0IH0gZnJvbSAnLi9pbnRlcm5hbC9jbGllbnQudHMnXG5leHBvcnQgdHlwZSB7IENsaWVudE9wdGlvbnMsIE5vUmVzdWx0Q2FsbGJhY2ssIFJlbW92ZU9wdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL2NsaWVudC50cydcbmV4cG9ydCB0eXBlIHsgUmVnaW9uIH0gZnJvbSAnLi9pbnRlcm5hbC9zMy1lbmRwb2ludHMudHMnXG5leHBvcnQgdHlwZSB7XG4gIEJ1Y2tldEl0ZW0sXG4gIEJ1Y2tldEl0ZW1Db3B5LFxuICBCdWNrZXRJdGVtRnJvbUxpc3QsXG4gIEJ1Y2tldEl0ZW1TdGF0LFxuICBCdWNrZXRJdGVtV2l0aE1ldGFkYXRhLFxuICBCdWNrZXRTdHJlYW0sXG4gIEVtcHR5T2JqZWN0LFxuICBFeGlzdGluZ09iamVjdFJlcGxpY2F0aW9uLFxuICBHZXRPYmplY3RMZWdhbEhvbGRPcHRpb25zLFxuICBJbmNvbXBsZXRlVXBsb2FkZWRCdWNrZXRJdGVtLFxuICBJbnB1dFNlcmlhbGl6YXRpb24sXG4gIElzb0RhdGUsXG4gIEl0ZW1CdWNrZXRNZXRhZGF0YSxcbiAgSXRlbUJ1Y2tldE1ldGFkYXRhTGlzdCxcbiAgTGVnYWxIb2xkU3RhdHVzLFxuICBMaWZlY3ljbGVDb25maWcsXG4gIExpZmVjeWNsZVJ1bGUsXG4gIE1ldGFkYXRhSXRlbSxcbiAgT2JqZWN0TG9ja0luZm8sXG4gIE91dHB1dFNlcmlhbGl6YXRpb24sXG4gIFBvc3RQb2xpY3lSZXN1bHQsXG4gIFB1dE9iamVjdExlZ2FsSG9sZE9wdGlvbnMsXG4gIFJlcGxpY2FNb2RpZmljYXRpb25zLFxuICBSZXBsaWNhdGlvbkNvbmZpZyxcbiAgUmVwbGljYXRpb25Db25maWdPcHRzLFxuICBSZXBsaWNhdGlvblJ1bGUsXG4gIFJlcGxpY2F0aW9uUnVsZUFuZCxcbiAgUmVwbGljYXRpb25SdWxlRGVzdGluYXRpb24sXG4gIFJlcGxpY2F0aW9uUnVsZUZpbHRlcixcbiAgUmVwbGljYXRpb25SdWxlU3RhdHVzLFxuICBSZXRlbnRpb24sXG4gIFJldGVudGlvbk9wdGlvbnMsXG4gIFNjYW5SYW5nZSxcbiAgU2VsZWN0T3B0aW9ucyxcbiAgU2VsZWN0UHJvZ3Jlc3MsXG4gIFNvdXJjZVNlbGVjdGlvbkNyaXRlcmlhLFxuICBUYWcsXG59IGZyb20gJy4vaW50ZXJuYWwvdHlwZS50cydcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBrZWVwIGZvciBiYWNrd2FyZCBjb21wYXRpYmxlLCB1c2UgYFJFVEVOVElPTl9NT0RFU2AgaW5zdGVhZFxuICovXG5leHBvcnQgdHlwZSBNb2RlID0gUkVURU5USU9OX01PREVTXG5cbi8qKlxuICogQGRlcHJlY2F0ZWQga2VlcCBmb3IgYmFja3dhcmQgY29tcGF0aWJsZVxuICovXG5leHBvcnQgdHlwZSBMb2NrVW5pdCA9IFJFVEVOVElPTl9WQUxJRElUWV9VTklUU1xuXG5leHBvcnQgdHlwZSBWZXJzaW9uaW5nQ29uZmlnID0gUmVjb3JkPHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgdW5rbm93bj5cbmV4cG9ydCB0eXBlIFRhZ0xpc3QgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9ja0NvbmZpZyB7XG4gIG1vZGU6IFJFVEVOVElPTl9NT0RFU1xuICB1bml0OiBSRVRFTlRJT05fVkFMSURJVFlfVU5JVFNcbiAgdmFsaWRpdHk6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlZ2FsSG9sZE9wdGlvbnMge1xuICB2ZXJzaW9uSWQ6IHN0cmluZ1xuICBzdGF0dXM6IExFR0FMX0hPTERfU1RBVFVTXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlT2JqZWN0U3RhdHMge1xuICBzaXplOiBudW1iZXJcbiAgbWV0YURhdGE6IHN0cmluZ1xuICBsYXN0TW9kaWNpZWQ6IERhdGVcbiAgdmVyc2lvbklkOiBzdHJpbmdcbiAgZXRhZzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBDbGllbnQgZXh0ZW5kcyBUeXBlZENsaWVudCB7fVxuXG4vLyByZWZhY3RvcmVkIEFQSSB1c2UgcHJvbWlzZSBpbnRlcm5hbGx5XG5DbGllbnQucHJvdG90eXBlLm1ha2VCdWNrZXQgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLm1ha2VCdWNrZXQpXG5DbGllbnQucHJvdG90eXBlLmJ1Y2tldEV4aXN0cyA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuYnVja2V0RXhpc3RzKVxuQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVCdWNrZXQgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnJlbW92ZUJ1Y2tldClcbkNsaWVudC5wcm90b3R5cGUubGlzdEJ1Y2tldHMgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLmxpc3RCdWNrZXRzKVxuXG5DbGllbnQucHJvdG90eXBlLmdldE9iamVjdCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuZ2V0T2JqZWN0KVxuQ2xpZW50LnByb3RvdHlwZS5mR2V0T2JqZWN0ID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5mR2V0T2JqZWN0KVxuQ2xpZW50LnByb3RvdHlwZS5nZXRQYXJ0aWFsT2JqZWN0ID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRQYXJ0aWFsT2JqZWN0KVxuQ2xpZW50LnByb3RvdHlwZS5zdGF0T2JqZWN0ID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zdGF0T2JqZWN0KVxuQ2xpZW50LnByb3RvdHlwZS5wdXRPYmplY3RSZXRlbnRpb24gPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnB1dE9iamVjdFJldGVudGlvbilcbkNsaWVudC5wcm90b3R5cGUucHV0T2JqZWN0ID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5wdXRPYmplY3QpXG5DbGllbnQucHJvdG90eXBlLmZQdXRPYmplY3QgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLmZQdXRPYmplY3QpXG5DbGllbnQucHJvdG90eXBlLnJlbW92ZU9iamVjdCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUucmVtb3ZlT2JqZWN0KVxuXG5DbGllbnQucHJvdG90eXBlLnJlbW92ZUJ1Y2tldFJlcGxpY2F0aW9uID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVCdWNrZXRSZXBsaWNhdGlvbilcbkNsaWVudC5wcm90b3R5cGUuc2V0QnVja2V0UmVwbGljYXRpb24gPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnNldEJ1Y2tldFJlcGxpY2F0aW9uKVxuQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRSZXBsaWNhdGlvbiA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuZ2V0QnVja2V0UmVwbGljYXRpb24pXG5DbGllbnQucHJvdG90eXBlLmdldE9iamVjdExlZ2FsSG9sZCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuZ2V0T2JqZWN0TGVnYWxIb2xkKVxuQ2xpZW50LnByb3RvdHlwZS5zZXRPYmplY3RMZWdhbEhvbGQgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnNldE9iamVjdExlZ2FsSG9sZClcbkNsaWVudC5wcm90b3R5cGUuc2V0T2JqZWN0TG9ja0NvbmZpZyA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuc2V0T2JqZWN0TG9ja0NvbmZpZylcbkNsaWVudC5wcm90b3R5cGUuZ2V0T2JqZWN0TG9ja0NvbmZpZyA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuZ2V0T2JqZWN0TG9ja0NvbmZpZylcbkNsaWVudC5wcm90b3R5cGUuZ2V0QnVja2V0UG9saWN5ID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRQb2xpY3kpXG5DbGllbnQucHJvdG90eXBlLnNldEJ1Y2tldFBvbGljeSA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuc2V0QnVja2V0UG9saWN5KVxuQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRUYWdnaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRUYWdnaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5nZXRPYmplY3RUYWdnaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRPYmplY3RUYWdnaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRUYWdnaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRUYWdnaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVCdWNrZXRUYWdnaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVCdWNrZXRUYWdnaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5zZXRPYmplY3RUYWdnaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zZXRPYmplY3RUYWdnaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVPYmplY3RUYWdnaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVPYmplY3RUYWdnaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRWZXJzaW9uaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRWZXJzaW9uaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRWZXJzaW9uaW5nID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRWZXJzaW9uaW5nKVxuQ2xpZW50LnByb3RvdHlwZS5zZWxlY3RPYmplY3RDb250ZW50ID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zZWxlY3RPYmplY3RDb250ZW50KVxuQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRMaWZlY3ljbGUgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnNldEJ1Y2tldExpZmVjeWNsZSlcbkNsaWVudC5wcm90b3R5cGUuZ2V0QnVja2V0TGlmZWN5Y2xlID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRMaWZlY3ljbGUpXG5DbGllbnQucHJvdG90eXBlLnJlbW92ZUJ1Y2tldExpZmVjeWNsZSA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUucmVtb3ZlQnVja2V0TGlmZWN5Y2xlKVxuQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRFbmNyeXB0aW9uID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXRFbmNyeXB0aW9uKVxuQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRFbmNyeXB0aW9uID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5nZXRCdWNrZXRFbmNyeXB0aW9uKVxuQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVCdWNrZXRFbmNyeXB0aW9uID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVCdWNrZXRFbmNyeXB0aW9uKVxuQ2xpZW50LnByb3RvdHlwZS5nZXRPYmplY3RSZXRlbnRpb24gPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLmdldE9iamVjdFJldGVudGlvbilcbkNsaWVudC5wcm90b3R5cGUucmVtb3ZlT2JqZWN0cyA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUucmVtb3ZlT2JqZWN0cylcbkNsaWVudC5wcm90b3R5cGUucmVtb3ZlSW5jb21wbGV0ZVVwbG9hZCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUucmVtb3ZlSW5jb21wbGV0ZVVwbG9hZClcbkNsaWVudC5wcm90b3R5cGUuY29weU9iamVjdCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuY29weU9iamVjdClcbkNsaWVudC5wcm90b3R5cGUuY29tcG9zZU9iamVjdCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuY29tcG9zZU9iamVjdClcbkNsaWVudC5wcm90b3R5cGUucHJlc2lnbmVkVXJsID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5wcmVzaWduZWRVcmwpXG5DbGllbnQucHJvdG90eXBlLnByZXNpZ25lZEdldE9iamVjdCA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUucHJlc2lnbmVkR2V0T2JqZWN0KVxuQ2xpZW50LnByb3RvdHlwZS5wcmVzaWduZWRQdXRPYmplY3QgPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnByZXNpZ25lZFB1dE9iamVjdClcbkNsaWVudC5wcm90b3R5cGUucHJlc2lnbmVkUG9zdFBvbGljeSA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUucHJlc2lnbmVkUG9zdFBvbGljeSlcbkNsaWVudC5wcm90b3R5cGUuc2V0QnVja2V0Tm90aWZpY2F0aW9uID0gY2FsbGJhY2tpZnkoQ2xpZW50LnByb3RvdHlwZS5zZXRCdWNrZXROb3RpZmljYXRpb24pXG5DbGllbnQucHJvdG90eXBlLmdldEJ1Y2tldE5vdGlmaWNhdGlvbiA9IGNhbGxiYWNraWZ5KENsaWVudC5wcm90b3R5cGUuZ2V0QnVja2V0Tm90aWZpY2F0aW9uKVxuQ2xpZW50LnByb3RvdHlwZS5yZW1vdmVBbGxCdWNrZXROb3RpZmljYXRpb24gPSBjYWxsYmFja2lmeShDbGllbnQucHJvdG90eXBlLnJlbW92ZUFsbEJ1Y2tldE5vdGlmaWNhdGlvbilcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFpQkEsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBRixPQUFBO0FBQThERyxPQUFBLENBQUFDLGNBQUEsR0FBQUYsZUFBQSxDQUFBRSxjQUFBO0FBQzlELElBQUFDLFdBQUEsR0FBQUwsT0FBQTtBQUFzREcsT0FBQSxDQUFBRyxVQUFBLEdBQUFELFdBQUEsQ0FBQUMsVUFBQTtBQUV0RCxJQUFBQyxPQUFBLEdBQUFQLE9BQUE7QUFBQVEsTUFBQSxDQUFBQyxJQUFBLENBQUFGLE9BQUEsRUFBQUcsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBUixPQUFBLElBQUFBLE9BQUEsQ0FBQVEsR0FBQSxNQUFBSixPQUFBLENBQUFJLEdBQUE7RUFBQVIsT0FBQSxDQUFBUSxHQUFBLElBQUFKLE9BQUEsQ0FBQUksR0FBQTtBQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBaEIsT0FBQTtBQUFBUSxNQUFBLENBQUFD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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IRequest } from "./internal/type.js";
|
|
2
|
+
export declare function postPresignSignatureV4(region: string, date: Date, secretKey: string, policyBase64: string): string;
|
|
3
|
+
export declare function signV4(request: IRequest, accessKey: string, secretKey: string, region: string, requestDate: Date, sha256sum: string, serviceName?: string): string;
|
|
4
|
+
export declare function signV4ByServiceName(request: IRequest, accessKey: string, secretKey: string, region: string, requestDate: Date, contentSha256: string, serviceName?: string): string;
|
|
5
|
+
export declare function presignSignatureV4(request: IRequest, accessKey: string, secretKey: string, sessionToken: string | undefined, region: string, requestDate: Date, expires: number | undefined): string;
|