New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

frame-scheduling

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

frame-scheduling - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

22

lib/frameScheduling.js

@@ -17,8 +17,14 @@ "use strict";

exports.P_IMPORTANT = 10;
var sortJobsByNumber = function (jobs) {
return Object.keys(jobs).sort(function (left, right) { return Number(left) - Number(right); });
};
var frameScheduling = function () {
var listJobs = {};
var deferScheduled = false;
var jobsSortCached;
var jobsSortActual = false;
var sortJobsByNumber = function (jobs) {
if (!jobsSortActual) {
jobsSortCached = Object.keys(jobs).sort(function (left, right) { return Number(left) - Number(right); });
jobsSortActual = true;
}
return jobsSortCached;
};
var runDefer = function () {

@@ -33,2 +39,3 @@ if (!deferScheduled) {

listJobs[priority] = [];
jobsSortActual = false;
}

@@ -44,2 +51,3 @@ listJobs[priority].push(callback);

}
jobsSortActual = false;
};

@@ -61,6 +69,12 @@ var runJobs = function () {

var job = jobs.shift();
job && job();
try {
job && job();
}
catch (e) {
console.error(e);
}
if (!jobs.length) {
delete listJobs[key];
keys.length = keys.length - 1;
jobsSortActual = false;
}

@@ -67,0 +81,0 @@ }

2

package.json
{
"name": "frame-scheduling",
"version": "0.2.0",
"version": "0.3.0",
"description": "Asynchronous start of functions in JS. Supports priority and interrupt execution every 16 milliseconds, to achieve 60fps.",

@@ -5,0 +5,0 @@ "main": "lib/frameScheduling.js",

@@ -18,11 +18,19 @@ let defer: Function;

const sortJobsByNumber = (jobs: Object) =>
Object.keys(jobs).sort(
(left: string, right: string) => Number(left) - Number(right)
);
const frameScheduling = () => {
const listJobs: { [l: string]: Function[] } = {};
let deferScheduled = false;
let jobsSortCached: string[];
let jobsSortActual = false;
const sortJobsByNumber = (jobs: Object) => {
if (!jobsSortActual) {
jobsSortCached = Object.keys(jobs).sort(
(left: string, right: string) => Number(left) - Number(right)
);
jobsSortActual = true;
}
return jobsSortCached;
};
const runDefer = () => {

@@ -39,2 +47,3 @@ if (!deferScheduled) {

listJobs[priority] = [];
jobsSortActual = false;
}

@@ -53,2 +62,4 @@ listJobs[priority].push(callback);

}
jobsSortActual = false;
};

@@ -71,7 +82,13 @@

const job = jobs.shift();
job && job();
try {
job && job();
} catch (e) {
console.error(e);
}
if (!jobs.length) {
delete listJobs[key];
keys.length = keys.length - 1;
jobsSortActual = false;
}

@@ -78,0 +95,0 @@ }

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