# scpfn

> Scope functions like Kotlin

Latest version **1.0.3** (published 2019-07-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install scpfn
pnpm add scpfn
yarn add scpfn
bun add scpfn
```

## 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.3 |
| Published | 2019-07-13 |
| First published | 2019-02-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 23.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | OTAKE Takayoshi |
| Maintainers | bigbamboo |
| Keywords | function, functional, scope, scope function, scope functional |

## Links

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

## Recent versions

- 1.0.3 (latest) — 2019-07-13
- 1.0.2 — 2019-02-23
- 1.0.1 — 2019-02-23
- 1.0.0 — 2019-02-23

## README

# scpfn.js
Scope functions like Kotlin

## Start

```bash
$ npm install scpfn
```

index.js:
```js
const scpfn = require('scpfn').default;

scpfn.inject(Object.prototype);
console.log("test".let(it => it.toUpperCase())); // TEST
```

```bash
$ node index.js
TEST
```

### Browser

- Download dist/scpfn.min.js
- index.html:
```html
<script type="module">
import scpfn from './scpfn.min.js'
scpfn.inject(Object.prototype)

document.body.appendChild(document.createElement('span').also(it => {
    it.innerText = "Hello"
    let s = it.style
    s['color'] = 'white'
    s['background-color'] = 'darkgray'
}))
document.body.appendChild(document.createElement('span').also(it => {
    it.innerText = ", world!"
    let s = it.style
    s['color'] = 'black'
    s['background-color'] = 'lightgray'
}))
</script>
```
- Run http-server (npm i -g http-server)
- Access http://localhost:8080

![result base64](data:image/png;base64,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)

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