1.2.0 • Published 3 years ago

temp-object v1.2.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

All dependencies Reported vulnerabilities Commits NPM-version Total downloads Developed by\ Publish size Install size Minified size Minified + gzipped size

temp-object@1.2.0

Helps you to automatically clean unused (only) values from JavaScript object in amount of time.

Installation

temp-object is available via NPM:

$ npm i temp-object@1.2.0

Usage

Synopsis

ParameterTypeNameRequiredDefault valueDescription
1stnumberTTLfalse86400000 (1 day)Time to live (in milliseconds)
2ndobjectInitial objectfalse{}Object with own initial properties

Example

import TempObject from 'temp-object';

const wait = (ms: number) => new Promise<void>(res => setTimeout(res, ms));

interface MyObj {
  firstKey: number;
  secondKey: number;
}

(async () => {
  const obj = new TempObject(1000, { firstKey: 1 } as MyObj);  // TTL 1 second
  obj.secondKey = 2;
  console.log(obj);             // { firstKey: 1, secondKey: 2 }

  for(let i = 0; i < 3; i++) {
    await wait(800);
    console.log(obj.firstKey);  // Three times: 1
  }
  console.log(obj);             // { firstKey: 1 }  // `secondKey` was expired

  await wait(1000);
  console.log(obj.firstKey);    // undefined
  console.log(obj);             // {}
})();

Testing

Manually tested by the developer during development. Automated tests are not provided.


Your improve suggestions and bug reports are welcome any time.