yt-quota-manager

1.0.2 • Public • Published

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");

Package Sidebar

Install

npm i yt-quota-manager

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

26.5 kB

Total Files

4

Last publish

Collaborators

  • arnavkr