# @validatem/is-string *This validator is designed to be used with [Validatem](https://validatem.cryto.net/), the universal and composable validation library.* 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.1 (July 14, 2024) Fixed internal typo. ### 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.