qstd 0.3.19 → 0.3.21
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/server/aws/lambda/domain.d.ts +1 -1
- package/dist/server/aws/lambda/domain.d.ts.map +1 -1
- package/dist/server/aws/lambda/types.d.ts +3 -1
- package/dist/server/aws/lambda/types.d.ts.map +1 -1
- package/dist/server/aws/s3/domain.d.ts +24 -0
- package/dist/server/aws/s3/domain.d.ts.map +1 -1
- package/dist/server/aws/s3/fns.d.ts.map +1 -1
- package/dist/server/aws/s3/index.d.ts +0 -1
- package/dist/server/aws/s3/index.d.ts.map +1 -1
- package/dist/server/aws/s3/types.d.ts +9 -0
- package/dist/server/aws/s3/types.d.ts.map +1 -1
- package/dist/server/aws/sqs/domain.d.ts +16 -0
- package/dist/server/aws/sqs/domain.d.ts.map +1 -0
- package/dist/server/aws/sqs/fns.d.ts +6 -0
- package/dist/server/aws/sqs/fns.d.ts.map +1 -0
- package/dist/server/aws/sqs/index.d.ts +3 -0
- package/dist/server/aws/sqs/index.d.ts.map +1 -0
- package/dist/server/aws/sqs/types.d.ts +5 -0
- package/dist/server/aws/sqs/types.d.ts.map +1 -0
- package/dist/server/index.cjs +53 -4
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +53 -5
- package/package.json +2 -1
|
@@ -33,7 +33,7 @@ export declare const createWebsocketHandler: (fn: (event: import("aws-lambda").A
|
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
35
|
export declare const withBatchFailures: () => {
|
|
36
|
-
/** Add a failed message by its ID */
|
|
36
|
+
/** Add a failed message by its ID. Stores as `{ itemIdentifier }` for the SQS batch failures response. */
|
|
37
37
|
add: (itemIdentifier: string) => void;
|
|
38
38
|
/** The failures array for the response */
|
|
39
39
|
items: import("aws-lambda").SQSBatchItemFailure[];
|
|
@@ -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,6GA0EkC,kDAAO,0CA1EE,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,2GAmE6B,gDAAO,0CAlEzB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB;IAG1B,0GAA0G;0BACpF,MAAM;IAG5B,0CAA0C;;CAG7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,gBAAgB,GAC1B,IAAI,EAAE,CAAC,YAAY,KAAG,EAAE,CAAC,YAazB,CAAC"}
|
|
@@ -7,7 +7,9 @@ export type SqsBatchItemFailure = SQSBatchItemFailure;
|
|
|
7
7
|
* Type-safe SQS handler that enforces returning { batchItemFailures }.
|
|
8
8
|
* Use with Lambda.createSqsHandler for compile + runtime safety.
|
|
9
9
|
*/
|
|
10
|
-
export type SqsHandlerFn = (event: SQSEvent) => Promise<
|
|
10
|
+
export type SqsHandlerFn = (event: SQSEvent) => Promise<{
|
|
11
|
+
batchItemFailures: SQSBatchItemFailure[];
|
|
12
|
+
}>;
|
|
11
13
|
export type Response = {
|
|
12
14
|
statusCode: number;
|
|
13
15
|
headers: {
|
|
@@ -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,
|
|
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;AAElD,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAChC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AACjC,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzE,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE/B,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;SAGK;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC"}
|
|
@@ -45,4 +45,28 @@ export declare function bucketHandle(s3: _t.Client, props: {
|
|
|
45
45
|
* @returns
|
|
46
46
|
*/
|
|
47
47
|
export declare const migrateBucketContents: (s3: _t.Client, buckets: _t.BucketTransferOpts) => Promise<DeleteObjectCommandOutput[] | undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* Parse and decode S3 records from an SQS message body.
|
|
50
|
+
*
|
|
51
|
+
* S3 event notifications delivered via SQS contain URL-encoded object keys.
|
|
52
|
+
* This function parses the JSON and decodes keys in one step, so consumers
|
|
53
|
+
* don't need to handle the encoding quirks.
|
|
54
|
+
*
|
|
55
|
+
* @returns Decoded records array, or null if parsing fails or no records exist
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* const records = S3.recordsFromSqs(sqsRecord.body);
|
|
60
|
+
* if (!records) {
|
|
61
|
+
* logger.warn("Invalid S3 event");
|
|
62
|
+
* continue;
|
|
63
|
+
* }
|
|
64
|
+
*
|
|
65
|
+
* for (const { bucket, key } of records) {
|
|
66
|
+
* // key is already decoded
|
|
67
|
+
* await processFile(bucket, key);
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare const recordsFromSqs: (body: string) => _t.SqsRecord[] | null;
|
|
48
72
|
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,eAAO,MAAM,MAAM,GAAI,QAAO,EAAE,CAAC,WAAgB,KAAG,EAAE,CAAC,MAKtD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE,EAAE,CAAC,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAAC;AACnB,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE,EAAE,CAAC,kBAAkB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC;AA4C1B;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,WAAW,iEAU9D,CAAC;AAMF,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,eAAO,MAAM,OAAO,GAClB,IAAI,EAAE,CAAC,MAAM,EACb,OAAO,SAAS,KACf,OAAO,CAAC,sBAAsB,CAWhC,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,IAAI,EAAE,CAAC,MAAM,EACb,OAAO,SAAS,KACf,OAAO,CAAC,yBAAyB,CAWnC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,IAAI,EAAE,CAAC,MAAM,EACb,OAAO,SAAS,KACf,OAAO,CAAC,uBAAuB,CAWjC,CAAC;AAMF,0BAA0B;AAC1B,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACtC,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACtC,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAAC;AAmCpB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,IAAI,EAAE,CAAC,MAAM,EACb,SAAS,EAAE,CAAC,kBAAkB,qDAkB/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,eAAO,MAAM,MAAM,GAAI,QAAO,EAAE,CAAC,WAAgB,KAAG,EAAE,CAAC,MAKtD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE,EAAE,CAAC,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAAC;AACnB,wBAAgB,eAAe,CAC7B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE,EAAE,CAAC,kBAAkB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC;AA4C1B;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,WAAW,iEAU9D,CAAC;AAMF,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,eAAO,MAAM,OAAO,GAClB,IAAI,EAAE,CAAC,MAAM,EACb,OAAO,SAAS,KACf,OAAO,CAAC,sBAAsB,CAWhC,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,IAAI,EAAE,CAAC,MAAM,EACb,OAAO,SAAS,KACf,OAAO,CAAC,yBAAyB,CAWnC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,IAAI,EAAE,CAAC,MAAM,EACb,OAAO,SAAS,KACf,OAAO,CAAC,uBAAuB,CAWjC,CAAC;AAMF,0BAA0B;AAC1B,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACtC,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACtC,wBAAgB,YAAY,CAC1B,EAAE,EAAE,EAAE,CAAC,MAAM,EACb,KAAK,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAAC;AAmCpB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,IAAI,EAAE,CAAC,MAAM,EACb,SAAS,EAAE,CAAC,kBAAkB,qDAkB/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,EAAE,CAAC,SAAS,EAAE,GAAG,IAgB9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/fns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/fns.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,GAAG,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KACpC,MAOF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -3,6 +3,15 @@ import type { CompletedPart, PutObjectCommandInput, UploadPartRequest } from "@a
|
|
|
3
3
|
import type { PresignedPostOptions } from "@aws-sdk/s3-presigned-post";
|
|
4
4
|
import type { S3Event } from "aws-lambda";
|
|
5
5
|
export type NotificationEvent = S3Event;
|
|
6
|
+
/** Decoded S3 record from an SQS-delivered notification */
|
|
7
|
+
export type SqsRecord = {
|
|
8
|
+
bucket: string;
|
|
9
|
+
/** Decoded S3 object key (URL-decoded, spaces restored) */
|
|
10
|
+
key: string;
|
|
11
|
+
size?: number;
|
|
12
|
+
eventName: string;
|
|
13
|
+
eventTime: string;
|
|
14
|
+
};
|
|
6
15
|
export type Client = {
|
|
7
16
|
client: S3Client;
|
|
8
17
|
bucketName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/s3/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SQSClient } from "@aws-sdk/client-sqs";
|
|
2
|
+
export declare const create: (props?: {
|
|
3
|
+
queueUrl: string;
|
|
4
|
+
}) => {
|
|
5
|
+
client: SQSClient;
|
|
6
|
+
queueUrl: string | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const send: (sqs: {
|
|
9
|
+
client: SQSClient;
|
|
10
|
+
queueUrl?: string;
|
|
11
|
+
}, props: {
|
|
12
|
+
messageGroupId?: string;
|
|
13
|
+
body: unknown;
|
|
14
|
+
queueUrl?: string;
|
|
15
|
+
}) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
|
|
16
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/sqs/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIpE,eAAO,MAAM,MAAM,GAAI,QAAQ;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE;;;CAIlD,CAAC;AAEF,eAAO,MAAM,IAAI,GACf,KAAK;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,OAAO;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,oEAQnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fns.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/sqs/fns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,GAAG,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KACpC,MAOF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/sqs/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/aws/sqs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AACtC,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC"}
|
package/dist/server/index.cjs
CHANGED
|
@@ -6,6 +6,7 @@ var arktype = require('arktype');
|
|
|
6
6
|
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
7
7
|
var clientDynamodb = require('@aws-sdk/client-dynamodb');
|
|
8
8
|
var clientSns = require('@aws-sdk/client-sns');
|
|
9
|
+
var clientSqs = require('@aws-sdk/client-sqs');
|
|
9
10
|
var clientS3 = require('@aws-sdk/client-s3');
|
|
10
11
|
var s3RequestPresigner = require('@aws-sdk/s3-request-presigner');
|
|
11
12
|
var s3PresignedPost = require('@aws-sdk/s3-presigned-post');
|
|
@@ -732,7 +733,7 @@ var createWebsocketHandler = createHandlerFactory();
|
|
|
732
733
|
var withBatchFailures = () => {
|
|
733
734
|
const items = [];
|
|
734
735
|
return {
|
|
735
|
-
/** Add a failed message by its ID */
|
|
736
|
+
/** Add a failed message by its ID. Stores as `{ itemIdentifier }` for the SQS batch failures response. */
|
|
736
737
|
add: (itemIdentifier) => {
|
|
737
738
|
items.push({ itemIdentifier });
|
|
738
739
|
},
|
|
@@ -1395,17 +1396,48 @@ var publishError = (sns, props) => {
|
|
|
1395
1396
|
);
|
|
1396
1397
|
};
|
|
1397
1398
|
|
|
1399
|
+
// src/server/aws/sqs/index.ts
|
|
1400
|
+
var sqs_exports = {};
|
|
1401
|
+
__export(sqs_exports, {
|
|
1402
|
+
create: () => create4,
|
|
1403
|
+
send: () => send
|
|
1404
|
+
});
|
|
1405
|
+
|
|
1406
|
+
// src/server/aws/sqs/fns.ts
|
|
1407
|
+
var getQueueUrlOrThrow = (...candidates) => {
|
|
1408
|
+
for (const url of candidates) {
|
|
1409
|
+
if (url) return url;
|
|
1410
|
+
}
|
|
1411
|
+
throw new Error(
|
|
1412
|
+
`[sqs] "queueUrl" is required - provide it in props or when creating the client`
|
|
1413
|
+
);
|
|
1414
|
+
};
|
|
1415
|
+
|
|
1416
|
+
// src/server/aws/sqs/domain.ts
|
|
1417
|
+
var create4 = (props) => {
|
|
1418
|
+
const client = new clientSqs.SQSClient({});
|
|
1419
|
+
const queueUrl = props?.queueUrl;
|
|
1420
|
+
return { client, queueUrl };
|
|
1421
|
+
};
|
|
1422
|
+
var send = (sqs, props) => sqs.client.send(
|
|
1423
|
+
new clientSqs.SendMessageCommand({
|
|
1424
|
+
MessageBody: JSON.stringify(props.body),
|
|
1425
|
+
MessageGroupId: props.messageGroupId,
|
|
1426
|
+
QueueUrl: getQueueUrlOrThrow(props.queueUrl, sqs.queueUrl)
|
|
1427
|
+
})
|
|
1428
|
+
);
|
|
1429
|
+
|
|
1398
1430
|
// src/server/aws/s3/index.ts
|
|
1399
1431
|
var s3_exports = {};
|
|
1400
1432
|
__export(s3_exports, {
|
|
1401
1433
|
bucketHandle: () => bucketHandle,
|
|
1402
|
-
create: () =>
|
|
1434
|
+
create: () => create5,
|
|
1403
1435
|
createSignedUrl: () => createSignedUrl,
|
|
1404
1436
|
deleteFile: () => deleteFile,
|
|
1405
|
-
getBucketNameOrThrow: () => getBucketNameOrThrow,
|
|
1406
1437
|
getFile: () => getFile,
|
|
1407
1438
|
getFileMetadata: () => getFileMetadata,
|
|
1408
1439
|
migrateBucketContents: () => migrateBucketContents,
|
|
1440
|
+
recordsFromSqs: () => recordsFromSqs,
|
|
1409
1441
|
uploadFile: () => uploadFile
|
|
1410
1442
|
});
|
|
1411
1443
|
|
|
@@ -1420,7 +1452,7 @@ var getBucketNameOrThrow = (...candidates) => {
|
|
|
1420
1452
|
};
|
|
1421
1453
|
|
|
1422
1454
|
// src/server/aws/s3/domain.ts
|
|
1423
|
-
var
|
|
1455
|
+
var create5 = (props = {}) => {
|
|
1424
1456
|
const { cdn } = props;
|
|
1425
1457
|
const client = new clientS3.S3Client({});
|
|
1426
1458
|
const bucketName = getBucketNameOrThrow(props.bucketName);
|
|
@@ -1551,6 +1583,22 @@ var migrateBucketContents = async (s3, buckets) => {
|
|
|
1551
1583
|
});
|
|
1552
1584
|
return Promise.all(s3Promises);
|
|
1553
1585
|
};
|
|
1586
|
+
var recordsFromSqs = (body) => {
|
|
1587
|
+
try {
|
|
1588
|
+
const event = JSON.parse(body);
|
|
1589
|
+
if (!event?.Records?.length) return null;
|
|
1590
|
+
return event.Records.map((r) => ({
|
|
1591
|
+
bucket: r.s3.bucket.name,
|
|
1592
|
+
// S3 URL-encodes keys and replaces spaces with '+'
|
|
1593
|
+
key: decodeURIComponent(r.s3.object.key.replace(/\+/g, " ")),
|
|
1594
|
+
size: r.s3.object.size,
|
|
1595
|
+
eventName: r.eventName,
|
|
1596
|
+
eventTime: r.eventTime
|
|
1597
|
+
}));
|
|
1598
|
+
} catch {
|
|
1599
|
+
return null;
|
|
1600
|
+
}
|
|
1601
|
+
};
|
|
1554
1602
|
|
|
1555
1603
|
exports.DDB = ddb_exports;
|
|
1556
1604
|
exports.Dict = dict_exports;
|
|
@@ -1564,5 +1612,6 @@ exports.Money = money_exports;
|
|
|
1564
1612
|
exports.Random = random_exports;
|
|
1565
1613
|
exports.S3 = s3_exports;
|
|
1566
1614
|
exports.SNS = sns_exports;
|
|
1615
|
+
exports.SQS = sqs_exports;
|
|
1567
1616
|
exports.Str = str_exports;
|
|
1568
1617
|
exports.Time = time_exports;
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/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;AAGrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/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;AAGrC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { ArkErrors } from 'arktype';
|
|
|
4
4
|
import { DynamoDBDocumentClient, ScanCommand, QueryCommand, DeleteCommand, PutCommand, BatchGetCommand, TransactWriteCommand, BatchWriteCommand } from '@aws-sdk/lib-dynamodb';
|
|
5
5
|
import { DynamoDBClient, DeleteTableCommand, DescribeTableCommand, DynamoDBServiceException } from '@aws-sdk/client-dynamodb';
|
|
6
6
|
import { SNSClient, PublishCommand } from '@aws-sdk/client-sns';
|
|
7
|
+
import { SQSClient, SendMessageCommand } from '@aws-sdk/client-sqs';
|
|
7
8
|
import { S3Client, GetObjectCommand, PutObjectCommand, DeleteObjectCommand, HeadObjectCommand, CreateBucketCommand, DeleteBucketCommand, HeadBucketCommand, ListObjectsV2Command, CopyObjectCommand } from '@aws-sdk/client-s3';
|
|
8
9
|
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
|
|
9
10
|
import { createPresignedPost } from '@aws-sdk/s3-presigned-post';
|
|
@@ -730,7 +731,7 @@ var createWebsocketHandler = createHandlerFactory();
|
|
|
730
731
|
var withBatchFailures = () => {
|
|
731
732
|
const items = [];
|
|
732
733
|
return {
|
|
733
|
-
/** Add a failed message by its ID */
|
|
734
|
+
/** Add a failed message by its ID. Stores as `{ itemIdentifier }` for the SQS batch failures response. */
|
|
734
735
|
add: (itemIdentifier) => {
|
|
735
736
|
items.push({ itemIdentifier });
|
|
736
737
|
},
|
|
@@ -1393,17 +1394,48 @@ var publishError = (sns, props) => {
|
|
|
1393
1394
|
);
|
|
1394
1395
|
};
|
|
1395
1396
|
|
|
1397
|
+
// src/server/aws/sqs/index.ts
|
|
1398
|
+
var sqs_exports = {};
|
|
1399
|
+
__export(sqs_exports, {
|
|
1400
|
+
create: () => create4,
|
|
1401
|
+
send: () => send
|
|
1402
|
+
});
|
|
1403
|
+
|
|
1404
|
+
// src/server/aws/sqs/fns.ts
|
|
1405
|
+
var getQueueUrlOrThrow = (...candidates) => {
|
|
1406
|
+
for (const url of candidates) {
|
|
1407
|
+
if (url) return url;
|
|
1408
|
+
}
|
|
1409
|
+
throw new Error(
|
|
1410
|
+
`[sqs] "queueUrl" is required - provide it in props or when creating the client`
|
|
1411
|
+
);
|
|
1412
|
+
};
|
|
1413
|
+
|
|
1414
|
+
// src/server/aws/sqs/domain.ts
|
|
1415
|
+
var create4 = (props) => {
|
|
1416
|
+
const client = new SQSClient({});
|
|
1417
|
+
const queueUrl = props?.queueUrl;
|
|
1418
|
+
return { client, queueUrl };
|
|
1419
|
+
};
|
|
1420
|
+
var send = (sqs, props) => sqs.client.send(
|
|
1421
|
+
new SendMessageCommand({
|
|
1422
|
+
MessageBody: JSON.stringify(props.body),
|
|
1423
|
+
MessageGroupId: props.messageGroupId,
|
|
1424
|
+
QueueUrl: getQueueUrlOrThrow(props.queueUrl, sqs.queueUrl)
|
|
1425
|
+
})
|
|
1426
|
+
);
|
|
1427
|
+
|
|
1396
1428
|
// src/server/aws/s3/index.ts
|
|
1397
1429
|
var s3_exports = {};
|
|
1398
1430
|
__export(s3_exports, {
|
|
1399
1431
|
bucketHandle: () => bucketHandle,
|
|
1400
|
-
create: () =>
|
|
1432
|
+
create: () => create5,
|
|
1401
1433
|
createSignedUrl: () => createSignedUrl,
|
|
1402
1434
|
deleteFile: () => deleteFile,
|
|
1403
|
-
getBucketNameOrThrow: () => getBucketNameOrThrow,
|
|
1404
1435
|
getFile: () => getFile,
|
|
1405
1436
|
getFileMetadata: () => getFileMetadata,
|
|
1406
1437
|
migrateBucketContents: () => migrateBucketContents,
|
|
1438
|
+
recordsFromSqs: () => recordsFromSqs,
|
|
1407
1439
|
uploadFile: () => uploadFile
|
|
1408
1440
|
});
|
|
1409
1441
|
|
|
@@ -1418,7 +1450,7 @@ var getBucketNameOrThrow = (...candidates) => {
|
|
|
1418
1450
|
};
|
|
1419
1451
|
|
|
1420
1452
|
// src/server/aws/s3/domain.ts
|
|
1421
|
-
var
|
|
1453
|
+
var create5 = (props = {}) => {
|
|
1422
1454
|
const { cdn } = props;
|
|
1423
1455
|
const client = new S3Client({});
|
|
1424
1456
|
const bucketName = getBucketNameOrThrow(props.bucketName);
|
|
@@ -1549,5 +1581,21 @@ var migrateBucketContents = async (s3, buckets) => {
|
|
|
1549
1581
|
});
|
|
1550
1582
|
return Promise.all(s3Promises);
|
|
1551
1583
|
};
|
|
1584
|
+
var recordsFromSqs = (body) => {
|
|
1585
|
+
try {
|
|
1586
|
+
const event = JSON.parse(body);
|
|
1587
|
+
if (!event?.Records?.length) return null;
|
|
1588
|
+
return event.Records.map((r) => ({
|
|
1589
|
+
bucket: r.s3.bucket.name,
|
|
1590
|
+
// S3 URL-encodes keys and replaces spaces with '+'
|
|
1591
|
+
key: decodeURIComponent(r.s3.object.key.replace(/\+/g, " ")),
|
|
1592
|
+
size: r.s3.object.size,
|
|
1593
|
+
eventName: r.eventName,
|
|
1594
|
+
eventTime: r.eventTime
|
|
1595
|
+
}));
|
|
1596
|
+
} catch {
|
|
1597
|
+
return null;
|
|
1598
|
+
}
|
|
1599
|
+
};
|
|
1552
1600
|
|
|
1553
|
-
export { ddb_exports as DDB, dict_exports as Dict, file_exports as File, flow_exports as Flow, int_exports as Int, lambda_exports as Lambda, list_exports as List, log_exports as Log, money_exports as Money, random_exports as Random, s3_exports as S3, sns_exports as SNS, str_exports as Str, time_exports as Time };
|
|
1601
|
+
export { ddb_exports as DDB, dict_exports as Dict, file_exports as File, flow_exports as Flow, int_exports as Int, lambda_exports as Lambda, list_exports as List, log_exports as Log, money_exports as Money, random_exports as Random, s3_exports as S3, sns_exports as SNS, sqs_exports as SQS, str_exports as Str, time_exports as Time };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qstd",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.21",
|
|
4
4
|
"description": "Standard Block component and utilities library with Panda CSS",
|
|
5
5
|
"author": "malin1",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"@aws-sdk/client-dynamodb": "latest",
|
|
51
51
|
"@aws-sdk/client-s3": "latest",
|
|
52
52
|
"@aws-sdk/client-sns": "latest",
|
|
53
|
+
"@aws-sdk/client-sqs": "latest",
|
|
53
54
|
"@aws-sdk/lib-dynamodb": "latest",
|
|
54
55
|
"@aws-sdk/s3-presigned-post": "latest",
|
|
55
56
|
"@aws-sdk/s3-request-presigner": "latest",
|