@telemok/super-var

0.0.16 • Public • Published

super-var beta

https://www.npmjs.com/package/@telemok/super-var JS value with .set(), .get(), .assert(), and .addEventListener('change',(e)=>{}).

Features

  • Add event listener to instantly view variable changes.

Installation:

  1. Create your NodeJs, Browser or Webview app.
  2. import { SuperVar, SuperBoolean } from "@telemok/super-var"
  3. let superVar = new SuperVar();
  4. ...
  5. superVar.destroy();

Examples:

  1. Parsing students database
import { valda } from "@telemok/valda"
import { SuperVar } from "@telemok/super-var"

let temperatureCelsius = new SuperVar();
temperatureCelsius.whyNotValue = (value) => {return valda.numberMinMax.whyNot(value, -64, 128);}
temperatureCelsius.addEventListener('change', ()=>{
  let text = "???";
  if(!temperatureCelsius.isClear())
  	text = temperatureCelsius.get() + "&deg";
  document.getElementById("spanThemperature").innerText = text;
});
temperatureCelsius.addEventListener('change', ()=>{
  if(!temperatureCelsius.isClear())
  {
      let t = temperatureCelsius.get();
      if(t > 90)/*If temperature*/
          fetch(`https://api.telegram.org/${token}/sendMessage?chat_id=${chatId}&text=overheat_${t}`);
  	/* then send message to Telegram */	
  }
});

function end() {
  temperatureCelsius.destroy();//Will destroy all listeners
}

function receive(rawValue) {
  rawValue = valda.integerMinMax.assert(rawValue, 0, 1023);
  temperatureCelsius.set(rawValue / 16);//set data
}
  1. Assert and localStorage

Only for browser, localStorage don't work on Node.js, but window.localStorage can be installed for Node.js

import {nextUniqueVarName} from "@telemok/super-var"

let superVar = new SuperVar({
  assert: (value)=>{
  	if(value > 0.9)
  		throw new RangeError(`Test assert: ${value} > 0.9`);
  	return value;
  },
  localStorageKey: "example_localStorage_testSuperVar",
});
console.log("value get = ",superVar.toString());
superVar.set(Math.random());
console.log("value set = ",superVar.toString());

Readme

Keywords

Package Sidebar

Install

npm i @telemok/super-var

Weekly Downloads

3

Version

0.0.16

License

Apache-2.0

Unpacked Size

31.4 kB

Total Files

12

Last publish

Collaborators

  • telemok