bit-twiddler 0.2.1

Cross-platform developer toolbox: bit manipulation, hashing, YAML/JSON/SQL, QR, Markdown, cron, and 40+ more tools — Tauri v2, no Node.js
// Tauri IPC bridge - replaces Electron contextBridge window.api
(function() {
  const invoke = window.__TAURI__.core.invoke;
  const listen = window.__TAURI__.event.listen;

  window.tauriApi = {
    generateHashes: (text) => invoke('generate_hashes', { text }),
    hashFile: (filePath) => invoke('hash_file', { filePath }),
    stopFileWatch: () => invoke('stop_file_watch'),
    computeHmac: (message, secret) => invoke('compute_hmac', { message, secret }),
    onFileHashUpdate: (callback) => listen('file-hash-update', (event) => callback(event.payload)),
    generateQR: (text) => invoke('generate_qr', { text }),
    renderMarkdown: (md) => invoke('render_markdown', { md }),
    openFileDialog: () => invoke('open_file_dialog'),
    convertYaml: (input, mode) => invoke('convert_yaml', { input, mode }),
    formatSql: (sql, language) => invoke('format_sql', { sql, language }),
    describeCron: (expression) => invoke('describe_cron', { expression }),
    imageToBase64: (path) => invoke('image_to_base64', { path }),
    decodeProtobuf: (hex) => invoke('decode_protobuf', { hex }),
    decodeMsgpack: (hex) => invoke('decode_msgpack', { hex }),
    readFileHex: (path) => invoke('read_file_hex', { path }),
    inspectCertificate: (pem) => invoke('inspect_certificate', { pem }),
    readTextFile: (path) => invoke('read_text_file', { path }),
    hashPassword: (password, algorithm, cost, memoryKib, parallelism) =>
      invoke('hash_password', { password, algorithm, cost, memoryKib, parallelism }),
    verifyPassword: (password, hash) => invoke('verify_password', { password, hash }),
    verifyJwt: (token, secretOrPem) => invoke('verify_jwt', { token, secretOrPem }),
  };
})();