Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@datastream/aws

Package Overview
Dependencies
Maintainers
2
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@datastream/aws - npm Package Compare versions

Comparing version
0.0.4
to
0.0.5
+8
-3
dynamodb.node.cjs

@@ -36,3 +36,2 @@ var __create = Object.create;

var import_client_dynamodb = require("@aws-sdk/client-dynamodb");
var import_util_dynamodb = require("@aws-sdk/util-dynamodb");
var import_node_https = require("node:https");

@@ -63,3 +62,5 @@ var import_node_http_handler = require("@aws-sdk/node-http-handler");

};
let dynamodb = import_aws_xray_sdk_core.default.captureAWSv3Client(new import_client_dynamodb.DynamoDBClient(awsClientDefaults));
let dynamodb = import_aws_xray_sdk_core.default.captureAWSv3Client(
new import_client_dynamodb.DynamoDBClient(awsClientDefaults)
);
let dynamodbDocument = DynamoDBDocumentClient.from(dynamodb);

@@ -185,3 +186,7 @@ const awsDynamoDBSetClient = (client) => {

await (0, import_core.timeout)(3 ** options.retryCount++);
return dynamodbBatchWriteItem(options, UnprocessedItems[table], options);
return dynamodbBatchWrite(
options,
UnprocessedItems[options.TableName],
options
);
}

@@ -188,0 +193,0 @@ options.retryCount = 0;

