# `NPM.Package.Repository`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/package/repository.ex#L1)

Repository field parsing and URL generation from package.json.

# `browse_url`

```elixir
@spec browse_url(map()) :: String.t() | nil
```

Returns the browse URL (human-readable web URL).

# `clone_url`

```elixir
@spec clone_url(map()) :: String.t() | nil
```

Returns the HTTPS clone URL.

# `extract`

```elixir
@spec extract(map()) :: map() | nil
```

Extracts repository info from package.json data.

# `has_repository?`

```elixir
@spec has_repository?(map()) :: boolean()
```

Checks if repository info is present.

# `provider`

```elixir
@spec provider(map()) :: atom() | nil
```

Detects the hosting provider.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
