@dazn/lambda-powertools-middleware-stop-infinite-loop

中文文档
1.29.0发布于 2021/05/05MITCommonJS近 30 天下载 8259

Middy middleware that detects and stops infinite loops

原始使用文档

lambda-powertools-middleware-stop-infinite-loop

A Middy middleware that will stop an invocation if it's deemed to be part of an infinite loop.

Main features:

  • errors if the call-chain-length reaches the configured threshold (defaults to 10)

Getting Started

Install from NPM: npm install @dazn/lambda-powertools-middleware-stop-infinite-loop

API

The middleware accepts an optional constructor parameter threshold, which is the max length allowed for the entire call chain.

This middleware is intended to be used alongside @dazn/lambda-powertools-middleware-correlation-ids, which is responsible for collecting correlation IDs and incrementing the call-chain-length (i.e. the number of function invocations that are chained together) at the start of an invocation.

Because this middleware relies on @dazn/lambda-powertools-middleware-correlation-ids, it needs to be applied AFTER @dazn/lambda-powertools-middleware-correlation-ids (as seen below).

const middy = require('middy')
const correlationIds = require('@dazn/lambda-powertools-middleware-correlation-ids')
const stopInfiniteLoop = require('@dazn/lambda-powertools-middleware-stop-infinite-loop')

const handler = async (event, context) => {
  return 42
}

module.exports = middy(handler)
  .use(correlationIds())
  .use(stopInfiniteLoop()) // defaults to 10
}

版本与发布记录

@dazn/lambda-powertools-middleware-stop-infinite-loop 共发布 16 个版本,首次发布于 2019/07/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.29.0latest2021/05/055 年前
1.28.12020/12/105 年前
1.28.02020/12/105 年前
1.24.12020/06/036 年前
1.24.02020/05/306 年前
1.23.22020/05/236 年前

关于 @dazn/lambda-powertools-middleware-stop-infinite-loop 的常见问题

@dazn/lambda-powertools-middleware-stop-infinite-loop 是什么?

Middy middleware that detects and stops infinite loops

如何安装 @dazn/lambda-powertools-middleware-stop-infinite-loop?

在项目目录运行 npm install @dazn/lambda-powertools-middleware-stop-infinite-loop,或使用 pnpm add / yarn add / bun add。

@dazn/lambda-powertools-middleware-stop-infinite-loop 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/dazn__lambda-powertools-middleware-stop-infinite-loop 是否存在。

@dazn/lambda-powertools-middleware-stop-infinite-loop 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dazn/lambda-powertools-middleware-stop-infinite-loop 可以商用吗?

@dazn/lambda-powertools-middleware-stop-infinite-loop 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dazn/lambda-powertools-middleware-stop-infinite-loop 的下载量有多少?

根据 npm 官方下载统计,@dazn/lambda-powertools-middleware-stop-infinite-loop 在 2026/10/12 – 2026/11/10 这 30 天内被下载 8,259 次,日均约 275 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dazn/lambda-powertools-middleware-stop-infinite-loop 还在维护吗?

最新版本 1.29.0 发布于 2021/05/05(5 年前);至今共发布 16 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/07/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。