{"version":3,"names":["Favorites","__SystemJSRewritingHack","MAIN_DIRECTORY","MATCH_MAIN_DIRECTORY","STORAGE_KEY","toFullURL","url","URL","toString","removeMainDirectory","fullURL","replace","_export","setters","_srcExternalFocalStorageJs","focalStorage","default","execute","_recorder_","_src_client_favorites_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","lively4url","RegExp","urls","getItem","fullURLs","map","relativeURLs","setItem","has","includes","add","newFullURL","Set","Array","from","remove","delete","toggle"],"sources":["favorites.js"],"sourcesContent":["import focalStorage from \"src/external/focalStorage.js\"\n\nconst MAIN_DIRECTORY = lively4url + '/';\nconst MATCH_MAIN_DIRECTORY = new RegExp('^' + MAIN_DIRECTORY, 'i');\nconst STORAGE_KEY = 'favorite-files';\n\nfunction toFullURL(url) {\n  return new URL(url, MAIN_DIRECTORY).toString();\n}\n\nfunction removeMainDirectory(fullURL) {\n  return fullURL.replace(MATCH_MAIN_DIRECTORY, '');\n}\n\nexport default class Favorites {\n  static async get() {\n    const urls = await focalStorage.getItem(STORAGE_KEY) || [];\n    const fullURLs = urls.map(toFullURL);\n    return fullURLs;\n  }\n\n  static async set(fullURLs) {\n    const relativeURLs = fullURLs.map(removeMainDirectory);\n    return focalStorage.setItem(STORAGE_KEY, relativeURLs);\n  }\n  \n  static async has(fullURL) {\n    return (await this.get()).includes(fullURL);\n  }\n\n  static async add(newFullURL) {\n    const fullURLs = new Set(await this.get());\n    fullURLs.add(newFullURL)\n    return this.set(Array.from(fullURLs));\n  }\n\n  static async remove(fullURL) {\n    const fullURLs = new Set(await this.get());\n    fullURLs.delete(fullURL)\n    return this.set(Array.from(fullURLs));\n  }\n  \n  static async toggle(fullURL) {\n    if(await this.has(fullURL)) {\n      await this.remove(fullURL);\n    } else {\n      await this.add(fullURL);\n    }\n  }\n}\n"],"mappings":"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"}