# @effected/source 中文文档

规范地址：https://npmcn.com/package/%40effected/source/

版本：0\.5\.0
npm 元数据更新时间：2026-11-10T15:09:24.960Z
中文译文更新时间：2026-11-13T09:20:32.727Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40effected/source
原文对照：https://npmcn.com/package/%40effected/source/?lang=original
项目主页：https://github.com/spencerbeggs/effected/tree/main/packages/source#readme
源码仓库：https://github.com/spencerbeggs/effected

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

- 包体积（解压后）：43.1 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.11\.0
- 运行依赖：0 个
- 首次发布：2026-10-28T21:17:03.020Z
- 最新版本发布：2026-11-10T15:09:23.032Z
- 近 30 天下载量：6383（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 7 个）

## 中文简介

出处-正文定位为平文值:一行指向一行文字,LSP式行和字符,结构范围与诊断塑造了工具包的格式包共享.

## 安装

```sh
npm install @effected/source
```

也可以使用：`pnpm add @effected/source`、`yarn add @effected/source`、`bun add @effected/source`

## README

# @ 受影响/ 来源

[![npm](https://img.shields.io/npm/v/@effected%2Fsource?label=npm&color=cb3837)](https://www.npmjs.com/package/@effected/source) [![License: MIT](https://img.shields.io/badge/License-MIT-4caf50.svg)](https://opensource.org/licenses/MIT) [![Node.js %3E%3D24.11.0](https://img.shields.io/badge/Node.js-%3E%3D24.11.0-5fa04e.svg)](https://nodejs.org/) [![TypeScript 7.0](https://img.shields.io/badge/TypeScript-7.0-3178c6.svg)](https://www.typescriptlang.org/)

出处文字定位为平方值:将偏移转换为LSP式零基线和字符并回放的行索引,范围、位置和诊断定型 `@effected` 格式软件包共享。 没有服务,没有平台,没有 `effect`,完全不依赖.

> **预`1.0.0`。 。 。 .** 此软件包是 `@effected/*` 工具包,仍在 `0.x` 发展。 它没有依赖关系,甚至没有 `effect`。 。 。 .
> 
> **稳定:不稳定.** 此软件包的 API 表面尚未考虑 完成并可能改变 `0.x` 释放 准确的版本。 满 政策: [释放策略](https://github.com/spencerbeggs/effected#release-strategy)。 。 。 .

## 为什么 @ effect/ source

解析器报告有问题,作为文本的抵消。 一个编辑器,一个语言服务器和一个人都想要一行一列. 转换看起来像一个五行环路,而这个环路很容易被潜入错误:哪个字符结束一行,什么是抵消 `\r` 财务报告和审定财务报表 `\n` 的字段。 这个软件包是一次根据语言服务器协议使用的规则所写的转换.

## 安装

```bash
npm install @effected/source
```

```bash
pnpm add @effected/source
```

需要节点.js~~24.11.0. 无依相相相相相相相相相相相相相相相相相相相相相相相相相. 仅限无害环境管理:从ES模块中导入.

## 使用量

```ts
import { LineIndex } from "@effected/source";

const index = LineIndex.make("name: kit\r\nversion: 1\n");

index.positionAt(11);
// { line: 1, character: 0 }

index.offsetAt({ line: 1, character: 9 });
// 20

index.spanOf({ offset: 11, length: 7 });
// { start: { line: 1, character: 0 }, end: { line: 1, character: 7 } }
```

-   **`LineIndex.make(text, options?)`** 构建行表一次;之后的每个查询都是二进制搜索. `positionAt` 财务报告和审定财务报表 `offsetAt` 双向转换, `lineCount`, (中文(简体) ), `lineAt`, (中文(简体) ), `lineStart`, (中文(简体) ), `lineEnd` 财务报告和审定财务报表 `lineText` 描述线条 `spanOf`, (中文(简体) ), `rangeOf` 财务报告和审定财务报表 `locationOf` 转换范围.
-   **位置为零** 财务报告和审定财务报表 `character` 计算UTF-16代码单位, LSP 默认值. 两人加一.
-   **线条结束于 `\n`, (中文(简体) ), `\r\n` 或裸体 `\r`** 默认. `lineBreaks: "lf"` 结束于 `\n` 仅仅,和 `lineBreaks: "unicode"` 也位于U+2028和U+2029.
-   **远程输入夹** 至最近的有效位置,作为 `vscode-languageserver-textdocument` 已经 一个不是整数的值丢出一个 `RangeError`。 。 。 .
-   **`SourcePosition`, (中文(简体) ), `SourceRange`, (中文(简体) ), `SourceSpan`, (中文(简体) ), `SourceLocation` 财务报告和审定财务报表 `SourceDiagnostic`** 是结构界面,所以诊断和范围 `@effected/jsonc`, (中文(简体) ), `@effected/yaml`, (中文(简体) ), `@effected/toml` 财务报告和审定财务报表 `@effected/markdown` 可以照原样读取.

## 文档

指南和API参考文献在 [已实施。 spencerbeg.gs/来源](https://effected.spencerbeg.gs/source)。 。 。 .

## 许可证

[麻省理工学院](https://npmcn.com/package/%40effected/source/LICENSE)

## 常见问题

### @effected/source 是什么？

出处-正文定位为平文值:一行指向一行文字,LSP式行和字符,结构范围与诊断塑造了工具包的格式包共享\.

### 如何安装 @effected/source？

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

### @effected/source 支持 TypeScript 吗？

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

### @effected/source 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @effected/source 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.11\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @effected/source 可以商用吗？

@effected/source 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @effected/source 的下载量有多少？

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

### @effected/source 还在维护吗？

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

