# @loquat/framework

> Loquat framework

Latest version **3.2.0** (published 2019-09-15) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @loquat/framework
pnpm add @loquat/framework
yarn add @loquat/framework
bun add @loquat/framework
```

## 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 | 3.2.0 |
| Published | 2019-09-15 |
| First published | 2019-04-08 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 14.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Susisu |
| Maintainers | susisu |
| Keywords | parsing |

## Links

- npm: https://www.npmjs.com/package/@loquat/framework
- Repository: https://github.com/susisu/loquat
- Homepage: https://github.com/susisu/loquat/blob/master/packages/framework#readme
- Issues: https://github.com/susisu/loquat/issues
- npm.io page: https://npm.io/package/@loquat/framework

## Recent versions

- 3.2.0 (latest) — 2019-09-15
- 3.0.0-alpha.2 (next) — 2019-04-13
- 3.1.1 — 2019-04-19
- 3.1.0 — 2019-04-15
- 3.0.0 — 2019-04-13
- 3.0.0-alpha.1 — 2019-04-08

## README

# `@loquat/framework`
Loquat framework.

## Installation
``` shell
npm i @loquat/core @loquat/framework
# or
yarn add @loquat/core @loquat/framework
```

## Usage
First, create a new instance of loquat.

``` javascript
const lq = require("@loquat/framework")(require("@loquat/core"));
```

The core features will be accessible via `lq`, like `lq.parse`.

To use an extension, first install it

``` shell
npm i @loquat/prim
# or
yarn add @loquat/prim
```

and `use` it.

``` javascript
lq.use(require("@loquat/prim"), { options: { sugar: true } });

const p = lq.pure(42);
```

## API
### `lq.use(ext, opts)`
Use an extension.

An extension is a function that takes the core instance and options.

``` javascript
module.exports = (core, opts) => {
  // ...
  return {
    // foo: "bar", ...
  };
};
```

All the values returned from the extension will be assigned to `lq` by default.

#### Options
If `name` is specified, the extension will also be accessible via `lq.exts[name]`.

If `qualified: true` is specified, the extension will not be assigned to `lq`.

If `options` is provided, it will be passed to the extension as an argument.

## License
```
Copyright 2019 Susisu

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```

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