# @flourish/interpreter 中文文档

规范地址：https://npmcn.com/package/%40flourish/interpreter/

版本：9\.3\.1
npm 元数据更新时间：2026-08-19T18:13:26.444Z
中文译文更新时间：2026-11-15T00:02:39.436Z
软件包许可：LicenseRef-LICENSE

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

原始 npm 页面：https://www.npmjs.com/package/%40flourish/interpreter
原文对照：https://npmcn.com/package/%40flourish/interpreter/?lang=original

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

- 包体积（解压后）：183 kB，13 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2017-10-27T16:32:14.720Z
- 最新版本发布：2026-05-28T12:00:26.832Z
- 近 30 天下载量：6071（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：36（近 12 个月 2 个）

## 中文简介

对所提供数据类型的最佳猜测

## 安装

```sh
npm install @flourish/interpreter
```

也可以使用：`pnpm add @flourish/interpreter`、`yarn add @flourish/interpreter`、`bun add @flourish/interpreter`

## README

# 面粉解释器

解释以字符串格式表示的数据类型.

## 如何安装

`npm install -s @flourish/interpreter`

然后说:

```js
import { createInterpreter } from "@flourish/interpreter";
```

## 快速使用

使用创建解释器创建解释器 。 然后,您可以立即随结果函数开始解释数组.

```js
var interpreter = createInterpreter();
var interpretations = interpreter(["-787", "1246,83", "203", "1.340.201"]) // Returns array of interpretation objects that match with the array
```

## `createInterpreter([interpretation_types])`

创建新 `interpreter` 函数使用可选 `interpretation_types` 参数. `interpretation_types` 可以是一组字符串,也可以是单个字符串,每个字符串都与所支持的解释类型匹配。 目前这些类型是"日期","数字"和"弦". 其中前三个有多个子类型. 排列顺序很重要,因为它在启用排序时决定了绑定解释的输出顺序(见 `interpreter.sort` (见下文)和不通过时通过的所有解释。 例外的是(catch-all)"弦"类型总是出现在阵列的末尾. 若为 `interpretation_types` 未指定然后默认 `["datetime", "number", "string"]` 已使用.

## `interpreter(input_array, [accessor])`

解释 `input_array` 传入.

若为 `accessor` 实值 `undefined` 然后解释器直接作用于数组的每个元素。 若为 `accessor` 是一个函数,然后是交互器根据调用数组值作为第一个参数和数组索引作为第二个参数的结果行事。 否则,解释者在财产上的行为等于 `accessor` 每一要素 `input_array`。 。 。 .

返回一系列解释对象(见下文关于解释对象的一节)。 阵列中的每个物体都经过了解释过程,并且可以作为一种有效的解释来解释数据,因为使用数据解析方法规定了条件 `interpreter` 函数.

若为 `input_array` 是空数组或空字符串的数组,则无法进行有用的解释。 在这种情况下,返回的数组将只包含囊括所有字符串类型的对象——如果它是允许的解释类型之一——如果不是,则完全不包含.

## `interpreter` 方法

一种方法 `interpreter` 函数作为设置器和获取器,取决于是否(非)`undefined`提供论据。 下文介绍这些方法的功能.

### `interpreter.nMax([value])`

应从 `array_of_strings`默认为 `250`,设置为 `Infinity` 以确保所有非空字符串得到解释.

### `interpreter.nFailingValues([value])`

在解释器失败前应允许的单个失败值的最大数量 。 默认为 `0`。 。 。 .

### `interpreter.failureFraction([value])`

翻译前允许的失败值的最大分量被视为失败 。 默认为 `0.05`但是,除非 `interpreter.nFailingValues` 改为正数,这个值基本上无关紧要,因为一个失败值就足以得出解释器失败的结论.

### `interpreter.sort([value])`

是否为 (`true`)或不(`false`)以(递减)失败分数排序输出解释对象。 默认为 `true`不过,如果两者兼而有之, 分类只会起到实际的作用 `nFailingValues` 财务报告和审定财务报表 `failureFraction` 是正数。 包罗万象的"字符串"解释类型从不排序,如果存在,将永远出现在输出阵列中.

## 解释对象

所有判读对象都包含下列属性/方法:

### `interpretation.desciption`

释法正文述.

### `interpretation.parse(str)`

解析字符串, `str`,并尝试返回相关类型的值(如果解释器为"数字"类型,例如数字,尽管结果可能是NaN)。 如果 `str` 不是一个字符串.

### `interpretation.test(str)`

测试字符串是否, `str`,可被解释为属于正确的子类型。 返回 a布尔。 如果 `str` 不是一个字符串.

### `interpretation.type`

解释器类型的文本描述 ie"日期时间","数字"或"字符串".

## `createInterpreter.DATETIME_IDS`

日期时子类型 ID 的冻结数组 。 可用于 `createInterpreter.getInterpretation`。 。 。 .

## `createInterpreter.NUMBER_IDS`

数字子类型的被冻结的 ID 数组 。 可用于 `createInterpreter.getInterpretation`。 。 。 .

## `createInterpreter.STRING_IDS`

字符串子类型(目前只有单一子类型)的ID被冻结的数组. 可用于 `createInterpreter.getInterpretation`。 。 。 .

## `createInterpreter.getInterpretation(id)`

得到解释与给定 `id`。 。 。 .

## `recognised_formats`

参考一份数据类型格式清单,可按以下方式解释: `@flourish/interpreter`导入 `recognised_formats`数字 :

```js
import { recognised_formats } from "@flourish/interpreter";
```

`recognised_formats` 是包含不同对象的数组的对象 `number` 财务报告和审定财务报表 `datetime` 被面粉所识别的数据格式。 你可以这样访问他们:

```js
var recognised_number_formats = recognised_formats.number;
var recognised_datetime_formats = recognised_formats.datetime;
```

每个阵列都包含有识别数据格式信息的对象.

## 常见问题

### @flourish/interpreter 是什么？

对所提供数据类型的最佳猜测

### 如何安装 @flourish/interpreter？

在项目目录运行 npm install @flourish/interpreter，或使用 pnpm add / yarn add / bun add。

### @flourish/interpreter 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/flourish\_\_interpreter 是否存在。

### @flourish/interpreter 支持 ESM 还是 CommonJS？

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

### @flourish/interpreter 可以商用吗？

@flourish/interpreter 使用 LicenseRef-LICENSE 许可。声明的许可为 LicenseRef-LICENSE，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @flourish/interpreter 的下载量有多少？

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

### @flourish/interpreter 还在维护吗？

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

