# Diffling

Diffling is a utility for comparing and displaying differences between text or code snippets. It provides functionality to generate line-by-line comparisons and highlight changes between original and modified versions of text.

## Features

- Line-by-line comparison of text or code
- Highlighting of added, removed, and unchanged lines
- Support for both string and JSON comparisons
- Customizable offset for line numbering

## Installation

```bash
npm install diffling
```

or

```bash
yarn add diffling
```

## Usage

Here's a basic example of how to use Diffling:

```typescript
import { diffling } from 'diffling';

const original = `line1
line2
line3`;

const modified = `line1
line2 modified
line4`;

const diff = diffling(original, modified);
console.log(diff);
```

## API

### `getLineDiffInformation(original: string, modified: string): Lines`

Generates a detailed diff between two pieces of text or JSON objects.

- `original`: The original text or JSON object
- `modified`: The modified text or JSON object
- `offset`: (Optional) Starting line number for the diff (default: 0)

Returns an object containing the line-by-line diff information and the indices of changed lines.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

This project is heavily based on [react-diff-viewer-continued](https://github.com/aeolun/react-diff-viewer-continued). We are grateful for their work, which forms the foundation of this repository.

## Disclaimer

This project is not affiliated with or endorsed by the creators of react-diff-viewer-continued.