Dotfast
is a function that allows you to enter an object, by means of points, and very easily, and is compatible with typescript
First we will have to install, in order to use this wonderful package.
# Using npm
npm install --save dotfast
# Using yarn
yarn add dotfast
First we import the function, as follows, You can call the function as d
or also as dotfast
// For Typescript
import dotfast from 'dotfast';
// Or
import { d } from 'dotfast';
// For Javascript
const dotfast = require('dotfast');
// or
const { d } = require('dotfast');
- First we create an object with data, for this example !
const data = {
app: {
name: 'Dotfast',
port: 8080,
db: {
dialect: 'mysql',
localhost: 'localhost',
username: 'root',
password: '',
port: 3306,
tables: [
{
name: 'first_table',
},
{
name: 'second_table',
},
],
},
},
};
d(data, 'app.db.tables[0].name');
// => first_table
d(data, 'app.port');
//=> 8080
d(data, 'app.url');
//=> undefined
// Default option
d(data, 'app.url', 'http://website.com');
//=> http://website.com
dotfast
also allows to return several selections, within an array
d(data, ['app.port', 'app.db.port', 'app.name', 'app.db.tables[0]']);
//=> [8080, 3306, "Application", {name: "first_table"}]
- Let's try ES6+ or typescript
const [appPort, dbPort, appName, firstTable] = d(data, [
'app.port',
'app.db.port',
'app.name',
'app.db.tables[0]',
]);
/**
* appPort => 8080
* dbPort => 3306
* appName => "Application"
* firstTable => {name: "first_table"}
* */
dotfast
also returns as an object !
d(data, {
appPort: 'app.port',
dbPort: "app.db.port",
appName: 'app.name',
secondTable: 'app.db.tables[1]',
});
/**
* {
* appPort: 8080,
* dbPort: 3306,
* appName: "Application",
* secondTable: {name: "secondTable"}
* }
* *
- Let's try ES6+ or typescript
const { appPort, dbPort, appName } = d(data, {
appPort: 'app.port',
dbPort: 'app.db.port',
appName: 'app.name',
secondTable: 'app.db.tables[1]',
});
/**
* appPort => 8080
* dbPort => 3306
* appName => "Application",
* secondTable => {name: "secondTable"}
* */
dotfast
is an open source project licensed by MIT. You can grow thanks to the sponsors and the support of the amazing sponsors. If you want to join them, contact me here.
- Github @yonicalsin
- Twitter @yonicalsin
- Instagram @yoni_calsin
- Medium @yonicalsin
- Dev @yonicalsin
Thanks to the wonderful people who collaborate with me !
dotfast
under License MIT.