Socket
Socket
Sign inDemoInstall

set-harmonic-interval

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

set-harmonic-interval - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

lib/index.esm.js

8

CHANGELOG.md

@@ -0,1 +1,9 @@

## [1.0.1](https://github.com/streamich/set-harmonic-interval/compare/v1.0.0...v1.0.1) (2019-10-23)
### Bug Fixes
* husky hooks now should be defined in separate package.json field; ([6a444f7](https://github.com/streamich/set-harmonic-interval/commit/6a444f7))
* prettier expects doubleqotes on file template ([d449a86](https://github.com/streamich/set-harmonic-interval/commit/d449a86))
# 1.0.0 (2019-08-25)

@@ -2,0 +10,0 @@

0

lib/index.d.ts

@@ -0,0 +0,0 @@ export declare type Listener = () => void;

48

lib/index.js

@@ -1,7 +0,10 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
let counter = 0;
const buckets = {};
exports.setHarmonicInterval = (fn, ms) => {
const id = counter++;
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var counter = 0;
var buckets = {};
var setHarmonicInterval = function (fn, ms) {
var _a;
var id = counter++;
if (buckets[ms]) {

@@ -11,7 +14,8 @@ buckets[ms].listeners[id] = fn;

else {
const timer = setInterval(() => {
const { listeners } = buckets[ms];
let didThrow = false;
let lastError;
for (const listener of Object.values(listeners)) {
var timer = setInterval(function () {
var listeners = buckets[ms].listeners;
var didThrow = false;
var lastError;
for (var _i = 0, _a = Object.values(listeners); _i < _a.length; _i++) {
var listener = _a[_i];
try {

@@ -29,7 +33,7 @@ listener();

buckets[ms] = {
ms,
timer,
listeners: {
[id]: fn,
},
ms: ms,
timer: timer,
listeners: (_a = {},
_a[id] = fn,
_a),
};

@@ -39,9 +43,10 @@ }

bucket: buckets[ms],
id,
id: id,
};
};
exports.clearHarmonicInterval = ({ bucket, id }) => {
var clearHarmonicInterval = function (_a) {
var bucket = _a.bucket, id = _a.id;
delete bucket.listeners[id];
let hasListeners = false;
for (const listener in bucket.listeners) {
var hasListeners = false;
for (var listener in bucket.listeners) {
hasListeners = true;

@@ -55,1 +60,4 @@ break;

};
exports.clearHarmonicInterval = clearHarmonicInterval;
exports.setHarmonicInterval = setHarmonicInterval;
{
"name": "set-harmonic-interval",
"version": "1.0.0",
"version": "1.0.1",
"description": "",

@@ -16,2 +16,6 @@ "author": {

"main": "lib/index.js",
"module": "lib/index.esm.js",
"esnext": "lib/index.next.esm.js",
"types": "lib/index.d.ts",
"typings": "lib/index.d.ts",
"files": [

@@ -21,13 +25,19 @@ "lib/"

"scripts": {
"prettier": "prettier --ignore-path .gitignore --write 'src/**/*.{ts,tsx,js,jsx}'",
"prettier:diff": "prettier -l 'src/**/*.{ts,tsx,js,jsx}'",
"prepush": "yarn prettier:diff",
"precommit": "pretty-quick --staged && yarn tslint",
"prettier": "prettier --ignore-path .gitignore --write \"src/**/*.{ts,tsx,js,jsx}\"",
"prettier:diff": "prettier -l \"src/**/*.{ts,tsx,js,jsx}\"",
"tslint": "tslint 'src/**/*.{js,jsx,ts,tsx}' -t verbose",
"commitmsg": "commitlint -E GIT_PARAMS",
"clean": "rimraf lib",
"build": "tsc",
"build": "rimraf ./dist && rollup --config",
"test": "jest --no-cache --config='jest.config.js'",
"release": "semantic-release"
"release": "semantic-release",
"demo1": "yarn build && node demo1.js",
"demo2": "yarn build && node demo2.js"
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-commit": "pretty-quick --staged && yarn tslint",
"pre-push": "yarn prettier:diff"
}
},
"keywords": [],

@@ -47,2 +57,4 @@ "dependencies": {},

"rimraf": "^3.0.0",
"rollup": "^1.20.3",
"rollup-plugin-typescript2": "^0.24.0",
"semantic-release": "^15.13.24",

@@ -55,4 +67,2 @@ "ts-jest": "^24.0.2",

},
"types": "lib/index.d.ts",
"typings": "lib/index.d.ts",
"release": {

@@ -59,0 +69,0 @@ "verifyConditions": [

# set-harmonic-interval
New project...
Works similar to `setInterval`, but calls all callbacks scheduled using `setHarmonicInterval` all at once, which have same
delay in milliseconds.
## Install
```
npm install set-harmonic-interval
```
## Usage
In below example `1` and `2` will always be printed together every second.
```js
const { setHarmonicInterval, clearHarmonicInterval } = require('set-harmonic-interval');
setHarmonicInterval(() => console.log(1), 1000);
setTimeout(() => {
setHarmonicInterval(() => console.log(2), 1000);
}, 500);
```
## License
[Unlicense](LICENSE) &mdash; public domain.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc