333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
{"version":3,"sources":["../browser/src/platform/PlatformTools.ts"],"names":[],"mappings":"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","file":"PlatformTools.js","sourcesContent":["/**\n * Browser's implementation of the platform-specific tools.\n *\n * This file gonna replace PlatformTools for browser environment.\n * For node.js environment this class is not getting packaged.\n * Don't use methods of this class in the code, use PlatformTools methods instead.\n */\nexport class PlatformTools {\n\n    /**\n     * Type of the currently running platform.\n     */\n    static type: \"browser\"|\"node\" = \"browser\";\n\n    /**\n     * Gets global variable where global stuff can be stored.\n     */\n    static getGlobalVariable(): any {\n        if (typeof window !== \"undefined\") {\n            return window\n        } else {\n            // NativeScript uses global, not window\n            return global\n        }\n    }\n\n    /**\n     * Loads (\"require\"-s) given file or package.\n     * This operation only supports on node platform\n     */\n    static load(name: string): any {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: require(\"${name}\").`);\n\n        return \"\";\n    }\n\n    /**\n     * Normalizes given path. Does \"path.normalize\".\n     */\n    static pathNormalize(pathStr: string): string {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: path.normalize(\"${pathStr}\").`);\n\n        return \"\";\n    }\n\n    /**\n     * Gets file extension. Does \"path.extname\".\n     */\n    static pathExtname(pathStr: string): string {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: path.extname(\"${pathStr}\").`);\n\n        return \"\";\n    }\n\n    /**\n     * Resolved given path. Does \"path.resolve\".\n     */\n    static pathResolve(pathStr: string): string {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: path.resolve(\"${pathStr}\").`);\n\n        return \"\";\n    }\n\n    /**\n     * Synchronously checks if file exist. Does \"fs.existsSync\".\n     */\n    static fileExist(pathStr: string): boolean {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: fs.existsSync(\"${pathStr}\").`);\n\n        return false;\n    }\n\n    /**\n     * Gets environment variable.\n     */\n    static getEnvVariable(name: string): any {\n        // if (this.type === \"browser\")\n        //     throw new Error(`This option/function is not supported in the browser environment. Failed operation: process.env[\"${name}\"].`);\n        return undefined;\n    }\n\n    static readFileSync(filename: string): any {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: fs.readFileSync(\"${filename}\").`);\n        return null;\n    }\n    \n    static appendFileSync(filename: string, data: any) {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: fs.appendFileSync(\"${filename}\").`);\n    }\n\n    static writeFile(path: string, data: any): Promise<void> {\n        if (this.type === \"browser\")\n            throw new Error(`This option/function is not supported in the browser environment. Failed operation: fs.writeFile(\"${path}\").`);\n        return Promise.reject(null);\n    }\n\n    /**\n     * Highlights sql string to be print in the console.\n     */\n    static highlightSql(sql: string) {\n        return sql;\n    }\n\n    /**\n     * Highlights json string to be print in the console.\n     */\n    static highlightJson(json: string) {\n        return json;\n    }\n\n    /**\n     * Logging functions needed by AdvancedConsoleLogger (but here without chalk)\n     */\n    static logInfo(prefix: string, info: any) {\n        console.info(prefix + \" \", info);\n    }\n\n    static logError(prefix: string, error: any) {\n        console.error(prefix + \" \", error);\n    }\n    \n    static logWarn(prefix: string, warning: any) {\n        console.warn(prefix + \" \", warning);\n    }\n    \n    static log(message: string) {\n        console.log(message);\n    }\n\n    static warn(message: string) {\n        return message;\n    }\n}\n\n/**\n * These classes are needed for stream operations or\n * in the mongodb driver. Both aren't supported in the browser.\n */\nexport class EventEmitter {}\n\nexport class Readable {}\n\nexport class Writable {}\n\nexport interface ReadStream {}\n\n/**\n * This loads a polyfill to enable Buffers in the browser.\n */\ninterface Window {\n    Buffer: any;\n}\n\ndeclare var window: Window;\nif (typeof window !== \"undefined\") {\n    window.Buffer = require(\"buffer/\").Buffer;\n}\n// NativeScript uses global, not window\nif (typeof global !== \"undefined\") {\n    global.Buffer = require(\"buffer/\").Buffer;\n}"],"sourceRoot":".."}