{
"version": 3,
"sources": ["dynamodb.js"],
"sourcesContent": ["import {\n createWritableStream,\n createTransformStream,\n timeout\n} from '@datastream/core'\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'\nimport { marshall, unmarshall } from '@aws-sdk/util-dynamodb'\nconst {\n BatchGetCommand,\n BatchWriteCommand,\n QueryCommand,\n ScanCommand,\n DynamoDBDocumentClient\n} = require('@aws-sdk/lib-dynamodb')\n\nimport { Agent } from 'node:https'\nimport { NodeHttpHandler } from '@aws-sdk/node-http-handler'\nimport AWSXRay from 'aws-xray-sdk-core'\n\nconst awsClientDefaults = {\n requestHandler: new NodeHttpHandler({\n httpsAgent: new Agent({\n keepAlive: true,\n secureProtocol: 'TLSv1_2_method'\n })\n }),\n useFipsEndpoint: [\n 'us-east-1',\n 'us-east-2',\n 'us-west-1',\n 'us-west-2',\n 'ca-central-1'\n ].includes(process.env.AWS_REGION)\n}\n\nlet dynamodb = AWSXRay.captureAWSv3Client(new DynamoDBClient(awsClientDefaults))\nlet dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\nexport const awsDynamoDBSetClient = (client) => {\n dynamodb = client\n dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\n}\n\n// Docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html\n\n// options = {TableName, ...}\n\nexport const awsDynamoDBQueryStream = (options, streamOptions) => {\n async function* command(options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new QueryCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBScanStream = async (options, streamOptions) => {\n async function* command(options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new ScanCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\n// max Keys.length = 100\nexport const awsDynamoDBGetStream = async (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n async function* command(options) {\n while (true) {\n const response = await dynamodbDocument.send(\n new BatchGetCommand({\n RequestItems: {\n [options.TableName]: options\n }\n })\n )\n for (const item of response.Responses[options.TableName]) {\n yield item\n }\n const UnprocessedKeys =\n response?.UnprocessedKeys?.[options.TableName]?.Keys ?? []\n\n if (!UnprocessedKeys.length) {\n break\n }\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchGet has UnprocessedKeys', {\n cause: {\n ...options,\n UnprocessedKeysCount: UnprocessedKeys.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n\n options.Keys = UnprocessedKeys\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBPutItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, streamOptions)\n batch = []\n }\n batch.push({\n PutRequest: {\n Item: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, streamOptions)\n return createWritableStream(write, streamOptions)\n}\n\nexport const awsDynamoDBDeleteItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, options)\n batch = []\n }\n batch.push({\n DeleteRequest: {\n Key: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, options)\n return createWritableStream(write, streamOptions)\n}\n\nconst dynamodbBatchWrite = async (options, batch, streamOptions) => {\n const { UnprocessedItems } = await dynamodbDocument.send(\n new BatchWriteCommand({\n RequestItems: {\n [options.TableName]: batch\n }\n })\n )\n if (UnprocessedItems.length) {\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchWrite has UnprocessedItems', {\n cause: {\n ...options,\n UnprocessedItemsCount: UnprocessedItems.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n return dynamodbBatchWriteItem(options, UnprocessedItems[table], options)\n }\n options.retryCount = 0 // reset for next batch\n}\n"],
"mappings": "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",
"sourcesContent": ["import { createWritableStream, timeout } from '@datastream/core'\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'\n\nimport { Agent } from 'node:https'\nimport { NodeHttpHandler } from '@aws-sdk/node-http-handler'\nimport AWSXRay from 'aws-xray-sdk-core'\nconst {\n BatchGetCommand,\n BatchWriteCommand,\n QueryCommand,\n ScanCommand,\n DynamoDBDocumentClient\n} = require('@aws-sdk/lib-dynamodb')\n\nconst awsClientDefaults = {\n requestHandler: new NodeHttpHandler({\n httpsAgent: new Agent({\n keepAlive: true,\n secureProtocol: 'TLSv1_2_method'\n })\n }),\n useFipsEndpoint: [\n 'us-east-1',\n 'us-east-2',\n 'us-west-1',\n 'us-west-2',\n 'ca-central-1'\n ].includes(process.env.AWS_REGION)\n}\n\nlet dynamodb = AWSXRay.captureAWSv3Client(\n new DynamoDBClient(awsClientDefaults)\n)\nlet dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\nexport const awsDynamoDBSetClient = (client) => {\n dynamodb = client\n dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\n}\n\n// Docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html\n\n// options = {TableName, ...}\n\nexport const awsDynamoDBQueryStream = (options, streamOptions) => {\n async function * command (options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new QueryCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBScanStream = async (options, streamOptions) => {\n async function * command (options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new ScanCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\n// max Keys.length = 100\nexport const awsDynamoDBGetStream = async (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n async function * command (options) {\n while (true) {\n const response = await dynamodbDocument.send(\n new BatchGetCommand({\n RequestItems: {\n [options.TableName]: options\n }\n })\n )\n for (const item of response.Responses[options.TableName]) {\n yield item\n }\n const UnprocessedKeys =\n response?.UnprocessedKeys?.[options.TableName]?.Keys ?? []\n\n if (!UnprocessedKeys.length) {\n break\n }\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchGet has UnprocessedKeys', {\n cause: {\n ...options,\n UnprocessedKeysCount: UnprocessedKeys.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n\n options.Keys = UnprocessedKeys\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBPutItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, streamOptions)\n batch = []\n }\n batch.push({\n PutRequest: {\n Item: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, streamOptions)\n return createWritableStream(write, streamOptions)\n}\n\nexport const awsDynamoDBDeleteItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, options)\n batch = []\n }\n batch.push({\n DeleteRequest: {\n Key: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, options)\n return createWritableStream(write, streamOptions)\n}\n\nconst dynamodbBatchWrite = async (options, batch, streamOptions) => {\n const { UnprocessedItems } = await dynamodbDocument.send(\n new BatchWriteCommand({\n RequestItems: {\n [options.TableName]: batch\n }\n })\n )\n if (UnprocessedItems.length) {\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchWrite has UnprocessedItems', {\n cause: {\n ...options,\n UnprocessedItemsCount: UnprocessedItems.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n return dynamodbBatchWrite(\n options,\n UnprocessedItems[options.TableName],\n options\n )\n }\n options.retryCount = 0 // reset for next batch\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8C;AAC9C,6BAA+B;AAE/B,wBAAsB;AACtB,+BAAgC;AAChC,+BAAoB;AACpB,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI,QAAQ,uBAAuB;AAEnC,MAAM,oBAAoB;AAAA,EACxB,gBAAgB,IAAI,yCAAgB;AAAA,IAClC,YAAY,IAAI,wBAAM;AAAA,MACpB,WAAW;AAAA,MACX,gBAAgB;AAAA,IAClB,CAAC;AAAA,EACH,CAAC;AAAA,EACD,iBAAiB;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,SAAS,QAAQ,IAAI,UAAU;AACnC;AAEA,IAAI,WAAW,yBAAAA,QAAQ;AAAA,EACrB,IAAI,sCAAe,iBAAiB;AACtC;AACA,IAAI,mBAAmB,uBAAuB,KAAK,QAAQ;AACpD,MAAM,uBAAuB,CAAC,WAAW;AAC9C,aAAW;AACX,qBAAmB,uBAAuB,KAAK,QAAQ;AACzD;AAMO,MAAM,yBAAyB,CAAC,SAAS,kBAAkB;AAChE,kBAAiB,QAASC,UAAS;AACjC,QAAI,QAAQ;AACZ,WAAO,OAAO;AACZ,YAAM,WAAW,MAAM,iBAAiB,KAAK,IAAI,aAAaA,QAAO,CAAC;AACtE,MAAAA,SAAQ,oBAAoB,SAAS;AACrC,cAAQ,SAAS;AACjB,iBAAW,QAAQ,SAAS,OAAO;AACjC,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,QAAQ,OAAO;AACxB;AAEO,MAAM,wBAAwB,OAAO,SAAS,kBAAkB;AACrE,kBAAiB,QAASA,UAAS;AACjC,QAAI,QAAQ;AACZ,WAAO,OAAO;AACZ,YAAM,WAAW,MAAM,iBAAiB,KAAK,IAAI,YAAYA,QAAO,CAAC;AACrE,MAAAA,SAAQ,oBAAoB,SAAS;AACrC,cAAQ,SAAS;AACjB,iBAAW,QAAQ,SAAS,OAAO;AACjC,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,QAAQ,OAAO;AACxB;AAGO,MAAM,uBAAuB,OAAO,SAAS,kBAAkB;AACpE,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,kBAAiB,QAASA,UAAS;AACjC,WAAO,MAAM;AACX,YAAM,WAAW,MAAM,iBAAiB;AAAA,QACtC,IAAI,gBAAgB;AAAA,UAClB,cAAc;AAAA,YACZ,CAACA,SAAQ,YAAYA;AAAA,UACvB;AAAA,QACF,CAAC;AAAA,MACH;AACA,iBAAW,QAAQ,SAAS,UAAUA,SAAQ,YAAY;AACxD,cAAM;AAAA,MACR;AACA,YAAM,kBACJ,UAAU,kBAAkBA,SAAQ,YAAY,QAAQ,CAAC;AAE3D,UAAI,CAAC,gBAAgB,QAAQ;AAC3B;AAAA,MACF;AACA,UAAIA,SAAQ,cAAcA,SAAQ,eAAe;AAC/C,cAAM,IAAI,MAAM,2CAA2C;AAAA,UACzD,OAAO;AAAA,YACL,GAAGA;AAAA,YACH,sBAAsB,gBAAgB;AAAA,UACxC;AAAA,QACF,CAAC;AAAA,MACH;AAEA,gBAAM,qBAAQ,KAAKA,SAAQ,YAAY;AAEvC,MAAAA,SAAQ,OAAO;AAAA,IACjB;AAAA,EACF;AACA,SAAO,QAAQ,OAAO;AACxB;AAEO,MAAM,2BAA2B,CAAC,SAAS,kBAAkB;AAClE,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,MAAI,QAAQ,CAAC;AACb,QAAM,QAAQ,OAAO,UAAU;AAC7B,QAAI,MAAM,WAAW,IAAI;AACvB,YAAM,mBAAmB,SAAS,OAAO,aAAa;AACtD,cAAQ,CAAC;AAAA,IACX;AACA,UAAM,KAAK;AAAA,MACT,YAAY;AAAA,QACV,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AACA,gBAAc,QAAQ,MAAM,mBAAmB,SAAS,OAAO,aAAa;AAC5E,aAAO,kCAAqB,OAAO,aAAa;AAClD;AAEO,MAAM,8BAA8B,CAAC,SAAS,kBAAkB;AACrE,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,MAAI,QAAQ,CAAC;AACb,QAAM,QAAQ,OAAO,UAAU;AAC7B,QAAI,MAAM,WAAW,IAAI;AACvB,YAAM,mBAAmB,SAAS,OAAO,OAAO;AAChD,cAAQ,CAAC;AAAA,IACX;AACA,UAAM,KAAK;AAAA,MACT,eAAe;AAAA,QACb,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AACA,gBAAc,QAAQ,MAAM,mBAAmB,SAAS,OAAO,OAAO;AACtE,aAAO,kCAAqB,OAAO,aAAa;AAClD;AAEA,MAAM,qBAAqB,OAAO,SAAS,OAAO,kBAAkB;AAClE,QAAM,EAAE,iBAAiB,IAAI,MAAM,iBAAiB;AAAA,IAClD,IAAI,kBAAkB;AAAA,MACpB,cAAc;AAAA,QACZ,CAAC,QAAQ,YAAY;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH;AACA,MAAI,iBAAiB,QAAQ;AAC3B,QAAI,QAAQ,cAAc,QAAQ,eAAe;AAC/C,YAAM,IAAI,MAAM,8CAA8C;AAAA,QAC5D,OAAO;AAAA,UACL,GAAG;AAAA,UACH,uBAAuB,iBAAiB;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,IACH;AAEA,cAAM,qBAAQ,KAAK,QAAQ,YAAY;AACvC,WAAO;AAAA,MACL;AAAA,MACA,iBAAiB,QAAQ;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACA,UAAQ,aAAa;AACvB;",
"names": ["AWSXRay", "options"]
}

@@ -1,8 +0,6 @@

import {
createWritableStream,
createTransformStream,
timeout
} from "@datastream/core";
import { createWritableStream, timeout } from "@datastream/core";
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
import { marshall, unmarshall } from "@aws-sdk/util-dynamodb";
import { Agent } from "node:https";
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import AWSXRay from "aws-xray-sdk-core";
const {

@@ -15,5 +13,2 @@ BatchGetCommand,

} = require("@aws-sdk/lib-dynamodb");
import { Agent } from "node:https";
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import AWSXRay from "aws-xray-sdk-core";
const awsClientDefaults = {

@@ -34,3 +29,5 @@ requestHandler: new NodeHttpHandler({

};
let dynamodb = AWSXRay.captureAWSv3Client(new DynamoDBClient(awsClientDefaults));
let dynamodb = AWSXRay.captureAWSv3Client(
new DynamoDBClient(awsClientDefaults)
);
let dynamodbDocument = DynamoDBDocumentClient.from(dynamodb);

@@ -156,3 +153,7 @@ const awsDynamoDBSetClient = (client) => {

await timeout(3 ** options.retryCount++);
return dynamodbBatchWriteItem(options, UnprocessedItems[table], options);
return dynamodbBatchWrite(
options,
UnprocessedItems[options.TableName],
options
);
}

@@ -159,0 +160,0 @@ options.retryCount = 0;

{
"version": 3,
"sources": ["dynamodb.js"],
"sourcesContent": ["import {\n createWritableStream,\n createTransformStream,\n timeout\n} from '@datastream/core'\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'\nimport { marshall, unmarshall } from '@aws-sdk/util-dynamodb'\nconst {\n BatchGetCommand,\n BatchWriteCommand,\n QueryCommand,\n ScanCommand,\n DynamoDBDocumentClient\n} = require('@aws-sdk/lib-dynamodb')\n\nimport { Agent } from 'node:https'\nimport { NodeHttpHandler } from '@aws-sdk/node-http-handler'\nimport AWSXRay from 'aws-xray-sdk-core'\n\nconst awsClientDefaults = {\n requestHandler: new NodeHttpHandler({\n httpsAgent: new Agent({\n keepAlive: true,\n secureProtocol: 'TLSv1_2_method'\n })\n }),\n useFipsEndpoint: [\n 'us-east-1',\n 'us-east-2',\n 'us-west-1',\n 'us-west-2',\n 'ca-central-1'\n ].includes(process.env.AWS_REGION)\n}\n\nlet dynamodb = AWSXRay.captureAWSv3Client(new DynamoDBClient(awsClientDefaults))\nlet dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\nexport const awsDynamoDBSetClient = (client) => {\n dynamodb = client\n dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\n}\n\n// Docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html\n\n// options = {TableName, ...}\n\nexport const awsDynamoDBQueryStream = (options, streamOptions) => {\n async function* command(options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new QueryCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBScanStream = async (options, streamOptions) => {\n async function* command(options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new ScanCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\n// max Keys.length = 100\nexport const awsDynamoDBGetStream = async (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n async function* command(options) {\n while (true) {\n const response = await dynamodbDocument.send(\n new BatchGetCommand({\n RequestItems: {\n [options.TableName]: options\n }\n })\n )\n for (const item of response.Responses[options.TableName]) {\n yield item\n }\n const UnprocessedKeys =\n response?.UnprocessedKeys?.[options.TableName]?.Keys ?? []\n\n if (!UnprocessedKeys.length) {\n break\n }\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchGet has UnprocessedKeys', {\n cause: {\n ...options,\n UnprocessedKeysCount: UnprocessedKeys.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n\n options.Keys = UnprocessedKeys\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBPutItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, streamOptions)\n batch = []\n }\n batch.push({\n PutRequest: {\n Item: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, streamOptions)\n return createWritableStream(write, streamOptions)\n}\n\nexport const awsDynamoDBDeleteItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, options)\n batch = []\n }\n batch.push({\n DeleteRequest: {\n Key: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, options)\n return createWritableStream(write, streamOptions)\n}\n\nconst dynamodbBatchWrite = async (options, batch, streamOptions) => {\n const { UnprocessedItems } = await dynamodbDocument.send(\n new BatchWriteCommand({\n RequestItems: {\n [options.TableName]: batch\n }\n })\n )\n if (UnprocessedItems.length) {\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchWrite has UnprocessedItems', {\n cause: {\n ...options,\n UnprocessedItemsCount: UnprocessedItems.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n return dynamodbBatchWriteItem(options, UnprocessedItems[table], options)\n }\n options.retryCount = 0 // reset for next batch\n}\n"],
"mappings": "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",
"sourcesContent": ["import { createWritableStream, timeout } from '@datastream/core'\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'\n\nimport { Agent } from 'node:https'\nimport { NodeHttpHandler } from '@aws-sdk/node-http-handler'\nimport AWSXRay from 'aws-xray-sdk-core'\nconst {\n BatchGetCommand,\n BatchWriteCommand,\n QueryCommand,\n ScanCommand,\n DynamoDBDocumentClient\n} = require('@aws-sdk/lib-dynamodb')\n\nconst awsClientDefaults = {\n requestHandler: new NodeHttpHandler({\n httpsAgent: new Agent({\n keepAlive: true,\n secureProtocol: 'TLSv1_2_method'\n })\n }),\n useFipsEndpoint: [\n 'us-east-1',\n 'us-east-2',\n 'us-west-1',\n 'us-west-2',\n 'ca-central-1'\n ].includes(process.env.AWS_REGION)\n}\n\nlet dynamodb = AWSXRay.captureAWSv3Client(\n new DynamoDBClient(awsClientDefaults)\n)\nlet dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\nexport const awsDynamoDBSetClient = (client) => {\n dynamodb = client\n dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\n}\n\n// Docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html\n\n// options = {TableName, ...}\n\nexport const awsDynamoDBQueryStream = (options, streamOptions) => {\n async function * command (options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new QueryCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBScanStream = async (options, streamOptions) => {\n async function * command (options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new ScanCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\n// max Keys.length = 100\nexport const awsDynamoDBGetStream = async (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n async function * command (options) {\n while (true) {\n const response = await dynamodbDocument.send(\n new BatchGetCommand({\n RequestItems: {\n [options.TableName]: options\n }\n })\n )\n for (const item of response.Responses[options.TableName]) {\n yield item\n }\n const UnprocessedKeys =\n response?.UnprocessedKeys?.[options.TableName]?.Keys ?? []\n\n if (!UnprocessedKeys.length) {\n break\n }\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchGet has UnprocessedKeys', {\n cause: {\n ...options,\n UnprocessedKeysCount: UnprocessedKeys.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n\n options.Keys = UnprocessedKeys\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBPutItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, streamOptions)\n batch = []\n }\n batch.push({\n PutRequest: {\n Item: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, streamOptions)\n return createWritableStream(write, streamOptions)\n}\n\nexport const awsDynamoDBDeleteItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, options)\n batch = []\n }\n batch.push({\n DeleteRequest: {\n Key: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, options)\n return createWritableStream(write, streamOptions)\n}\n\nconst dynamodbBatchWrite = async (options, batch, streamOptions) => {\n const { UnprocessedItems } = await dynamodbDocument.send(\n new BatchWriteCommand({\n RequestItems: {\n [options.TableName]: batch\n }\n })\n )\n if (UnprocessedItems.length) {\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchWrite has UnprocessedItems', {\n cause: {\n ...options,\n UnprocessedItemsCount: UnprocessedItems.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n return dynamodbBatchWrite(\n options,\n UnprocessedItems[options.TableName],\n options\n )\n }\n options.retryCount = 0 // reset for next batch\n}\n"],
"mappings": "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",
"names": ["options"]
}

@@ -1,8 +0,6 @@

import {
createWritableStream,
createTransformStream,
timeout
} from "@datastream/core";
import { createWritableStream, timeout } from "@datastream/core";
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
import { marshall, unmarshall } from "@aws-sdk/util-dynamodb";
import { Agent } from "node:https";
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import AWSXRay from "aws-xray-sdk-core";
const {

@@ -15,5 +13,2 @@ BatchGetCommand,

} = require("@aws-sdk/lib-dynamodb");
import { Agent } from "node:https";
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import AWSXRay from "aws-xray-sdk-core";
const awsClientDefaults = {

@@ -34,3 +29,5 @@ requestHandler: new NodeHttpHandler({

};
let dynamodb = AWSXRay.captureAWSv3Client(new DynamoDBClient(awsClientDefaults));
let dynamodb = AWSXRay.captureAWSv3Client(
new DynamoDBClient(awsClientDefaults)
);
let dynamodbDocument = DynamoDBDocumentClient.from(dynamodb);

@@ -156,3 +153,7 @@ const awsDynamoDBSetClient = (client) => {

await timeout(3 ** options.retryCount++);
return dynamodbBatchWriteItem(options, UnprocessedItems[table], options);
return dynamodbBatchWrite(
options,
UnprocessedItems[options.TableName],
options
);
}

@@ -159,0 +160,0 @@ options.retryCount = 0;

{
"version": 3,
"sources": ["dynamodb.js"],
"sourcesContent": ["import {\n createWritableStream,\n createTransformStream,\n timeout\n} from '@datastream/core'\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'\nimport { marshall, unmarshall } from '@aws-sdk/util-dynamodb'\nconst {\n BatchGetCommand,\n BatchWriteCommand,\n QueryCommand,\n ScanCommand,\n DynamoDBDocumentClient\n} = require('@aws-sdk/lib-dynamodb')\n\nimport { Agent } from 'node:https'\nimport { NodeHttpHandler } from '@aws-sdk/node-http-handler'\nimport AWSXRay from 'aws-xray-sdk-core'\n\nconst awsClientDefaults = {\n requestHandler: new NodeHttpHandler({\n httpsAgent: new Agent({\n keepAlive: true,\n secureProtocol: 'TLSv1_2_method'\n })\n }),\n useFipsEndpoint: [\n 'us-east-1',\n 'us-east-2',\n 'us-west-1',\n 'us-west-2',\n 'ca-central-1'\n ].includes(process.env.AWS_REGION)\n}\n\nlet dynamodb = AWSXRay.captureAWSv3Client(new DynamoDBClient(awsClientDefaults))\nlet dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\nexport const awsDynamoDBSetClient = (client) => {\n dynamodb = client\n dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\n}\n\n// Docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html\n\n// options = {TableName, ...}\n\nexport const awsDynamoDBQueryStream = (options, streamOptions) => {\n async function* command(options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new QueryCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBScanStream = async (options, streamOptions) => {\n async function* command(options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new ScanCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\n// max Keys.length = 100\nexport const awsDynamoDBGetStream = async (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n async function* command(options) {\n while (true) {\n const response = await dynamodbDocument.send(\n new BatchGetCommand({\n RequestItems: {\n [options.TableName]: options\n }\n })\n )\n for (const item of response.Responses[options.TableName]) {\n yield item\n }\n const UnprocessedKeys =\n response?.UnprocessedKeys?.[options.TableName]?.Keys ?? []\n\n if (!UnprocessedKeys.length) {\n break\n }\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchGet has UnprocessedKeys', {\n cause: {\n ...options,\n UnprocessedKeysCount: UnprocessedKeys.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n\n options.Keys = UnprocessedKeys\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBPutItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, streamOptions)\n batch = []\n }\n batch.push({\n PutRequest: {\n Item: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, streamOptions)\n return createWritableStream(write, streamOptions)\n}\n\nexport const awsDynamoDBDeleteItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, options)\n batch = []\n }\n batch.push({\n DeleteRequest: {\n Key: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, options)\n return createWritableStream(write, streamOptions)\n}\n\nconst dynamodbBatchWrite = async (options, batch, streamOptions) => {\n const { UnprocessedItems } = await dynamodbDocument.send(\n new BatchWriteCommand({\n RequestItems: {\n [options.TableName]: batch\n }\n })\n )\n if (UnprocessedItems.length) {\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchWrite has UnprocessedItems', {\n cause: {\n ...options,\n UnprocessedItemsCount: UnprocessedItems.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n return dynamodbBatchWriteItem(options, UnprocessedItems[table], options)\n }\n options.retryCount = 0 // reset for next batch\n}\n"],
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,UAAU,kBAAkB;AACrC,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI,QAAQ,uBAAuB;AAEnC,SAAS,aAAa;AACtB,SAAS,uBAAuB;AAChC,OAAO,aAAa;AAEpB,MAAM,oBAAoB;AAAA,EACxB,gBAAgB,IAAI,gBAAgB;AAAA,IAClC,YAAY,IAAI,MAAM;AAAA,MACpB,WAAW;AAAA,MACX,gBAAgB;AAAA,IAClB,CAAC;AAAA,EACH,CAAC;AAAA,EACD,iBAAiB;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,SAAS,QAAQ,IAAI,UAAU;AACnC;AAEA,IAAI,WAAW,QAAQ,mBAAmB,IAAI,eAAe,iBAAiB,CAAC;AAC/E,IAAI,mBAAmB,uBAAuB,KAAK,QAAQ;AACpD,MAAM,uBAAuB,CAAC,WAAW;AAC9C,aAAW;AACX,qBAAmB,uBAAuB,KAAK,QAAQ;AACzD;AAMO,MAAM,yBAAyB,CAAC,SAAS,kBAAkB;AAChE,kBAAgB,QAAQA,UAAS;AAC/B,QAAI,QAAQ;AACZ,WAAO,OAAO;AACZ,YAAM,WAAW,MAAM,iBAAiB,KAAK,IAAI,aAAaA,QAAO,CAAC;AACtE,MAAAA,SAAQ,oBAAoB,SAAS;AACrC,cAAQ,SAAS;AACjB,iBAAW,QAAQ,SAAS,OAAO;AACjC,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,QAAQ,OAAO;AACxB;AAEO,MAAM,wBAAwB,OAAO,SAAS,kBAAkB;AACrE,kBAAgB,QAAQA,UAAS;AAC/B,QAAI,QAAQ;AACZ,WAAO,OAAO;AACZ,YAAM,WAAW,MAAM,iBAAiB,KAAK,IAAI,YAAYA,QAAO,CAAC;AACrE,MAAAA,SAAQ,oBAAoB,SAAS;AACrC,cAAQ,SAAS;AACjB,iBAAW,QAAQ,SAAS,OAAO;AACjC,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,QAAQ,OAAO;AACxB;AAGO,MAAM,uBAAuB,OAAO,SAAS,kBAAkB;AACpE,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,kBAAgB,QAAQA,UAAS;AAC/B,WAAO,MAAM;AACX,YAAM,WAAW,MAAM,iBAAiB;AAAA,QACtC,IAAI,gBAAgB;AAAA,UAClB,cAAc;AAAA,YACZ,CAACA,SAAQ,YAAYA;AAAA,UACvB;AAAA,QACF,CAAC;AAAA,MACH;AACA,iBAAW,QAAQ,SAAS,UAAUA,SAAQ,YAAY;AACxD,cAAM;AAAA,MACR;AACA,YAAM,kBACJ,UAAU,kBAAkBA,SAAQ,YAAY,QAAQ,CAAC;AAE3D,UAAI,CAAC,gBAAgB,QAAQ;AAC3B;AAAA,MACF;AACA,UAAIA,SAAQ,cAAcA,SAAQ,eAAe;AAC/C,cAAM,IAAI,MAAM,2CAA2C;AAAA,UACzD,OAAO;AAAA,YACL,GAAGA;AAAA,YACH,sBAAsB,gBAAgB;AAAA,UACxC;AAAA,QACF,CAAC;AAAA,MACH;AAEA,YAAM,QAAQ,KAAKA,SAAQ,YAAY;AAEvC,MAAAA,SAAQ,OAAO;AAAA,IACjB;AAAA,EACF;AACA,SAAO,QAAQ,OAAO;AACxB;AAEO,MAAM,2BAA2B,CAAC,SAAS,kBAAkB;AAClE,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,MAAI,QAAQ,CAAC;AACb,QAAM,QAAQ,OAAO,UAAU;AAC7B,QAAI,MAAM,WAAW,IAAI;AACvB,YAAM,mBAAmB,SAAS,OAAO,aAAa;AACtD,cAAQ,CAAC;AAAA,IACX;AACA,UAAM,KAAK;AAAA,MACT,YAAY;AAAA,QACV,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AACA,gBAAc,QAAQ,MAAM,mBAAmB,SAAS,OAAO,aAAa;AAC5E,SAAO,qBAAqB,OAAO,aAAa;AAClD;AAEO,MAAM,8BAA8B,CAAC,SAAS,kBAAkB;AACrE,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,MAAI,QAAQ,CAAC;AACb,QAAM,QAAQ,OAAO,UAAU;AAC7B,QAAI,MAAM,WAAW,IAAI;AACvB,YAAM,mBAAmB,SAAS,OAAO,OAAO;AAChD,cAAQ,CAAC;AAAA,IACX;AACA,UAAM,KAAK;AAAA,MACT,eAAe;AAAA,QACb,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AACA,gBAAc,QAAQ,MAAM,mBAAmB,SAAS,OAAO,OAAO;AACtE,SAAO,qBAAqB,OAAO,aAAa;AAClD;AAEA,MAAM,qBAAqB,OAAO,SAAS,OAAO,kBAAkB;AAClE,QAAM,EAAE,iBAAiB,IAAI,MAAM,iBAAiB;AAAA,IAClD,IAAI,kBAAkB;AAAA,MACpB,cAAc;AAAA,QACZ,CAAC,QAAQ,YAAY;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH;AACA,MAAI,iBAAiB,QAAQ;AAC3B,QAAI,QAAQ,cAAc,QAAQ,eAAe;AAC/C,YAAM,IAAI,MAAM,8CAA8C;AAAA,QAC5D,OAAO;AAAA,UACL,GAAG;AAAA,UACH,uBAAuB,iBAAiB;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,QAAQ,KAAK,QAAQ,YAAY;AACvC,WAAO,uBAAuB,SAAS,iBAAiB,QAAQ,OAAO;AAAA,EACzE;AACA,UAAQ,aAAa;AACvB;",
"sourcesContent": ["import { createWritableStream, timeout } from '@datastream/core'\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb'\n\nimport { Agent } from 'node:https'\nimport { NodeHttpHandler } from '@aws-sdk/node-http-handler'\nimport AWSXRay from 'aws-xray-sdk-core'\nconst {\n BatchGetCommand,\n BatchWriteCommand,\n QueryCommand,\n ScanCommand,\n DynamoDBDocumentClient\n} = require('@aws-sdk/lib-dynamodb')\n\nconst awsClientDefaults = {\n requestHandler: new NodeHttpHandler({\n httpsAgent: new Agent({\n keepAlive: true,\n secureProtocol: 'TLSv1_2_method'\n })\n }),\n useFipsEndpoint: [\n 'us-east-1',\n 'us-east-2',\n 'us-west-1',\n 'us-west-2',\n 'ca-central-1'\n ].includes(process.env.AWS_REGION)\n}\n\nlet dynamodb = AWSXRay.captureAWSv3Client(\n new DynamoDBClient(awsClientDefaults)\n)\nlet dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\nexport const awsDynamoDBSetClient = (client) => {\n dynamodb = client\n dynamodbDocument = DynamoDBDocumentClient.from(dynamodb)\n}\n\n// Docs: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html\n\n// options = {TableName, ...}\n\nexport const awsDynamoDBQueryStream = (options, streamOptions) => {\n async function * command (options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new QueryCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBScanStream = async (options, streamOptions) => {\n async function * command (options) {\n let count = 1\n while (count) {\n const response = await dynamodbDocument.send(new ScanCommand(options))\n options.ExclusiveStartKey = response.LastEvaluatedKey\n count = response.Count\n for (const item of response.Items) {\n yield item\n }\n }\n }\n return command(options)\n}\n\n// max Keys.length = 100\nexport const awsDynamoDBGetStream = async (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n async function * command (options) {\n while (true) {\n const response = await dynamodbDocument.send(\n new BatchGetCommand({\n RequestItems: {\n [options.TableName]: options\n }\n })\n )\n for (const item of response.Responses[options.TableName]) {\n yield item\n }\n const UnprocessedKeys =\n response?.UnprocessedKeys?.[options.TableName]?.Keys ?? []\n\n if (!UnprocessedKeys.length) {\n break\n }\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchGet has UnprocessedKeys', {\n cause: {\n ...options,\n UnprocessedKeysCount: UnprocessedKeys.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n\n options.Keys = UnprocessedKeys\n }\n }\n return command(options)\n}\n\nexport const awsDynamoDBPutItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, streamOptions)\n batch = []\n }\n batch.push({\n PutRequest: {\n Item: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, streamOptions)\n return createWritableStream(write, streamOptions)\n}\n\nexport const awsDynamoDBDeleteItemStream = (options, streamOptions) => {\n options.retryCount ??= 0\n options.retryMaxCount ??= 10\n let batch = []\n const write = async (chunk) => {\n if (batch.length === 10) {\n await dynamodbBatchWrite(options, batch, options)\n batch = []\n }\n batch.push({\n DeleteRequest: {\n Key: chunk\n }\n })\n }\n streamOptions.final = () => dynamodbBatchWrite(options, batch, options)\n return createWritableStream(write, streamOptions)\n}\n\nconst dynamodbBatchWrite = async (options, batch, streamOptions) => {\n const { UnprocessedItems } = await dynamodbDocument.send(\n new BatchWriteCommand({\n RequestItems: {\n [options.TableName]: batch\n }\n })\n )\n if (UnprocessedItems.length) {\n if (options.retryCount >= options.retryMaxCount) {\n throw new Error('awsDynamoDBBatchWrite has UnprocessedItems', {\n cause: {\n ...options,\n UnprocessedItemsCount: UnprocessedItems.length\n }\n })\n }\n\n await timeout(3 ** options.retryCount++) // 3^10 == 59sec\n return dynamodbBatchWrite(\n options,\n UnprocessedItems[options.TableName],\n options\n )\n }\n options.retryCount = 0 // reset for next batch\n}\n"],
"mappings": "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",
"names": ["options"]
}

@@ -26,4 +26,11 @@ var __create = Object.create;

__export(aws_exports, {
awsDynamoDBDeleteStream: () => awsDynamoDBDeleteStream,
awsDynamoDBGetStream: () => awsDynamoDBGetStream,
awsDynamoDBPutStream: () => awsDynamoDBPutStream,
awsDynamoDBQueryStream: () => awsDynamoDBQueryStream,
awsDynamoDBScanStream: () => awsDynamoDBScanStream,
awsDynamoDBSetClient: () => awsDynamoDBSetClient,
awsS3GetStream: () => awsS3GetStream,
awsS3PutStream: () => awsS3PutStream,
awsS3SetClient: () => awsS3SetClient,
default: () => aws_default

@@ -33,12 +40,34 @@ });

var import_s3 = __toESM(require("@datastream/aws/s3"), 1);
var import_dynamodb = __toESM(require("@datastream/aws/dynamodb"), 1);
const awsS3SetClient = import_s3.default.setClient;
const awsS3GetStream = import_s3.default.getStream;
const awsS3PutStream = import_s3.default.putStream;
const awsDynamoDBSetClient = import_dynamodb.default.setClient;
const awsDynamoDBGetStream = import_dynamodb.default.getStream;
const awsDynamoDBQueryStream = import_dynamodb.default.queryStream;
const awsDynamoDBScanStream = import_dynamodb.default.scanStream;
const awsDynamoDBPutStream = import_dynamodb.default.putStream;
const awsDynamoDBDeleteStream = import_dynamodb.default.Stream;
var aws_default = {
s3SetClient: awsS3SetClient,
s3GetStream: awsS3GetStream,
s3PutStream: awsS3PutStream
s3PutStream: awsS3PutStream,
dynamodbSetClient: awsDynamoDBSetClient,
dynamodbGetStream: awsDynamoDBGetStream,
dynamodbQueryStream: awsDynamoDBQueryStream,
dynamodbScanStream: awsDynamoDBScanStream,
dynamodbPutStream: awsDynamoDBPutStream,
dynamodbDeleteStream: awsDynamoDBDeleteStream
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
awsDynamoDBDeleteStream,
awsDynamoDBGetStream,
awsDynamoDBPutStream,
awsDynamoDBQueryStream,
awsDynamoDBScanStream,
awsDynamoDBSetClient,
awsS3GetStream,
awsS3PutStream
awsS3PutStream,
awsS3SetClient
});
{
"version": 3,
"sources": ["index.js"],
"sourcesContent": ["import s3 from '@datastream/aws/s3'\n\nexport const awsS3GetStream = s3.getStream\nexport const awsS3PutStream = s3.putStream\n\nexport default {\n s3GetStream: awsS3GetStream,\n s3PutStream: awsS3PutStream,\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AAER,MAAM,iBAAiB,UAAAA,QAAG;AAC1B,MAAM,iBAAiB,UAAAA,QAAG;AAEjC,IAAO,cAAQ;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AACf;",
"names": ["s3"]
"sourcesContent": ["import s3 from '@datastream/aws/s3'\nimport dynamodb from '@datastream/aws/dynamodb'\n\nexport const awsS3SetClient = s3.setClient\nexport const awsS3GetStream = s3.getStream\nexport const awsS3PutStream = s3.putStream\nexport const awsDynamoDBSetClient = dynamodb.setClient\nexport const awsDynamoDBGetStream = dynamodb.getStream\nexport const awsDynamoDBQueryStream = dynamodb.queryStream\nexport const awsDynamoDBScanStream = dynamodb.scanStream\nexport const awsDynamoDBPutStream = dynamodb.putStream\nexport const awsDynamoDBDeleteStream = dynamodb.Stream\n\nexport default {\n s3SetClient: awsS3SetClient,\n s3GetStream: awsS3GetStream,\n s3PutStream: awsS3PutStream,\n dynamodbSetClient: awsDynamoDBSetClient,\n dynamodbGetStream: awsDynamoDBGetStream,\n dynamodbQueryStream: awsDynamoDBQueryStream,\n dynamodbScanStream: awsDynamoDBScanStream,\n dynamodbPutStream: awsDynamoDBPutStream,\n dynamodbDeleteStream: awsDynamoDBDeleteStream\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,sBAAqB;AAEd,MAAM,iBAAiB,UAAAA,QAAG;AAC1B,MAAM,iBAAiB,UAAAA,QAAG;AAC1B,MAAM,iBAAiB,UAAAA,QAAG;AAC1B,MAAM,uBAAuB,gBAAAC,QAAS;AACtC,MAAM,uBAAuB,gBAAAA,QAAS;AACtC,MAAM,yBAAyB,gBAAAA,QAAS;AACxC,MAAM,wBAAwB,gBAAAA,QAAS;AACvC,MAAM,uBAAuB,gBAAAA,QAAS;AACtC,MAAM,0BAA0B,gBAAAA,QAAS;AAEhD,IAAO,cAAQ;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,sBAAsB;AACxB;",
"names": ["s3", "dynamodb"]
}
import s3 from "@datastream/aws/s3";
import dynamodb from "@datastream/aws/dynamodb";
const awsS3SetClient = s3.setClient;
const awsS3GetStream = s3.getStream;
const awsS3PutStream = s3.putStream;
const awsDynamoDBSetClient = dynamodb.setClient;
const awsDynamoDBGetStream = dynamodb.getStream;
const awsDynamoDBQueryStream = dynamodb.queryStream;
const awsDynamoDBScanStream = dynamodb.scanStream;
const awsDynamoDBPutStream = dynamodb.putStream;
const awsDynamoDBDeleteStream = dynamodb.Stream;
var aws_default = {
s3SetClient: awsS3SetClient,
s3GetStream: awsS3GetStream,
s3PutStream: awsS3PutStream
s3PutStream: awsS3PutStream,
dynamodbSetClient: awsDynamoDBSetClient,
dynamodbGetStream: awsDynamoDBGetStream,
dynamodbQueryStream: awsDynamoDBQueryStream,
dynamodbScanStream: awsDynamoDBScanStream,
dynamodbPutStream: awsDynamoDBPutStream,
dynamodbDeleteStream: awsDynamoDBDeleteStream
};
export {
awsDynamoDBDeleteStream,
awsDynamoDBGetStream,
awsDynamoDBPutStream,
awsDynamoDBQueryStream,
awsDynamoDBScanStream,
awsDynamoDBSetClient,
awsS3GetStream,
awsS3PutStream,
awsS3SetClient,
aws_default as default
};
{
"version": 3,
"sources": ["index.js"],
"sourcesContent": ["import s3 from '@datastream/aws/s3'\n\nexport const awsS3GetStream = s3.getStream\nexport const awsS3PutStream = s3.putStream\n\nexport default {\n s3GetStream: awsS3GetStream,\n s3PutStream: awsS3PutStream,\n}\n"],
"mappings": "AAAA,OAAO,QAAQ;AAER,MAAM,iBAAiB,GAAG;AAC1B,MAAM,iBAAiB,GAAG;AAEjC,IAAO,cAAQ;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AACf;",
"sourcesContent": ["import s3 from '@datastream/aws/s3'\nimport dynamodb from '@datastream/aws/dynamodb'\n\nexport const awsS3SetClient = s3.setClient\nexport const awsS3GetStream = s3.getStream\nexport const awsS3PutStream = s3.putStream\nexport const awsDynamoDBSetClient = dynamodb.setClient\nexport const awsDynamoDBGetStream = dynamodb.getStream\nexport const awsDynamoDBQueryStream = dynamodb.queryStream\nexport const awsDynamoDBScanStream = dynamodb.scanStream\nexport const awsDynamoDBPutStream = dynamodb.putStream\nexport const awsDynamoDBDeleteStream = dynamodb.Stream\n\nexport default {\n s3SetClient: awsS3SetClient,\n s3GetStream: awsS3GetStream,\n s3PutStream: awsS3PutStream,\n dynamodbSetClient: awsDynamoDBSetClient,\n dynamodbGetStream: awsDynamoDBGetStream,\n dynamodbQueryStream: awsDynamoDBQueryStream,\n dynamodbScanStream: awsDynamoDBScanStream,\n dynamodbPutStream: awsDynamoDBPutStream,\n dynamodbDeleteStream: awsDynamoDBDeleteStream\n}\n"],
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,cAAc;AAEd,MAAM,iBAAiB,GAAG;AAC1B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,uBAAuB,SAAS;AACtC,MAAM,uBAAuB,SAAS;AACtC,MAAM,yBAAyB,SAAS;AACxC,MAAM,wBAAwB,SAAS;AACvC,MAAM,uBAAuB,SAAS;AACtC,MAAM,0BAA0B,SAAS;AAEhD,IAAO,cAAQ;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,sBAAsB;AACxB;",
"names": []
}
import s3 from "@datastream/aws/s3";
import dynamodb from "@datastream/aws/dynamodb";
const awsS3SetClient = s3.setClient;
const awsS3GetStream = s3.getStream;
const awsS3PutStream = s3.putStream;
const awsDynamoDBSetClient = dynamodb.setClient;
const awsDynamoDBGetStream = dynamodb.getStream;
const awsDynamoDBQueryStream = dynamodb.queryStream;
const awsDynamoDBScanStream = dynamodb.scanStream;
const awsDynamoDBPutStream = dynamodb.putStream;
const awsDynamoDBDeleteStream = dynamodb.Stream;
var aws_default = {
s3SetClient: awsS3SetClient,
s3GetStream: awsS3GetStream,
s3PutStream: awsS3PutStream
s3PutStream: awsS3PutStream,
dynamodbSetClient: awsDynamoDBSetClient,
dynamodbGetStream: awsDynamoDBGetStream,
dynamodbQueryStream: awsDynamoDBQueryStream,
dynamodbScanStream: awsDynamoDBScanStream,
dynamodbPutStream: awsDynamoDBPutStream,
dynamodbDeleteStream: awsDynamoDBDeleteStream
};
export {
awsDynamoDBDeleteStream,
awsDynamoDBGetStream,
awsDynamoDBPutStream,
awsDynamoDBQueryStream,
awsDynamoDBScanStream,
awsDynamoDBSetClient,
awsS3GetStream,
awsS3PutStream,
awsS3SetClient,
aws_default as default
};
{
"version": 3,
"sources": ["index.js"],
"sourcesContent": ["import s3 from '@datastream/aws/s3'\n\nexport const awsS3GetStream = s3.getStream\nexport const awsS3PutStream = s3.putStream\n\nexport default {\n s3GetStream: awsS3GetStream,\n s3PutStream: awsS3PutStream,\n}\n"],
"mappings": "AAAA,OAAO,QAAQ;AAER,MAAM,iBAAiB,GAAG;AAC1B,MAAM,iBAAiB,GAAG;AAEjC,IAAO,cAAQ;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AACf;",
"sourcesContent": ["import s3 from '@datastream/aws/s3'\nimport dynamodb from '@datastream/aws/dynamodb'\n\nexport const awsS3SetClient = s3.setClient\nexport const awsS3GetStream = s3.getStream\nexport const awsS3PutStream = s3.putStream\nexport const awsDynamoDBSetClient = dynamodb.setClient\nexport const awsDynamoDBGetStream = dynamodb.getStream\nexport const awsDynamoDBQueryStream = dynamodb.queryStream\nexport const awsDynamoDBScanStream = dynamodb.scanStream\nexport const awsDynamoDBPutStream = dynamodb.putStream\nexport const awsDynamoDBDeleteStream = dynamodb.Stream\n\nexport default {\n s3SetClient: awsS3SetClient,\n s3GetStream: awsS3GetStream,\n s3PutStream: awsS3PutStream,\n dynamodbSetClient: awsDynamoDBSetClient,\n dynamodbGetStream: awsDynamoDBGetStream,\n dynamodbQueryStream: awsDynamoDBQueryStream,\n dynamodbScanStream: awsDynamoDBScanStream,\n dynamodbPutStream: awsDynamoDBPutStream,\n dynamodbDeleteStream: awsDynamoDBDeleteStream\n}\n"],
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,cAAc;AAEd,MAAM,iBAAiB,GAAG;AAC1B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,uBAAuB,SAAS;AACtC,MAAM,uBAAuB,SAAS;AACtC,MAAM,yBAAyB,SAAS;AACxC,MAAM,wBAAwB,SAAS;AACvC,MAAM,uBAAuB,SAAS;AACtC,MAAM,0BAA0B,SAAS;AAEhD,IAAO,cAAQ;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,sBAAsB;AACxB;",
"names": []
}
{
"name": "@datastream/aws",
"version": "0.0.4",
"version": "0.0.5",
"description": "",

@@ -101,4 +101,3 @@ "type": "module",

"@aws-sdk/lib-storage": "3.159.0",
"@aws-sdk/util-dynamodb": "3.159.0",
"@datastream/core": "0.0.4",
"@datastream/core": "0.0.5",
"aws-xray-sdk-core": "3.3.7"

@@ -105,0 +104,0 @@ },