Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

self-timer

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

self-timer

light-weight callback runner.

  • 1.6.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
147
increased by2.08%
Maintainers
1
Weekly downloads
 
Created
Source

self-timer.js

logo

Overview

The self-timer.js is a light-weight callback runner library for javascript .

Documentation

The name of self-timer.js is originated from 'self-timer', which is a device on a camera. You may run your callback at the timing when you want to execute as if self-timer .

For instance, run some function if today is weekdays ( Monday to Friday ), self-timer.js is able to write simplify .

var st = new SelfTimer(new Date());

st.on()
  .Weekdays(function() {
    // callback
    console.log("this method run on Monday to Friday!");

  });

If you using server-side template ( exp: nunjucks, EJS.. and so. ). You can easy to switch template seasonally with self-timer.js.

{% if st.in().MonthSelects([3, 4, 5]) %}
<!-- spring  -->
<link rel="stylesheet" type="text/css" href="spring.css">

{% elif st.in().MonthSelects([6, 7, 8]) %}
<!-- summer -->
<link rel="stylesheet" type="text/css" href="summer.css">

...

{% endif %}

Another one, output 'hello world' at 9 am to 5 pm, on Monday and Friday, between November to December. 2016.

var st = new SelfTimer(new Date());

// Between Nov to Dec in 2016
st.in(true)
  .Year(2016)
  .MonthsSelects([11, 12], function() {
    // Monday and Friday
    st.on()
      .Selects(['Mon', 'Fri'], function() {
        // Between 9 am to 17 pm
        st.at()
          .HoursBetween(9, 17, function() {
            // callback
            console.log("hello world!");
          }); // ! at().HoursBetween()

      }); // ! on().Selects()

  }); // ! in().Year.MonthsBetween()

Installing

Using npm:

npm install self-timer --save

Using yarn:

yarn add self-timer

Using CDN:


<!-- callback  -->
<script src="https://unpkg.com/self-timer/dist/selftimer.min.js"></script>

<!-- promise  -->
<script src="https://unpkg.com/self-timer/dist/selftimer-promise.min.js"></script>

<!-- promise but including polyfill  -->
<script src="https://unpkg.com/self-timer/dist/selftimer-promise-polyfill.min.js"></script>

Available Methods

.on( )

  • Sunday(), Monday(), Tuesday(), Wednesday(), Thursday(), Friday() Saturday()
  • Weekday(), Weekend(), Selects()
  • Annual(), DatesBetween(), DatesContain()

.at( )

  • Between(), Unless()
  • Min(), MinBetween(), MinSelects()
  • Hour(), HoursBetween(), HourSelects()

.in( )

( supported methods-chaining on selftimer.js )

  • Day(), Days(), DaysBetween()
  • Month(), MonthsBetween()
  • Year()

.is()

  • True(), False()
  • Language(), Lang()
  • LanguageSelects(), LangSelects()
  • LanguageExcepts(), LangExcepts()
  • Mobile

.timer()

  • After()

.check() (* only available for callback )

  • With()
  • Done()

Basic Usage

self-timer.js have 2 types and 3 diffrents of files. You may choose them in right scene.

  • callback style [ selftimer.js ( .min.js ) ]
  • promise style [ selftimer-promise.js ( .min.js ) ]
  • promise style with Polyfill [ selftimer-promise-polyfill.js ( .min.js ) ]

Note: selftimer-promise-polyfill is including taylorhakes/promise-polyfill. very thanks!

Callback

Web-Browser

<!-- callback -->
<script src="./self-timer/dist/selftimer.min.js"></script>

<script>
var st = new SelfTimer(new Date());

// run on Weekend ( * Saturday and Sunday )
st.on()
  .Weekend(function(){
    alert("it's Weekend.");
  });
</script>

ES6 style & CommonJS

/* callback */
import SelfTimer from 'self-timer';

/* CommonJS */
// const SelfTimer = require('self-timer');

const st = new SelfTimer(new Date());

st.on()
  .Sunday(() => {
    console.log('run on Sunday!');
  });

Promise

Web-Browser

<!-- Promise ( Browser ) -->
<script src="./self-timer/dist/selftimer-promise-polyfill.min.js"></script>
<!-- <script src="./self-timer/dist/selftimer-promise.min.js"></script> -->

<script>
var st = new SelfTimer(new Date());

// run on Weekend ( * Saturday and Sunday )
st.on()
  .Weekend()
    .then(function() {
      alert("it's Weekend.");
    });

// use 'catch' method
st.on(true)
  .Weekend()
    .then(function() {
        alert("it's weekend.")
    })
    .catch(function(){
        alert("it's not weekend!")
    });

</script>

ES6 && CommonJS

/* Promise ( Babel OR Webpack ) */
import SelfTimer from 'self-timer/dist/selftimer-promise-polyfill.min';

/* CommonJS */
// const SelfTimer = require('self-timer/dist/selftimer-promise.min');

// if you use babel-polyfill
// import SelfTimer from 'self-timer/dist/selftimer-promise.min';

const st = new SelfTimer(new Date());

st.on()
  .Sunday()
    .then(() => {
      console.log('run on Sunday!');
    });

// use 'catch' method
st.on(true)
  .Sunday()
    .then(() => {
      console.log("run on Sunday!");
    })
    .catch(() => {
      console.log("run on if not Sunday!");
    })

License

MIT

FAQs

Package last updated on 14 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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