Files
chores.win/src/stores/twiliostore.js
2020-12-20 22:05:46 +01:00

164 lines
4.6 KiB
JavaScript

// var SyncClient = require('twilio-sync');
// import SyncClient from 'twilio-sync';
import { writable } from "svelte/store";
// console.log('store', store);
let syncClient, getList, getItems, pushItem, removeItem, updateItem;
// const setupTwilioClient = async () => {
// try {
// const response = await fetch("http://localhost:5001/token");
// const responseJson = await response.json();
// const token = responseJson.token;
// syncClient = new SyncClient(token, { logLevel: "info" });
// } catch (e) {
// console.log(e);
// }
// syncClient.on("connectionStateChanged", (state) => {
// if (state != "connected") {
// console.log(`Sync is not live (websocket connection ${state})`);
// } else {
// console.log("Sync is live!");
// }
// });
// getList = async (name) => syncClient.list(name);
// getItems = async (listName, from, pageSize, order) => {
// const list = await getList(listName);
// const items = await list.getItems({ from, pageSize, order });
// return items.items.map((item) => item.data);
// };
// pushItem = async (listName, item) => {
// const list = await getList(listName);
// try {
// const result = await list.push(item);
// return result.data;
// } catch (e) {
// console.log(e);
// }
// };
// removeItem = async (listName, index) => {
// const list = await getList(listName);
// try {
// await list.remove(index);
// } catch (e) {
// console.log(e);
// }
// };
// updateItem = async (listName, index, value) => {
// const list = await getList(listName);
// try {
// await list.set(index, value);
// } catch (e) {
// console.log(e);
// }
// };
const createSyncStore = async (listName) => {
// try {
// const response = await fetch("http://localhost:5001/token");
// const responseJson = await response.json();
// const token = responseJson.token;
// syncClient = new SyncClient(token, { logLevel: "info" });
// } catch (e) {
// console.log(e);
// }
// syncClient.on("connectionStateChanged", (state) => {
// if (state != "connected") {
// console.log(`Sync is not live (websocket connection ${state})`);
// } else {
// console.log("Sync is live!");
// }
// });
// getList = async (name) => syncClient.list(name);
// getItems = async (listName, from, pageSize, order) => {
// const list = await getList(listName);
// const items = await list.getItems({ from, pageSize, order });
// return items.items.map((item) => item.data);
// };
// pushItem = async (listName, item) => {
// const list = await getList(listName);
// try {
// const result = await list.push(item);
// return result.data;
// } catch (e) {
// console.log(e);
// }
// };
// removeItem = async (listName, index) => {
// const list = await getList(listName);
// try {
// await list.remove(index);
// } catch (e) {
// console.log(e);
// }
// };
// updateItem = async (listName, index, value) => {
// const list = await getList(listName);
// try {
// await list.set(index, value);
// } catch (e) {
// console.log(e);
// }
// };
const { set, subscribe, update } = writable([]);
// getItems(listName).then((items) => set(items));
// getList(listName).then((choreList) => {
// choreList.on("itemAdded", (item) => {
// update((existing) => existing.concat(item.item));
// });
// choreList.on("itemRemoved", (args) => {
// update((existing) =>
// existing.filter((item) => item.index !== args.index)
// );
// });
// choreList.on("itemUpdated", (args) => {
// update((existing) =>
// existing.map((item) => {
// if (item.index === args.item.index) {
// item.value = args.item.value;
// }
// })
// );
// });
// });
// return {
// subscribe,
// add: (chore) => pushItem(listName, { chore }),
// delete: (index) => removeItem(listName, index),
// update: (index, value) => updateItem(listName, index, value),
// };
return {
subscribe,
add: () => set({})
}
};
export const chores = createSyncStore("chores");
// };
// setupTwilioClient();