npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

task-timeline

v1.0.0

Published

a tool for time based action and animation

Downloads

5

Readme

timeline

this tool is inspired by a share from 杜伟 the douyu.com's fe in a ITA1024 WeChat Group Sharing;

and this is the article about that share.

About

this tool is suitable for some project with many time(second not minisecond) based action or animation.

too many setTimeout and setInterval will drop down the page's performace.

so this tool will make the only one setInterval, and every action and animation will run base with it's tick.

Concepts

frame

the core of timeline is a setInterval, and everytime the func pass to the setInterval be called, this is a frame

node

the timeline will maintence a list, and the item in the list is a node. it contains enough information about a action or animation, and it will tell timeline how to excute itself every frame.

Useage

you can start the timeline with

timeline.start();

and then you can add a node to it.

timeline.add({
    id: 'timeCountDown', // the identify of the node, must
    data: null, // anything you need save for the node, not required but recommend
    state: 'live', // 'live', 'die', 'pending' etc. tell timeline wheather remove it or not
    tick: function(node, time){}, // this is the func will be called every frame
    destroy: function(node, time){} // this will be call before timeline remove node from it's list
});

API

// TODO

Testing

our test spec is under the spec directory

we use the jasmine to build the test environment.

npm install jasmine -g // install the jasmine globally

and in the project's directory

jasmine

will auto run the specs