sass-cast
v0.5.6
Published
Convert Javascript objects to Sass objects and vice versa.
Downloads
105
Maintainers
Readme
sass-cast
Convert Javascript objects to Sass objects and vice versa. Based on sassport
and node-sass-utils
, updated to work with newer sass versions and the modern
Sass API.
Usage
Table of Contents
toSass
Converts any Javascript object to an equivalent Sass value.
This method is recursive and will convert the values of any array or object, as well as the array or object itself.
Parameters
value
any the value to be convertedoptions
Object (optional, default{}
)options.parseUnquotedStrings
boolean whether to parse unquoted strings for colors or numbers with units (optional, defaultfalse
)options.resolveFunctions
(boolean | Array<any>) if true, resolve functions and attempt to cast their return values. if an array, pass as arguments when resolving (optional, defaultfalse
)options.quotes
boolean controls whether returned SassStrings are quoted. input strings that contain quotes will always return a quoted SassString even if this flag is false. (optional, defaulttrue
)
Examples
const { toSass } = require('sass-cast');
const string = toSass('a simple string');
// quoted SassString => '"a simple string"'
const map = toSass({
key: 'value',
nested: {
'complex//:key': [ null, 4 ],
}
});
// SassMap => '("key": "value", "nested": ("complex//:key": (null, 4)))'
Returns Value a Sass value
fromSass
Converts Sass values to their Javascript equivalents.
Parameters
object
Value a Sass valueoptions
Object (optional, default{}
)options.preserveUnits
boolean By default, only the values of numbers are returned, not their units. If true,fromSass
will return numbers as a two-item Array, i.e. [ value, unit ] (optional, defaultfalse
)options.rgbColors
boolean By default, colors are returned as strings. If true,fromSass
will return colors as an object withr
,g
,b
, anda
, properties. (optional, defaultfalse
)options.preserveQuotes
boolean By default, quoted Sass strings return their inner text as a string. If true,fromSass
will preserve the quotes in the returned string value. (optional, defaultfalse
)
Examples
const { fromSass, toSass } = require('sass-cast');
const sassString = toSass('a sass string object');
const string = fromSass(sassString);
// 'a sass string object'
Returns any a Javascript value corresponding to the Sass input
sassFunctions
An object defining Sass utility functions.
Examples
Pass to sass using the JS API
const { sassFunctions } = require('sass-cast');
const sass = require('sass');
sass.compile('main.scss', { functions: sassFunctions });
require
Sass function for importing data from Javascript or JSON files.
Calls the CommonJS require
function under the hood.
Examples
// import config info from tailwindcss
$tw: require('./tailwind.config.js', $parseUnquotedStrings: true);
$tw-colors: map.get($tw, theme, extend, colors);
Parameters
$module
SassString Path to the file or module. Relative paths are relative to the Node process running Sass compilation.$properties
SassList List of properties, if you only want to parse part of the module data. (optional, default()
)$parseUnquotedStrings
SassBoolean Passed as an option to toSass. (optional, defaultfalse
)$resolveFunctions
SassBoolean Passed as an option to toSass. (optional, defaultfalse
)$quotes
SassBoolean Passed as an option to toSass. (optional, defaulttrue
)
Returns Value a Sass value
legacy
Identical methods that interface with Sass's legacy Javascript API for older versions of Sass. Use require('sass-cast/legacy')
.
toSass
Converts any Javascript object to an equivalent legacy Sass object.
Parameters
value
any the value to be convertedoptions
Object (optional, default{}
)options.parseUnquotedStrings
boolean whether to parse unquoted strings for colors or numbers with units (optional, defaultfalse
)options.resolveFunctions
(boolean | Array<any>) if true, resolve functions and attempt to cast their return values. if an array, pass as arguments when resolving (optional, defaultfalse
)options.quotes
(string | null) the type of quotes to use when quoting Sass strings (single or double) (optional, default"'"
)
Returns LegacyObject a legacy Sass object
fromSass
Converts legacy Sass objects to their Javascript equivalents.
Parameters
object
LegacyObject a legacy Sass objectoptions
Object (optional, default{}
)options.preserveUnits
boolean By default, only the values of numbers are returned, not their units. If true,fromSass
will return numbers as a two-item Array, i.e. [ value, unit ] (optional, defaultfalse
)options.rgbColors
boolean By default, colors are returned as strings. If true,fromSass
will return colors as an object withr
,g
,b
, anda
, properties. (optional, defaultfalse
)options.preserveQuotes
boolean By default, quoted Sass strings return their inner text as a string. If true,fromSass
will preserve the quotes in the returned string value. (optional, defaultfalse
)
Returns any a Javascript value corresponding to the Sass input
sassFunctions
- See: sassFunctions
An object defining legacy Sass utility functions.
require
- See: require
Legacy Sass function for importing data from Javascript or JSON files.
Parameters
$module
$properties
$parseUnquotedStrings
$resolveFunctions
$quotes
done