0.1.0 • Published 4 years ago

completer-branch v0.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

Search all properties on the occurrence of the word (Completer). Поиск всех свойств по вхождению слова (Автодополнение).

Простая реализация объекта с древовидным упорядочиванием данных, где в качестве ключа поиска используется вхождение слова. Может использоваться как для автодополнение, так и для поиска любых объектов хранящихся в словаре. Поиск не учитывает регистр.

./demo/demo.html

npm.io

Установка

npm i completer-branch

Использование

import CompleterBranch from 'completer-branch'
const cb = new CompleterBranch(['word', 'wrapper', 'writing'])

// init
w ->
    o -> r -> ...
    r -> 
        a -> p -> ...
        i -> t -> ...

cb.find('wr')
// Результат поиска не ограничен лимитом
//   return -> все совпадения в начале слова [wr]apper, [wr]iting
// ['wrapper', 'writing']

В качестве словаря можно добавить объекты, где обязательным свойством является w:string:

const dictionary = [{w:'wrapper', d:data}, {w:'writing', d:data}]
const cb = new CompleterBranch(dictionary) 
cb.find('wr')
// [{w:'wrapper', d:data}, {w:'writing', d:data}]

API

CompleterBranch.constructor(dictionary)

  • dictionary {string|object|array}

string или object = один элемент словаря.
Объект использует в качестве ключа свойство w.
Если это массив - элемент должен быть string или object.

Пример:

`object` -> `{w:'word', id:any, data:any, ...}`
// в массиве можно мешать типы
`array` -> `['word', 'wrapper', {w:'word', ...}]`

CompleterBranch.add(dictionary)

См. constructor

CompleterBranch.find(startWord)

  • startWord {string}
  • Return: {array|null}