https://github.com/gillstrom/cycles
Calculate sleep cycles to wake up more refreshed.
https://github.com/gillstrom/cycles
cli cycle duration sleep wake
Last synced: 12 months ago
JSON representation
Calculate sleep cycles to wake up more refreshed.
- Host: GitHub
- URL: https://github.com/gillstrom/cycles
- Owner: gillstrom
- License: mit
- Created: 2015-08-10T20:25:20.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-11-01T12:43:54.000Z (over 10 years ago)
- Last Synced: 2024-11-26T09:16:07.008Z (over 1 year ago)
- Topics: cli, cycle, duration, sleep, wake
- Language: JavaScript
- Size: 152 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# cycles [](https://travis-ci.org/gillstrom/cycles)
> Calculate sleep cycles to wake up more refreshed.
*The human body goes through 90 minute sleep cycles during the night, and you feel more refreshed if you wake up at the end of a sleep cycle than if you wake up during a sleep cycle.*
## Install
```
$ npm install --save cycles
```
## CLI
```
$ npm install --global cycles
```
```
$ cycles --help
Usage
$ cycles
$ cycles
$ cycles --wake
Options
-d, --duration
-w, --wake
## Usage
```js
var cycles = require('cycles');
cycles.sleep('23:37');
/*
{
2: '02:37',
3: '04:07',
4: '05:37',
5: '07:07',
6: '08:37',
7: '10:07'
}
*/
cycles.wake('06:55');
/*
{
2: '03:55',
3: '02:25',
4: '00:55',
5: '23:25',
6: '21:55',
7: '20:25'
}
*/
cycles.wake('06:55', {duration: 60});
/*
{
2: '04:55',
3: '03:55',
4: '02:55',
5: '01:55',
6: '00:55',
7: '23:55'
}
*/
```
## API
### cycles.sleep([time], [opts])
#### time
Type: `string`
Default: Current time
Returns an object with times to wake up for 2 to 7 sleep cycles.
#### opts
Type: `object`
Options to pass to the function
##### opts.duration
Type: `number`
Default: `90`
Set the cycle duration in minutes.
### cycles.wake(times, [opts])
#### time
*Required*
Type: `string`
Returns an object with times to fall asleep for 2 to 7 sleep cycles.
#### opts
Type: `object`
Options to pass to the function
##### opts.duration
Type: `number`
Default: `90`
Set the cycle duration in minutes.
## License
MIT © [Andreas Gillström](http://github.com/gillstrom)