@wiicode/s3-client 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/client.js +11 -3
  2. package/package.json +1 -1
package/dist/client.js CHANGED
@@ -115,9 +115,16 @@ class WiiS3Client {
115
115
  const headers = {
116
116
  'x-api-key': this.apiKey,
117
117
  };
118
- // Handle form-data headers in Node.js
118
+ let body = options.body;
119
+ // Handle form-data in Node.js with native fetch
119
120
  if (options.body && typeof options.body.getHeaders === 'function') {
120
- Object.assign(headers, options.body.getHeaders());
121
+ // form-data package instance
122
+ const formDataHeaders = options.body.getHeaders();
123
+ Object.assign(headers, formDataHeaders);
124
+ // Convert form-data to Buffer for native fetch
125
+ if (typeof options.body.getBuffer === 'function') {
126
+ body = options.body.getBuffer();
127
+ }
121
128
  }
122
129
  const controller = new AbortController();
123
130
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
@@ -138,6 +145,7 @@ class WiiS3Client {
138
145
  }
139
146
  const response = await fetchFn(url, {
140
147
  ...options,
148
+ body,
141
149
  headers,
142
150
  signal: controller.signal,
143
151
  });
@@ -177,4 +185,4 @@ class WiiS3Client {
177
185
  }
178
186
  }
