UNPKG

shell-mirror

Version:

Access your Mac shell from any device securely. Perfect for mobile coding with Claude Code CLI, Gemini CLI, and any shell tool.

53 lines (45 loc) 1.17 kB
'use strict'; /* * Displays a helpful message and the source of * the format when it is invalid. */ class InvalidFormatError extends Error { constructor(formatFn) { super(`Format functions must be synchronous taking a two arguments: (info, opts) Found: ${formatFn.toString().split('\n')[0]}\n`); Error.captureStackTrace(this, InvalidFormatError); } } /* * function format (formatFn) * Returns a create function for the `formatFn`. */ module.exports = formatFn => { if (formatFn.length > 2) { throw new InvalidFormatError(formatFn); } /* * function Format (options) * Base prototype which calls a `_format` * function and pushes the result. */ function Format(options = {}) { this.options = options; } Format.prototype.transform = formatFn; // // Create a function which returns new instances of // FormatWrap for simple syntax like: // // require('winston').formats.json(); // function createFormatWrap(opts) { return new Format(opts); } // // Expose the FormatWrap through the create function // for testability. // createFormatWrap.Format = Format; return createFormatWrap; };