/seqfx

LordSequoia's Reactive Utilities

Primary LanguageTypeScriptMIT LicenseMIT

seqfx

GitHub Issues GitHub Pull Requests MIT License Donate via PayPal Become a Patron!

LordSequoia's reactive utilities.

Installation

yarn init -y
yarn add seqfx

Usage

import {File, useStorage} from 'seqfx';

const {seen, when} = useStorage('.')

const textFileSeen = when(seen, '**/*.txt')

textFileSeen.watch((file: File) => console.log(`seen text file: ${file.path}`))
import {File, WithData, useStorage} from 'seqfx';

const {seen, when, $read} = useStorage('.')

when(seen, '**/*.txt')
    .then((file: File) => $read(file.path))
    .then((file: WithData<File>) => console.log(`text file ${file.path} contents: ${file.data.length}`))
import {useStorage} from 'seqfx';

const {$filter} = useStorage('.')
const $textFiles = $filter(file => file.path.indexOf('.txt') > -1)

$textFiles.watch(state => console.log(`storage has ${$textFiles.getState().length} text files`))

Testing

yarn test

Deployment

yarn deploy

Contributing

To get started...

  1. 🍴 Fork this repo
  2. 🔨 View the contributing guidelines at CONTRIBUTING.md
  3. 👥 Add yourself as a contributor under the credits section
  4. 🔧 Open a new pull request
  5. 🎉 Get your pull request approved - success!

Or just create an issue - any little bit of help counts! 😊

Code of Conduct

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

More details can be found at this project's code of conduct.

Credits