You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
2.4 KiB
Markdown

5 years ago
# @validatem/is-string
*This validator is designed to be used with [Validatem](https://validatem.cryto.net/), the universal and composable validation library.*
5 years ago
Validates that a given input is a string.
Note that it __does not__ validate that the string is non-empty (ie. has a length above 0); for that, you should use [@validatem/is-non-empty-string](https://www.npmjs.com/package/@validatem/is-non-empty-string) instead.
## License, donations, and other boilerplate
Licensed under either the [WTFPL](http://www.wtfpl.net/txt/copying/) or [CC0](https://creativecommons.org/publicdomain/zero/1.0/), at your choice. In practice, that means it's more or less public domain, and you can do whatever you want with it. Giving credit is *not* required, but still very much appreciated! I'd love to [hear from you](mailto:admin@cryto.net) if this module was useful to you.
Creating and maintaining open-source modules is a lot of work. A donation is also not required, but much appreciated! You can donate [here](http://cryto.net/~joepie91/donate.html).
## Example
A runnable version of this example is included in the repository, as `example.js`.
```js
"use strict";
const { validateValue } = require("@validatem/core");
const isString = require("@validatem/is-string");
console.log(validateValue("hello world", [ isString ])); // hello world
console.log(validateValue(42, [ isString ])); /*
AggregrateValidationError: One or more validation errors occurred:
- At (root): Must be a string
*/
```
## API
__If you are new to Validatem,__ please read the documentation on the [Validatem website](https://validatem.cryto.net/) first - it will explain how the general API works, and how you should use validator modules with it.
### isString
Not callable. Validates that the input is a string. When validation passes, it returns the original string as-is.
Possible error codes:
- __validatem.is-string:__ The input was not a string.
## Changelog
### 2.0.0 (July 14, 2024)
__BREAKING:__ Replace internal string checking implementation with a faster one; the new implementation will not recognize String objects from another realm (but will still work fine with regular, non-object strings).
You most likely don't need to change anything about your code, but this is still considered a breaking change because it slightly changes the behaviour of the validator.
### 1.0.0 (August 8, 2020)
Initial release.