2.1.2 • Published 10 months ago

@onibi/sanitize v2.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

@onibi/sanitize

Basic input validation tools, although the package does provide some sanitization and is called sanitize for historic reasons, this package should be viewed mostly as a tool for user input validation and is focused on providing descriptive and useful error messages which have built in methods for converting to a HttpError from the @onibi/errors package for seamless integration into express.js based REST API's.

Usage examples

import sanitize from '@onibi/sanitize';

// Sanitizers have flexible settings that avoid throwing errors by default.
let x = sanitize.int.signed(34.7);     // Rounded to 35
let x = sanitize.int.unsigned(-73);    // Clamped to 0.
let y = sanitize.int.unsigned(null);   // Defaults to 0

Express integration

All SanitizerError types implement the ToHttpError interface from @onibi/errors, which means that they can be converted http errors that can be caught and converted to JSON by the @onibi/errorhandler.

Basic documentation

Listed below is a basic list of sanitizer functions to help you get started, checkout the full documentation on GitHub for more details like the specific rules to change the sanitizer behaviour.

FunctionDescription
intBasic integer sanitizer, note that this is just an alias for int.signed.
int.signedSigned integers, will round numbers to the nearest whole number and default to 0 for non numeric types.
int.unsignedUnsigned integers, based on the signed integers parser but will clamp any negative input to 0.
int.rangedRanged integers, will clamp any input to integers within the given range.
boolBasic boolean sanitizer, will convert input like "Yes" or "TRUE" to true and input like "No" or "FALSE" to false, note that you might want to customize the rules for stricter behavior.
enumsBasic enum sanitizer, will try to convert the given input to one of the provided enum values.
emailEmail address, note that this is just an alias for email.htmlInput.
email.rfc5322RFC5322 email address, will throw an error for any strings that are not valid email addresses according to the RFC5322 specification.
email.htmlInputEmail address, will throw an error for any email address that would not be valid according to the checks used by the HTML <input type="email"> element, note that this is stricter than email.rfc5322 and will not allow technically valid emails like john.doe@[84.39.39.29].
uuidUUID string sanitizer, will throw an error by default, but can also be provided with a default value or generator function.
2.1.2

10 months ago

2.1.1

11 months ago

2.0.4

11 months ago

2.1.0

11 months ago

2.0.3

12 months ago

2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago