catalogger

0.4.1 • Public • Published

Catalogger.JS v0.3.2

Library for filtering and sorting lists of objects.

Installing

npm install catalogger --save

Examples

Example 1

import catalog from 'catalogger'
import { people } from './lists.json'

const personCatalog = catalog(items)

const searchPeople = function (query) {
    return personCatalog.resultsFor(query)
}

Example 2

import catalog from 'catalogger'
import { places } from './lists.json'

const locationCatalog = catalog( places, { using: 'address' })

const searchPlaces = function (query) {
    return locationCatalog.resultsFor(query)
}

Example 3

import { catalog, replacements } from 'catalogger'
import { things } from './lists.json'

const thingCatalog = catalog(
    things,
    {
        using: ['name', 'desc', 'tags'],
        relevance: { threshold: 0.001 },
        results: { limit: 100 },
        sort: { enabled: false, fields: ['name'] },
        string: {
            replacements: [
                ...replacements,
                { exp: /\b(?:color|clr)\b/g, val: 'colour' }
            ]
        }
    }
)

const searchThings = function (query) {
    return thingCatalog.resultsFor(query)
}

const toggleSorting = function () {
    thingCatalog.config = {
        sort: { enabled: !thingCatalog.config.sort.enabled }
    }
}

Example 4

import catalog from 'catalogger'
import { people, places, things } from './lists.json'

const listCatalog = catalog()

const searchPeople = function (query) {
    listCatalog.documents = people
    return listCatalog.resultsFor(query)
}

const searchPlaces = function (query) {
    listCatalog.documents = places
    listCatalog.fields = 'address'
    return listCatalog.resultsFor(query)
}

const searchThings = function (query) {
    listCatalog.documents = things
    listCatalog.fields = ['name', 'desc', 'tags']
    return thingCatalog.resultsFor(query)
}

Dependents (0)

Package Sidebar

Install

npm i catalogger

Weekly Downloads

2

Version

0.4.1

License

MIT

Unpacked Size

103 kB

Total Files

13

Last publish

Collaborators

  • noolan