unsearch
v0.0.2
Published
Unsearch smart key:value scope all database search. Compatible with any database.
Downloads
81
Maintainers
Readme
unsearch
unsearch is a simple library designed to add flexible search functionality to your own APIs and databases.
Features
- Pluggable architecture
- Plugins
- [x] andScope / AND
- [x] orScope / OR
- [x] orderByScope / asc:xx, desc:xx asc:[xx, xx], desc:[xx, xx]
- [x] textScope / hello world
- [x] twoPointScope / xx:xx yy:yy xx:>yy xx:>=yy xx:<yy xx:<=yy xx:yy xx:yy and more
- [ ] limitScope
- [ ] offsetScope
- Plugins
- key:value scope search
- asc:key or desc:key sort search
- limit:count limit search (soon)
- offset:count offset search (soon)
- key:value OR key:value orScope search
- key:value AND key:value andScope search
Video
Installation
pnpm add unsearch
Usage
Search Text
Here is an example of a search text.
const example1 = 'name:john'
const example2 = 'test name:john'
const example3 = 'name:>john' // 'name:>=john' 'name:<john' 'name:<=john' 'name:<like>john' 'name:<ilike>john'
const example2 = 'name:john age:20'
const example3 = 'name:john age:20 OR name:doe age:30'
const example4 = 'name:john age:20 AND name:doe age:30'
const example5 = 'name:john asc:age'
const example6 = 'name:john desc:age'
const example8 = 'name:john AND email:[email protected] asc:age name:doe OR age:30'
const example7 = 'name:john asc:age limit:10' // soon
TODO
- [ ] Add limitScope
- [ ] Add offsetScope
- [ ] Usege examples
- [ ] Prisma
- [ ] TypeORM
- [ ] Sequelize
- [ ] Knex
- [ ] Postgres
- [ ] MySQL
- [ ] MongoDB
- [ ] SQLite
- [ ] MariaDB
- [ ] Add more tests
- [ ] Add more docs
Development
- To use this template, click the "Use this template" button above.
- Clone the repository to your local machine.
- Run
pnpm install
to install the dependencies. - Run
pnpm build
to build the bundle. - Run
pnpm start
to start the bundle. - Run
pnpm lint
to lint the code. (You can also runpnpm lint:fix
to fix the linting errors.) - Run
pnpm test
to run the tests. (You can also runpnpm test:watch
to run the tests in watch mode.) - Run
pnpm release
to bump the version. Terminal will ask you to select the version type. And then it will automatically commit and push the changes. GitHub Actions will automatically publish git tags. NPM local registry will automatically publish the package.
Sponsors
License
MIT License © 2024-PRESENT productdevbook