{"version":3,"sources":["jsdelivr-header.js","/npm/firestore-db-manager@1.0.7/dist/index.js"],"names":[],"mappings":"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","file":"/npm/firestore-db-manager@1.0.7/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/firestore-db-manager@1.0.7/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\n/******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 915:\n/***/ ((__unused_webpack_module, exports) => {\n\n\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.default = {\r\n    settingsFile: \"backup-config.json\",\r\n    settings: {\r\n        backupFile: \"backup.json\",\r\n        keyFile: \"key.json\",\r\n        databaseURL: \"\",\r\n    }\r\n};\r\n\n\n/***/ }),\n\n/***/ 468:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst _ = __importStar(__webpack_require__(804));\r\nconst admin = __importStar(__webpack_require__(54));\r\nconst utility_1 = __webpack_require__(317);\r\nconst firestore_1 = __importDefault(__webpack_require__(234));\r\nconst fileOperations_1 = __webpack_require__(116);\r\nfunction normalizeField(value, db) {\r\n    if (value instanceof admin.firestore.Timestamp) {\r\n        return {\r\n            \"__datatype__\": \"timestamp\",\r\n            \"value\": { \"seconds\": value.seconds, \"nanoseconds\": value.nanoseconds }\r\n        };\r\n    }\r\n    else if (value instanceof admin.firestore.GeoPoint) {\r\n        return {\r\n            \"__datatype__\": \"geopoint\",\r\n            \"value\": { \"latitude\": value.latitude, \"longitude\": value.longitude }\r\n        };\r\n    }\r\n    else if (value instanceof admin.firestore.DocumentReference) {\r\n        return {\r\n            \"__datatype__\": \"documentRef\",\r\n            \"value\": value.path\r\n        };\r\n    }\r\n    else if (Array.isArray(value)) {\r\n        return value.map(subfield => normalizeField(subfield, db));\r\n    }\r\n    else if (typeof value === 'object' && value !== null) {\r\n        return saveFields(value, db);\r\n    }\r\n    return value;\r\n}\r\nfunction saveFields(fields, db) {\r\n    let result = {};\r\n    if (_.isEmpty(fields)) {\r\n    }\r\n    else {\r\n        for (let [key, value] of Object.entries(fields)) {\r\n            result[key] = normalizeField(value, db);\r\n        }\r\n    }\r\n    return result;\r\n}\r\nfunction saveDocument(document, db) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        let collections = yield saveCollections(document, db);\r\n        let fields = yield document.get();\r\n        let normalizedFields = saveFields(fields.data(), db);\r\n        return { [document.id]: { \"__fields__\": normalizedFields, \"__collections__\": collections } };\r\n    });\r\n}\r\nfunction saveCollection(collection, db) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        let documents = yield collection.listDocuments();\r\n        let result = {};\r\n        if (_.isEmpty(documents)) {\r\n        }\r\n        else {\r\n            let queries = [];\r\n            for (let document of documents) {\r\n                queries.push(yield saveDocument(document, db));\r\n            }\r\n            result = Object.assign({}, ...queries);\r\n        }\r\n        return { [collection.id]: result };\r\n    });\r\n}\r\nfunction saveCollections(currentRef, db) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        let collections = yield currentRef.listCollections();\r\n        let result = {};\r\n        if (_.isEmpty(collections)) {\r\n        }\r\n        else {\r\n            let queries = [];\r\n            for (let collection of collections) {\r\n                queries.push(yield saveCollection(collection, db));\r\n            }\r\n            result = Object.assign({}, ...queries);\r\n        }\r\n        return result;\r\n    });\r\n}\r\nfunction createBackup() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const db = yield firestore_1.default();\r\n        let sp = new utility_1.Spinner(\"Generating backup\");\r\n        sp.start();\r\n        let backup = yield saveCollections(db, db);\r\n        sp.end(\"\", \"\");\r\n        yield fileOperations_1.downloadBackup(backup);\r\n    });\r\n}\r\nexports.default = createBackup;\r\n\n\n/***/ }),\n\n/***/ 487:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst firestore_1 = __importDefault(__webpack_require__(234));\r\nconst utility_1 = __webpack_require__(317);\r\nfunction deleteDocument(document) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        deleteCollections(document);\r\n        document.delete();\r\n    });\r\n}\r\nfunction deleteCollection(collection) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        let documents = yield collection.listDocuments();\r\n        for (let document of documents) {\r\n            yield deleteDocument(document);\r\n        }\r\n    });\r\n}\r\nfunction deleteCollections(ref) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        let collections = yield ref.listCollections();\r\n        for (let collection of collections) {\r\n            yield deleteCollection(collection);\r\n        }\r\n    });\r\n}\r\nfunction deleteDatabase() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const db = yield firestore_1.default();\r\n        let sp = new utility_1.Spinner(\"Deleting database\");\r\n        sp.start();\r\n        yield deleteCollections(db);\r\n        sp.end(\"Database deleted successfully.\");\r\n    });\r\n}\r\nexports.default = deleteDatabase;\r\n\n\n/***/ }),\n\n/***/ 116:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.readBackup = exports.downloadBackup = exports.readKey = exports.readSettings = exports.createSettings = void 0;\r\nconst fs = __importStar(__webpack_require__(747));\r\nconst util = __importStar(__webpack_require__(669));\r\nconst constants_1 = __importDefault(__webpack_require__(915));\r\nconst utility_1 = __webpack_require__(317);\r\nconst readFile = util.promisify(fs.readFile);\r\nconst writeFile = util.promisify(fs.writeFile);\r\nfunction createSettings() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const jsonData = JSON.stringify(constants_1.default.settings, null, 4);\r\n        let sp = new utility_1.Spinner(\"Creating settings file\");\r\n        sp.start();\r\n        try {\r\n            yield writeFile(constants_1.default.settingsFile, jsonData);\r\n            sp.end('Settings file created successfully.');\r\n        }\r\n        catch (error) {\r\n            sp.end(utility_1.red(\"Error: Unable to create settings file.\"));\r\n            process.exit(1);\r\n        }\r\n    });\r\n}\r\nexports.createSettings = createSettings;\r\nfunction readSettings() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        try {\r\n            const settingsData = yield readFile(constants_1.default.settingsFile);\r\n            const settings = JSON.parse(settingsData.toString());\r\n            return settings;\r\n        }\r\n        catch (error) {\r\n            console.log(\"Unable to open settings file.\");\r\n            return {};\r\n        }\r\n    });\r\n}\r\nexports.readSettings = readSettings;\r\nfunction readKey() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        try {\r\n            let serviceAccount = yield readFile(constants_1.default.settings.keyFile);\r\n            return JSON.parse(serviceAccount.toString());\r\n        }\r\n        catch (error) {\r\n            console.log(utility_1.red(\"Error: Unable to open service key.\"));\r\n            console.log(`No such file at path ${error.toString().match(/'.+'/g)}.`);\r\n            process.exit(1);\r\n        }\r\n    });\r\n}\r\nexports.readKey = readKey;\r\nfunction downloadBackup(data) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const jsonData = JSON.stringify(data, null, 4);\r\n        let sp = new utility_1.Spinner(\"Downloading backup\");\r\n        sp.start();\r\n        try {\r\n            yield writeFile(constants_1.default.settings.backupFile, jsonData);\r\n            sp.end('Backup downloaded successfully.');\r\n        }\r\n        catch (error) {\r\n            sp.end(utility_1.red(\"Error: Unable to download backup.\"));\r\n            process.exit(1);\r\n        }\r\n    });\r\n}\r\nexports.downloadBackup = downloadBackup;\r\nfunction readBackup() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        let sp = new utility_1.Spinner(\"Retrieving backup\");\r\n        sp.start();\r\n        try {\r\n            const data = yield readFile(constants_1.default.settings.backupFile);\r\n            const jsonData = JSON.parse(data.toString());\r\n            sp.end('Backup retrieved successfully.');\r\n            return jsonData;\r\n        }\r\n        catch (error) {\r\n            sp.end(utility_1.red(\"Error: Unable to retrieve backup.\"));\r\n            console.log(`No such file at path ${error.toString().match(/'.+'/g)}.`);\r\n            process.exit(1);\r\n        }\r\n    });\r\n}\r\nexports.readBackup = readBackup;\r\n\n\n/***/ }),\n\n/***/ 234:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst admin = __importStar(__webpack_require__(54));\r\nconst fileOperations_1 = __webpack_require__(116);\r\nconst constants_1 = __importDefault(__webpack_require__(915));\r\nconst utility_1 = __webpack_require__(317);\r\nfunction loadSettings() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const settings = yield fileOperations_1.readSettings();\r\n        let mergedConf = Object.assign({}, constants_1.default.settings, settings);\r\n        constants_1.default.settings.backupFile = mergedConf.backupFile;\r\n        constants_1.default.settings.keyFile = mergedConf.keyFile;\r\n        constants_1.default.settings.databaseURL = mergedConf.databaseURL;\r\n    });\r\n}\r\nfunction initializeApp() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const key = yield fileOperations_1.readKey();\r\n        yield loadSettings();\r\n        try {\r\n            admin.initializeApp({\r\n                credential: admin.credential.cert(key),\r\n                databaseURL: constants_1.default.settings.databaseURL\r\n            });\r\n            return admin.firestore();\r\n        }\r\n        catch (error) {\r\n            console.log(utility_1.red(\"Error: Unable to initialize Firebase services.\"));\r\n            process.exit(1);\r\n        }\r\n    });\r\n}\r\nexports.default = initializeApp;\r\n\n\n/***/ }),\n\n/***/ 432:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst yargs_1 = __importDefault(__webpack_require__(585));\r\nconst prompt_sync_1 = __importDefault(__webpack_require__(852));\r\nconst createBackup_1 = __importDefault(__webpack_require__(468));\r\nconst restoreBackup_1 = __importDefault(__webpack_require__(122));\r\nconst deleteDatabase_1 = __importDefault(__webpack_require__(487));\r\nconst utility_1 = __webpack_require__(317);\r\nconst fileOperations_1 = __webpack_require__(116);\r\nconst constants_1 = __importDefault(__webpack_require__(915));\r\nconst prompt = prompt_sync_1.default({ sigint: true });\r\nconst argv = yargs_1.default.usage(`\r\n${utility_1.orange(\"====== FIRESTORE DATABASE MANAGER ======\")}\r\n\r\nUsage: $0 [options]\r\n\r\nIf a configuration file is provided (${constants_1.default.settingsFile}), it should have the following structure:\r\n{\r\n    \"backupFile\": \"...\", --> *(default: \"backup.json\")\r\n    \"keyFile\": \"...\",  --> *(default: \"key.json\")\r\n    \"databaseURL\": \"...\" --> *(default: \"https://<your_database_id>.firebaseio.com\")\r\n}\r\n\r\nKey service file must be downloaded from your project configuration:\r\nhttps://console.firebase.google.com/u/0/project/<your_database_id>/settings/serviceaccounts/adminsdk`)\r\n    .option(\"i\", {\r\n    alias: \"init-config\",\r\n    describe: `Create a default backup configuration file ('${constants_1.default.settingsFile}')`,\r\n    type: \"boolean\",\r\n})\r\n    .option(\"g\", {\r\n    alias: \"generate-backup\",\r\n    describe: \"Generate a backup of a Firestore database\",\r\n    type: \"boolean\",\r\n})\r\n    .option(\"r\", {\r\n    alias: \"restore-backup\",\r\n    describe: \"Restore a backup of a Firestore database\",\r\n    type: \"boolean\",\r\n})\r\n    .option(\"d\", {\r\n    alias: \"delete\",\r\n    describe: \"Delete a Firestore database\",\r\n    type: \"boolean\",\r\n})\r\n    .check(function (argv) {\r\n    let selected = utility_1.selectedOptions([argv.i, argv.g, argv.r, argv.d]);\r\n    if (selected == 0) {\r\n        throw 'Error: a valid option must be specified.';\r\n    }\r\n    if (selected > 1) {\r\n        throw (new Error('Error: only one option must be specified.'));\r\n    }\r\n    return true;\r\n})\r\n    .alias(\"v\", \"version\")\r\n    .describe(\"version\", \"Show current version number\")\r\n    .help(\"h\")\r\n    .alias(\"h\", \"help\")\r\n    .describe(\"h\", \"Show available options\")\r\n    .showHelpOnFail(false, \"Specify --help for available options\").argv;\r\nfunction main(argv) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const databaseID = (yield fileOperations_1.readKey())[\"project_id\"];\r\n        constants_1.default.settings.databaseURL = `https://${databaseID}.firebaseio.com`;\r\n        if (argv.i)\r\n            yield fileOperations_1.createSettings();\r\n        if (argv.g)\r\n            yield createBackup_1.default();\r\n        if (argv.r)\r\n            yield restoreBackup_1.default();\r\n        if (argv.d) {\r\n            let resp = prompt(`Are you sure you want to delete ${utility_1.orange(databaseID)} collections? ${utility_1.blue(\"yes/[no]\")}: `);\r\n            if (\"yes\".includes(resp.trim().toLowerCase()) && resp !== \"\") {\r\n                yield deleteDatabase_1.default();\r\n            }\r\n            else {\r\n                console.log(\"Canceled operation.\");\r\n            }\r\n        }\r\n    });\r\n}\r\nmain(argv);\r\n\n\n/***/ }),\n\n/***/ 122:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst _ = __importStar(__webpack_require__(804));\r\nconst admin = __importStar(__webpack_require__(54));\r\nconst utility_1 = __webpack_require__(317);\r\nconst firestore_1 = __importDefault(__webpack_require__(234));\r\nconst fileOperations_1 = __webpack_require__(116);\r\nfunction convertField(value, db) {\r\n    if (typeof value === 'object' && value !== null && !_.isArray(value) && \"__datatype__\" in value) {\r\n        let dt = value.__datatype__;\r\n        let data = value.value;\r\n        if (dt === \"timestamp\") {\r\n            return new admin.firestore.Timestamp(data.seconds, data.nanoseconds);\r\n        }\r\n        else if (dt === \"geoPoint\") {\r\n            return new admin.firestore.GeoPoint(data.latitude, data.longitude);\r\n        }\r\n        else if (dt === \"documentRef\") {\r\n            return db.doc(data);\r\n        }\r\n    }\r\n    else if (Array.isArray(value)) {\r\n        return value.map(subfield => convertField(subfield, db));\r\n    }\r\n    else if (typeof value === 'object' && value !== null) {\r\n        return restoreFields(value, db);\r\n    }\r\n    return value;\r\n}\r\nfunction restoreFields(fields, db) {\r\n    let result = {};\r\n    if (!_.isEmpty(fields)) {\r\n        for (let [key, value] of Object.entries(fields)) {\r\n            result[key] = convertField(value, db);\r\n        }\r\n    }\r\n    return result;\r\n}\r\nfunction restoreDocument(document, ref, db) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        yield restoreCollections(document.__collections__, ref, db);\r\n        let normalizedFields = restoreFields(document.__fields__, db);\r\n        yield ref.set(normalizedFields);\r\n    });\r\n}\r\nfunction restoreCollection(collection, ref, db) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        for (let [document, content] of Object.entries(collection)) {\r\n            yield restoreDocument(content, ref.doc(document), db);\r\n        }\r\n    });\r\n}\r\nfunction restoreCollections(collections, ref, db) {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        if (!_.isEmpty(collections)) {\r\n            for (let [collection, content] of Object.entries(collections)) {\r\n                yield restoreCollection(content, ref.collection(collection), db);\r\n            }\r\n        }\r\n    });\r\n}\r\nfunction restoreBackup() {\r\n    return __awaiter(this, void 0, void 0, function* () {\r\n        const db = yield firestore_1.default();\r\n        const backup = yield fileOperations_1.readBackup();\r\n        let sp = new utility_1.Spinner(\"Restoring backup\");\r\n        sp.start();\r\n        yield restoreCollections(backup, db, db);\r\n        sp.end('Backup restored successfully.');\r\n    });\r\n}\r\nexports.default = restoreBackup;\r\n\n\n/***/ }),\n\n/***/ 317:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.selectedOptions = exports.Spinner = exports.orange = exports.red = exports.blue = void 0;\r\nconst lodash_1 = __importDefault(__webpack_require__(804));\r\nconst cli_spinner_1 = __importDefault(__webpack_require__(855));\r\nconst chalk_1 = __importDefault(__webpack_require__(242));\r\nexports.blue = chalk_1.default.hex(\"#0078D4\");\r\nexports.red = chalk_1.default.hex(\"#FF0101\");\r\nexports.orange = chalk_1.default.hex(\"#F89B0C\");\r\nclass Spinner {\r\n    constructor(loadingMsg) {\r\n        this.spinner = new cli_spinner_1.default.Spinner(`${exports.blue(\"%s \")} ${loadingMsg}...`);\r\n        this.spinner.setSpinnerDelay(50);\r\n    }\r\n    start() {\r\n        this.spinner.start();\r\n    }\r\n    end(endMsg = \"\", final = \"\\n\") {\r\n        this.spinner.stop();\r\n        console.log(`${final}${endMsg}`);\r\n    }\r\n}\r\nexports.Spinner = Spinner;\r\nfunction selectedOptions(expressions) {\r\n    let result = expressions.map(exp => exp ? 1 : 0);\r\n    return lodash_1.default.sum(result);\r\n}\r\nexports.selectedOptions = selectedOptions;\r\n\n\n/***/ }),\n\n/***/ 242:\n/***/ ((module) => {\n\nmodule.exports = require(\"chalk\");\n\n/***/ }),\n\n/***/ 855:\n/***/ ((module) => {\n\nmodule.exports = require(\"cli-spinner\");\n\n/***/ }),\n\n/***/ 54:\n/***/ ((module) => {\n\nmodule.exports = require(\"firebase-admin\");\n\n/***/ }),\n\n/***/ 747:\n/***/ ((module) => {\n\nmodule.exports = require(\"fs\");\n\n/***/ }),\n\n/***/ 804:\n/***/ ((module) => {\n\nmodule.exports = require(\"lodash\");\n\n/***/ }),\n\n/***/ 852:\n/***/ ((module) => {\n\nmodule.exports = require(\"prompt-sync\");\n\n/***/ }),\n\n/***/ 669:\n/***/ ((module) => {\n\nmodule.exports = require(\"util\");\n\n/***/ }),\n\n/***/ 585:\n/***/ ((module) => {\n\nmodule.exports = require(\"yargs\");\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(432);\n/******/ \t\n/******/ })()\n;\n"]}