179
187
  exports.WiiS3Client = WiiS3Client;
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxxQ0FNa0I7QUFFbEIsTUFBYSxXQUFXO0lBS3RCLFlBQVksTUFBbUI7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksd0JBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSx3QkFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FDVixJQUEwQixFQUMxQixRQUFnQixFQUNoQixRQUFnQixFQUNoQixPQUF1QjtRQUV2QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUNqQyxnQkFBZ0IsRUFDaEI7WUFDRSxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJ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QU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxJQUFJLHFCQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBRUQsSUFBSSxLQUFLLFlBQVksbUJBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLEtBQUssQ0FBQztZQUNkLENBQUM7WUFFRCxNQUFNLElBQUkscUJBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLHdCQUF3QixDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsSUFBUztRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksZUFBZSxDQUFDO1FBRWhFLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLEdBQUc7Z0JBQ04sTUFBTSxJQUFJLDRCQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLEtBQUssR0FBRztnQkFDTixNQUFNLElBQUksc0JBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxLQUFLLEdBQUc7Z0JBQ04sSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzVDLE1BQU0sSUFBSSx3QkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO2dCQUNELE1BQU0sSUFBSSx3QkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDO2dCQUNFLE1BQU0sSUFBSSxtQkFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBcE9ELGtDQW9PQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFdpaVMzQ29uZmlnLFxuICBVcGxvYWRPcHRpb25zLFxuICBVcGxvYWRlZEZpbGUsXG4gIEZpbGVJbmZvLFxuICBEb3dubG9hZFVybFJlc3BvbnNlLFxuICBBcGlSZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBXaWlTM0Vycm9yLFxuICBBdXRoZW50aWNhdGlvbkVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIE5ldHdvcmtFcnJvcixcbn0gZnJvbSAnLi9lcnJvcnMnO1xuXG5leHBvcnQgY2xhc3MgV2lpUzNDbGllbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogV2lpUzNDb25maWcpIHtcbiAgICBpZiAoIWNvbmZpZy5lbmRwb2ludCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignZW5kcG9pbnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCFjb25maWcuYXBpS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdhcGlLZXkgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmVuZHBvaW50ID0gY29uZmlnLmVuZHBvaW50LnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gICAgdGhpcy5hcGlLZXkgPSBjb25maWcuYXBpS2V5O1xuICAgIHRoaXMudGltZW91dCA9IGNvbmZpZy50aW1lb3V0IHx8IDMwMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBhIGZpbGUgdG8gV2lpUzNcbiAgICogQHBhcmFtIGZpbGUgLSBGaWxlIGJ1ZmZlciwgQmxvYiwgb3IgRmlsZSBvYmplY3RcbiAgICogQHBhcmFtIGZpbGVuYW1lIC0gT3JpZ2luYWwgZmlsZW5hbWVcbiAgICogQHBhcmFtIG1pbWV0eXBlIC0gTUlNRSB0eXBlIG9mIHRoZSBmaWxlXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9uYWwgdXBsb2FkIG9wdGlvbnMgKHVzZXJJZCwgbWV0YWRhdGEpXG4gICAqIEByZXR1cm5zIFVwbG9hZGVkIGZpbGUgaW5mb3JtYXRpb24gaW5jbHVkaW5nIHB1YmxpYyBVUkxcbiAgICovXG4gIGFzeW5jIHVwbG9hZChcbiAgICBmaWxlOiBCdWZmZXIgfCBCbG9iIHwgRmlsZSxcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIG1pbWV0eXBlOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IFVwbG9hZE9wdGlvbnMsXG4gICk6IFByb21pc2U8VXBsb2FkZWRGaWxlPiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBhd2FpdCB0aGlzLmNyZWF0ZUZvcm1EYXRhKGZpbGUsIGZpbGVuYW1lLCBtaW1ldHlwZSwgb3B0aW9ucyk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdDxBcGlSZXNwb25zZTxVcGxvYWRlZEZpbGU+PihcbiAgICAgICcvYXBpL3YxL3VwbG9hZCcsXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGlmICghcmVzcG9uc2Uuc3VjY2VzcyB8fCAhcmVzcG9uc2UuZmlsZSkge1xuICAgICAgdGhyb3cgbmV3IFdpaVMzRXJyb3IocmVzcG9uc2UuZXJyb3IgfHwgJ1VwbG9hZCBmYWlsZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzcG9uc2UuZmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZmlsZSBtZXRhZGF0YSBhbmQgcHVibGljIFVSTFxuICAgKiBAcGFyYW0gZmlsZUlkIC0gVVVJRCBvZiB0aGUgZmlsZVxuICAgKiBAcmV0dXJucyBGaWxlIGluZm9ybWF0aW9uIGluY2x1ZGluZyBwdWJsaWMgVVJMXG4gICAqL1xuICBhc3luYyBnZXRGaWxlKGZpbGVJZDogc3RyaW5nKTogUHJvbWlzZTxGaWxlSW5mbz4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0PEFwaVJlc3BvbnNlPEZpbGVJbmZvPj4oXG4gICAgICBgL2FwaS92MS9maWxlcy8ke2ZpbGVJZH1gLFxuICAgICAgeyBtZXRob2Q6ICdHRVQnIH0sXG4gICAgKTtcblxuICAgIGlmICghcmVzcG9uc2Uuc3VjY2VzcyB8fCAhcmVzcG9uc2UuZmlsZSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IocmVzcG9uc2UuZXJyb3IgfHwgJ0ZpbGUgbm90IGZvdW5kJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmZpbGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByZXNpZ25lZCBkb3dubG9hZCBVUkwgKHZhbGlkIGZvciAxIGhvdXIpXG4gICAqIEBwYXJhbSBmaWxlSWQgLSBVVUlEIG9mIHRoZSBmaWxlXG4gICAqIEByZXR1cm5zIFByZXNpZ25lZCBVUkwgYW5kIGV4cGlyeSB0aW1lXG4gICAqL1xuICBhc3luYyBnZXREb3dubG9hZFVybChmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8RG93bmxvYWRVcmxSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0PEFwaVJlc3BvbnNlPHZvaWQ+PihcbiAgICAgIGAvYXBpL3YxL2ZpbGVzLyR7ZmlsZUlkfS9kb3dubG9hZGAsXG4gICAgICB7IG1ldGhvZDogJ0dFVCcgfSxcbiAgICApO1xuXG4gICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzIHx8ICFyZXNwb25zZS51cmwpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKHJlc3BvbnNlLmVycm9yIHx8ICdGaWxlIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cmw6IHJlc3BvbnNlLnVybCxcbiAgICAgIGV4cGlyZXNJbjogcmVzcG9uc2UuZXhwaXJlc0luIHx8IDM2MDAsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlRm9ybURhdGEoXG4gICAgZmlsZTogQnVmZmVyIHwgQmxvYiB8IEZpbGUsXG4gICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICBtaW1ldHlwZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBVcGxvYWRPcHRpb25zLFxuICApOiBQcm9taXNlPEZvcm1EYXRhIHwgYW55PiB7XG4gICAgLy8gQnJvd3NlciBlbnZpcm9ubWVudFxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgRm9ybURhdGEgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEJsb2IgfHwgZmlsZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSwgZmlsZW5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQnVmZmVyIGluIGJyb3dzZXIgLSBjb252ZXJ0IHRvIEJsb2JcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtmaWxlIGFzIGFueV0sIHsgdHlwZTogbWltZXR5cGUgfSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGJsb2IsIGZpbGVuYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnM/LnVzZXJJZCkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3VzZXJJZCcsIG9wdGlvbnMudXNlcklkKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zPy5tZXRhZGF0YSkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ21ldGFkYXRhJywgSlNPTi5zdHJpbmdpZnkob3B0aW9ucy5tZXRhZGF0YSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm9ybURhdGE7XG4gICAgfVxuXG4gICAgLy8gTm9kZS5qcyBlbnZpcm9ubWVudFxuICAgIHRyeSB7XG4gICAgICBjb25zdCBGb3JtRGF0YU5vZGUgPSByZXF1aXJlKCdmb3JtLWRhdGEnKTtcbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhTm9kZSgpO1xuXG4gICAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKGZpbGUpKSB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIHtcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBjb250ZW50VHlwZTogbWltZXR5cGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQmxvYi9GaWxlIGluIE5vZGUgLSBjb252ZXJ0IHRvIEJ1ZmZlclxuICAgICAgICBjb25zdCBhcnJheUJ1ZmZlciA9IGF3YWl0IChmaWxlIGFzIEJsb2IpLmFycmF5QnVmZmVyKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIEJ1ZmZlci5mcm9tKGFycmF5QnVmZmVyKSwge1xuICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgIGNvbnRlbnRUeXBlOiBtaW1ldHlwZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zPy51c2VySWQpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCd1c2VySWQnLCBvcHRpb25zLnVzZXJJZCk7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucz8ubWV0YWRhdGEpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdtZXRhZGF0YScsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMubWV0YWRhdGEpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1EYXRhO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBXaWlTM0Vycm9yKFxuICAgICAgICAnZm9ybS1kYXRhIHBhY2thZ2UgaXMgcmVxdWlyZWQgaW4gTm9kZS5qcy4gSW5zdGFsbCBpdCB3aXRoOiBucG0gaW5zdGFsbCBmb3JtLWRhdGEnLFxuICAgICAgICA1MDAsXG4gICAgICAgICdNSVNTSU5HX0RFUEVOREVOQ1knLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcXVlc3Q8VD4ocGF0aDogc3RyaW5nLCBvcHRpb25zOiBSZXF1ZXN0SW5pdCAmIHsgYm9keT86IGFueSB9KTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5lbmRwb2ludH0ke3BhdGh9YDtcbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgJ3gtYXBpLWtleSc6IHRoaXMuYXBpS2V5LFxuICAgIH07XG5cbiAgICAvLyBIYW5kbGUgZm9ybS1kYXRhIGhlYWRlcnMgaW4gTm9kZS5qc1xuICAgIGlmIChvcHRpb25zLmJvZHkgJiYgdHlwZW9mIG9wdGlvbnMuYm9keS5nZXRIZWFkZXJzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGhlYWRlcnMsIG9wdGlvbnMuYm9keS5nZXRIZWFkZXJzKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIHRoaXMudGltZW91dCk7XG5cbiAgICB0cnkge1xuICAgICAgbGV0IGZldGNoRm46IHR5cGVvZiBmZXRjaDtcblxuICAgICAgLy8gVXNlIG5hdGl2ZSBmZXRjaCBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB0cnkgbm9kZS1mZXRjaFxuICAgICAgaWYgKHR5cGVvZiBmZXRjaCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgZmV0Y2hGbiA9IGZldGNoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBmZXRjaEZuID0gcmVxdWlyZSgnbm9kZS1mZXRjaCcpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBOb2RlIDE4KyBoYXMgYnVpbHQtaW4gZmV0Y2hcbiAgICAgICAgICBmZXRjaEZuID0gZ2xvYmFsVGhpcy5mZXRjaDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoRm4odXJsLCB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcblxuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKHJlc3BvbnNlLnN0YXR1cywgZGF0YSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkYXRhIGFzIFQ7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG5cbiAgICAgIGlmIChlcnJvci5uYW1lID09PSAnQWJvcnRFcnJvcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IE5ldHdvcmtFcnJvcignUmVxdWVzdCB0aW1lb3V0Jyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFdpaVMzRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IoZXJyb3IubWVzc2FnZSB8fCAnTmV0d29yayBlcnJvciBvY2N1cnJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JSZXNwb25zZShzdGF0dXM6IG51bWJlciwgZGF0YTogYW55KTogbmV2ZXIge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBkYXRhPy5tZXNzYWdlIHx8IGRhdGE/LmVycm9yIHx8ICdVbmtub3duIGVycm9yJztcblxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICBjYXNlIDQwMTpcbiAgICAgICAgdGhyb3cgbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IobWVzc2FnZSk7XG4gICAgICBjYXNlIDQwNDpcbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgICBjYXNlIDQwMDpcbiAgICAgICAgaWYgKG1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncXVvdGEnKSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihtZXNzYWdlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBXaWlTM0Vycm9yKG1lc3NhZ2UsIHN0YXR1cyk7XG4gICAgfVxuICB9XG59XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxxQ0FNa0I7QUFFbEIsTUFBYSxXQUFXO0lBS3RCLFlBQVksTUFBbUI7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksd0JBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSx3QkFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FDVixJQUEwQixFQUMxQixRQUFnQixFQUNoQixRQUFnQixFQUNoQixPQUF1QjtRQUV2QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUNqQyxnQkFBZ0IsRUFDaEI7WUFDRSxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJ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Q0FBQztnQkFDckMsQ0FBQztnQkFDRCxNQUFNLElBQUksd0JBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQztnQkFDRSxNQUFNLElBQUksbUJBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTlPRCxrQ0E4T0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBXaWlTM0NvbmZpZyxcbiAgVXBsb2FkT3B0aW9ucyxcbiAgVXBsb2FkZWRGaWxlLFxuICBGaWxlSW5mbyxcbiAgRG93bmxvYWRVcmxSZXNwb25zZSxcbiAgQXBpUmVzcG9uc2UsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgV2lpUzNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxuICBOZXR3b3JrRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IGNsYXNzIFdpaVMzQ2xpZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVvdXQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFdpaVMzQ29uZmlnKSB7XG4gICAgaWYgKCFjb25maWcuZW5kcG9pbnQpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ2VuZHBvaW50IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghY29uZmlnLmFwaUtleSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignYXBpS2V5IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5lbmRwb2ludCA9IGNvbmZpZy5lbmRwb2ludC5yZXBsYWNlKC9cXC8kLywgJycpO1xuICAgIHRoaXMuYXBpS2V5ID0gY29uZmlnLmFwaUtleTtcbiAgICB0aGlzLnRpbWVvdXQgPSBjb25maWcudGltZW91dCB8fCAzMDAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgYSBmaWxlIHRvIFdpaVMzXG4gICAqIEBwYXJhbSBmaWxlIC0gRmlsZSBidWZmZXIsIEJsb2IsIG9yIEZpbGUgb2JqZWN0XG4gICAqIEBwYXJhbSBmaWxlbmFtZSAtIE9yaWdpbmFsIGZpbGVuYW1lXG4gICAqIEBwYXJhbSBtaW1ldHlwZSAtIE1JTUUgdHlwZSBvZiB0aGUgZmlsZVxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIHVwbG9hZCBvcHRpb25zICh1c2VySWQsIG1ldGFkYXRhKVxuICAgKiBAcmV0dXJucyBVcGxvYWRlZCBmaWxlIGluZm9ybWF0aW9uIGluY2x1ZGluZyBwdWJsaWMgVVJMXG4gICAqL1xuICBhc3luYyB1cGxvYWQoXG4gICAgZmlsZTogQnVmZmVyIHwgQmxvYiB8IEZpbGUsXG4gICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICBtaW1ldHlwZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBVcGxvYWRPcHRpb25zLFxuICApOiBQcm9taXNlPFVwbG9hZGVkRmlsZT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gYXdhaXQgdGhpcy5jcmVhdGVGb3JtRGF0YShmaWxlLCBmaWxlbmFtZSwgbWltZXR5cGUsIG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3Q8QXBpUmVzcG9uc2U8VXBsb2FkZWRGaWxlPj4oXG4gICAgICAnL2FwaS92MS91cGxvYWQnLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MgfHwgIXJlc3BvbnNlLmZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBXaWlTM0Vycm9yKHJlc3BvbnNlLmVycm9yIHx8ICdVcGxvYWQgZmFpbGVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmZpbGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpbGUgbWV0YWRhdGEgYW5kIHB1YmxpYyBVUkxcbiAgICogQHBhcmFtIGZpbGVJZCAtIFVVSUQgb2YgdGhlIGZpbGVcbiAgICogQHJldHVybnMgRmlsZSBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgcHVibGljIFVSTFxuICAgKi9cbiAgYXN5bmMgZ2V0RmlsZShmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8RmlsZUluZm8+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdDxBcGlSZXNwb25zZTxGaWxlSW5mbz4+KFxuICAgICAgYC9hcGkvdjEvZmlsZXMvJHtmaWxlSWR9YCxcbiAgICAgIHsgbWV0aG9kOiAnR0VUJyB9LFxuICAgICk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MgfHwgIXJlc3BvbnNlLmZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKHJlc3BvbnNlLmVycm9yIHx8ICdGaWxlIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZS5maWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcmVzaWduZWQgZG93bmxvYWQgVVJMICh2YWxpZCBmb3IgMSBob3VyKVxuICAgKiBAcGFyYW0gZmlsZUlkIC0gVVVJRCBvZiB0aGUgZmlsZVxuICAgKiBAcmV0dXJucyBQcmVzaWduZWQgVVJMIGFuZCBleHBpcnkgdGltZVxuICAgKi9cbiAgYXN5bmMgZ2V0RG93bmxvYWRVcmwoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPERvd25sb2FkVXJsUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdDxBcGlSZXNwb25zZTx2b2lkPj4oXG4gICAgICBgL2FwaS92MS9maWxlcy8ke2ZpbGVJZH0vZG93bmxvYWRgLFxuICAgICAgeyBtZXRob2Q6ICdHRVQnIH0sXG4gICAgKTtcblxuICAgIGlmICghcmVzcG9uc2Uuc3VjY2VzcyB8fCAhcmVzcG9uc2UudXJsKSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihyZXNwb25zZS5lcnJvciB8fCAnRmlsZSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXJsOiByZXNwb25zZS51cmwsXG4gICAgICBleHBpcmVzSW46IHJlc3BvbnNlLmV4cGlyZXNJbiB8fCAzNjAwLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUZvcm1EYXRhKFxuICAgIGZpbGU6IEJ1ZmZlciB8IEJsb2IgfCBGaWxlLFxuICAgIGZpbGVuYW1lOiBzdHJpbmcsXG4gICAgbWltZXR5cGU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogVXBsb2FkT3B0aW9ucyxcbiAgKTogUHJvbWlzZTxGb3JtRGF0YSB8IGFueT4ge1xuICAgIC8vIEJyb3dzZXIgZW52aXJvbm1lbnRcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIEZvcm1EYXRhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBCbG9iIHx8IGZpbGUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGVuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEJ1ZmZlciBpbiBicm93c2VyIC0gY29udmVydCB0byBCbG9iXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZmlsZSBhcyBhbnldLCB7IHR5cGU6IG1pbWV0eXBlIH0pO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBibG9iLCBmaWxlbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zPy51c2VySWQpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCd1c2VySWQnLCBvcHRpb25zLnVzZXJJZCk7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucz8ubWV0YWRhdGEpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdtZXRhZGF0YScsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMubWV0YWRhdGEpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1EYXRhO1xuICAgIH1cblxuICAgIC8vIE5vZGUuanMgZW52aXJvbm1lbnRcbiAgICB0cnkge1xuICAgICAgY29uc3QgRm9ybURhdGFOb2RlID0gcmVxdWlyZSgnZm9ybS1kYXRhJyk7XG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YU5vZGUoKTtcblxuICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihmaWxlKSkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlLCB7XG4gICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgY29udGVudFR5cGU6IG1pbWV0eXBlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEJsb2IvRmlsZSBpbiBOb2RlIC0gY29udmVydCB0byBCdWZmZXJcbiAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCAoZmlsZSBhcyBCbG9iKS5hcnJheUJ1ZmZlcigpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlciksIHtcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBjb250ZW50VHlwZTogbWltZXR5cGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucz8udXNlcklkKSB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgndXNlcklkJywgb3B0aW9ucy51c2VySWQpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM/Lm1ldGFkYXRhKSB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnbWV0YWRhdGEnLCBKU09OLnN0cmluZ2lmeShvcHRpb25zLm1ldGFkYXRhKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgV2lpUzNFcnJvcihcbiAgICAgICAgJ2Zvcm0tZGF0YSBwYWNrYWdlIGlzIHJlcXVpcmVkIGluIE5vZGUuanMuIEluc3RhbGwgaXQgd2l0aDogbnBtIGluc3RhbGwgZm9ybS1kYXRhJyxcbiAgICAgICAgNTAwLFxuICAgICAgICAnTUlTU0lOR19ERVBFTkRFTkNZJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0PFQ+KHBhdGg6IHN0cmluZywgb3B0aW9uczogUmVxdWVzdEluaXQgJiB7IGJvZHk/OiBhbnkgfSk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZW5kcG9pbnR9JHtwYXRofWA7XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICd4LWFwaS1rZXknOiB0aGlzLmFwaUtleSxcbiAgICB9O1xuXG4gICAgbGV0IGJvZHkgPSBvcHRpb25zLmJvZHk7XG5cbiAgICAvLyBIYW5kbGUgZm9ybS1kYXRhIGluIE5vZGUuanMgd2l0aCBuYXRpdmUgZmV0Y2hcbiAgICBpZiAob3B0aW9ucy5ib2R5ICYmIHR5cGVvZiBvcHRpb25zLmJvZHkuZ2V0SGVhZGVycyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gZm9ybS1kYXRhIHBhY2thZ2UgaW5zdGFuY2VcbiAgICAgIGNvbnN0IGZvcm1EYXRhSGVhZGVycyA9IG9wdGlvbnMuYm9keS5nZXRIZWFkZXJzKCk7XG4gICAgICBPYmplY3QuYXNzaWduKGhlYWRlcnMsIGZvcm1EYXRhSGVhZGVycyk7XG5cbiAgICAgIC8vIENvbnZlcnQgZm9ybS1kYXRhIHRvIEJ1ZmZlciBmb3IgbmF0aXZlIGZldGNoXG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMuYm9keS5nZXRCdWZmZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgYm9keSA9IG9wdGlvbnMuYm9keS5nZXRCdWZmZXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCB0aGlzLnRpbWVvdXQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxldCBmZXRjaEZuOiB0eXBlb2YgZmV0Y2g7XG5cbiAgICAgIC8vIFVzZSBuYXRpdmUgZmV0Y2ggaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdHJ5IG5vZGUtZmV0Y2hcbiAgICAgIGlmICh0eXBlb2YgZmV0Y2ggIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGZldGNoRm4gPSBmZXRjaDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZmV0Y2hGbiA9IHJlcXVpcmUoJ25vZGUtZmV0Y2gnKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gTm9kZSAxOCsgaGFzIGJ1aWx0LWluIGZldGNoXG4gICAgICAgICAgZmV0Y2hGbiA9IGdsb2JhbFRoaXMuZmV0Y2g7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaEZuKHVybCwge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBib2R5LFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSk7XG5cbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3JSZXNwb25zZShyZXNwb25zZS5zdGF0dXMsIGRhdGEpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGF0YSBhcyBUO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuXG4gICAgICBpZiAoZXJyb3IubmFtZSA9PT0gJ0Fib3J0RXJyb3InKSB7XG4gICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IoJ1JlcXVlc3QgdGltZW91dCcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBXaWlTM0Vycm9yKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgTmV0d29ya0Vycm9yKGVycm9yLm1lc3NhZ2UgfHwgJ05ldHdvcmsgZXJyb3Igb2NjdXJyZWQnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yUmVzcG9uc2Uoc3RhdHVzOiBudW1iZXIsIGRhdGE6IGFueSk6IG5ldmVyIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZGF0YT8ubWVzc2FnZSB8fCBkYXRhPy5lcnJvciB8fCAnVW5rbm93biBlcnJvcic7XG5cbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgY2FzZSA0MDE6XG4gICAgICAgIHRocm93IG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKG1lc3NhZ2UpO1xuICAgICAgY2FzZSA0MDQ6XG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKG1lc3NhZ2UpO1xuICAgICAgY2FzZSA0MDA6XG4gICAgICAgIGlmIChtZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3F1b3RhJykpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobWVzc2FnZSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgV2lpUzNFcnJvcihtZXNzYWdlLCBzdGF0dXMpO1xuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wiicode/s3-client",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Official SDK client for WiiCode S3 Upload Service",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",