# @elastic/esql-types 中文文档

规范地址：https://npmcn.com/package/%40elastic/esql-types/

版本：4\.39\.0
npm 元数据更新时间：2026-11-11T12:59:04.468Z
中文译文更新时间：2026-11-13T10:35:38.882Z
软件包许可：Elastic-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40elastic/esql-types
原文对照：https://npmcn.com/package/%40elastic/esql-types/?lang=original
源码仓库：https://github.com/elastic/esql-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：56.3 kB，14 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-07-06T10:24:14.527Z
- 最新版本发布：2026-11-11T12:59:04.084Z
- 近 30 天下载量：394486（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：34（近 12 个月 34 个）

## 中文简介

ESQQL AST的TypeScript类型定义.

## 安装

```sh
npm install @elastic/esql-types
```

也可以使用：`pnpm add @elastic/esql-types`、`yarn add @elastic/esql-types`、`bun add @elastic/esql-types`

## README

# `@elastic/esql-types`

ESQQL和PromQL ASTs的共享类型脚本类型定义. 纯粹的类型定义——没有运行时代码,没有依赖性.

## 安装

```bash
npm install @elastic/esql-types
```

## 使用量

```ts
import type {
  // Top-level AST
  ESQLAstQueryExpression,
  ESQLAst,

  // Commands
  ESQLCommand,
  ESQLAstHeaderCommand,

  // Expressions
  ESQLFunction,
  ESQLFunctionCallExpression,
  ESQLBinaryExpression,
  ESQLColumn,
  ESQLLiteral,
  ESQLSource,
  ESQLInlineCast,
  ESQLOrderExpression,

  // ... and more

} from '@elastic/esql-types';
```

### PromQL 类型

```ts
import type {
  PromQLAstQueryExpression,
  PromQLAstExpression,
  PromQLFunction,
  PromQLSelector,
  PromQLBinaryExpression,
  PromQLLabel,
} from '@elastic/esql-types';
```

## 关键类型关系

```
ESQLAstQueryExpression          root node — holds commands[]
  ESQLCommand                   a pipeline stage (FROM, WHERE, STATS, …)
    ESQLCommandOption           named sub-clause (e.g. BY in STATS … BY)
    ESQLAstExpression           any expression in a command argument
      ESQLFunction              function call, binary op, unary op
      ESQLColumn                column reference (@timestamp, user.name)
      ESQLLiteral               scalar literal (number, string, boolean, null)
      ESQLSource                index source reference (logs-*, cluster:index)
      ESQLList                  list literal ([1, 2, 3])
      ESQLInlineCast            inline cast (expr::type)
      ESQLParamLiteral          parameter placeholder (?, ?name, ?1)
  ESQLAstHeaderCommand          pre-query instructions (SET key = value; LET name = (subquery);)
```

## 页:1

-   `ESQLAst` 实值 `ESQLAstCommand[]`,查询的历史矩阵形式。 偏爱 `ESQLAstQueryExpression` (将命令列表包成一个合适的AST节点)用于新代码.
-   `ESQLFunction` 覆盖函数调用, 二进制表达式( e)`a + b`, (中文(简体) ), `a == b`),和无词表达式(`-x`, (中文(简体) ), `NOT x`) (中文(简体) ). 紧紧地与 `subtype` 字段 : `'variadic-call'`, (中文(简体) ), `'binary-expression'`, (中文(简体) ), `'unary-expression'`, (中文(简体) ), `'postfix-unary-expression'`。 。 。 .
-   地点信息( E)`ESQLLocation` 与 `min`编号 :`max` 在解析时设置,在构建节点时设置为零 `Builder`。 。 。 .

## 常见问题

### @elastic/esql-types 是什么？

ESQQL AST的TypeScript类型定义\.

### 如何安装 @elastic/esql-types？

在项目目录运行 npm install @elastic/esql-types，或使用 pnpm add / yarn add / bun add。

### @elastic/esql-types 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @elastic/esql-types 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @elastic/esql-types 可以商用吗？

@elastic/esql-types 使用 Elastic-2\.0 许可。声明的许可为 Elastic-2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @elastic/esql-types 的下载量有多少？

根据 npm 官方下载统计，@elastic/esql-types 在 2026/10/14 – 2026/11/12 这 30 天内被下载 394,486 次，日均约 13,150 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @elastic/esql-types 还在维护吗？

最新版本 4\.39\.0 发布于 2026/11/11（2 天前）；至今共发布 34 个版本，其中过去 12 个月发布了 34 个；首次发布于 2026/07/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

