sass-cast v0.5.6
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
valueany the value to be convertedoptionsObject (optional, default{})options.parseUnquotedStringsboolean whether to parse unquoted strings for colors or numbers with units (optional, defaultfalse)options.resolveFunctions(boolean | Array\) if true, resolve functions and attempt to cast their return values. if an array, pass as arguments when resolving (optional, defaultfalse)options.quotesboolean 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
objectValue a Sass valueoptionsObject (optional, default{})options.preserveUnitsboolean By default, only the values of numbers are returned, not their units. If true,fromSasswill return numbers as a two-item Array, i.e. [ value, unit ] (optional, defaultfalse)options.rgbColorsboolean By default, colors are returned as strings. If true,fromSasswill return colors as an object withr,g,b, anda, properties. (optional, defaultfalse)options.preserveQuotesboolean By default, quoted Sass strings return their inner text as a string. If true,fromSasswill 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
$moduleSassString Path to the file or module. Relative paths are relative to the Node process running Sass compilation.$propertiesSassList List of properties, if you only want to parse part of the module data. (optional, default())$parseUnquotedStringsSassBoolean Passed as an option to toSass. (optional, defaultfalse)$resolveFunctionsSassBoolean Passed as an option to toSass. (optional, defaultfalse)$quotesSassBoolean 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
valueany the value to be convertedoptionsObject (optional, default{})options.parseUnquotedStringsboolean whether to parse unquoted strings for colors or numbers with units (optional, defaultfalse)options.resolveFunctions(boolean | Array\) 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
objectLegacyObject a legacy Sass objectoptionsObject (optional, default{})options.preserveUnitsboolean By default, only the values of numbers are returned, not their units. If true,fromSasswill return numbers as a two-item Array, i.e. [ value, unit ] (optional, defaultfalse)options.rgbColorsboolean By default, colors are returned as strings. If true,fromSasswill return colors as an object withr,g,b, anda, properties. (optional, defaultfalse)options.preserveQuotesboolean By default, quoted Sass strings return their inner text as a string. If true,fromSasswill 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$quotesdone