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

Parses the `funding` field from package.json.

Supports all npm funding formats: string URL, object with url/type,
and array of funders.

# `extract`

```elixir
@spec extract(map()) :: [map()]
```

Extracts funding entries from package.json data.

# `funding_stats`

```elixir
@spec funding_stats([map()]) :: map()
```

Counts packages with funding across a set.

# `has_funding?`

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

Checks if a package has funding info.

# `types`

```elixir
@spec types(map()) :: [String.t()]
```

Returns funding types used (github, opencollective, etc.).

# `urls`

```elixir
@spec urls(map()) :: [String.t()]
```

Returns all funding URLs.

---

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