docs: add some more jsdoc
This commit is contained in:
parent
55a73c3d0a
commit
36bb9c6a87
3 changed files with 64 additions and 2 deletions
12
cli.ts
12
cli.ts
|
@ -1,3 +1,15 @@
|
|||
/**
|
||||
* Command line interface for fsdb.
|
||||
|
||||
* @example
|
||||
*
|
||||
* ```
|
||||
* > fsdb items create '{ "id": "able-fish-door-tall-wait-dark-dark-nose-tall-very", "value": "test" }'
|
||||
* > fsdb items get able-fish-door-tall-wait-dark-dark-nose-tall-very
|
||||
* ```
|
||||
* @module
|
||||
*/
|
||||
|
||||
import { parseArgs } from '@std/cli/parse-args';
|
||||
import meta from './deno.json' with { type: 'json' };
|
||||
import * as fsdb from './fsdb.ts';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@andyburke/fsdb",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.2",
|
||||
"license": "MIT",
|
||||
"exports": {
|
||||
".": "./fsdb.ts",
|
||||
|
|
50
fsdb.ts
50
fsdb.ts
|
@ -1,5 +1,55 @@
|
|||
/**
|
||||
* We just write to the disk to reduce complexity.
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* import * as fsdb from '@andyburke/fsdb';
|
||||
* import { FSDB_INDEXER_SYMLINKS } from '@andyburke/fsdb/indexers';
|
||||
* import { by_character, by_email, by_phone } from '@andyburke/fsdb/organizers';
|
||||
*
|
||||
* type ITEM = {
|
||||
* id: string;
|
||||
* email: string;
|
||||
* phone: string;
|
||||
* value: string;
|
||||
* };
|
||||
*
|
||||
* const item_collection: fsdb.FSDB_COLLECTION<ITEM> = new fsdb.FSDB_COLLECTION<ITEM>({
|
||||
* name: 'test-03-items',
|
||||
* root: get_data_dir() + '/test-03-items',
|
||||
* indexers: {
|
||||
* email: new FSDB_INDEXER_SYMLINKS<ITEM>({
|
||||
* name: 'email',
|
||||
* field: 'email',
|
||||
* organize: by_email
|
||||
* }),
|
||||
* phone: new FSDB_INDEXER_SYMLINKS<ITEM>({
|
||||
* name: 'phone',
|
||||
* field: 'phone',
|
||||
* organize: by_phone
|
||||
* }),
|
||||
* value: new FSDB_INDEXER_SYMLINKS<ITEM>({
|
||||
* name: 'value',
|
||||
* organize: by_character,
|
||||
* get_values_to_index: (item: ITEM) => item.value.split(/\W/).filter((word) => word.length > 3),
|
||||
* to_many: true
|
||||
* })
|
||||
* }
|
||||
* });
|
||||
*
|
||||
* const item = {
|
||||
* id: lurid(),
|
||||
* email: random_email_address(),
|
||||
* phone: random_phone_number(),
|
||||
* value: random_sentence()
|
||||
* };
|
||||
*
|
||||
* const stored_item: ITEM = await item_collection.create(item);
|
||||
* const fetched_by_email: ITEM = (await item_collection.find({ email: item.email })).map((entry) => entry.load()).shift();
|
||||
* const fetched_by_phone: ITEM = (await item_collection.find({ phone: item.phone })).map((entry) => entry.load()).shift();
|
||||
* const fetched_by_word_in_value: ITEM = (await item_collection.find({ value: word })).map((entry) => entry.load()).shift();
|
||||
* ```
|
||||
*
|
||||
* @module
|
||||
*/
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue