Skip to content

Dotfast helps to play with the keys nested in the objects, in a very easy way, and with very little code !

Notifications You must be signed in to change notification settings

yonycalsin/dotfast

Repository files navigation

dotfast

Dotfast is a function that allows you to enter an object, by means of points, and very easily, and is compatible with typescript

NPM Version Package License NPM Downloads Coverage

Installation

First we will have to install, in order to use this wonderful package.

# Using npm
npm install --save dotfast

# Using yarn
yarn add dotfast

Usage

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

Array return

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"}
 * */

Object return

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"}
 * */

Support for

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.

Stay in touch

Contributors

Thanks to the wonderful people who collaborate with me !

License

dotfast under License MIT.

About

Dotfast helps to play with the keys nested in the objects, in a very easy way, and with very little code !

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published