Skip to content

Instantly share code, notes, and snippets.

@sunsetsonwheels
Created October 3, 2021 15:52
Show Gist options
  • Save sunsetsonwheels/4a0baac8c4d5c19c70c73fc786b9bca9 to your computer and use it in GitHub Desktop.
Save sunsetsonwheels/4a0baac8c4d5c19c70c73fc786b9bca9 to your computer and use it in GitHub Desktop.
Scriptable iCloud Data
const fileManager = FileManager.iCloud();
const dataDirectoryPath = fileManager.joinPath(fileManager.documentsDirectory(), "data");
if (!fileManager.isDirectory(dataDirectoryPath)) fileManager.createDirectory(dataDirectoryPath);
function concatPath(fileName) {
return fileManager.joinPath(dataDirectoryPath, fileName);
}
module.exports.doesFileExist = (fileName) => {
return fileManager.fileExists(concatPath(fileName));
}
module.exports.writeTextFile = (fileName, text) => {
fileManager.writeString(concatPath(fileName), text);
}
module.exports.readTextFile = (fileName) => {
const filePath = concatPath(fileName);
fileManager.downloadFileFromiCloud(filePath);
return fileManager.readString(filePath);
}
module.exports.writeJSONFile = (fileName, dict) => {
module.exports.writeTextFile(fileName, JSON.stringify(dict));
}
module.exports.readJSONFile = (fileName) => {
return JSON.parse(module.exports.readTextFile(fileName));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment