1.1.3 • Published 17 days ago
@kitmi/types v1.1.3
@kitmi/types
JavaScript Semantic Data Types
@kitmi/types
defines semantic data types with validation and sanitization.
Installation
To install @kitmi/types
, run the following command:
bun install @kitmi/types
Or if you're using npm:
npm install @kitmi/types
Conventions
Types
- any
- array
- bigint
- binary
- boolean
- datetime
- integer
- number
- object
- text
Type Interface
name: "type name",
alias: ["type alias"],
defaultValue: null,
sanitize: (value, meta, i18n, path) => sanitized,
serialize: (value, meta) => string
Common Type Meta
- {boolean} plain - Keep raw value, don't try to type cast before post processing
- {boolean} optional - No error throw if value is null and default is null
- {any} default - Default value if value is null
- {array} enum - An array of values which the value of a enumerable type should be one of it
Enumerable Types
- bigint
- integer
- number
- text
Validation Error
Plugins
- datetimeParser
- bigintWriter
- preProcess - sync/async (value, meta, opts: { rawValue, i18n, path }) => finished, processedValue or false
- postProcess - sync/async (value, meta, opts: { rawValue, i18n, path }) => processedValue
Note: if preProcess or postProcess is async function, sanitize_ should be called instead of sanitize
License
- MIT
- Copyright (c) 2023 KITMI PTY LTD