UNPKG

@maximai/maxim-js

Version:

Maxim AI JS SDK. Visit https://getmaxim.ai for more info.

88 lines 2.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.nodeAdapter = void 0; const os_1 = __importDefault(require("os")); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const mime_types_1 = __importDefault(require("mime-types")); const node_http_1 = require("node:http"); const node_https_1 = require("node:https"); const crypto_1 = __importDefault(require("crypto")); const stream_1 = require("stream"); const timers = { setInterval: (handler, ms) => setInterval(handler, ms), clearInterval: (handle) => clearInterval(handle), maybeUnref: (handle) => { if (handle && typeof handle.unref === "function") { handle.unref(); } }, }; const nodeFs = { hasAccessToFilesystem() { try { fs_1.default.accessSync(os_1.default.tmpdir(), fs_1.default.constants.W_OK); return true; } catch { return false; } }, existsSync: (p) => fs_1.default.existsSync(p), mkdirpSync: (p) => { if (!fs_1.default.existsSync(p)) { fs_1.default.mkdirSync(p, { recursive: true }); } }, readFile: async (p) => ({ data: await fs_1.default.promises.readFile(p) }), readFileSync: (p) => fs_1.default.readFileSync(p), writeFile: async (p, data) => { await fs_1.default.promises.writeFile(p, data); }, readdirSync: (p) => fs_1.default.readdirSync(p), rmSync: (p, opts) => fs_1.default.rmSync(p, opts), statSync: (p) => fs_1.default.statSync(p), }; const nodePath = { basename: (p) => path_1.default.basename(p), extname: (p) => path_1.default.extname(p), join: (...parts) => path_1.default.join(...parts), }; const nodeMime = { lookup: (filePath) => mime_types_1.default.lookup(filePath) || false, }; const net = { httpAgent: (options) => new node_http_1.Agent({ keepAlive: true, ...options }), httpsAgent: (options) => new node_https_1.Agent({ keepAlive: true, ...options }), }; const nodeCrypto = { randomBytes: (size) => crypto_1.default.randomBytes(size), randomBytesAsync: async (size) => crypto_1.default.randomBytes(size), createHash: (algorithm) => crypto_1.default.createHash(algorithm), hostname: () => os_1.default.hostname(), isSecureRandomAvailable: true, }; const stream = { Transform: stream_1.Transform, }; const features = { csvSupported: true, fileIoSupported: true, }; exports.nodeAdapter = { name: "node", fs: nodeFs, path: nodePath, mime: nodeMime, timers, net, crypto: nodeCrypto, stream, tmpdir: () => os_1.default.tmpdir(), features, }; exports.default = exports.nodeAdapter; //# sourceMappingURL=node.js.map