def open-db-in-memory [] { if ($env.NOTES_DB_PATH | path exists) { stor import --file-name ($env.NOTES_DB_PATH) } else { stor reset stor create -t "note" -c {created: datetime, text: str} stor export --file-name ($env.NOTES_DB_PATH) } } def save-db-to-file [] { rm $env.NOTES_DB_PATH stor export --file-name $env.NOTES_DB_PATH } export def add [text: string] { open-db-in-memory stor insert -t note -d { created: (date now), text: ($text) } save-db-to-file } export def browse [--before: datetime, --after: datetime] { open-db-in-memory let before_filter = if ($before != null) { $before } else { date now } let after_filter = if ($after != null) { $after } else { "0001-01-01" | into datetime } let notes = open $env.NOTES_DB_PATH | get note | where {|row| ($row.created | into datetime) < $before_filter and ($row.created | into datetime) > $after_filter } $notes }