@flourish/interpreter

中文文档
9.3.1发布于 2026/05/28LicenseRef-LICENSEESM + CJS近 30 天下载 6071

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

中文使用文档
文档目录19 节
  1. 如何安装
  2. 快速使用
  3. createInterpreter([interpretation_types])
  4. interpreter(input_array, [accessor])
  5. interpreter 方法
  6. interpreter.nMax([value])
  7. interpreter.nFailingValues([value])
  8. interpreter.failureFraction([value])
  9. interpreter.sort([value])
  10. 解释对象
  11. interpretation.desciption
  12. interpretation.parse(str)
  13. interpretation.test(str)
  14. interpretation.type
  15. createInterpreter.DATETIME_IDS
  16. createInterpreter.NUMBER_IDS
  17. createInterpreter.STRING_IDS
  18. createInterpreter.getInterpretation(id)
  19. recognised_formats

面粉解释器

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

如何安装

npm install -s @flourish/interpreter

然后说:

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

快速使用

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

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数字 :

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

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

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

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

版本与发布记录

@flourish/interpreter 共发布 36 个版本,首次发布于 2017/10/28;过去 12 个月发布了 2 个版本。

版本发布日期距今
9.3.1latest2026/05/285 个月前
9.3.02026/03/267 个月前
9.2.02025/08/281.2 年前
9.1.32025/01/101.8 年前
9.1.12024/12/191.9 年前
9.1.02024/12/051.9 年前

其他发布通道:next → 4.0.0-prerelease.1。

关于 @flourish/interpreter 的常见问题

@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 和提交记录判断。