data-api-client 2.0.0 → 2.1.1

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.
@@ -5,6 +5,7 @@ const client_rds_data_1 = require("@aws-sdk/client-rds-data");
5
5
  const params_1 = require("./params");
6
6
  const utils_1 = require("./utils");
7
7
  const query_1 = require("./query");
8
+ const retry_1 = require("./retry");
8
9
  const transaction = (config, _args) => {
9
10
  const args = typeof _args === 'object' ? [_args] : [{}];
10
11
  const queries = [];
@@ -13,6 +14,7 @@ const transaction = (config, _args) => {
13
14
  database: (0, params_1.parseDatabase)(config, args),
14
15
  hydrateColumnNames: (0, params_1.parseHydrate)(config, args),
15
16
  formatOptions: (0, params_1.parseFormatOptions)(config, args),
17
+ retryOptions: config.retryOptions,
16
18
  RDS: config.RDS,
17
19
  engine: config.engine
18
20
  });
@@ -40,17 +42,17 @@ const transaction = (config, _args) => {
40
42
  exports.transaction = transaction;
41
43
  const commit = async (config, queries, rollback) => {
42
44
  const results = [];
43
- const { transactionId } = await config.RDS.send(new client_rds_data_1.BeginTransactionCommand((0, utils_1.pick)(config, ['resourceArn', 'secretArn', 'database'])));
45
+ const { transactionId } = await (0, retry_1.withRetry)(() => config.RDS.send(new client_rds_data_1.BeginTransactionCommand((0, utils_1.pick)(config, ['resourceArn', 'secretArn', 'database']))), config.retryOptions);
44
46
  const txConfig = Object.assign(config, { transactionId });
45
47
  for (let i = 0; i < queries.length; i++) {
46
48
  const result = await query_1.query.apply({ rollback }, [config, queries[i](results[results.length - 1], results)]);
47
49
  results.push(result);
48
50
  }
49
- const { transactionStatus } = await txConfig.RDS.send(new client_rds_data_1.CommitTransactionCommand({
51
+ const { transactionStatus } = await (0, retry_1.withRetry)(() => txConfig.RDS.send(new client_rds_data_1.CommitTransactionCommand({
50
52
  resourceArn: txConfig.resourceArn,
51
53
  secretArn: txConfig.secretArn,
52
54
  transactionId: txConfig.transactionId
53
- }));
55
+ })), config.retryOptions);
54
56
  results.push({ transactionStatus });
55
57
  return results;
56
58
  };
package/dist/types.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import type { RDSDataClient, RDSDataClientConfig, ExecuteStatementCommandOutput, BatchExecuteStatementCommandOutput, BeginTransactionCommandInput, BeginTransactionCommandOutput, CommitTransactionCommandInput, CommitTransactionCommandOutput, RollbackTransactionCommandInput, RollbackTransactionCommandOutput, ExecuteStatementCommandInput, BatchExecuteStatementCommandInput, ColumnMetadata, ResultSetOptions } from '@aws-sdk/client-rds-data';
2
2
  export type SupportedType = 'arrayValue' | 'blobValue' | 'booleanValue' | 'doubleValue' | 'isNull' | 'longValue' | 'stringValue' | 'structValue';
3
+ export interface RetryConfig {
4
+ enabled?: boolean;
5
+ maxRetries?: number;
6
+ retryableErrors?: string[];
7
+ }
3
8
  export interface DataAPIClientConfig {
4
9
  resourceArn: string;
5
10
  secretArn: string;
@@ -7,8 +12,10 @@ export interface DataAPIClientConfig {
7
12
  engine?: 'mysql' | 'pg';
8
13
  hydrateColumnNames?: boolean;
9
14
  formatOptions?: FormatOptions;
15
+ retryOptions?: RetryConfig;
10
16
  options?: RDSDataClientConfig;
11
17
  client?: RDSDataClient;
18
+ namedPlaceholders?: boolean;
12
19
  region?: string;
13
20
  sslEnabled?: boolean;
14
21
  keepAlive?: boolean;
@@ -24,6 +31,7 @@ export interface InternalConfig {
24
31
  database?: string;
25
32
  hydrateColumnNames: boolean;
26
33
  formatOptions: Required<FormatOptions>;
34
+ retryOptions: Required<RetryConfig>;
27
35
  RDS: RDSDataClient;
28
36
  transactionId?: string;
29
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -13,7 +13,7 @@ export declare const isTimeString: (val: string) => boolean;
13
13
  export declare const isDecimalString: (val: string) => boolean;
14
14
  export declare const isUUIDString: (val: string) => boolean;
15
15
  export declare const isJSONString: (val: string) => boolean;
16
- export declare const getTypeHint: (val: ParameterValue) => string | undefined;
16
+ export declare const getTypeHint: (val: ParameterValue, engine?: string) => string | undefined;
17
17
  export declare const formatToTimeStamp: (date: Date, treatAsLocalDate: boolean) => string;
18
18
  export declare const formatFromTimeStamp: (value: string, treatAsLocalDate: boolean) => Date;
19
19
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG1E,eAAO,MAAM,cAAc,EAAE,aAAa,EASzC,CAAA;AAGD,eAAO,MAAM,KAAK,GAAI,GAAG,KAAK,GAAG,EAAE,KAAG,KAErC,CAAA;AAGD,eAAO,MAAM,QAAQ,GAAI,MAAM,GAAG,EAAE,KAAG,MAKI,CAAA;AAG3C,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,MAAM,EAAE,KAAG,OAAO,CAAC,CAAC,CACiC,CAAA;AAGzH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAInG,CAAA;AAGH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,KAAG,CAAC,EAA+C,CAAA;AAGxF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CA8CrE,CAAA;AAID,eAAO,MAAM,OAAO,GAAI,KAAK,cAAc,KAAG,aAAa,GAAG,IAAI,GAAG,SAsBtD,CAAA;AAKf,eAAO,MAAM,MAAM,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,IAA2B,CAAA;AAGpE,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OACV,CAAA;AAGjC,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OACE,CAAA;AAG7C,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,OACpB,CAAA;AAG1B,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OACkC,CAAA;AAG7E,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OAU1C,CAAA;AAID,eAAO,MAAM,WAAW,GAAI,KAAK,cAAc,KAAG,MAAM,GAAG,SAmC1D,CAAA;AAID,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,kBAAkB,OAAO,KAAG,MAezE,CAAA;AAKD,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,kBAAkB,OAAO,KAAG,IAG1D,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG1E,eAAO,MAAM,cAAc,EAAE,aAAa,EASzC,CAAA;AAGD,eAAO,MAAM,KAAK,GAAI,GAAG,KAAK,GAAG,EAAE,KAAG,KAErC,CAAA;AAGD,eAAO,MAAM,QAAQ,GAAI,MAAM,GAAG,EAAE,KAAG,MAKI,CAAA;AAG3C,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,MAAM,EAAE,KAAG,OAAO,CAAC,CAAC,CACiC,CAAA;AAGzH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAInG,CAAA;AAGH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,KAAG,CAAC,EAA+C,CAAA;AAGxF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CA8CrE,CAAA;AAID,eAAO,MAAM,OAAO,GAAI,KAAK,cAAc,KAAG,aAAa,GAAG,IAAI,GAAG,SAsBtD,CAAA;AAKf,eAAO,MAAM,MAAM,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,IAA2B,CAAA;AAGpE,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OACV,CAAA;AAGjC,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OACE,CAAA;AAG7C,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,OACpB,CAAA;AAG1B,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OACkC,CAAA;AAG7E,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OAU1C,CAAA;AAID,eAAO,MAAM,WAAW,GAAI,KAAK,cAAc,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,SAqC3E,CAAA;AAID,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,EAAE,kBAAkB,OAAO,KAAG,MAezE,CAAA;AAKD,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,kBAAkB,OAAO,KAAG,IAG1D,CAAA"}
package/dist/utils.js CHANGED
@@ -107,12 +107,12 @@ const isJSONString = (val) => {
107
107
  }
108
108
  };
109
109
  exports.isJSONString = isJSONString;
110
- const getTypeHint = (val) => {
110
+ const getTypeHint = (val, engine) => {
111
111
  if ((0, exports.isDate)(val)) {
112
112
  return 'TIMESTAMP';
113
113
  }
114
114
  if (typeof val === 'string') {
115
- if ((0, exports.isUUIDString)(val)) {
115
+ if ((0, exports.isUUIDString)(val) && engine !== 'mysql') {
116
116
  return 'UUID';
117
117
  }
118
118
  if ((0, exports.isDateString)(val)) {
@@ -121,7 +121,7 @@ const getTypeHint = (val) => {
121
121
  if ((0, exports.isTimeString)(val)) {
122
122
  return 'TIME';
123
123
  }
124
- if ((0, exports.isJSONString)(val)) {
124
+ if ((0, exports.isJSONString)(val) && engine !== 'mysql') {
125
125
  return 'JSON';
126
126
  }
127
127
  if ((0, exports.isDecimalString)(val)) {
package/package.json CHANGED
@@ -1,18 +1,55 @@
1
1
  {
2
2
  "name": "data-api-client",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "description": "A lightweight wrapper that simplifies working with the Amazon Aurora Serverless Data API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.js"
12
+ },
13
+ "./compat/pg": {
14
+ "types": "./dist/compat/pg.d.ts",
15
+ "import": "./dist/compat/pg.js",
16
+ "require": "./dist/compat/pg.js"
17
+ },
18
+ "./compat/mysql2": {
19
+ "types": "./dist/compat/mysql2.d.ts",
20
+ "import": "./dist/compat/mysql2.js",
21
+ "require": "./dist/compat/mysql2.js"
22
+ },
23
+ "./compat": {
24
+ "types": "./dist/compat/index.d.ts",
25
+ "import": "./dist/compat/index.js",
26
+ "require": "./dist/compat/index.js"
27
+ },
28
+ "./types": {
29
+ "types": "./dist/types.d.ts",
30
+ "import": "./dist/types.js",
31
+ "require": "./dist/types.js"
32
+ }
33
+ },
7
34
  "scripts": {
8
35
  "build": "tsc",
9
36
  "build:watch": "tsc --watch",
10
37
  "prebuild": "rm -rf dist",
11
38
  "test": "npm run build && vitest run src/",
12
39
  "test:unit": "npm run build && vitest run src/",
13
- "test:int": "npm run build && vitest run integration-tests/",
14
- "test:int:mysql": "npm run build && vitest run integration-tests/mysql.int.test.ts",
15
- "test:int:postgres": "npm run build && vitest run integration-tests/postgres.int.test.ts",
40
+ "test:int:core": "npm run build && vitest run integration-tests/mysql.int.test.ts integration-tests/pg-compat.int.test.ts",
41
+ "test:int:core:mysql": "npm run build && vitest run integration-tests/mysql.int.test.ts",
42
+ "test:int:core:pg": "npm run build && vitest run integration-tests/postgres.int.test.ts",
43
+ "test:int:compat": "npm run build && vitest run integration-tests/pg-compat.int.test.ts integration-tests/mysql2-compat.int.test.ts",
44
+ "test:int:compat:pg": "npm run build && vitest run integration-tests/pg-compat.int.test.ts",
45
+ "test:int:compat:mysql": "npm run build && vitest run integration-tests/mysql2-compat.int.test.ts",
46
+ "test:int:orm:kysely": "npm run build && vitest run integration-tests/kysely-pg.int.test.ts integration-tests/kysely-mysql.int.test.ts",
47
+ "test:int:orm:kysely:pg": "npm run build && vitest run integration-tests/kysely-pg.int.test.ts",
48
+ "test:int:orm:kysely:mysql": "npm run build && vitest run integration-tests/kysely-mysql.int.test.ts",
49
+ "test:int:orm:drizzle": "npm run build && vitest run integration-tests/drizzle-pg.int.test.ts && vitest run integration-tests/drizzle-mysql.int.test.ts",
50
+ "test:int:orm:drizzle:pg": "npm run build && vitest run integration-tests/drizzle-pg.int.test.ts",
51
+ "test:int:orm:drizzle:mysql": "npm run build && vitest run integration-tests/drizzle-mysql.int.test.ts",
52
+ "test:int:orm:knex": "npm run build && vitest run integration-tests/knex-mysql.int.test.ts",
16
53
  "test-ci": "npm run build && eslint src && vitest run src/",
17
54
  "lint": "eslint src",
18
55
  "prepublishOnly": "npm run build"
@@ -39,13 +76,18 @@
39
76
  "devDependencies": {
40
77
  "@aws-sdk/client-rds-data": "^3.712.0",
41
78
  "@types/node": "^24.6.2",
79
+ "@types/pg": "^8.15.5",
42
80
  "@types/pg-escape": "^0.2.3",
43
81
  "@types/sqlstring": "^2.3.2",
44
82
  "@typescript-eslint/eslint-plugin": "^8.45.0",
45
83
  "@typescript-eslint/parser": "^8.45.0",
46
84
  "@vitest/ui": "^3.2.4",
85
+ "drizzle-orm": "^0.44.6",
47
86
  "eslint": "^8.12.0",
48
87
  "eslint-config-prettier": "^8.5.0",
88
+ "knex": "^3.1.0",
89
+ "kysely": "^0.28.7",
90
+ "pg": "^8.16.3",
49
91
  "prettier": "^2.6.2",
50
92
  "tsx": "^4.20.6",
51
93
  "typescript": "^5.9.3",