Skip to content

kythonlk/local-storage-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

LocalStorageTable

How to install

npm i localstorageclient

Overview

LocalStorageTable is a TypeScript class for managing local storage tables with CRUD operations and synchronization with remote APIs. This document provides examples of how to use each method and option.

1. Basic Operations

Initial Setup

Create an instance of LocalStorageTable:

const tableName = 'myTable';
const storageTable = new LocalStorageTable<MyDataType>(tableName);

Replace MyDataType with your specific data type.

Insert Data

const newItem = { name: 'John Doe', age: 30 };
const insertedItem = storageTable.insert(newItem);
console.log('Inserted Item:', insertedItem);

Select Data

const query = { name: 'John Doe' };
const selectedItems = storageTable.select(query);
console.log('Selected Items:', selectedItems);

Update Data

const query = { name: 'John Doe' };
const updates = { age: 31 };
const updatedItems = storageTable.update(query, updates);
console.log('Updated Items:', updatedItems);

Delete Data

const query = { name: 'John Doe' };
const deletedCount = storageTable.delete(query);
console.log('Number of Deleted Items:', deletedCount);

Clear Data

storageTable.clear();
console.log('Table Cleared');

2. Synchronization with API

Fetch Data from API

Fetch data from an API and store it in a local storage table periodically:

const apiUrl = 'https://api.example.com/data';
const timeInterval = 3600000; // 1 hour
const dataTableName = 'fetchedData';
const headers = { 'Authorization': 'Bearer token' };

storageTable.fetchData(apiUrl, timeInterval, dataTableName, headers)
  .then(() => console.log('Data fetch and sync started'))
  .catch(error => console.error('Error fetching data:', error));

Synchronize Data with API using POST

Synchronize local storage table data with a remote API using POST requests periodically:

const postApiUrl = 'https://api.example.com/data';
const postTableName = 'localTable';
const postInterval = 3600000; // 1 hour
const postHeaders = { 'Authorization': 'Bearer token' };

storageTable.syncPost(postApiUrl, postTableName, postInterval, postHeaders)
  .then(() => console.log('POST synchronization started'))
  .catch(error => console.error('Error synchronizing data with POST:', error));

Notes

  • Ensure the API URLs and headers match your specific requirements.
  • Adjust the time intervals as needed for your use case.
  • Handle errors appropriately based on your application's needs.

Feel free to modify and adapt these examples to fit your specific implementation and use cases.