This package has been deprecated

Author message:

this tool is no longer being developed

@namics/remlog-scheme

0.2.2 • Public • Published

@namics/remlog-scheme

Contents
const { fields, Scheme, isSchemeIdValid, isCustomField } = require("@namics/remlog-scheme");

Scheme

Class interface
type SchemeValidationType {
	key: string,
	error: Error | null
};

interface IScheme {
	get(): Object;
	validate(): Array<SchemeValidationType>;
	clean(): void;
	serialize(): string;
	toString(): string;
}
Internal use
const { Scheme } = require("@namics/remlog-scheme");

const examplePayload = {
    shortMessage: "Some message",
    fullMessage: "An extended message for the log",
    level: 5,
    file: "example.js",
    line: 172,
    timestamp: "2018-01-18T15:16:15.244Z"
};

const validCustomPayload = Object.assign({}, examplePayload, {
    $custom: "some data ..." // custom fields are prefixed by dollar
});

const invalidPayload = Object.assign({}, examplePayload, {
    id: "8an204asdf1" // it is not allowed to set the ID manually
});

const validScheme = new Scheme(examplePayload);
validScheme.validate(); // returns []

const validCustomScheme = new Scheme(validCustomPayload);
validCustomScheme.validate(); // returns []

const invalidScheme = new Scheme(invalidPayload);
invalidScheme.validate(); // returns [{key: 'id', error: Error('The key id is a computed field and cannot be set manually.')}]

validScheme.get(); // will return the full scheme including timestamp, id etc.

Review the Changelog

Package Sidebar

Install

npm i @namics/remlog-scheme

Weekly Downloads

11

Version

0.2.2

License

MIT

Unpacked Size

8.56 kB

Total Files

6

Last publish

Collaborators

  • coder1389
  • merkleorg
  • namicsorg
  • ernscht
  • tamara027
  • tsailer