# metric-lcs

> Zero dependency Metric Longest Common Subsequence implementation in js

Latest version **1.0.3** (published 2024-12-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install metric-lcs
pnpm add metric-lcs
yarn add metric-lcs
bun add metric-lcs
```

## Health

**Score 35/100 (D)** — status: maintenance-mode.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2024-12-09 |
| First published | 2017-11-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 6.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Nicholas Deis |
| Maintainers | nickdeis |
| Keywords | metriclcs, metric-lcs, edit-distance, longest common subsequence, metric longest common subsequence |

## Links

- npm: https://www.npmjs.com/package/metric-lcs
- Repository: https://github.com/nickdeis/metric-lcs
- Homepage: https://github.com/nickdeis/metric-lcs#readme
- Issues: https://github.com/nickdeis/metric-lcs/issues
- npm.io page: https://npm.io/package/metric-lcs

## Recent versions

- 1.0.3 (latest) — 2024-12-09
- 1.0.2-rc (next) — 2024-12-09
- 1.0.1-rc — 2024-12-09
- 1.0.0 — 2024-12-09
- 0.1.2 — 2017-11-09
- 0.1.1 — 2017-11-09
- 0.1.0 — 2017-11-09

## README

[![Build Status](https://github.com/nickdeis/metric-lcs/actions/workflows/main.yml/badge.svg)](https://github.com/nickdeis/metric-lcs/actions/workflows/main.yml/badge.svg)

# metric-lcs

Zero dependency [Metric Longest Common Subsequence](http://heim.ifi.uio.no/~danielry/StringMetric.pdf) implementation in js.

## Usage

`npm i metric-lcs`

```typescript
import metriclcs from "metric-lcs";
console.log(metriclcs("ABDEF", "ABDIF")); //.8
```

or

```javascript
const metriclcs = require("metric-lcs");
console.log(metriclcs("ABDEF", "ABDIF")); //.8
```

## Use case

Longest Common Subsequence is used with `diff`, so the metric version of it is suitable for comparing larger strings or for comparing likely subsets of strings since it ignores edit distance and lowers the cost of insertion.

## Thanks

Special thanks to [tdebatty](https://github.com/tdebatty) for [java-string-similarity](https://github.com/tdebatty/java-string-similarity), which I used as a reference implementation.

---
_Source: https://npm.io/package/metric-lcs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
