qstd 0.3.85 → 0.3.87
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/client/index.cjs +121 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +121 -1
- package/dist/server/aws/apigw/domain.d.ts +57 -0
- package/dist/server/aws/apigw/domain.d.ts.map +1 -0
- package/dist/server/aws/apigw/fns.d.ts +6 -0
- package/dist/server/aws/apigw/fns.d.ts.map +1 -0
- package/dist/server/aws/apigw/index.d.ts +3 -0
- package/dist/server/aws/apigw/index.d.ts.map +1 -0
- package/dist/server/aws/apigw/types.d.ts +113 -0
- package/dist/server/aws/apigw/types.d.ts.map +1 -0
- package/dist/server/aws/lambda/domain.d.ts +3 -3
- package/dist/server/aws/lambda/domain.d.ts.map +1 -1
- package/dist/server/aws/lambda/fns.d.ts +1 -1
- package/dist/server/aws/lambda/fns.d.ts.map +1 -1
- package/dist/server/aws/lambda/index.d.ts +1 -0
- package/dist/server/aws/lambda/index.d.ts.map +1 -1
- package/dist/server/aws/lambda/types.d.ts +11 -0
- package/dist/server/aws/lambda/types.d.ts.map +1 -1
- package/dist/server/index.cjs +307 -14
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +306 -15
- package/package.json +2 -1
package/dist/client/index.cjs
CHANGED
|
@@ -1089,6 +1089,126 @@ function remove(path, body, opts) {
|
|
|
1089
1089
|
);
|
|
1090
1090
|
}
|
|
1091
1091
|
|
|
1092
|
+
// src/shared/lexorank/index.ts
|
|
1093
|
+
var lexorank_exports = {};
|
|
1094
|
+
__export(lexorank_exports, {
|
|
1095
|
+
checkBalance: () => checkBalance,
|
|
1096
|
+
createOrderStr: () => createOrderStr,
|
|
1097
|
+
createRebalancedOrderList: () => createRebalancedOrderList,
|
|
1098
|
+
rebalance: () => rebalance,
|
|
1099
|
+
sortByOrder: () => sortByOrder
|
|
1100
|
+
});
|
|
1101
|
+
|
|
1102
|
+
// src/shared/lexorank/literals.ts
|
|
1103
|
+
var LOWER_BOUND = 96;
|
|
1104
|
+
var UPPER_BOUND = 123;
|
|
1105
|
+
var CHAR_A = 97;
|
|
1106
|
+
var CHAR_Z = 122;
|
|
1107
|
+
var ALPHABET_SIZE = 26;
|
|
1108
|
+
var DISTRIBUTION_TABLE = [
|
|
1109
|
+
0,
|
|
1110
|
+
4096,
|
|
1111
|
+
65792,
|
|
1112
|
+
528416,
|
|
1113
|
+
1081872,
|
|
1114
|
+
2167048,
|
|
1115
|
+
2376776,
|
|
1116
|
+
4756004,
|
|
1117
|
+
4794660,
|
|
1118
|
+
5411476,
|
|
1119
|
+
9775442,
|
|
1120
|
+
11097386,
|
|
1121
|
+
11184810,
|
|
1122
|
+
22369621
|
|
1123
|
+
];
|
|
1124
|
+
|
|
1125
|
+
// src/shared/lexorank/fns.ts
|
|
1126
|
+
var stripTrailingAs = (str) => {
|
|
1127
|
+
let last = str.length - 1;
|
|
1128
|
+
while (str.charAt(last) === "a") --last;
|
|
1129
|
+
return str.slice(0, last + 1);
|
|
1130
|
+
};
|
|
1131
|
+
var partialAlphabet = (num2) => {
|
|
1132
|
+
let bits = num2 < 13 ? DISTRIBUTION_TABLE[num2] ?? 0 : 33554431 - (DISTRIBUTION_TABLE[25 - num2] ?? 0);
|
|
1133
|
+
const chars = [];
|
|
1134
|
+
for (let i = 1; i < ALPHABET_SIZE; i++, bits >>= 1) {
|
|
1135
|
+
if (bits & 1) chars.push(String.fromCharCode(CHAR_A + i));
|
|
1136
|
+
}
|
|
1137
|
+
return chars;
|
|
1138
|
+
};
|
|
1139
|
+
|
|
1140
|
+
// src/shared/lexorank/domain.ts
|
|
1141
|
+
var createOrderStr = (prev = "", next = "") => {
|
|
1142
|
+
let p;
|
|
1143
|
+
let n;
|
|
1144
|
+
let pos;
|
|
1145
|
+
let str;
|
|
1146
|
+
for (pos = 0; p === n; pos++) {
|
|
1147
|
+
p = pos < prev.length ? prev.charCodeAt(pos) : LOWER_BOUND;
|
|
1148
|
+
n = pos < next.length ? next.charCodeAt(pos) : UPPER_BOUND;
|
|
1149
|
+
}
|
|
1150
|
+
str = prev.slice(0, pos - 1);
|
|
1151
|
+
if (p === LOWER_BOUND) {
|
|
1152
|
+
while (n === CHAR_A) {
|
|
1153
|
+
n = pos < next.length ? next.charCodeAt(pos++) : UPPER_BOUND;
|
|
1154
|
+
str += "a";
|
|
1155
|
+
}
|
|
1156
|
+
if (n === CHAR_A + 1) {
|
|
1157
|
+
str += "a";
|
|
1158
|
+
n = UPPER_BOUND;
|
|
1159
|
+
}
|
|
1160
|
+
} else if (p !== void 0 && n !== void 0 && p + 1 === n) {
|
|
1161
|
+
str += String.fromCharCode(p);
|
|
1162
|
+
n = UPPER_BOUND;
|
|
1163
|
+
while ((p = pos < prev.length ? prev.charCodeAt(pos++) : LOWER_BOUND) === CHAR_Z) {
|
|
1164
|
+
str += "z";
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
return str + String.fromCharCode(
|
|
1168
|
+
Math.ceil(((p ?? LOWER_BOUND) + (n ?? UPPER_BOUND)) / 2)
|
|
1169
|
+
);
|
|
1170
|
+
};
|
|
1171
|
+
var createRebalancedOrderList = (num2) => {
|
|
1172
|
+
const chars = Math.floor(Math.log(num2) / Math.log(ALPHABET_SIZE)) + 1;
|
|
1173
|
+
const prev = Math.pow(ALPHABET_SIZE, chars - 1);
|
|
1174
|
+
const ratio = chars > 1 ? (num2 + 1 - prev) / prev : num2;
|
|
1175
|
+
const part = Math.floor(ratio);
|
|
1176
|
+
const alpha = [partialAlphabet(part), partialAlphabet(part + 1)];
|
|
1177
|
+
const leapStep = ratio % 1;
|
|
1178
|
+
let leapTotal = 0.5;
|
|
1179
|
+
let first = true;
|
|
1180
|
+
const strings = [];
|
|
1181
|
+
const generate = (full, str) => {
|
|
1182
|
+
if (full) {
|
|
1183
|
+
for (let i = 0; i < ALPHABET_SIZE; i++) {
|
|
1184
|
+
generate(full - 1, str + String.fromCharCode(CHAR_A + i));
|
|
1185
|
+
}
|
|
1186
|
+
} else {
|
|
1187
|
+
if (!first) strings.push(stripTrailingAs(str));
|
|
1188
|
+
else first = false;
|
|
1189
|
+
const leap = Math.floor(leapTotal += leapStep);
|
|
1190
|
+
leapTotal %= 1;
|
|
1191
|
+
for (let i = 0; i < part + leap; i++) {
|
|
1192
|
+
strings.push(str + (alpha[leap]?.[i] ?? ""));
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
};
|
|
1196
|
+
generate(chars - 1, "");
|
|
1197
|
+
return strings;
|
|
1198
|
+
};
|
|
1199
|
+
var checkBalance = (xs) => {
|
|
1200
|
+
let largestOrderStr = 0;
|
|
1201
|
+
xs.forEach(
|
|
1202
|
+
(x) => largestOrderStr = Math.max(largestOrderStr, x.order.length)
|
|
1203
|
+
);
|
|
1204
|
+
return largestOrderStr > xs.length / 2;
|
|
1205
|
+
};
|
|
1206
|
+
var rebalance = (xs) => {
|
|
1207
|
+
const rebalancedOrderList = createRebalancedOrderList(xs.length);
|
|
1208
|
+
return xs.map((x, i) => ({ ...x, order: rebalancedOrderList[i] ?? x.order }));
|
|
1209
|
+
};
|
|
1210
|
+
var sortByOrder = (xs) => xs.toSorted((a, b) => (a.order ?? "").localeCompare(b.order ?? ""));
|
|
1211
|
+
|
|
1092
1212
|
// src/client/haptics.ts
|
|
1093
1213
|
var haptics_exports = {};
|
|
1094
1214
|
__export(haptics_exports, {
|
|
@@ -1196,6 +1316,7 @@ exports.Dom = dom_exports;
|
|
|
1196
1316
|
exports.Flow = flow_exports;
|
|
1197
1317
|
exports.Haptics = haptics_exports;
|
|
1198
1318
|
exports.Int = int_exports;
|
|
1319
|
+
exports.LexoRank = lexorank_exports;
|
|
1199
1320
|
exports.List = list_exports;
|
|
1200
1321
|
exports.Log = log_exports;
|
|
1201
1322
|
exports.Money = money_exports;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * as Flow from "../shared/flow";
|
|
|
8
8
|
export * as Random from "../shared/random";
|
|
9
9
|
export * as Log from "../shared/log";
|
|
10
10
|
export * as Api from "../shared/api";
|
|
11
|
+
export * as LexoRank from "../shared/lexorank";
|
|
11
12
|
export * as Haptics from "./haptics";
|
|
12
13
|
export { Theme } from "./theme";
|
|
13
14
|
export * as Dom from "./dom";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAG/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -1082,6 +1082,126 @@ function remove(path, body, opts) {
|
|
|
1082
1082
|
);
|
|
1083
1083
|
}
|
|
1084
1084
|
|
|
1085
|
+
// src/shared/lexorank/index.ts
|
|
1086
|
+
var lexorank_exports = {};
|
|
1087
|
+
__export(lexorank_exports, {
|
|
1088
|
+
checkBalance: () => checkBalance,
|
|
1089
|
+
createOrderStr: () => createOrderStr,
|
|
1090
|
+
createRebalancedOrderList: () => createRebalancedOrderList,
|
|
1091
|
+
rebalance: () => rebalance,
|
|
1092
|
+
sortByOrder: () => sortByOrder
|
|
1093
|
+
});
|
|
1094
|
+
|
|
1095
|
+
// src/shared/lexorank/literals.ts
|
|
1096
|
+
var LOWER_BOUND = 96;
|
|
1097
|
+
var UPPER_BOUND = 123;
|
|
1098
|
+
var CHAR_A = 97;
|
|
1099
|
+
var CHAR_Z = 122;
|
|
1100
|
+
var ALPHABET_SIZE = 26;
|
|
1101
|
+
var DISTRIBUTION_TABLE = [
|
|
1102
|
+
0,
|
|
1103
|
+
4096,
|
|
1104
|
+
65792,
|
|
1105
|
+
528416,
|
|
1106
|
+
1081872,
|
|
1107
|
+
2167048,
|
|
1108
|
+
2376776,
|
|
1109
|
+
4756004,
|
|
1110
|
+
4794660,
|
|
1111
|
+
5411476,
|
|
1112
|
+
9775442,
|
|
1113
|
+
11097386,
|
|
1114
|
+
11184810,
|
|
1115
|
+
22369621
|
|
1116
|
+
];
|
|
1117
|
+
|
|
1118
|
+
// src/shared/lexorank/fns.ts
|
|
1119
|
+
var stripTrailingAs = (str) => {
|
|
1120
|
+
let last = str.length - 1;
|
|
1121
|
+
while (str.charAt(last) === "a") --last;
|
|
1122
|
+
return str.slice(0, last + 1);
|
|
1123
|
+
};
|
|
1124
|
+
var partialAlphabet = (num2) => {
|
|
1125
|
+
let bits = num2 < 13 ? DISTRIBUTION_TABLE[num2] ?? 0 : 33554431 - (DISTRIBUTION_TABLE[25 - num2] ?? 0);
|
|
1126
|
+
const chars = [];
|
|
1127
|
+
for (let i = 1; i < ALPHABET_SIZE; i++, bits >>= 1) {
|
|
1128
|
+
if (bits & 1) chars.push(String.fromCharCode(CHAR_A + i));
|
|
1129
|
+
}
|
|
1130
|
+
return chars;
|
|
1131
|
+
};
|
|
1132
|
+
|
|
1133
|
+
// src/shared/lexorank/domain.ts
|
|
1134
|
+
var createOrderStr = (prev = "", next = "") => {
|
|
1135
|
+
let p;
|
|
1136
|
+
let n;
|
|
1137
|
+
let pos;
|
|
1138
|
+
let str;
|
|
1139
|
+
for (pos = 0; p === n; pos++) {
|
|
1140
|
+
p = pos < prev.length ? prev.charCodeAt(pos) : LOWER_BOUND;
|
|
1141
|
+
n = pos < next.length ? next.charCodeAt(pos) : UPPER_BOUND;
|
|
1142
|
+
}
|
|
1143
|
+
str = prev.slice(0, pos - 1);
|
|
1144
|
+
if (p === LOWER_BOUND) {
|
|
1145
|
+
while (n === CHAR_A) {
|
|
1146
|
+
n = pos < next.length ? next.charCodeAt(pos++) : UPPER_BOUND;
|
|
1147
|
+
str += "a";
|
|
1148
|
+
}
|
|
1149
|
+
if (n === CHAR_A + 1) {
|
|
1150
|
+
str += "a";
|
|
1151
|
+
n = UPPER_BOUND;
|
|
1152
|
+
}
|
|
1153
|
+
} else if (p !== void 0 && n !== void 0 && p + 1 === n) {
|
|
1154
|
+
str += String.fromCharCode(p);
|
|
1155
|
+
n = UPPER_BOUND;
|
|
1156
|
+
while ((p = pos < prev.length ? prev.charCodeAt(pos++) : LOWER_BOUND) === CHAR_Z) {
|
|
1157
|
+
str += "z";
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
return str + String.fromCharCode(
|
|
1161
|
+
Math.ceil(((p ?? LOWER_BOUND) + (n ?? UPPER_BOUND)) / 2)
|
|
1162
|
+
);
|
|
1163
|
+
};
|
|
1164
|
+
var createRebalancedOrderList = (num2) => {
|
|
1165
|
+
const chars = Math.floor(Math.log(num2) / Math.log(ALPHABET_SIZE)) + 1;
|
|
1166
|
+
const prev = Math.pow(ALPHABET_SIZE, chars - 1);
|
|
1167
|
+
const ratio = chars > 1 ? (num2 + 1 - prev) / prev : num2;
|
|
1168
|
+
const part = Math.floor(ratio);
|
|
1169
|
+
const alpha = [partialAlphabet(part), partialAlphabet(part + 1)];
|
|
1170
|
+
const leapStep = ratio % 1;
|
|
1171
|
+
let leapTotal = 0.5;
|
|
1172
|
+
let first = true;
|
|
1173
|
+
const strings = [];
|
|
1174
|
+
const generate = (full, str) => {
|
|
1175
|
+
if (full) {
|
|
1176
|
+
for (let i = 0; i < ALPHABET_SIZE; i++) {
|
|
1177
|
+
generate(full - 1, str + String.fromCharCode(CHAR_A + i));
|
|
1178
|
+
}
|
|
1179
|
+
} else {
|
|
1180
|
+
if (!first) strings.push(stripTrailingAs(str));
|
|
1181
|
+
else first = false;
|
|
1182
|
+
const leap = Math.floor(leapTotal += leapStep);
|
|
1183
|
+
leapTotal %= 1;
|
|
1184
|
+
for (let i = 0; i < part + leap; i++) {
|
|
1185
|
+
strings.push(str + (alpha[leap]?.[i] ?? ""));
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
};
|
|
1189
|
+
generate(chars - 1, "");
|
|
1190
|
+
return strings;
|
|
1191
|
+
};
|
|
1192
|
+
var checkBalance = (xs) => {
|
|
1193
|
+
let largestOrderStr = 0;
|
|
1194
|
+
xs.forEach(
|
|
1195
|
+
(x) => largestOrderStr = Math.max(largestOrderStr, x.order.length)
|
|
1196
|
+
);
|
|
1197
|
+
return largestOrderStr > xs.length / 2;
|
|
1198
|
+
};
|
|
1199
|
+
var rebalance = (xs) => {
|
|
1200
|
+
const rebalancedOrderList = createRebalancedOrderList(xs.length);
|
|
1201
|
+
return xs.map((x, i) => ({ ...x, order: rebalancedOrderList[i] ?? x.order }));
|
|
1202
|
+
};
|
|
1203
|
+
var sortByOrder = (xs) => xs.toSorted((a, b) => (a.order ?? "").localeCompare(b.order ?? ""));
|
|
1204
|
+
|
|
1085
1205
|
// src/client/haptics.ts
|
|
1086
1206
|
var haptics_exports = {};
|
|
1087
1207
|
__export(haptics_exports, {
|
|
@@ -1183,4 +1303,4 @@ var copy = async (text) => {
|
|
|
1183
1303
|
}
|
|
1184
1304
|
};
|
|
1185
1305
|
|
|
1186
|
-
export { api_exports as Api, dict_exports as Dict, dom_exports as Dom, flow_exports as Flow, haptics_exports as Haptics, int_exports as Int, list_exports as List, log_exports as Log, money_exports as Money, random_exports as Random, str_exports as Str, Theme, time_exports as Time };
|
|
1306
|
+
export { api_exports as Api, dict_exports as Dict, dom_exports as Dom, flow_exports as Flow, haptics_exports as Haptics, int_exports as Int, lexorank_exports as LexoRank, list_exports as List, log_exports as Log, money_exports as Money, random_exports as Random, str_exports as Str, Theme, time_exports as Time };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as _t from "./types";
|
|
2
|
+
export declare const create: (props: _t.CreateProps) => _t.Client;
|
|
3
|
+
export declare const createFromRequestContext: (props: _t.RequestContextProps) => _t.Client;
|
|
4
|
+
/**
|
|
5
|
+
* Bind connection lookup and stale cleanup once, then reuse the returned
|
|
6
|
+
* publisher for one-to-one sends and fan-out.
|
|
7
|
+
*
|
|
8
|
+
* Create your API Gateway client and any storage clients once, then create a
|
|
9
|
+
* publisher once and pass that publisher to nested helpers. This keeps the call
|
|
10
|
+
* sites focused on targets and payloads instead of threading the same
|
|
11
|
+
* dependencies through every send.
|
|
12
|
+
*
|
|
13
|
+
* `onGone` is where app-specific cleanup belongs. For example, a DynamoDB-backed
|
|
14
|
+
* app can close over `ddb` there without making the publisher itself depend on
|
|
15
|
+
* DynamoDB types.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const ddb = DDB.create({ tableName: "app-main" });
|
|
19
|
+
* const apigw = ApiGw.create({ endpoint: process.env.WS_ENDPOINT! });
|
|
20
|
+
*
|
|
21
|
+
* const publisher = ApiGw.createPublisher<Connection, Event>(apigw, {
|
|
22
|
+
* getConnectionId: (connection) => connection.id,
|
|
23
|
+
* onGone: (connection) => removeConnection(ddb, connection.id),
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* await publisher.send(connection, {
|
|
27
|
+
* data: { type: "subscribed" },
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* await publisher.broadcast({
|
|
31
|
+
* targets: connections,
|
|
32
|
+
* data: { type: "refresh" },
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* type UploadSessionPublisher = ApiGw.Publisher<
|
|
37
|
+
* UploadSessionConnection,
|
|
38
|
+
* StreamEvent
|
|
39
|
+
* >;
|
|
40
|
+
*
|
|
41
|
+
* const publishSnapshot = async (
|
|
42
|
+
* publisher: UploadSessionPublisher,
|
|
43
|
+
* connection: UploadSessionConnection
|
|
44
|
+
* ) => {
|
|
45
|
+
* const event =
|
|
46
|
+
* connection.scope === "active"
|
|
47
|
+
* ? await createActiveSessionsEvent(ddb)
|
|
48
|
+
* : await createSessionEvent(ddb, connection.sessionId!);
|
|
49
|
+
*
|
|
50
|
+
* await publisher.send(connection, { data: event });
|
|
51
|
+
* };
|
|
52
|
+
*/
|
|
53
|
+
export declare const createPublisher: <T, TData = unknown>(apigw: _t.Client, props: _t.CreatePublisherProps<T>) => _t.Publisher<T, TData>;
|
|
54
|
+
export declare const send: (apigw: _t.Client, props: _t.SendProps) => Promise<boolean>;
|
|
55
|
+
export declare const deleteConnection: (apigw: _t.Client, props: _t.DeleteConnectionProps) => Promise<import("@aws-sdk/client-apigatewaymanagementapi").DeleteConnectionCommandOutput>;
|
|
56
|
+
export declare const broadcast: <T, TData = unknown>(apigw: _t.Client, props: _t.BroadcastProps<T, TData>) => Promise<_t.BroadcastResult<T>>;
|
|
57
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/apigw/domain.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,eAAO,MAAM,MAAM,GAAI,OAAO,EAAE,CAAC,WAAW,KAAG,EAAE,CAAC,MAKjD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,EAAE,CAAC,mBAAmB,cAErE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,KAAK,GAAG,OAAO,EAChD,OAAO,EAAE,CAAC,MAAM,EAChB,OAAO,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAChC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAoBvB,CAAC;AAEF,eAAO,MAAM,IAAI,GAAU,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,qBAiB/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,EAAE,CAAC,MAAM,EAChB,OAAO,EAAE,CAAC,qBAAqB,6FAOhC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,CAAC,EAAE,KAAK,GAAG,OAAO,EAChD,OAAO,EAAE,CAAC,MAAM,EAChB,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,mCAgEnC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as _t from "./types";
|
|
2
|
+
export declare const getManagementEndpoint: (props: _t.RequestContextProps) => string;
|
|
3
|
+
export declare const isGoneConnectionError: (error: unknown) => boolean;
|
|
4
|
+
export declare const encodeData: (data: unknown) => _t.EncodedPayload;
|
|
5
|
+
export declare const runWithConcurrency: <T>(items: readonly T[], concurrency: number, fn: (item: T) => Promise<void>) => Promise<void>;
|
|
6
|
+
//# sourceMappingURL=fns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/apigw/fns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,eAAO,MAAM,qBAAqB,GAAI,OAAO,EAAE,CAAC,mBAAmB,WAgBlE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,YAQnD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,OAAO,KAAG,EAAE,CAAC,cAmB7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,CAAC,EACxC,OAAO,SAAS,CAAC,EAAE,EACnB,aAAa,MAAM,EACnB,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,kBAc/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/apigw/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { ApiGatewayManagementApiClient, DeleteConnectionCommandOutput } from "@aws-sdk/client-apigatewaymanagementapi";
|
|
2
|
+
import type { APIGatewayProxyEvent } from "aws-lambda";
|
|
3
|
+
export type RawClient = Pick<ApiGatewayManagementApiClient, "send">;
|
|
4
|
+
export type Client = {
|
|
5
|
+
client: RawClient;
|
|
6
|
+
endpoint: string;
|
|
7
|
+
};
|
|
8
|
+
export type CreateProps = {
|
|
9
|
+
endpoint: string;
|
|
10
|
+
};
|
|
11
|
+
export type RequestContextProps = Pick<APIGatewayProxyEvent["requestContext"], "domainName" | "stage"> & {
|
|
12
|
+
protocol?: "http" | "https";
|
|
13
|
+
basePath?: string;
|
|
14
|
+
};
|
|
15
|
+
export type EncodedPayload = string | Uint8Array;
|
|
16
|
+
export type SendProps = {
|
|
17
|
+
onGone?: (connectionId: string) => Promise<void> | void;
|
|
18
|
+
connectionId: string;
|
|
19
|
+
data: unknown;
|
|
20
|
+
};
|
|
21
|
+
export type DeleteConnectionProps = {
|
|
22
|
+
connectionId: string;
|
|
23
|
+
};
|
|
24
|
+
export type DeleteConnectionResult = DeleteConnectionCommandOutput;
|
|
25
|
+
export type BroadcastStale<T> = {
|
|
26
|
+
connectionId: string;
|
|
27
|
+
target: T;
|
|
28
|
+
};
|
|
29
|
+
export type BroadcastFailure<T> = {
|
|
30
|
+
connectionId: string;
|
|
31
|
+
error: unknown;
|
|
32
|
+
target: T;
|
|
33
|
+
};
|
|
34
|
+
export type BroadcastResult<T> = {
|
|
35
|
+
failed: BroadcastFailure<T>[];
|
|
36
|
+
stale: BroadcastStale<T>[];
|
|
37
|
+
sent: number;
|
|
38
|
+
};
|
|
39
|
+
type Awaitable<T> = T | PromiseLike<T>;
|
|
40
|
+
type BroadcastSharedProps<T> = {
|
|
41
|
+
getConnectionId: (target: T) => string;
|
|
42
|
+
onGone?: (target: T) => Promise<void> | void;
|
|
43
|
+
targets: readonly T[];
|
|
44
|
+
concurrency?: number;
|
|
45
|
+
};
|
|
46
|
+
export type BroadcastConstantDataProps<T> = BroadcastSharedProps<T> & {
|
|
47
|
+
getCacheKey?: never;
|
|
48
|
+
getData?: never;
|
|
49
|
+
data: unknown;
|
|
50
|
+
};
|
|
51
|
+
export type BroadcastDynamicDataProps<T, TData = unknown> = BroadcastSharedProps<T> & {
|
|
52
|
+
getData: (target: T) => Awaitable<TData>;
|
|
53
|
+
getCacheKey?: (target: T) => string | number | null | undefined;
|
|
54
|
+
data?: never;
|
|
55
|
+
};
|
|
56
|
+
export type BroadcastProps<T, TData = unknown> = BroadcastConstantDataProps<T> | BroadcastDynamicDataProps<T, TData>;
|
|
57
|
+
/**
|
|
58
|
+
* Configuration for a bound websocket publisher.
|
|
59
|
+
*
|
|
60
|
+
* `qstd` intentionally asks only for connection lookup and stale-target cleanup.
|
|
61
|
+
* Any storage details, such as DynamoDB removal, live in the `onGone` closure so
|
|
62
|
+
* the publisher can stay generic across apps and persistence layers.
|
|
63
|
+
*/
|
|
64
|
+
export type CreatePublisherProps<T> = {
|
|
65
|
+
/** Extract the API Gateway connection ID from your app's target shape. */
|
|
66
|
+
getConnectionId: (target: T) => string;
|
|
67
|
+
/** Optional stale-target cleanup hook, eg remove a dead connection from DDB. */
|
|
68
|
+
onGone?: (target: T) => Promise<void> | void;
|
|
69
|
+
};
|
|
70
|
+
export type PublisherSendProps<TData = unknown> = {
|
|
71
|
+
data: TData;
|
|
72
|
+
};
|
|
73
|
+
type PublisherBroadcastSharedProps<T> = {
|
|
74
|
+
targets: readonly T[];
|
|
75
|
+
concurrency?: number;
|
|
76
|
+
};
|
|
77
|
+
export type PublisherBroadcastConstantDataProps<T, TData = unknown> = PublisherBroadcastSharedProps<T> & {
|
|
78
|
+
getCacheKey?: never;
|
|
79
|
+
getData?: never;
|
|
80
|
+
data: TData;
|
|
81
|
+
};
|
|
82
|
+
export type PublisherBroadcastDynamicDataProps<T, TData = unknown> = PublisherBroadcastSharedProps<T> & {
|
|
83
|
+
getData: (target: T) => Awaitable<TData>;
|
|
84
|
+
getCacheKey?: (target: T) => string | number | null | undefined;
|
|
85
|
+
data?: never;
|
|
86
|
+
};
|
|
87
|
+
export type PublisherBroadcastProps<T, TData = unknown> = PublisherBroadcastConstantDataProps<T, TData> | PublisherBroadcastDynamicDataProps<T, TData>;
|
|
88
|
+
/**
|
|
89
|
+
* Bound websocket publisher created once per invocation and passed to helpers.
|
|
90
|
+
*
|
|
91
|
+
* The type only needs to describe the target shape and payload shape. Any DDB,
|
|
92
|
+
* SQL, or cache clients used for stale cleanup stay hidden inside the closure
|
|
93
|
+
* captured by `createPublisher()`.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* type Connection = { id: string; roomId: string };
|
|
97
|
+
* type Event = { type: "message"; roomId: string; text: string };
|
|
98
|
+
*
|
|
99
|
+
* const publisher = ApiGw.createPublisher<Connection, Event>(apigw, {
|
|
100
|
+
* getConnectionId: (connection) => connection.id,
|
|
101
|
+
* onGone: (connection) => removeConnection(ddb, connection.id),
|
|
102
|
+
* });
|
|
103
|
+
*
|
|
104
|
+
* await publisher.send(connection, {
|
|
105
|
+
* data: { type: "message", roomId: "abc", text: "hello" },
|
|
106
|
+
* });
|
|
107
|
+
*/
|
|
108
|
+
export type Publisher<T, TData = unknown> = {
|
|
109
|
+
send: (target: T, props: PublisherSendProps<TData>) => Promise<boolean>;
|
|
110
|
+
broadcast: (props: PublisherBroadcastProps<T, TData>) => Promise<BroadcastResult<T>>;
|
|
111
|
+
};
|
|
112
|
+
export {};
|
|
113
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/apigw/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,oBAAoB,CAAC,gBAAgB,CAAC,EACtC,YAAY,GAAG,OAAO,CACvB,GAAG;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAEnE,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEvC,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,eAAe,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IACpE,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,CAAC,EACD,KAAK,GAAG,OAAO,IACb,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC5B,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,IACzC,0BAA0B,CAAC,CAAC,CAAC,GAC7B,yBAAyB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,0EAA0E;IAC1E,eAAe,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IACvC,gFAAgF;IAChF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,KAAK,GAAG,OAAO,IAAI;IAChD,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,KAAK,6BAA6B,CAAC,CAAC,IAAI;IACtC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mCAAmC,CAC7C,CAAC,EACD,KAAK,GAAG,OAAO,IACb,6BAA6B,CAAC,CAAC,CAAC,GAAG;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,kCAAkC,CAC5C,CAAC,EACD,KAAK,GAAG,OAAO,IACb,6BAA6B,CAAC,CAAC,CAAC,GAAG;IACrC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,IAClD,mCAAmC,CAAC,CAAC,EAAE,KAAK,CAAC,GAC7C,kCAAkC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,IAAI;IAC1C,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,OAAO,CAC9D,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;CACH,CAAC"}
|
|
@@ -6,13 +6,13 @@ import * as _t from "./types";
|
|
|
6
6
|
* @param fn
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
export declare const createRestHandler:
|
|
9
|
+
export declare const createRestHandler: _t.RestHandlerFactory;
|
|
10
10
|
/**
|
|
11
11
|
* Same as rest handler but just receives a websocket event.
|
|
12
12
|
* @param fn
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
|
-
export declare const createWebsocketHandler:
|
|
15
|
+
export declare const createWebsocketHandler: _t.WebsocketHandlerFactory;
|
|
16
16
|
/**
|
|
17
17
|
* Creates a batch failures tracker for SQS handlers.
|
|
18
18
|
* Provides a simple `add(id)` method instead of pushing objects.
|
|
@@ -62,5 +62,5 @@ export declare const withBatchFailures: () => {
|
|
|
62
62
|
* });
|
|
63
63
|
* ```
|
|
64
64
|
*/
|
|
65
|
-
export declare const createSqsHandler:
|
|
65
|
+
export declare const createSqsHandler: _t.SqsHandlerFactory;
|
|
66
66
|
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,kBACO,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,uBACM,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB;IAG1B,0GAA0G;0BACpF,MAAM;IAG5B,0CAA0C;;CAG7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,iBAc/B,CAAC"}
|
|
@@ -30,5 +30,5 @@ responseBody?: T, opts?: _t.ResponseOptions) => _t.Response;
|
|
|
30
30
|
* handle things like HTTP errors and Arktype validation errors,
|
|
31
31
|
* @returns
|
|
32
32
|
*/
|
|
33
|
-
export declare const createHandlerFactory: <T extends _t.ApigwEvent | _t.WebsocketEvent>() =>
|
|
33
|
+
export declare const createHandlerFactory: <T extends _t.ApigwEvent | _t.WebsocketEvent>() => _t.HandlerFactory<T>;
|
|
34
34
|
//# sourceMappingURL=fns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/fns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,EAAE,UAAU,EAAE,CAAC,eAAe,KAAG,MAK3E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAM,EAAE,CAAC,eAAoB;;;;;;CAU7D,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,GAAG,OAAO;AAClC,qCAAqC;AACrC,eAAe,CAAC,EAChB,OAAO,EAAE,CAAC,eAAe,KACxB,EAAE,CAAC,QAWL,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC9B,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/fns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,EAAE,UAAU,EAAE,CAAC,eAAe,KAAG,MAK3E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAM,EAAE,CAAC,eAAoB;;;;;;CAU7D,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,GAAG,OAAO;AAClC,qCAAqC;AACrC,eAAe,CAAC,EAChB,OAAO,EAAE,CAAC,eAAe,KACxB,EAAE,CAAC,QAWL,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC9B,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,OAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAwBnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -26,10 +26,21 @@ export type Response = {
|
|
|
26
26
|
export type WebsocketEvent = APIGatewayProxyEvent;
|
|
27
27
|
export type ApigwEvent = APIGatewayProxyEventV2;
|
|
28
28
|
export type ApigwResult = APIGatewayProxyResultV2;
|
|
29
|
+
export type HandlerResult = Response | ApigwResult;
|
|
30
|
+
export type HandlerFn<T extends ApigwEvent | WebsocketEvent> = (event: T) => Promise<ApigwResult> | ApigwResult;
|
|
31
|
+
export type Handler<T extends ApigwEvent | WebsocketEvent> = (event: T) => Promise<HandlerResult>;
|
|
32
|
+
export type HandlerFactory<T extends ApigwEvent | WebsocketEvent> = (fn: HandlerFn<T>) => Handler<T>;
|
|
33
|
+
export type RestHandlerFn = HandlerFn<ApigwEvent>;
|
|
34
|
+
export type RestHandler = Handler<ApigwEvent>;
|
|
35
|
+
export type RestHandlerFactory = HandlerFactory<ApigwEvent>;
|
|
36
|
+
export type WebsocketHandlerFn = HandlerFn<WebsocketEvent>;
|
|
37
|
+
export type WebsocketHandler = Handler<WebsocketEvent>;
|
|
38
|
+
export type WebsocketHandlerFactory = HandlerFactory<WebsocketEvent>;
|
|
29
39
|
export type SqsEvent = SQSEvent;
|
|
30
40
|
export type SqsContext = Context;
|
|
31
41
|
export type SQSHandler = AwsSqsHandler;
|
|
32
42
|
export type SqsCallback = Callback<SQSBatchResponse | void>;
|
|
43
|
+
export type SqsHandlerFactory = (fn: SqsHandlerFn) => SqsHandlerFn;
|
|
33
44
|
export type ResponseOptions = {
|
|
34
45
|
/**
|
|
35
46
|
* `200` - **Ok**: request succeeded and there is a response payload.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,IAAI,aAAa,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEhD,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;IACtD,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,6BAA6B,EAAE,MAAM,CAAC;QACtC,8BAA8B,EAAE,MAAM,CAAC;QACvC,8BAA8B,EAAE,MAAM,CAAC;QACvC,kCAAkC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtD,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/lambda/types.ts"],"names":[],"mappings":"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"}
|