GitHub - otsobide/deepfinder.js: 🔎 Search attributes easily within structures of type dictionary, list and embedded substructures with simple format 'dict.users.0.name'. · GitHub
Skip to content

About

🔎 Search attributes easily within structures of type dictionary, list and embedded substructures with simple format 'dict.users.0.name'.

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Repository files navigation

Deepfinder

GitHub npm npm GA

Search attributes easily within structures of type dictionary, list and embedded substructures with simple format 'dict.users.0.name'.

Getting Started

Installation

  npm install deepfinder

Usage

Basic sample

  const { deepFind } = require('deepfinder')
  const user = {
    name: 'ash',
    links: {
        pokehub: '@ash',
    },
  }
  console.log(deepFind(user, 'links.pokehub'))
  // output: '@ash'

List sample

  const { deepFind } = require('deepfinder')
  const user = {
    name: 'ash',
    pokemons: [{
        name: 'pikachu',
    },{
        name: 'charmander',
    }],
  }
  console.log(deepFind(user, 'pokemons.0.name'))
  // output: 'pikachu'

List all result sample

  const { deepFind } = require('deepfinder')
  const user = {
    name: 'ash',
    pokemons: [{
        name: 'pikachu',
    },{
        name: 'charmander',
    }],
  }
  console.log(deepFind(user, 'pokemons.*.name'))
  // output: ['pikachu', 'charmander']

First not null path in list

  const { deepFind } = require('deepfinder')
  const user = {
    name: 'ash',
    pokemons: [{
        name: 'pikachu',
    },{
        name: 'charmander',
        ball: 'superball'
    }],
  }
  console.log(deepFind(user, 'pokemons.?.ball'))
  // output: 'superball'

Use as js object native function

Disclaimer: use this useful, optional and dangerous practice at your own risk.

  const DeepFinder = require('deepfinder')
  DeepFinder.nativify()

  const pokemon = { name: 'mew' }
  console.log(pokemon.deepFind('name'))
 
  // output: 'mew'

About

🔎 Search attributes easily within structures of type dictionary, list and embedded substructures with simple format 'dict.users.0.name'.

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages