# jigsass-tools-strings

> String manipulation helper functions

Latest version **1.4.0** (published 2016-08-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install jigsass-tools-strings
pnpm add jigsass-tools-strings
yarn add jigsass-tools-strings
bun add jigsass-tools-strings
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.0 |
| Published | 2016-08-23 |
| First published | 2016-03-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | TxHawks |
| Maintainers | txhawks |
| Keywords | jigsass, sass, scss, css, oocss, atomic css, eyeglass-module |

## Links

- npm: https://www.npmjs.com/package/jigsass-tools-strings
- Repository: https://github.com/txhawks/jigsass-tools-strings
- Homepage: https://github.com/txhawks/jigsass-tools-strings#readme
- npm.io page: https://npm.io/package/jigsass-tools-strings

## Alternatives

- [style-dictionary](https://npm.io/package/style-dictionary.md) — 2.0M weekly downloads
- [postcss-merge-idents](https://npm.io/package/postcss-merge-idents.md) — 1.7M weekly downloads
- [@fontsource/noto-sans](https://npm.io/package/@fontsource/noto-sans.md) — 93.0K weekly downloads
- [uglifycss](https://npm.io/package/uglifycss.md) — 71.6K weekly downloads
- [mat4-interpolate](https://npm.io/package/mat4-interpolate.md) — 23.3K weekly downloads

## Recent versions

- 1.4.0 (latest) — 2016-08-23
- 1.3.2 — 2016-04-22
- 1.3.1 — 2016-04-12
- 1.3.0 — 2016-04-12
- 1.2.0 — 2016-04-10
- 1.1.1 — 2016-04-02
- 1.1.0 — 2016-03-26
- 1.0.0 — 2016-03-24

## README

# JigSass Tools Strings
[![NPM version][npm-image]][npm-url]  [![Dependency Status][daviddm-image]][daviddm-url]   


 > String manipulation helper functions

## Installation

Using npm:

```sh
npm i -S jigsass-tools-strings
```

## Usage

```scss
@import 'path/to/jigsass-tools-strings';
```

Documentation of `jigsass-tools-strings` functionality is available at
[https:txhawks.github.io/jigsass-tools](https:txhawks.github.io/jigsass-tools)

## Documention

#### Sass

Documentation of JigSass Strings's features is generated by [SassDoc](http://sassdoc.com).

Run `gulp serve:sassdoc` to fire up a live server serving the documentation.

To generate documentation from annotation in the source code, run `gulp sass:doc`.

## Development

It is a best practice for JigSass modules to *not* automatically generate css on `@import`, but 
rather have to user explicitly enable the generation of specific styles from the module.

Contributions in the form of pull-requests, issues, bug reports, etc. are welcome.
Please feel free to fork, hack or modify JigSass Tools Strings in any way you see fit.

#### Writing documentation

Good documentation is crucial for scalability and maintainability. When submitting code
`jigsass-tools-strings` please do make sure that all of its Sass functionality (functions, mixins, 
variables and placeholder selectors) are fully documented.

As mentioned above, the Sass is documented using SassDoc 
([Documention](http://sassdoc.com/annotations/)).

#### Running tests
`gulp lint` will, well, lint the contents scss files in the `scss` directory.

`gulp test` with run module's test using Mocha and Sassaby.

`gulp tdd` will watch both the Sass files and the test specs for changes, and will
run tests automatically upon them.

#### Writing tests

JigSass Tools Strings tests are written using [Sassaby](https://github.com/ryanbahniuk/sassaby)
and Mocha. Spec files are located in the `test` directory.

Mocha allows us to place a call to `before()` in the root of any test file and it 
will be run once, before all the other tests in every `test_*.js` file. 
We can also `require()` files and assign them to the global object to make them 
available to all `test_*.js` files. 

jigsass-tools-strings uses a file called `helper.js` can be used to set up mocha 
globals requires and `before()`.

In addition to Sassaby's testing functions, jigsass-tools-strings makes a few Sass
functions available to the test suite, for use inside Sassaby tests:

<dl>
  <dt>jig-var-equals($value, $var) -> {boolean}<dt>
  <dd>
		Check if a variable equals a value.<br />
		<strong>$value</strong> {*}: A value to compare the value of $var to.<br />
		<strong>$var</strong> {*}: The variable to test<br />
	</dd>
  <dt>jig-var-type-is($type, $var) -> {boolean}<dt>
  <dd>
		Check if a variable is of a certain type.<br />
		<strong>$type</strong> {string}: A type to compare with the type of $var.<br />
		<strong>$var</strong> {*}: The variable to test<br />
	</dd>
  <dt>jig-map-key-equals($value, $map, $keys...) -> {boolean}<dt>
  <dd>
		Check if a map's key is assigned a cerain value.<br />
		<strong>$value</strong> {*}:  A value to compare the value of a key in $map with.<br />
		<strong>$map</strong> {map}: The map to test.<br />
		<strong>$keys... </strong> {arglist}: A recursive chain of keys.<br />
	</dd>
  <dt>jig-map-key-type-is($type, $map, keys...) -> {boolean}<dt>
  <dd>
		Check if a map's key is of a certain type<br />
		<strong>$type</strong> {string}: A type to compare with the type of $var.<br />
		<strong>$map</strong> {map}: The map to test.<br />
		<strong>$keys... </strong> {arglist}: A recursive chain of keys.<br />
	</dd>
</dl>


## File structure
```bash
┬ ./
│
├─┬ scss/ 
│ └─ index.scss # The module's importable file.
│
├── sassdoc/    # Generated documentation 
│               # of the module's sass features
│
└─┬─ test/
  │
  ├─┬ helpers/
  │ │
  │ ├── importer.scss       # Used for easilty importing tested scss files
  │ │
  │ └── _test_helpers.scss  # JigSass's assertion helpers,
  │                         # for use inside Sassaby tests.
  │                         
  ├── helper.js              # Used for defining global `before()`
  │                          # functions and requiring modules.
  │                         
  └── test_jigsass-tools-strings  # Specs. Mocha will automatically 
                             # run all javascript files located
                             # in the `test` directory.
```

**License:** MIT



[npm-image]: https://badge.fury.io/js/jigsass-tools-strings.svg
[npm-url]: https://npmjs.org/package/jigsass-tools-strings

[daviddm-image]: https://david-dm.org/TxHawks/jigsass-tools-strings.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/TxHawks/jigsass-tools-strings

---
_Source: https://npm.io/package/jigsass-tools-strings · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
