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

simcfg

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simcfg

A simple module for managing configuration files

  • 1.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Simple Config(simcfg)

A simple module for managing configuration files

[en|ru]

Install

npm i --save simcfg

You can install the yaml module, if you want to use YAML format files.

npm i --save yaml

Usage

New config

const config = new Config();//Empty config
const config = new Config({
	a:1
});// Config with a = 1

Reading the file.

const config:Config = await Config.parseFromFile("test.json"); // Promise
const config:Config = Config.parseFromFileSync("test.json");

config.parseFromFile("test.json"); // Promise
config.parseFromFileSync("test.json"); 

!!!WARNING!!! The next entry in the config will throw an error when reading the file, due to an attempt to overwrite the value of a.

{
	"a":1,
	"a.b":2
}
a: 1
a.b: 2

Getting values

If no value is found and no standard value is specified. the method will throw an error.

/*
@config
{
	"a":1,
	"c":{
		"e":false
	}
}
*/
config.get<number>("a"); // return 1
config.get<number>("b", 10); // return 10
config.get<string>("c.d", "defaultValue"); //return "defaultValue"
config.get<boolean>("c.e", false);//return false
config.get<number>("f");// throw Error
!!!WARNING!!!

With the following config entry:

{
	"a": 1,
	"a.b": 2
}
a: 1
a.b: 2

it is impossible to get the b field from a as from an object.

config.get("a.b"); //return 2
config.get("a"); //return 1
config.get("a").b // 1.b === undefined

Changing values

If the config is immutable, the method will throw an error.

const config = Config.parseFromFileSync("...");
config.set("a", 10); //Success

const config = Config.parseFromFileSync("...", true);
config.set("a", 10); //throw Error

Writing to a file

If the file is not specified, the config will be written to the file from which it was read.

const config = Config.parseFromFileSync("test.json");
config.set("a", 1);

config.writeFile("new-test.json");// The config is written to a new file "new-test.json"
config.WriteFile();// Config is written to the old file "test.json"

The file can also be written in another format

const config = Config.parseFromFileSync("test.json");
config.writeFile("new-test.yaml");// The config is written in YAML format
``

Keywords

FAQs

Package last updated on 22 Nov 2021

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