Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/manufosela/firebase-crud
firebase-crud web-component with Lit
https://github.com/manufosela/firebase-crud
Last synced: 4 days ago
JSON representation
firebase-crud web-component with Lit
- Host: GitHub
- URL: https://github.com/manufosela/firebase-crud
- Owner: manufosela
- License: mit
- Created: 2021-12-19T21:12:42.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T14:49:30.000Z (8 months ago)
- Last Synced: 2024-11-10T19:22:57.068Z (2 months ago)
- Language: JavaScript
- Size: 643 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# \
This webcomponent follows the [open-wc](https://github.com/open-wc/open-wc) recommendation.
## Installation
```bash
npm i firebase-crud
```## Usage
```html
import 'firebase-crud/firebase-crud.js';
```
## Methods
- **listenData(path, callbackExists, [callbackNotExists])**: Listen to firebase data changes from path. When changes are made, callbackExists is called. When data is deleted, callbackNotExists is called.
- **deleteData(path, [callbackTrue])**: Delete data from firebase path. When data is deleted, callbackTrue is called.
- **insertData(jsonData, path, [callbackTrue])**: Insert jsonData to firebase path. When data is inserted, callbackTrue is called.
- **updateData(jsonData, path, [callbackTrue])**: Update jsonData to firebase path. When data is updated, callbackTrue is called.
- **getData(path, callbackTrue)**: Get data from firebase path. When data is retrieved, callbackTrue is called.
- \*\*getNewId(path): Get a new id from firebase path.
- **uploadFSFile(blob, pathAndFileName)**: Upload blob to firebase pathAndFileName.
- **downloadFSFile(path)**: Return a promise to retrieve the url file from firebase path.
- **getDataFilterBy(path, key, value, [callbackTrue] )**: Search/Filter a value (string or array) into path with key in a document collection
- **searchValue(path, value, [callbackTrue])**: Search/Filter a value (string or array) into path from document array.## Linting and formatting
To scan the project for linting and formatting errors, run
```bash
npm run lint
```To automatically fix linting and formatting errors, run
```bash
npm run format
```## Testing with Web Test Runner
To execute a single test run:
```bash
npm run test
```To run the tests in interactive watch mode run:
```bash
npm run test:watch
```## Demoing with Storybook
To run a local instance of Storybook for your component, run
```bash
npm run storybook
```To build a production version of Storybook, run
```bash
npm run storybook:build
```## Tooling configs
For most of the tools, the configuration is in the `package.json` to minimize the amount of files in your project.
If you customize the configuration a lot, you can consider moving them to individual files.
## Local Demo with `web-dev-server`
```bash
npm start
```To run a local development server that serves the basic demo located in `demo/index.html`