Reorganize
This commit is contained in:
28
io/cart.ts
Normal file
28
io/cart.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { path } from "../deps.ts";
|
||||
import initialCart from "../data/initialCart.json" assert { type: "json" };
|
||||
import { Sheet } from "./sheet.ts";
|
||||
|
||||
const extension = ".faux";
|
||||
|
||||
let staticCart = initialCart as Array<Sheet>;
|
||||
let cart: Array<Sheet> = JSON.parse(JSON.stringify(staticCart));
|
||||
|
||||
const virtualPathToRealPath = (virtualFname: string) => {
|
||||
const vfname = virtualFname + extension;
|
||||
const realPath = path.join(".", "carts", ...vfname.split("/"));
|
||||
return realPath;
|
||||
}
|
||||
|
||||
export const saveCart = async (fname: string) => {
|
||||
await Deno.writeTextFile(virtualPathToRealPath(fname), JSON.stringify(getCart()));
|
||||
}
|
||||
|
||||
export const loadCart = async (fname: string) => {
|
||||
const json = await Deno.readTextFile(virtualPathToRealPath(fname));
|
||||
staticCart = JSON.parse(json);
|
||||
cart = JSON.parse(json);
|
||||
}
|
||||
|
||||
export const getCart = () => {
|
||||
return cart;
|
||||
}
|
||||
Reference in New Issue
Block a user