@hot-updater/aws 0.26.1 → 0.26.2
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.ts +3 -3
- package/dist/lambda/dist-cjs-Mm7FDWb8.cjs +128 -0
- package/dist/lambda/event-streams-0D7SB645.cjs +204 -0
- package/dist/lambda/index.cjs +4016 -184
- package/package.json +16 -16
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S3ClientConfig } from "@aws-sdk/client-s3";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _hot_updater_plugin_core0 from "@hot-updater/plugin-core";
|
|
3
3
|
|
|
4
4
|
//#region src/s3Database.d.ts
|
|
5
5
|
interface S3DatabaseConfig extends S3ClientConfig {
|
|
@@ -14,7 +14,7 @@ interface S3DatabaseConfig extends S3ClientConfig {
|
|
|
14
14
|
cloudfrontDistributionId?: string;
|
|
15
15
|
apiBasePath?: string;
|
|
16
16
|
}
|
|
17
|
-
declare const s3Database: (config: S3DatabaseConfig, hooks?:
|
|
17
|
+
declare const s3Database: (config: S3DatabaseConfig, hooks?: _hot_updater_plugin_core0.DatabasePluginHooks) => () => _hot_updater_plugin_core0.DatabasePlugin;
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region src/s3Storage.d.ts
|
|
20
20
|
interface S3StorageConfig extends S3ClientConfig {
|
|
@@ -24,6 +24,6 @@ interface S3StorageConfig extends S3ClientConfig {
|
|
|
24
24
|
*/
|
|
25
25
|
basePath?: string;
|
|
26
26
|
}
|
|
27
|
-
declare const s3Storage: (config: S3StorageConfig, hooks?:
|
|
27
|
+
declare const s3Storage: (config: S3StorageConfig, hooks?: _hot_updater_plugin_core0.StoragePluginHooks) => () => _hot_updater_plugin_core0.StoragePlugin;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { S3DatabaseConfig, S3StorageConfig, s3Database, s3Storage };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __esm = (fn, res) => function() {
|
|
9
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
10
|
+
};
|
|
11
|
+
var __commonJS = (cb, mod) => function() {
|
|
12
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
13
|
+
};
|
|
14
|
+
var __export = (all) => {
|
|
15
|
+
let target = {};
|
|
16
|
+
for (var name in all) __defProp(target, name, {
|
|
17
|
+
get: all[name],
|
|
18
|
+
enumerable: true
|
|
19
|
+
});
|
|
20
|
+
return target;
|
|
21
|
+
};
|
|
22
|
+
var __copyProps = (to, from, except, desc) => {
|
|
23
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
24
|
+
key = keys[i];
|
|
25
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
26
|
+
get: ((k) => from[k]).bind(null, key),
|
|
27
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return to;
|
|
31
|
+
};
|
|
32
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
33
|
+
value: mod,
|
|
34
|
+
enumerable: true
|
|
35
|
+
}) : target, mod));
|
|
36
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
|
|
40
|
+
//#region ../../node_modules/.pnpm/@smithy+is-array-buffer@4.2.2/node_modules/@smithy/is-array-buffer/dist-cjs/index.js
|
|
41
|
+
var require_dist_cjs$2 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@smithy+is-array-buffer@4.2.2/node_modules/@smithy/is-array-buffer/dist-cjs/index.js": ((exports) => {
|
|
42
|
+
const isArrayBuffer$1 = (arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]";
|
|
43
|
+
exports.isArrayBuffer = isArrayBuffer$1;
|
|
44
|
+
}) });
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region ../../node_modules/.pnpm/@smithy+util-buffer-from@4.2.2/node_modules/@smithy/util-buffer-from/dist-cjs/index.js
|
|
48
|
+
var require_dist_cjs$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@smithy+util-buffer-from@4.2.2/node_modules/@smithy/util-buffer-from/dist-cjs/index.js": ((exports) => {
|
|
49
|
+
var isArrayBuffer = require_dist_cjs$2();
|
|
50
|
+
var buffer = require("buffer");
|
|
51
|
+
const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {
|
|
52
|
+
if (!isArrayBuffer.isArrayBuffer(input)) throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
|
|
53
|
+
return buffer.Buffer.from(input, offset, length);
|
|
54
|
+
};
|
|
55
|
+
const fromString = (input, encoding) => {
|
|
56
|
+
if (typeof input !== "string") throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
|
|
57
|
+
return encoding ? buffer.Buffer.from(input, encoding) : buffer.Buffer.from(input);
|
|
58
|
+
};
|
|
59
|
+
exports.fromArrayBuffer = fromArrayBuffer;
|
|
60
|
+
exports.fromString = fromString;
|
|
61
|
+
}) });
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region ../../node_modules/.pnpm/@smithy+util-utf8@4.2.2/node_modules/@smithy/util-utf8/dist-cjs/index.js
|
|
65
|
+
var require_dist_cjs = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@smithy+util-utf8@4.2.2/node_modules/@smithy/util-utf8/dist-cjs/index.js": ((exports) => {
|
|
66
|
+
var utilBufferFrom = require_dist_cjs$1();
|
|
67
|
+
const fromUtf8 = (input) => {
|
|
68
|
+
const buf = utilBufferFrom.fromString(input, "utf8");
|
|
69
|
+
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
|
70
|
+
};
|
|
71
|
+
const toUint8Array = (data) => {
|
|
72
|
+
if (typeof data === "string") return fromUtf8(data);
|
|
73
|
+
if (ArrayBuffer.isView(data)) return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
|
74
|
+
return new Uint8Array(data);
|
|
75
|
+
};
|
|
76
|
+
const toUtf8 = (input) => {
|
|
77
|
+
if (typeof input === "string") return input;
|
|
78
|
+
if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
|
|
79
|
+
return utilBufferFrom.fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
|
|
80
|
+
};
|
|
81
|
+
exports.fromUtf8 = fromUtf8;
|
|
82
|
+
exports.toUint8Array = toUint8Array;
|
|
83
|
+
exports.toUtf8 = toUtf8;
|
|
84
|
+
}) });
|
|
85
|
+
|
|
86
|
+
//#endregion
|
|
87
|
+
Object.defineProperty(exports, '__commonJS', {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return __commonJS;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(exports, '__esm', {
|
|
94
|
+
enumerable: true,
|
|
95
|
+
get: function () {
|
|
96
|
+
return __esm;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
Object.defineProperty(exports, '__export', {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function () {
|
|
102
|
+
return __export;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
Object.defineProperty(exports, '__toCommonJS', {
|
|
106
|
+
enumerable: true,
|
|
107
|
+
get: function () {
|
|
108
|
+
return __toCommonJS;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(exports, '__toESM', {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
get: function () {
|
|
114
|
+
return __toESM;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
Object.defineProperty(exports, 'require_dist_cjs', {
|
|
118
|
+
enumerable: true,
|
|
119
|
+
get: function () {
|
|
120
|
+
return require_dist_cjs;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
Object.defineProperty(exports, 'require_dist_cjs$1', {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
get: function () {
|
|
126
|
+
return require_dist_cjs$1;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
const require_dist_cjs$1 = require('./dist-cjs-Mm7FDWb8.cjs');
|
|
2
|
+
|
|
3
|
+
//#region ../../node_modules/.pnpm/@smithy+core@3.23.11/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js
|
|
4
|
+
var import_dist_cjs, EventStreamSerde;
|
|
5
|
+
var init_EventStreamSerde = require_dist_cjs$1.__esm({ "../../node_modules/.pnpm/@smithy+core@3.23.11/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js": (() => {
|
|
6
|
+
import_dist_cjs = /* @__PURE__ */ require_dist_cjs$1.__toESM(require_dist_cjs$1.require_dist_cjs());
|
|
7
|
+
EventStreamSerde = class {
|
|
8
|
+
marshaller;
|
|
9
|
+
serializer;
|
|
10
|
+
deserializer;
|
|
11
|
+
serdeContext;
|
|
12
|
+
defaultContentType;
|
|
13
|
+
constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType }) {
|
|
14
|
+
this.marshaller = marshaller;
|
|
15
|
+
this.serializer = serializer;
|
|
16
|
+
this.deserializer = deserializer;
|
|
17
|
+
this.serdeContext = serdeContext;
|
|
18
|
+
this.defaultContentType = defaultContentType;
|
|
19
|
+
}
|
|
20
|
+
async serializeEventStream({ eventStream, requestSchema, initialRequest }) {
|
|
21
|
+
const marshaller = this.marshaller;
|
|
22
|
+
const eventStreamMember = requestSchema.getEventStreamMember();
|
|
23
|
+
const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
|
|
24
|
+
const serializer = this.serializer;
|
|
25
|
+
const defaultContentType = this.defaultContentType;
|
|
26
|
+
const initialRequestMarker = Symbol("initialRequestMarker");
|
|
27
|
+
const eventStreamIterable = { async *[Symbol.asyncIterator]() {
|
|
28
|
+
if (initialRequest) {
|
|
29
|
+
const headers = {
|
|
30
|
+
":event-type": {
|
|
31
|
+
type: "string",
|
|
32
|
+
value: "initial-request"
|
|
33
|
+
},
|
|
34
|
+
":message-type": {
|
|
35
|
+
type: "string",
|
|
36
|
+
value: "event"
|
|
37
|
+
},
|
|
38
|
+
":content-type": {
|
|
39
|
+
type: "string",
|
|
40
|
+
value: defaultContentType
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
serializer.write(requestSchema, initialRequest);
|
|
44
|
+
const body = serializer.flush();
|
|
45
|
+
yield {
|
|
46
|
+
[initialRequestMarker]: true,
|
|
47
|
+
headers,
|
|
48
|
+
body
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
for await (const page of eventStream) yield page;
|
|
52
|
+
} };
|
|
53
|
+
return marshaller.serialize(eventStreamIterable, (event) => {
|
|
54
|
+
if (event[initialRequestMarker]) return {
|
|
55
|
+
headers: event.headers,
|
|
56
|
+
body: event.body
|
|
57
|
+
};
|
|
58
|
+
const unionMember = Object.keys(event).find((key) => {
|
|
59
|
+
return key !== "__type";
|
|
60
|
+
}) ?? "";
|
|
61
|
+
const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
|
|
62
|
+
return {
|
|
63
|
+
headers: {
|
|
64
|
+
":event-type": {
|
|
65
|
+
type: "string",
|
|
66
|
+
value: eventType
|
|
67
|
+
},
|
|
68
|
+
":message-type": {
|
|
69
|
+
type: "string",
|
|
70
|
+
value: "event"
|
|
71
|
+
},
|
|
72
|
+
":content-type": {
|
|
73
|
+
type: "string",
|
|
74
|
+
value: explicitPayloadContentType ?? defaultContentType
|
|
75
|
+
},
|
|
76
|
+
...additionalHeaders
|
|
77
|
+
},
|
|
78
|
+
body
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async deserializeEventStream({ response, responseSchema, initialResponseContainer }) {
|
|
83
|
+
const marshaller = this.marshaller;
|
|
84
|
+
const eventStreamMember = responseSchema.getEventStreamMember();
|
|
85
|
+
const memberSchemas = responseSchema.getMemberSchema(eventStreamMember).getMemberSchemas();
|
|
86
|
+
const initialResponseMarker = Symbol("initialResponseMarker");
|
|
87
|
+
const asyncIterable = marshaller.deserialize(response.body, async (event) => {
|
|
88
|
+
const unionMember = Object.keys(event).find((key) => {
|
|
89
|
+
return key !== "__type";
|
|
90
|
+
}) ?? "";
|
|
91
|
+
const body = event[unionMember].body;
|
|
92
|
+
if (unionMember === "initial-response") {
|
|
93
|
+
const dataObject = await this.deserializer.read(responseSchema, body);
|
|
94
|
+
delete dataObject[eventStreamMember];
|
|
95
|
+
return {
|
|
96
|
+
[initialResponseMarker]: true,
|
|
97
|
+
...dataObject
|
|
98
|
+
};
|
|
99
|
+
} else if (unionMember in memberSchemas) {
|
|
100
|
+
const eventStreamSchema = memberSchemas[unionMember];
|
|
101
|
+
if (eventStreamSchema.isStructSchema()) {
|
|
102
|
+
const out = {};
|
|
103
|
+
let hasBindings = false;
|
|
104
|
+
for (const [name, member] of eventStreamSchema.structIterator()) {
|
|
105
|
+
const { eventHeader, eventPayload } = member.getMergedTraits();
|
|
106
|
+
hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
|
|
107
|
+
if (eventPayload) {
|
|
108
|
+
if (member.isBlobSchema()) out[name] = body;
|
|
109
|
+
else if (member.isStringSchema()) out[name] = (this.serdeContext?.utf8Encoder ?? import_dist_cjs.toUtf8)(body);
|
|
110
|
+
else if (member.isStructSchema()) out[name] = await this.deserializer.read(member, body);
|
|
111
|
+
} else if (eventHeader) {
|
|
112
|
+
const value = event[unionMember].headers[name]?.value;
|
|
113
|
+
if (value != null) if (member.isNumericSchema()) if (value && typeof value === "object" && "bytes" in value) out[name] = BigInt(value.toString());
|
|
114
|
+
else out[name] = Number(value);
|
|
115
|
+
else out[name] = value;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (hasBindings) return { [unionMember]: out };
|
|
119
|
+
if (body.byteLength === 0) return { [unionMember]: {} };
|
|
120
|
+
}
|
|
121
|
+
return { [unionMember]: await this.deserializer.read(eventStreamSchema, body) };
|
|
122
|
+
} else return { $unknown: event };
|
|
123
|
+
});
|
|
124
|
+
const asyncIterator = asyncIterable[Symbol.asyncIterator]();
|
|
125
|
+
const firstEvent = await asyncIterator.next();
|
|
126
|
+
if (firstEvent.done) return asyncIterable;
|
|
127
|
+
if (firstEvent.value?.[initialResponseMarker]) {
|
|
128
|
+
if (!responseSchema) throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
|
|
129
|
+
for (const [key, value] of Object.entries(firstEvent.value)) initialResponseContainer[key] = value;
|
|
130
|
+
}
|
|
131
|
+
return { async *[Symbol.asyncIterator]() {
|
|
132
|
+
if (!firstEvent?.value?.[initialResponseMarker]) yield firstEvent.value;
|
|
133
|
+
while (true) {
|
|
134
|
+
const { done, value } = await asyncIterator.next();
|
|
135
|
+
if (done) break;
|
|
136
|
+
yield value;
|
|
137
|
+
}
|
|
138
|
+
} };
|
|
139
|
+
}
|
|
140
|
+
writeEventBody(unionMember, unionSchema, event) {
|
|
141
|
+
const serializer = this.serializer;
|
|
142
|
+
let eventType = unionMember;
|
|
143
|
+
let explicitPayloadMember = null;
|
|
144
|
+
let explicitPayloadContentType;
|
|
145
|
+
const isKnownSchema = (() => {
|
|
146
|
+
return unionSchema.getSchema()[4].includes(unionMember);
|
|
147
|
+
})();
|
|
148
|
+
const additionalHeaders = {};
|
|
149
|
+
if (!isKnownSchema) {
|
|
150
|
+
const [type, value] = event[unionMember];
|
|
151
|
+
eventType = type;
|
|
152
|
+
serializer.write(15, value);
|
|
153
|
+
} else {
|
|
154
|
+
const eventSchema = unionSchema.getMemberSchema(unionMember);
|
|
155
|
+
if (eventSchema.isStructSchema()) {
|
|
156
|
+
for (const [memberName, memberSchema] of eventSchema.structIterator()) {
|
|
157
|
+
const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
|
|
158
|
+
if (eventPayload) explicitPayloadMember = memberName;
|
|
159
|
+
else if (eventHeader) {
|
|
160
|
+
const value = event[unionMember][memberName];
|
|
161
|
+
let type = "binary";
|
|
162
|
+
if (memberSchema.isNumericSchema()) if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) type = "integer";
|
|
163
|
+
else type = "long";
|
|
164
|
+
else if (memberSchema.isTimestampSchema()) type = "timestamp";
|
|
165
|
+
else if (memberSchema.isStringSchema()) type = "string";
|
|
166
|
+
else if (memberSchema.isBooleanSchema()) type = "boolean";
|
|
167
|
+
if (value != null) {
|
|
168
|
+
additionalHeaders[memberName] = {
|
|
169
|
+
type,
|
|
170
|
+
value
|
|
171
|
+
};
|
|
172
|
+
delete event[unionMember][memberName];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (explicitPayloadMember !== null) {
|
|
177
|
+
const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
|
|
178
|
+
if (payloadSchema.isBlobSchema()) explicitPayloadContentType = "application/octet-stream";
|
|
179
|
+
else if (payloadSchema.isStringSchema()) explicitPayloadContentType = "text/plain";
|
|
180
|
+
serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
|
|
181
|
+
} else serializer.write(eventSchema, event[unionMember]);
|
|
182
|
+
} else if (eventSchema.isUnitSchema()) serializer.write(eventSchema, {});
|
|
183
|
+
else throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
|
|
184
|
+
}
|
|
185
|
+
const messageSerialization = serializer.flush() ?? new Uint8Array();
|
|
186
|
+
return {
|
|
187
|
+
body: typeof messageSerialization === "string" ? (this.serdeContext?.utf8Decoder ?? import_dist_cjs.fromUtf8)(messageSerialization) : messageSerialization,
|
|
188
|
+
eventType,
|
|
189
|
+
explicitPayloadContentType,
|
|
190
|
+
additionalHeaders
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
}) });
|
|
195
|
+
|
|
196
|
+
//#endregion
|
|
197
|
+
//#region ../../node_modules/.pnpm/@smithy+core@3.23.11/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js
|
|
198
|
+
var init_event_streams = require_dist_cjs$1.__esm({ "../../node_modules/.pnpm/@smithy+core@3.23.11/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js": (() => {
|
|
199
|
+
init_EventStreamSerde();
|
|
200
|
+
}) });
|
|
201
|
+
|
|
202
|
+
//#endregion
|
|
203
|
+
init_event_streams();
|
|
204
|
+
exports.EventStreamSerde = EventStreamSerde;
|