# url-slicer

> Slice URLs into logical parts - domain, tld or subdomains

Latest version **1.0.0** (published 2017-07-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install url-slicer
pnpm add url-slicer
yarn add url-slicer
bun add url-slicer
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2017-07-17 |
| First published | 2014-10-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.10.0 |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Yoan Arnaudov |
| Maintainers | nacholibre |
| Keywords | url slicer, extract url, extract domain, tld extract |

## Links

- npm: https://www.npmjs.com/package/url-slicer
- Repository: https://github.com/nacholibre/url-slicer.js
- Homepage: https://github.com/nacholibre/url-slicer.js#readme
- Issues: https://github.com/nacholibre/url-slicer.js/issues
- npm.io page: https://npm.io/package/url-slicer

## Dependencies (1)

- [q](https://npm.io/package/q.md) ^1.1.2

## Alternatives

- [base64url](https://npm.io/package/base64url.md) — 6.1M weekly downloads
- [get-installed-path](https://npm.io/package/get-installed-path.md) — 502.9K weekly downloads
- [@uppy/url](https://npm.io/package/@uppy/url.md) — 185.8K weekly downloads
- [@d3fc/d3fc-shape](https://npm.io/package/@d3fc/d3fc-shape.md) — 16.2K weekly downloads
- [localizer](https://npm.io/package/localizer.md) — 226 weekly downloads

## Recent versions

- 1.0.0 (latest) — 2017-07-17
- 0.3.4 — 2016-06-07
- 0.3.3 — 2015-03-23
- 0.3.2 — 2015-03-23
- 0.3.1 — 2015-02-03
- 0.3.0 — 2015-02-03
- 0.2.0 — 2015-02-03
- 0.1.3 — 2015-02-02
- 0.1.2 — 2015-02-02
- 0.1.1 — 2014-10-21
- 0.1.0 — 2014-10-21

## README

[![Build Status](https://travis-ci.org/nacholibre/url-slicer.js.svg?branch=master)](https://travis-ci.org/nacholibre/url-slicer.js)

# url-slicer.js

Slice URLs into logical parts - domain, tld or subdomains for node.js

### Installation
Install by running `npm install url-slicer`

### Usage
```javascript
var urlSlicer = require('url-slicer');

urlSlicer.slice('http://dir.com', function(err, sliced) {
    console.log(sliced);
});
```
Output:
```javascript
{ domain: 'dir',
  tld: 'com',
  query: undefined,
  subdomains: [] }
```

Url Slicer is using the public suffix list which can be found here https://publicsuffix.org/list/.

More examples
```javascript
//http://police.uk
not valid
```
```javascript
//http://www.police.uk
{ domain: 'www',
  tld: 'police.uk',
  query: undefined,
  subdomains: [] }
```
```javascript
//my.agriculture.museum
{ domain: 'my',
  tld: 'agriculture.museum',
  query: undefined,
  subdomains: [] }

```

## API
### urlSlicer.init()
Returns promise when publix suffix list is downloaded and loaded.

### urlSlicer.slice(url)
Returns object with sliced url data:
```javascript
{ domain: 'google',
  tld: 'com',
  query: undefined,
  subdomains: [] }
```

`SliceException` is thrown on slice error.

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