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

yt-quota-manager

v1.0.2

Published

Quota Manager for youtube API.

Downloads

4

Readme

QuotaManager

Example

const QuotaManager = require("QuotaManager");
const Quota = new QuotaManager(10000, "Quotausage.json");
Quota.use("videos.insert");

QuotaManager~QuotaManager

Kind: inner class of QuotaManager

new QuotaManager(quota, fileName)

| Param | Type | Default | | --- | --- | --- | | quota | number | 10000 | | fileName | string | "QuotaUsage.json" |

quotaManager.fileName

Represents the File destination where Quota usage stats will be stored

Kind: instance property of QuotaManager

quotaManager.quota

Total Quota Available

Kind: instance property of QuotaManager

quotaManager.left

Total Quota Left

Kind: instance property of QuotaManager

quotaManager.initTime

The Time when quota was created

Kind: instance property of QuotaManager

quotaManager.clock

Current Running clock Time in miliseconds

Kind: instance property of QuotaManager

quotaManager.clockInterval

The setInterval thats runs evry half a second( 50ms ) and updates the time

Kind: instance property of QuotaManager

quotaManager.usage

Quota Usage Data

Kind: instance property of QuotaManager

quotaManager.local

A copy of Local JSON Data

Kind: instance property of QuotaManager

quotaManager.usageValues

The Usage Values of how much quota it will consume per trype of request

Kind: instance property of QuotaManager

quotaManager.use() ⇒ boolean

Use the use() method to log the consumption of quota

Kind: instance method of QuotaManager
Returns: boolean - whether the quota is consumed or not

| Param | Type | | --- | --- | | "{requestName}.{MethodName}" | string |

Example

new QuotaManager(10000, "QuotaUsage.json").use("videos.insert");
new QuotaManager(10000, "QuotaUsage.json").use("thumbnails.set");
new QuotaManager(10000, "QuotaUsage.json").use("watermarks.set");

quotaManager.canRun() ⇒ boolean

Checks whether you can perform a specific api action using your current quota

Kind: instance method of QuotaManager
Returns: boolean - whether you can run the action or not

| Param | Type | | --- | --- | | "{requestName}.{MethodName}" | string |

Example

new QuotaManager(10000, "QuotaUsage.json").canRun("videos.insert");

Example

new QuotaManager(10000, "QuotaUsage.json").canRun("thumbnails.set");

quotaManager.checkQuota()

Internal Method that checks for Quota Renewablity i.e whether its next day

Kind: instance method of QuotaManager
Example

new QuotaManager(10000, "QuotaUsage.json").checkQuota;

quotaManager.reset()

Resets the Quota back to default values and clears the usage

Kind: instance method of QuotaManager
Example

new QuotaManager(10000, "QuotaUsage.json").reset();

quotaManager.localSync()

Syncs the Quota Usage data to a local json file

Kind: instance method of QuotaManager
Example

new QuotaManager(10000, "QuotaUsage.json").localSync();

QuotaManager~{function} localSync - Syncs the local copy of usage with current usage()

Manages and keep track of Data

Kind: inner method of QuotaManager
Author: Arnav Kumar
Properties

| Name | Type | Description | | --- | --- | --- | | fileName | string | Name of the file to be used for local storage | | quota | number | Full Quota | | left | number | Current Left Quota | | initTime | number | The Time at whick quota was created (in miliseconds) | | clock | number | Current Time (in miliseconds) | | usage | object | Usage of the Quota | | local | object | Local copy of usage | | usageValues | object | Object containing the values of quota consumed each type of operation |

Example

const Quota = new QuotaManager();
Quota.use("videos.insert");
Quota.use("videos.insert");
Quota.use("videos.update");
Quota.use("videos.delete");
Quota.use("watermarks.set");
Quota.use("videos.insert");
Quota.reset();
Quota.use("videos.insert");