# cycle-resize

> A readonly driver for window resize events, for Cycle.js

Latest version **1.0.2** (published 2018-08-12) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install cycle-resize
pnpm add cycle-resize
yarn add cycle-resize
bun add cycle-resize
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2018-08-12 |
| First published | 2018-08-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 89.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Mathieu Eveillard |
| Maintainers | mathieueveillard |
| Keywords | cyclejs, driver, typescript, resize |

## Links

- npm: https://www.npmjs.com/package/cycle-resize
- Repository: https://github.com/mathieueveillard/cycle-resize
- Homepage: https://github.com/mathieueveillard/cycle-resize#readme
- Issues: https://github.com/mathieueveillard/cycle-resize/issues
- npm.io page: https://npm.io/package/cycle-resize

## Dependencies (2)

- [xstream](https://npm.io/package/xstream.md) ^11.7.0
- [@cycle/run](https://npm.io/package/@cycle/run.md) ^4.4.0

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.0.2 (latest) — 2018-08-12
- 1.0.0 — 2018-08-11

## README

# cycle-resize

A readonly driver for window resize events, for Cycle.js

## Installation

```
npm i cycle-resize --save
```

## API

### makeResizeDriver

A factory that returns a `ResizeDriver()` function to be called by `@cycle/run` `run()`.

Once called, the `ResizeDriver()` returns a `ResizeSource`.

Its `resize$` attribute is a stream of `ResizeEvent`:

```javascript
interface ResizeEvent {
  deltaX: number;
  deltaY: number;
}
```

Example:

```javascript
import { run } from '@cycle/run';
import { makeResizeDriver } from 'cycle-resize';

function main(sources) {
  const {
    resizeSource: { resize$ }
  } = sources;
  // Do something with resize$
}

const drivers = {
  resizeSource: makeResizeDriver()
};

run(main, drivers);
```

### mockResizeSource

A function that returns a mocked `ResizeSource`, the stream of `ResizeEvent`
beeing provided as input.

Example:

```javascript
import { describe, it } from 'mocha';
import { mockResizeSource } from 'cycle-resize';
import { mockTimeSource } from '@cycle/time';

describe('Test of myFunction()', function() {
  it('should do something with the ResizeSource provided as input', function(done) {
    const Time = mockTimeSource();
    const resizeSource = mockResizeSource(
      Time.diagram('-a--b-', {
        a: {
          deltaX: 250,
          deltaY: 0
        },
        b: {
          deltaX: 0,
          deltaY: -150
        }
      })
    );
    const expected$ = Time.diagram('-i--j-', {
      i: { result: 'something' },
      j: { result: 'something else' }
    });
    Time.assertEqual(myFunction({ timeSource: Time, resizeSource }), expected$);
    Time.run(done);
  });
});
```

### Parameters

- `diagram` A stream of `ResizeEvent`

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