Skip to content

Commit 308aece

Browse files
authored
refactor: use native iterator helpers (#122)
* chore(setup): use active lts version of node * refactor: use native iterator helpers
1 parent 8aff970 commit 308aece

File tree

10 files changed

+70
-81
lines changed

10 files changed

+70
-81
lines changed

.changeset/dull-foxes-wave.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@driimus/sqs-permanent-failure-dlq': minor
3+
---
4+
5+
refactor: use native iterator helpers

.github/workflows/test.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@ on:
44

55
jobs:
66
test:
7-
strategy:
8-
matrix:
9-
node-version: [18, 20, 22]
107
uses: driimus/shared-workflows/.github/workflows/test.yml@main
11-
with:
12-
node-version: ${{ matrix.node-version }}
138
secrets:
149
turbo_token: ${{ secrets.TURBO_TOKEN }}
1510
turbo_team: ${{ secrets.TURBO_TEAM }}

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
lts/jod
1+
lts/krypton

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export default tsEslint.config(
4949
'prefer-const': ['error', { destructuring: 'all' }],
5050
'unicorn/filename-case': ['warn', { case: 'camelCase' }],
5151
'unicorn/no-null': 'off',
52+
'unicorn/no-array-callback-reference': 'off',
5253
'unicorn/no-useless-switch-case': 'error',
5354
'unicorn/prevent-abbreviations': 'warn',
5455
'@typescript-eslint/consistent-type-imports': 'error',

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
"@changesets/cli": "^2.27.1",
2222
"@eslint/js": "^9.22.0",
2323
"@faker-js/faker": "^9.6.0",
24-
"@tsconfig/node-lts": "^22.0.1",
25-
"@tsconfig/strictest": "^2.0.5",
24+
"@tsconfig/node-lts": "^24.0.0",
25+
"@tsconfig/strictest": "^2.0.8",
2626
"@types/aws-lambda": "^8.10.146",
2727
"@types/node": "^22.10.2",
2828
"@typescript-eslint/eslint-plugin": "^8.23.0",
@@ -39,12 +39,12 @@
3939
"fishery": "^2.2.2",
4040
"prettier": "^3.2.4",
4141
"turbo": "^2.0.1",
42-
"typescript": "^5.7.3",
42+
"typescript": "^5.9.3",
4343
"typescript-eslint": "^8.23.0",
4444
"vitest": "^3.0.0"
4545
},
46-
"packageManager": "pnpm@10.6.4+sha256.0a3574244b6d2bea5b5d530c0901fbc5dafa593c2e9962a421d57b839f97063f",
46+
"packageManager": "pnpm@10.25.0+sha256.0f3726654b0b5e52e5800904de168afc3c667e2abf84bdb06d9ac1386104bd90",
4747
"engines": {
48-
"node": ">=18.18.2"
48+
"node": ">=24.11.0"
4949
}
5050
}

packages/lambda-batch-processor/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@
5959
}
6060
},
6161
"engines": {
62-
"node": ">=18"
62+
"node": ">=24"
6363
}
6464
}

packages/sqs-permanent-failure-dlq/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,8 @@
5252
"@types/aws-lambda": {
5353
"optional": true
5454
}
55+
},
56+
"engines": {
57+
"node": ">=24"
5558
}
5659
}

packages/sqs-permanent-failure-dlq/src/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import type {
1313
import type { ProcessableRecord } from '@driimus/lambda-batch-processor/types/index.js';
1414
import type { SQSEvent, SQSRecord } from 'aws-lambda';
1515

16-
import { map, take } from './iteratorHelpers.js';
17-
1816
/**
1917
* SQS batch actions can only manipulate up to 10 messages.
2018
*
@@ -74,10 +72,10 @@ export class PermanentFailureDLQHandler implements PermanentFailureHandler<SQSEv
7472
}
7573

7674
const Failure = {
77-
*toMessageBatch(iterator: IterableIterator<PermanentFailure<SQSRecord>>) {
75+
*toMessageBatch(iterator: IteratorObject<PermanentFailure<SQSRecord>>) {
7876
let chunk: ReturnType<typeof Failure.toEntry>[];
7977
while (true) {
80-
chunk = [...map(take(iterator, MAX_BATCH_SIZE), Failure.toEntry)];
78+
chunk = iterator.take(MAX_BATCH_SIZE).map(Failure.toEntry).toArray();
8179
if (chunk.length === 0) return;
8280
yield chunk;
8381
}

packages/sqs-permanent-failure-dlq/src/iteratorHelpers.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

pnpm-lock.yaml

Lines changed: 52 additions & 52 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)