//--- Modules/Imports ---// import { Filesystem, Directory, Encoding } from '@capacitor/filesystem'; import { fs } from './constants'; //--- Set Up App Directory ---// const APP_DIRECTORY = Directory.Data; //--- Ensure Plugins Folder ---// const ensureStructure = new Promise(async (resolve, reject) => { try { await Filesystem.mkdir({ directory: APP_DIRECTORY, recursive: true, path: fs.plugins, }); } catch (e) { /* Exists */ } resolve(); }) const module = { //--- List Plugins ---// list: new Promise(async (resolve, reject) => { await ensureStructure(); const plugins = await Filesystem.readdir({ path: fs.plugins, directory: APP_DIRECTORY }).catch(err => { reject(err) }) resolve(plugins); }), async addPlugin(content) { await ensureStructure(); new Promise(async (resolve, reject) => { const fileName = require("./utils").getCpn(); // Im not sure what this is actually meant for but im using it as a random string generator console.log("Saving Plugin As"+ fileName) await Filesystem.writeFile({ path: fs.plugins+"/"+fileName+".js", directory: APP_DIRECTORY, data: content, encoding: Encoding.UTF8, }); }) } }; //--- Start ---// export default ({ app }, inject) => { inject("tppl", module); };