2023-05-18 19:45:49 -07:00
|
|
|
import { path } from "../deps.ts";
|
|
|
|
import initialCart from "../data/initialCart.json" assert { type: "json" };
|
2023-05-05 14:59:52 -07:00
|
|
|
import { Sheet } from "./sheet.ts";
|
2023-05-02 17:06:54 -07:00
|
|
|
|
2023-05-14 15:37:12 -07:00
|
|
|
const extension = ".faux";
|
|
|
|
|
2023-05-14 13:54:52 -07:00
|
|
|
let staticCart = initialCart as Array<Sheet>;
|
|
|
|
let cart: Array<Sheet> = JSON.parse(JSON.stringify(staticCart));
|
2023-05-02 17:06:54 -07:00
|
|
|
|
2023-05-07 13:00:04 -07:00
|
|
|
const virtualPathToRealPath = (virtualFname: string) => {
|
2023-05-14 15:37:12 -07:00
|
|
|
const vfname = virtualFname + extension;
|
|
|
|
const realPath = path.join(".", "carts", ...vfname.split("/"));
|
2023-05-07 13:00:04 -07:00
|
|
|
return realPath;
|
|
|
|
}
|
|
|
|
|
2023-05-06 15:12:42 -07:00
|
|
|
export const saveCart = async (fname: string) => {
|
2023-05-14 15:37:12 -07:00
|
|
|
await Deno.writeTextFile(virtualPathToRealPath(fname), JSON.stringify(getCart()));
|
2023-05-06 15:12:42 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
export const loadCart = async (fname: string) => {
|
2023-05-14 15:37:12 -07:00
|
|
|
const json = await Deno.readTextFile(virtualPathToRealPath(fname));
|
2023-05-14 13:54:52 -07:00
|
|
|
staticCart = JSON.parse(json);
|
|
|
|
cart = JSON.parse(json);
|
2023-05-02 17:06:54 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
export const getCart = () => {
|
|
|
|
return cart;
|
|
|
|
}
|