Files
boc/vims-backend/node_modules/logform/format.js
T
Bernt 6de2455917 v1.2.0: Add Global Markets footer, translated to 9 languages
- Added GLOBAL_MARKETS_TITLE to all translation files
- Updated footer with 12 markets (4 active + 8 upcoming)
- Translated market section to: zh-cn, zh-tw, ja, ko, th, vi, id, ms, hi
- Built and deployed to production
- CloudFront invalidation: I3RTMXVFDJXWLG3SYX208OP1CC
2026-07-08 19:56:03 +00:00

53 lines
1.1 KiB
JavaScript

'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;
};