Comparing version
@@ -1,1 +0,1 @@ | ||
{"name":"sass","description":"A pure JavaScript implementation of Sass.","license":"MIT","bugs":"https://github.com/sass/dart-sass/issues","homepage":"https://github.com/sass/dart-sass","repository":{"type":"git","url":"https://github.com/sass/dart-sass"},"author":{"name":"Natalie Weizenbaum","email":"nweiz@google.com","url":"https://github.com/nex3"},"engines":{"node":">=12.0.0"},"dependencies":{"chokidar":">=3.0.0 <4.0.0","immutable":"^4.0.0","source-map-js":">=0.6.2 <2.0.0"},"keywords":["style","scss","sass","preprocessor","css"],"types":"types/index.d.ts","exports":{"types":"./types/index.d.ts","default":"./sass.default.js"},"version":"1.59.3","bin":{"sass":"sass.js"},"main":"sass.default.js"} | ||
{"name":"sass","description":"A pure JavaScript implementation of Sass.","license":"MIT","bugs":"https://github.com/sass/dart-sass/issues","homepage":"https://github.com/sass/dart-sass","repository":{"type":"git","url":"https://github.com/sass/dart-sass"},"author":{"name":"Natalie Weizenbaum","email":"nweiz@google.com","url":"https://github.com/nex3"},"engines":{"node":">=14.0.0"},"dependencies":{"chokidar":">=3.0.0 <4.0.0","immutable":"^4.0.0","source-map-js":">=0.6.2 <2.0.0"},"keywords":["style","scss","sass","preprocessor","css"],"types":"types/index.d.ts","exports":{"types":"./types/index.d.ts","node":{"require":"./sass.node.js","default":"./sass.node.mjs"},"default":{"require":"./sass.default.cjs","default":"./sass.default.js"}},"version":"1.69.5","bin":{"sass":"sass.js"},"main":"sass.node.js"} |
@@ -63,4 +63,4 @@ A pure JavaScript implementation of [Sass][sass]. **Sass makes CSS fun again**. | ||
[Node Sass]: https://github.com/sass/node-sass | ||
[`render()`]: https://sass-lang.com/documentation/js-api/modules#render | ||
[`renderSync()`]: https://sass-lang.com/documentation/js-api/modules#renderSync | ||
[`render()`]: https://sass-lang.com/documentation/js-api/functions/render | ||
[`renderSync()`]: https://sass-lang.com/documentation/js-api/functions/renderSync | ||
@@ -67,0 +67,0 @@ Sass's support for the legacy JavaScript API has the following limitations: |
@@ -1,8 +0,40 @@ | ||
const library = require('./sass.dart.js'); | ||
library.load({ | ||
util: require("util"), | ||
immutable: require("immutable"), | ||
fs: require("fs"), | ||
}); | ||
import * as immutable from "immutable" | ||
import "./sass.dart.js"; | ||
module.exports = library; | ||
const _cliPkgLibrary = globalThis._cliPkgExports.pop(); | ||
if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports; | ||
const _cliPkgExports = {}; | ||
_cliPkgLibrary.load({immutable}, _cliPkgExports); | ||
export const compile = _cliPkgExports.compile; | ||
export const compileAsync = _cliPkgExports.compileAsync; | ||
export const compileString = _cliPkgExports.compileString; | ||
export const compileStringAsync = _cliPkgExports.compileStringAsync; | ||
export const Logger = _cliPkgExports.Logger; | ||
export const SassArgumentList = _cliPkgExports.SassArgumentList; | ||
export const SassBoolean = _cliPkgExports.SassBoolean; | ||
export const SassCalculation = _cliPkgExports.SassCalculation; | ||
export const CalculationOperation = _cliPkgExports.CalculationOperation; | ||
export const CalculationInterpolation = _cliPkgExports.CalculationInterpolation; | ||
export const SassColor = _cliPkgExports.SassColor; | ||
export const SassFunction = _cliPkgExports.SassFunction; | ||
export const SassList = _cliPkgExports.SassList; | ||
export const SassMap = _cliPkgExports.SassMap; | ||
export const SassMixin = _cliPkgExports.SassMixin; | ||
export const SassNumber = _cliPkgExports.SassNumber; | ||
export const SassString = _cliPkgExports.SassString; | ||
export const Value = _cliPkgExports.Value; | ||
export const CustomFunction = _cliPkgExports.CustomFunction; | ||
export const ListSeparator = _cliPkgExports.ListSeparator; | ||
export const sassFalse = _cliPkgExports.sassFalse; | ||
export const sassNull = _cliPkgExports.sassNull; | ||
export const sassTrue = _cliPkgExports.sassTrue; | ||
export const Exception = _cliPkgExports.Exception; | ||
export const PromiseOr = _cliPkgExports.PromiseOr; | ||
export const info = _cliPkgExports.info; | ||
export const render = _cliPkgExports.render; | ||
export const renderSync = _cliPkgExports.renderSync; | ||
export const TRUE = _cliPkgExports.TRUE; | ||
export const FALSE = _cliPkgExports.FALSE; | ||
export const NULL = _cliPkgExports.NULL; | ||
export const types = _cliPkgExports.types; |
#!/usr/bin/env node | ||
var library = require('./sass.dart.js'); | ||
require('./sass.dart.js'); | ||
var library = globalThis._cliPkgExports.pop(); | ||
if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports; | ||
library.load({ | ||
@@ -8,6 +11,7 @@ readline: require("readline"), | ||
util: require("util"), | ||
stream: require("stream"), | ||
fs: require("fs"), | ||
immutable: require("immutable"), | ||
fs: require("fs"), | ||
}); | ||
library.cli_pkg_main_0_(process.argv.slice(2)); |
@@ -6,4 +6,4 @@ import {RawSourceMap} from 'source-map-js'; | ||
/** | ||
* The result of compiling Sass to CSS. Returned by [[compile]], | ||
* [[compileAsync]], [[compileString]], and [[compileStringAsync]]. | ||
* The result of compiling Sass to CSS. Returned by {@link compile}, {@link | ||
* compileAsync}, {@link compileString}, and {@link compileStringAsync}. | ||
* | ||
@@ -33,6 +33,6 @@ * @category Compile | ||
* This typically uses absolute `file:` URLs to refer to Sass files, although | ||
* this can be controlled by having a custom [[Importer]] return | ||
* [[ImporterResult.sourceMapUrl]]. | ||
* this can be controlled by having a custom {@link Importer} return {@link | ||
* ImporterResult.sourceMapUrl}. | ||
* | ||
* This is set if and only if [[Options.sourceMap]] is `true`. | ||
* This is set if and only if {@link Options.sourceMap} is `true`. | ||
*/ | ||
@@ -44,6 +44,12 @@ sourceMap?: RawSourceMap; | ||
* Synchronously compiles the Sass file at `path` to CSS. If it succeeds it | ||
* returns a [[CompileResult]], and if it fails it throws an [[Exception]]. | ||
* returns a {@link CompileResult}, and if it fails it throws an {@link | ||
* Exception}. | ||
* | ||
* This only allows synchronous [[Importer]]s and [[CustomFunction]]s. | ||
* This only allows synchronous {@link Importer}s and {@link CustomFunction}s. | ||
* | ||
* **Heads up!** When using the `sass-embedded` npm package, | ||
* **{@link compileAsync} is almost always faster than {@link compile}**, due to | ||
* the overhead of emulating synchronous messaging with worker threads and | ||
* concurrent compilations being blocked on main thread. | ||
* | ||
* @example | ||
@@ -65,11 +71,11 @@ * | ||
* Asynchronously compiles the Sass file at `path` to CSS. Returns a promise | ||
* that resolves with a [[CompileResult]] if it succeeds and rejects with an | ||
* [[Exception]] if it fails. | ||
* that resolves with a {@link CompileResult} if it succeeds and rejects with an | ||
* {@link Exception} if it fails. | ||
* | ||
* This only allows synchronous or asynchronous [[Importer]]s and | ||
* [[CustomFunction]]s. | ||
* This only allows synchronous or asynchronous {@link Importer}s and | ||
* {@link CustomFunction}s. | ||
* | ||
* **Heads up!** When using Dart Sass, **[[compile]] is almost twice as fast as | ||
* [[compileAsync]]**, due to the overhead of making the entire evaluation | ||
* process asynchronous. | ||
* **Heads up!** When using the `sass` npm package, **{@link compile} is almost | ||
* twice as fast as {@link compileAsync}**, due to the overhead of making the | ||
* entire evaluation process asynchronous. | ||
* | ||
@@ -95,7 +101,13 @@ * @example | ||
* Synchronously compiles a stylesheet whose contents is `source` to CSS. If it | ||
* succeeds it returns a [[CompileResult]], and if it fails it throws an | ||
* [[Exception]]. | ||
* succeeds it returns a {@link CompileResult}, and if it fails it throws an | ||
* {@link Exception}. | ||
* | ||
* This only allows synchronous [[Importer]]s and [[CustomFunction]]s. | ||
* This only allows synchronous {@link Importer}s and {@link CustomFunction}s. | ||
* | ||
* **Heads up!** When using the `sass-embedded` npm package, | ||
* **{@link compileStringAsync} is almost always faster than | ||
* {@link compileString}**, due to the overhead of emulating synchronous | ||
* messaging with worker threads and concurrent compilations being blocked on | ||
* main thread. | ||
* | ||
* @example | ||
@@ -126,11 +138,11 @@ * | ||
* Asynchronously compiles a stylesheet whose contents is `source` to CSS. | ||
* Returns a promise that resolves with a [[CompileResult]] if it succeeds and | ||
* rejects with an [[Exception]] if it fails. | ||
* Returns a promise that resolves with a {@link CompileResult} if it succeeds | ||
* and rejects with an {@link Exception} if it fails. | ||
* | ||
* This only allows synchronous or asynchronous [[Importer]]s and | ||
* [[CustomFunction]]s. | ||
* This only allows synchronous or asynchronous {@link Importer}s and {@link | ||
* CustomFunction}s. | ||
* | ||
* **Heads up!** When using Dart Sass, **[[compile]] is almost twice as fast as | ||
* [[compileAsync]]**, due to the overhead of making the entire evaluation | ||
* process asynchronous. | ||
* **Heads up!** When using the `sass` npm package, **{@link compileString} is | ||
* almost twice as fast as {@link compileStringAsync}**, due to the overhead | ||
* of making the entire evaluation process asynchronous. | ||
* | ||
@@ -137,0 +149,0 @@ * @example |
@@ -15,6 +15,6 @@ import {SourceSpan} from './logger'; | ||
* Because many tools simply print `Error.message` directly, this includes not | ||
* only the textual description of what went wrong (the [[sassMessage]]) but | ||
* also an indication of where in the Sass stylesheet the error occurred (the | ||
* [[span]]) and the Sass stack trace at the point of error (the | ||
* [[sassStack]]). | ||
* only the textual description of what went wrong (the {@link sassMessage}) | ||
* but also an indication of where in the Sass stylesheet the error occurred | ||
* (the {@link span}) and the Sass stack trace at the point of error (the | ||
* {@link sassStack}). | ||
*/ | ||
@@ -26,4 +26,4 @@ message: string; | ||
* | ||
* Unlike [[message]], this does *not* include representations of [[span]] or | ||
* [[sassStack]]. | ||
* Unlike {@link message}, this does *not* include representations of {@link | ||
* span} or {@link sassStack}. | ||
*/ | ||
@@ -41,4 +41,4 @@ readonly sassMessage: string; | ||
/** Returns the same string as [[message]]. */ | ||
/** Returns the same string as {@link message}. */ | ||
toString(): string; | ||
} |
@@ -5,4 +5,36 @@ import {Syntax} from './options'; | ||
/** | ||
* Contextual information passed to {@link Importer.canonicalize} and {@link | ||
* FileImporter.findFileUrl}. Not all importers will need this information to | ||
* resolve loads, but some may find it useful. | ||
*/ | ||
export interface CanonicalizeContext { | ||
/** | ||
* Whether this is being invoked because of a Sass | ||
* `@import` rule, as opposed to a `@use` or `@forward` rule. | ||
* | ||
* This should *only* be used for determining whether or not to load | ||
* [import-only files](https://sass-lang.com/documentation/at-rules/import#import-only-files). | ||
*/ | ||
fromImport: boolean; | ||
/** | ||
* The canonical URL of the file that contains the load, if that information | ||
* is available. | ||
* | ||
* For an {@link Importer}, this is only passed when the `url` parameter is a | ||
* relative URL _or_ when its [URL scheme] is included in {@link | ||
* Importer.nonCanonicalScheme}. This ensures that canonical URLs are always | ||
* resolved the same way regardless of context. | ||
* | ||
* [URL scheme]: https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#scheme | ||
* | ||
* For a {@link FileImporter}, this is always available as long as Sass knows | ||
* the canonical URL of the containing file. | ||
*/ | ||
containingUrl: URL | null; | ||
} | ||
/** | ||
* A special type of importer that redirects all loads to existing files on | ||
* disk. Although this is less powerful than a full [[Importer]], it | ||
* disk. Although this is less powerful than a full {@link Importer}, it | ||
* automatically takes care of Sass features like resolving partials and file | ||
@@ -14,11 +46,12 @@ * extensions and of loading the file from disk. | ||
* rules](https://sass-lang.com/documentation/at-rules/import). It can be passed | ||
* to [[Options.importers]] or [[StringOptionsWithImporter.importer]]. | ||
* to {@link Options.importers} or {@link StringOptionsWithImporter.importer}. | ||
* | ||
* @typeParam sync - A `FileImporter<'sync'>`'s [[findFileUrl]] must return | ||
* synchronously, but in return it can be passed to [[compile]] and | ||
* [[compileString]] in addition to [[compileAsync]] and [[compileStringAsync]]. | ||
* @typeParam sync - A `FileImporter<'sync'>`'s {@link findFileUrl} must return | ||
* synchronously, but in return it can be passed to {@link compile} and {@link | ||
* compileString} in addition to {@link compileAsync} and {@link | ||
* compileStringAsync}. | ||
* | ||
* A `FileImporter<'async'>`'s [[findFileUrl]] may either return synchronously | ||
* or asynchronously, but it can only be used with [[compileAsync]] and | ||
* [[compileStringAsync]]. | ||
* A `FileImporter<'async'>`'s {@link findFileUrl} may either return | ||
* synchronously or asynchronously, but it can only be used with {@link | ||
* compileAsync} and {@link compileStringAsync}. | ||
* | ||
@@ -53,15 +86,9 @@ * @example | ||
* | ||
* Unlike an [[Importer]], the compiler will automatically handle relative | ||
* loads for a [[FileImporter]]. See [[Options.importers]] for more details on | ||
* the way loads are resolved. | ||
* Unlike an {@link Importer}, the compiler will automatically handle relative | ||
* loads for a {@link FileImporter}. See {@link Options.importers} for more | ||
* details on the way loads are resolved. | ||
* | ||
* @param url - The loaded URL. Since this might be relative, it's represented | ||
* as a string rather than a [[URL]] object. | ||
* as a string rather than a {@link URL} object. | ||
* | ||
* @param options.fromImport - Whether this is being invoked because of a Sass | ||
* `@import` rule, as opposed to a `@use` or `@forward` rule. | ||
* | ||
* This should *only* be used for determining whether or not to load | ||
* [import-only files](https://sass-lang.com/documentation/at-rules/import#import-only-files). | ||
* | ||
* @returns An absolute `file:` URL if this importer recognizes the `url`. | ||
@@ -79,4 +106,4 @@ * This may be only partially resolved: the compiler will automatically look | ||
* This may also return a `Promise`, but if it does the importer may only be | ||
* passed to [[compileAsync]] and [[compileStringAsync]], not [[compile]] or | ||
* [[compileString]]. | ||
* passed to {@link compileAsync} and {@link compileStringAsync}, not {@link | ||
* compile} or {@link compileString}. | ||
* | ||
@@ -91,3 +118,3 @@ * @throws any - If this importer recognizes `url` but determines that it's | ||
url: string, | ||
options: {fromImport: boolean} | ||
context: CanonicalizeContext | ||
): PromiseOr<URL | null, sync>; | ||
@@ -103,32 +130,35 @@ | ||
* rules](https://sass-lang.com/documentation/at-rules/import). It can be passed | ||
* to [[Options.importers]] or [[StringOptionsWithImporter.importer]]. | ||
* to {@link Options.importers} or {@link StringOptionsWithImporter.importer}. | ||
* | ||
* Importers that simply redirect to files on disk are encouraged to use the | ||
* [[FileImporter]] interface instead. | ||
* {@link FileImporter} interface instead. | ||
* | ||
* See [[Options.importers]] for more details on the way loads are resolved. | ||
* ### Resolving a Load | ||
* | ||
* @typeParam sync - An `Importer<'sync'>`'s [[canonicalize]] and [[load]] must | ||
* return synchronously, but in return it can be passed to [[compile]] and | ||
* [[compileString]] in addition to [[compileAsync]] and [[compileStringAsync]]. | ||
* | ||
* An `Importer<'async'>`'s [[canonicalize]] and [[load]] may either return | ||
* synchronously or asynchronously, but it can only be used with | ||
* [[compileAsync]] and [[compileStringAsync]]. | ||
* | ||
* @example Resolving a Load | ||
* | ||
* This is the process of resolving a load using a custom importer: | ||
* | ||
* - The compiler encounters `@use "db:foo/bar/baz"`. | ||
* - It calls [[canonicalize]] with `"db:foo/bar/baz"`. | ||
* - [[canonicalize]] returns `new URL("db:foo/bar/baz/_index.scss")`. | ||
* - It calls {@link canonicalize} with `"db:foo/bar/baz"`. | ||
* - {@link canonicalize} returns `new URL("db:foo/bar/baz/_index.scss")`. | ||
* - If the compiler has already loaded a stylesheet with this canonical URL, it | ||
* re-uses the existing module. | ||
* - Otherwise, it calls [[load]] with `new URL("db:foo/bar/baz/_index.scss")`. | ||
* - [[load]] returns an [[ImporterResult]] that the compiler uses as the | ||
* contents of the module. | ||
* - Otherwise, it calls {@link load} with `new | ||
* URL("db:foo/bar/baz/_index.scss")`. | ||
* - {@link load} returns an {@link ImporterResult} that the compiler uses as | ||
* the contents of the module. | ||
* | ||
* @example Code Sample | ||
* See {@link Options.importers} for more details on the way loads are resolved | ||
* using multiple importers and load paths. | ||
* | ||
* @typeParam sync - An `Importer<'sync'>`'s {@link canonicalize} and {@link | ||
* load} must return synchronously, but in return it can be passed to {@link | ||
* compile} and {@link compileString} in addition to {@link compileAsync} and | ||
* {@link compileStringAsync}. | ||
* | ||
* An `Importer<'async'>`'s {@link canonicalize} and {@link load} may either | ||
* return synchronously or asynchronously, but it can only be used with {@link | ||
* compileAsync} and {@link compileStringAsync}. | ||
* | ||
* @example | ||
* | ||
* ```js | ||
@@ -201,12 +231,12 @@ * sass.compile('style.scss', { | ||
* | ||
* Calling [[canonicalize]] multiple times with the same URL must return the | ||
* same result. Calling [[canonicalize]] with a URL returned by a previous | ||
* call to [[canonicalize]] must return that URL. | ||
* Calling {@link canonicalize} multiple times with the same URL must return | ||
* the same result. Calling {@link canonicalize} with a URL returned by a | ||
* previous call to {@link canonicalize} must return that URL. | ||
* | ||
* Relative loads in stylesheets loaded from an importer are handled by | ||
* resolving the loaded URL relative to the canonical URL of the stylesheet | ||
* that contains it, and passing that URL back to the importer's | ||
* [[canonicalize]] method. For example, suppose the "Resolving a Load" | ||
* example {@link Importer | above} returned a stylesheet that contained | ||
* `@use "mixins"`: | ||
* that contains it, and passing that URL back to the importer's {@link | ||
* canonicalize} method. For example, suppose the "Resolving a Load" example | ||
* {@link Importer | above} returned a stylesheet that contained `@use | ||
* "mixins"`: | ||
* | ||
@@ -216,18 +246,12 @@ * - The compiler resolves the URL `mixins` relative to the current | ||
* `db:foo/bar/baz/mixins`. | ||
* - It calls [[canonicalize]] with `"db:foo/bar/baz/mixins"`. | ||
* - [[canonicalize]] returns `new URL("db:foo/bar/baz/_mixins.scss")`. | ||
* - It calls {@link canonicalize} with `"db:foo/bar/baz/mixins"`. | ||
* - {@link canonicalize} returns `new URL("db:foo/bar/baz/_mixins.scss")`. | ||
* | ||
* Because of this, [[canonicalize]] must return a meaningful result when | ||
* called with a URL relative to one returned by an earlier call to | ||
* [[canonicalize]]. | ||
* Because of this, {@link canonicalize} must return a meaningful result when | ||
* called with a URL relative to one returned by an earlier call to {@link | ||
* canonicalize}. | ||
* | ||
* @param url - The loaded URL. Since this might be relative, it's represented | ||
* as a string rather than a [[URL]] object. | ||
* as a string rather than a {@link URL} object. | ||
* | ||
* @param options.fromImport - Whether this is being invoked because of a Sass | ||
* `@import` rule, as opposed to a `@use` or `@forward` rule. | ||
* | ||
* This should *only* be used for determining whether or not to load | ||
* [import-only files](https://sass-lang.com/documentation/at-rules/import#import-only-files). | ||
* | ||
* @returns An absolute URL if this importer recognizes the `url`, or `null` | ||
@@ -238,4 +262,4 @@ * if it doesn't. If this returns `null`, other importers or {@link | ||
* This may also return a `Promise`, but if it does the importer may only be | ||
* passed to [[compileAsync]] and [[compileStringAsync]], not [[compile]] or | ||
* [[compileString]]. | ||
* passed to {@link compileAsync} and {@link compileStringAsync}, not {@link | ||
* compile} or {@link compileString}. | ||
* | ||
@@ -250,3 +274,3 @@ * @throws any - If this importer recognizes `url` but determines that it's | ||
url: string, | ||
options: {fromImport: boolean} | ||
context: CanonicalizeContext | ||
): PromiseOr<URL | null, sync>; | ||
@@ -259,4 +283,4 @@ | ||
* @param canonicalUrl - The canonical URL of the stylesheet to load. This is | ||
* guaranteed to come from a call to [[canonicalize]], although not every call | ||
* to [[canonicalize]] will result in a call to [[load]]. | ||
* guaranteed to come from a call to {@link canonicalize}, although not every | ||
* call to {@link canonicalize} will result in a call to {@link load}. | ||
* | ||
@@ -267,4 +291,4 @@ * @returns The contents of the stylesheet at `canonicalUrl` if it can be | ||
* This may also return a `Promise`, but if it does the importer may only be | ||
* passed to [[compileAsync]] and [[compileStringAsync]], not [[compile]] or | ||
* [[compileString]]. | ||
* passed to {@link compileAsync} and {@link compileStringAsync}, not {@link | ||
* compile} or {@link compileString}. | ||
* | ||
@@ -283,6 +307,20 @@ * @throws any - If this importer finds a stylesheet at `url` but it fails to | ||
findFileUrl?: never; | ||
/** | ||
* A URL scheme or set of schemes (without the `:`) that this importer | ||
* promises never to use for URLs returned by {@link canonicalize}. If it does | ||
* return a URL with one of these schemes, that's an error. | ||
* | ||
* If this is set, any call to canonicalize for a URL with a non-canonical | ||
* scheme will be passed {@link CanonicalizeContext.containingUrl} if it's | ||
* known. | ||
* | ||
* These schemes may only contain lowercase ASCII letters, ASCII numerals, | ||
* `+`, `-`, and `.`. They may not be empty. | ||
*/ | ||
nonCanonicalScheme?: string | string[]; | ||
} | ||
/** | ||
* The result of successfully loading a stylesheet with an [[Importer]]. | ||
* The result of successfully loading a stylesheet with an {@link Importer}. | ||
* | ||
@@ -295,3 +333,3 @@ * @category Importer | ||
/** The syntax with which to parse [[contents]]. */ | ||
/** The syntax with which to parse {@link contents}. */ | ||
syntax: Syntax; | ||
@@ -298,0 +336,0 @@ |
@@ -13,3 +13,8 @@ // This is a mirror of the JS API definitions in `spec/js-api`, but with comments | ||
export {Exception} from './exception'; | ||
export {FileImporter, Importer, ImporterResult} from './importer'; | ||
export { | ||
CanonicalizeContext, | ||
FileImporter, | ||
Importer, | ||
ImporterResult, | ||
} from './importer'; | ||
export {Logger, SourceSpan, SourceLocation} from './logger'; | ||
@@ -27,5 +32,10 @@ export { | ||
export { | ||
CalculationInterpolation, | ||
CalculationOperation, | ||
CalculationOperator, | ||
CalculationValue, | ||
ListSeparator, | ||
SassArgumentList, | ||
SassBoolean, | ||
SassCalculation, | ||
SassColor, | ||
@@ -35,2 +45,3 @@ SassFunction, | ||
SassMap, | ||
SassMixin, | ||
SassNumber, | ||
@@ -37,0 +48,0 @@ SassString, |
/** | ||
* The exception type thrown by [[renderSync]] and passed as the error to | ||
* [[render]]'s callback. | ||
* The exception type thrown by {@link renderSync} and passed as the error to | ||
* {@link render}'s callback. | ||
* | ||
* @category Legacy | ||
* @deprecated This is only thrown by the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[compile]], [[compileString]], [[compileAsync]], and | ||
* [[compileStringAsync]] instead. | ||
* @deprecated This is only thrown by the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link compile}, {@link compileString}, {@link | ||
* compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -20,4 +20,4 @@ export interface LegacyException extends Error { | ||
* The error message. For Dart Sass, this is the same as the result of calling | ||
* [[toString]], which is itself the same as [[message]] but with the prefix | ||
* "Error:". | ||
* {@link toString}, which is itself the same as {@link message} but with the | ||
* prefix "Error:". | ||
*/ | ||
@@ -33,4 +33,5 @@ formatted: string; | ||
/** | ||
* The (1-based) column number within [[line]] at which the error occurred, if | ||
* this exception is associated with a specific Sass file location. | ||
* The (1-based) column number within {@link line} at which the error | ||
* occurred, if this exception is associated with a specific Sass file | ||
* location. | ||
*/ | ||
@@ -51,7 +52,7 @@ column?: number; | ||
* * If the Sass file was generated by an importer, this is its canonical URL. | ||
* * If the Sass file was passed as [[LegacyStringOptions.data]] without a | ||
* corresponding [[LegacyStringOptions.file]], this is the special string | ||
* `"stdin"`. | ||
* * If the Sass file was passed as {@link LegacyStringOptions.data} without a | ||
* corresponding {@link LegacyStringOptions.file}, this is the special | ||
* string `"stdin"`. | ||
*/ | ||
file?: string; | ||
} |
@@ -5,4 +5,4 @@ import {LegacyPluginThis} from './plugin_this'; | ||
* A synchronous callback that implements a custom Sass function. This can be | ||
* passed to [[LegacySharedOptions.functions]] for either [[render]] or | ||
* [[renderSync]]. | ||
* passed to {@link LegacySharedOptions.functions} for either {@link render} or | ||
* {@link renderSync}. | ||
* | ||
@@ -29,10 +29,11 @@ * If this throws an error, Sass will treat that as the function failing with | ||
* @param args - One argument for each argument that's declared in the signature | ||
* that's passed to [[LegacySharedOptions.functions]]. If the signature [takes | ||
* arbitrary arguments](https://sass-lang.com/documentation/at-rules/function#taking-arbitrary-arguments), | ||
* that's passed to {@link LegacySharedOptions.functions}. If the signature | ||
* [takes arbitrary | ||
* arguments](https://sass-lang.com/documentation/at-rules/function#taking-arbitrary-arguments), | ||
* they're passed as a single argument list in the last argument. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[CustomFunction]] with [[compile]], [[compileString]], | ||
* [[compileAsync]], and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link CustomFunction} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -46,3 +47,3 @@ export type LegacySyncFunction = ( | ||
* An asynchronous callback that implements a custom Sass function. This can be | ||
* passed to [[LegacySharedOptions.functions]], but only for [[render]]. | ||
* passed to {@link LegacySharedOptions.functions}, but only for {@link render}. | ||
* | ||
@@ -75,3 +76,3 @@ * An asynchronous function must return `undefined`. Its final argument will | ||
* This is passed one argument for each argument that's declared in the | ||
* signature that's passed to [[LegacySharedOptions.functions]]. If the | ||
* signature that's passed to {@link LegacySharedOptions.functions}. If the | ||
* signature [takes arbitrary | ||
@@ -83,5 +84,5 @@ * arguments](https://sass-lang.com/documentation/at-rules/function#taking-arbitrary-arguments), | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[CustomFunction]] with [[compile]], [[compileString]], | ||
* [[compileAsync]], and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link CustomFunction} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -141,13 +142,13 @@ export type LegacyAsyncFunction = | ||
/** | ||
* The function called by a [[LegacyAsyncFunction]] to indicate that it's | ||
* The function called by a {@link LegacyAsyncFunction} to indicate that it's | ||
* finished. | ||
* | ||
* @param result - If this is a [[LegacyValue]], that indicates that the | ||
* function call completed successfully. If it's a [[types.Error]], that | ||
* @param result - If this is a {@link LegacyValue}, that indicates that the | ||
* function call completed successfully. If it's a {@link types.Error}, that | ||
* indicates that the function call failed. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[CustomFunction]] with [[compile]], [[compileString]], | ||
* [[compileAsync]], and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link CustomFunction} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -159,13 +160,13 @@ export type LegacyAsyncFunctionDone = ( | ||
/** | ||
* A callback that implements a custom Sass function. For [[renderSync]], this | ||
* must be a [[LegacySyncFunction]] which returns its result directly; for | ||
* [[render]], it may be either a [[LegacySyncFunction]] or a | ||
* [[LegacyAsyncFunction]] which calls a callback with its result. | ||
* A callback that implements a custom Sass function. For {@link renderSync}, | ||
* this must be a {@link LegacySyncFunction} which returns its result directly; | ||
* for {@link render}, it may be either a {@link LegacySyncFunction} or a {@link | ||
* LegacyAsyncFunction} which calls a callback with its result. | ||
* | ||
* See [[LegacySharedOptions.functions]] for more details. | ||
* See {@link LegacySharedOptions.functions} for more details. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[CustomFunction]] with [[compile]], [[compileString]], | ||
* [[compileAsync]], and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link CustomFunction} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -178,8 +179,8 @@ export type LegacyFunction<sync extends 'sync' | 'async'> = sync extends 'async' | ||
* A type representing all the possible values that may be passed to or returned | ||
* from a [[LegacyFunction]]. | ||
* from a {@link LegacyFunction}. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Value]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Value} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -199,5 +200,5 @@ export type LegacyValue = | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[sassTrue]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link sassTrue} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -210,5 +211,5 @@ export const TRUE: types.Boolean<true>; | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[sassFalse]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link sassFalse} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -221,5 +222,5 @@ export const FALSE: types.Boolean<false>; | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[sassNull]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link sassNull} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -232,5 +233,5 @@ export const NULL: types.Null; | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Value]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Value} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -241,3 +242,3 @@ export namespace types { | ||
* value](https://sass-lang.com/documentation/values/null). The value itself | ||
* can be accessed through the [[NULL]] field. | ||
* can be accessed through the {@link NULL} field. | ||
*/ | ||
@@ -296,3 +297,3 @@ export class Null { | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -303,3 +304,3 @@ setValue(value: number): void; | ||
* Returns a string representation of this number's units. Complex units are | ||
* returned in the same format that [[constructor]] accepts them. | ||
* returned in the same format that {@link constructor} accepts them. | ||
* | ||
@@ -321,5 +322,5 @@ * @example | ||
* independent of its numeric value. Complex units are specified in the same | ||
* format as [[constructor]]. | ||
* format as {@link constructor}. | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -379,3 +380,3 @@ setUnit(unit: string): void; | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -393,3 +394,3 @@ setValue(value: string): void; | ||
* **Heads up!** Boolean values can't be constructed, they can only be | ||
* accessed through the [[TRUE]] and [[FALSE]] constants. | ||
* accessed through the {@link TRUE} and {@link FALSE} constants. | ||
*/ | ||
@@ -472,3 +473,3 @@ export class Boolean<T extends boolean = boolean> { | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -496,3 +497,3 @@ setR(value: number): void; | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -520,3 +521,3 @@ setG(value: number): void; | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -544,3 +545,3 @@ setB(value: number): void; | ||
* | ||
* @deprecated Use [[constructor]] instead. | ||
* @deprecated Use {@link constructor} instead. | ||
*/ | ||
@@ -562,4 +563,4 @@ setA(value: number): void; | ||
* **Heads up!** The initial values of the list elements are undefined. | ||
* These elements must be set using [[setValue]] before accessing them or | ||
* passing the list back to Sass. | ||
* These elements must be set using {@link setValue} before accessing them | ||
* or passing the list back to Sass. | ||
* | ||
@@ -669,4 +670,4 @@ * @example | ||
* **Heads up!** The initial keys and values of the map are undefined. They | ||
* must be set using [[setKey]] and [[setValue]] before accessing them or | ||
* passing the map back to Sass. | ||
* must be set using {@link setKey} and {@link setValue} before accessing | ||
* them or passing the map back to Sass. | ||
* | ||
@@ -775,3 +776,3 @@ * @example | ||
* encountered an error. This is the only way to signal an error | ||
* asynchronously from a [[LegacyAsyncFunction]]. | ||
* asynchronously from a {@link LegacyAsyncFunction}. | ||
*/ | ||
@@ -778,0 +779,0 @@ export class Error { |
import {LegacyPluginThis} from './plugin_this'; | ||
/** | ||
* The value of `this` in the context of a [[LegacyImporter]] function. | ||
* The value of `this` in the context of a {@link LegacyImporter} function. | ||
* | ||
* @category Legacy | ||
* @deprecated This is only used by the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This is only used by the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Importer} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -25,4 +25,4 @@ interface LegacyImporterThis extends LegacyPluginThis { | ||
/** | ||
* The result of running a [[LegacyImporter]]. It must be one of the following | ||
* types: | ||
* The result of running a {@link LegacyImporter}. It must be one of the | ||
* following types: | ||
* | ||
@@ -42,5 +42,5 @@ * * An object with the key `contents` whose value is the contents of a stylesheet | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[ImporterResult]] with [[compile]], [[compileString]], | ||
* [[compileAsync]], and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link ImporterResult} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -57,6 +57,6 @@ export type LegacyImporterResult = | ||
* [`@use` rules](https://sass-lang.com/documentation/at-rules/use). This can be | ||
* passed to [[LegacySharedOptions.importer]] for either [[render]] or | ||
* [[renderSync]]. | ||
* passed to {@link LegacySharedOptions.importer} for either {@link render} or | ||
* {@link renderSync}. | ||
* | ||
* See [[LegacySharedOptions.importer]] for more detailed documentation. | ||
* See {@link LegacySharedOptions.importer} for more detailed documentation. | ||
* | ||
@@ -91,5 +91,5 @@ * ```js | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Importer} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -106,9 +106,9 @@ type LegacySyncImporter = ( | ||
* [`@use` rules](https://sass-lang.com/documentation/at-rules/use). This can be | ||
* passed to [[LegacySharedOptions.importer]] for either [[render]] or | ||
* [[renderSync]]. | ||
* passed to {@link LegacySharedOptions.importer} for either {@link render} or | ||
* {@link renderSync}. | ||
* | ||
* An asynchronous importer must return `undefined`, and then call `done` with | ||
* the result of its [[LegacyImporterResult]] once it's done running. | ||
* the result of its {@link LegacyImporterResult} once it's done running. | ||
* | ||
* See [[LegacySharedOptions.importer]] for more detailed documentation. | ||
* See {@link LegacySharedOptions.importer} for more detailed documentation. | ||
* | ||
@@ -145,5 +145,5 @@ * ```js | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Importer} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -160,13 +160,14 @@ type LegacyAsyncImporter = ( | ||
* rules](https://sass-lang.com/documentation/at-rules/import) and [`@use` | ||
* rules](https://sass-lang.com/documentation/at-rules/use). For [[renderSync]], | ||
* this must be a [[LegacySyncImporter]] which returns its result directly; for | ||
* [[render]], it may be either a [[LegacySyncImporter]] or a | ||
* [[LegacyAsyncImporter]] which calls a callback with its result. | ||
* rules](https://sass-lang.com/documentation/at-rules/use). For {@link | ||
* renderSync}, this must be a {@link LegacySyncImporter} which returns its | ||
* result directly; for {@link render}, it may be either a {@link | ||
* LegacySyncImporter} or a {@link LegacyAsyncImporter} which calls a callback | ||
* with its result. | ||
* | ||
* See [[LegacySharedOptions.importer]] for more details. | ||
* See {@link LegacySharedOptions.importer} for more details. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Importer]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Importer} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -173,0 +174,0 @@ export type LegacyImporter<sync = 'sync' | 'async'> = sync extends 'async' |
@@ -6,13 +6,13 @@ import {Logger} from '../logger'; | ||
/** | ||
* Options for [[render]] and [[renderSync]] that are shared between | ||
* [[LegacyFileOptions]] and [[LegacyStringOptions]]. | ||
* Options for {@link render} and {@link renderSync} that are shared between | ||
* {@link LegacyFileOptions} and {@link LegacyStringOptions}. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that | ||
* [[LegacyAsyncImporter]]s and [[LegacyAsyncFunction]]s aren't passed to | ||
* [[renderSync]]. | ||
* @typeParam sync - This lets the TypeScript checker verify that {@link | ||
* LegacyAsyncImporter}s and {@link LegacyAsyncFunction}s aren't passed to | ||
* {@link renderSync}. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Options]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Options} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -71,4 +71,4 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> { | ||
/** | ||
* How many spaces or tabs (depending on [[indentType]]) should be used per | ||
* indentation level in the generated CSS. It must be between 0 and 10 | ||
* How many spaces or tabs (depending on {@link indentType}) should be used | ||
* per indentation level in the generated CSS. It must be between 0 and 10 | ||
* (inclusive). | ||
@@ -211,4 +211,4 @@ * | ||
* Whether or not Sass should generate a source map. If it does, the source | ||
* map will be available as [[LegacyResult.map]] (unless [[sourceMapEmbed]] is | ||
* `true`). | ||
* map will be available as {@link LegacyResult.map} (unless {@link | ||
* sourceMapEmbed} is `true`). | ||
* | ||
@@ -218,9 +218,9 @@ * If this option is a string, it’s the path that the source map is expected | ||
* generated CSS and to link *from* the source map to the Sass source files. | ||
* Note that if `sourceMap` is a string and [[outFile]] isn’t passed, Sass | ||
* Note that if `sourceMap` is a string and {@link outFile} isn’t passed, Sass | ||
* assumes that the CSS will be written to the same directory as the file | ||
* option if it’s passed. | ||
* | ||
* If this option is `true`, the path is assumed to be [[outFile]] with `.map` | ||
* added to the end. If it’s `true` and [[outFile]] isn’t passed, it has no | ||
* effect. | ||
* If this option is `true`, the path is assumed to be {@link outFile} with | ||
* `.map` added to the end. If it’s `true` and {@link outFile} isn’t passed, | ||
* it has no effect. | ||
* | ||
@@ -309,8 +309,8 @@ * @example | ||
* rule](https://sass-lang.com/documentation/at-rules/import) is encountered. | ||
* It can either be a single [[LegacyImporter]] function, or an array of | ||
* [[LegacyImporter]]s. | ||
* It can either be a single {@link LegacyImporter} function, or an array of | ||
* {@link LegacyImporter}s. | ||
* | ||
* Importers take the URL of the `@import` or `@use` rule and return a | ||
* [[LegacyImporterResult]] indicating how to handle that rule. For more | ||
* details, see [[LegacySyncImporter]] and [[LegacyAsyncImporter]]. | ||
* Importers take the URL of the `@import` or `@use` rule and return a {@link | ||
* LegacyImporterResult} indicating how to handle that rule. For more details, | ||
* see {@link LegacySyncImporter} and {@link LegacyAsyncImporter}. | ||
* | ||
@@ -326,3 +326,3 @@ * Loads are resolved by trying, in order: | ||
* | ||
* * Each load path in [[includePaths]]. | ||
* * Each load path in {@link includePaths}. | ||
* | ||
@@ -380,3 +380,3 @@ * * Each load path specified in the `SASS_PATH` environment variable, which | ||
* Versions of Dart Sass before 1.20.2 preferred resolving imports using | ||
* [[includePaths]] before resolving them using custom importers. | ||
* {@link includePaths} before resolving them using custom importers. | ||
* | ||
@@ -397,8 +397,7 @@ * All versions of Node Sass currently pass imports to importers before | ||
* This option takes an object whose keys are Sass function signatures and | ||
* whose values are [[LegacyFunction]]s. Each function should take the same | ||
* arguments as its signature. | ||
* whose values are {@link LegacyFunction}s. Each function should take the | ||
* same arguments as its signature. | ||
* | ||
* Functions are passed JavaScript representations of [Sass value | ||
* types](https://sass-lang.com/documentation/js-api#value-types), and must | ||
* return the same. | ||
* Functions are passed subclasses of {@link LegacyValue}, and must return the | ||
* same. | ||
* | ||
@@ -475,4 +474,4 @@ * **Heads up!** When writing custom functions, it’s important to ensure that | ||
* by dependencies. A “dependency” is defined as any file that’s loaded | ||
* through [[loadPaths]] or [[importer]]. Stylesheets that are imported | ||
* relative to the entrypoint are not considered dependencies. | ||
* through {@link includePaths} or {@link importer}. Stylesheets that are | ||
* imported relative to the entrypoint are not considered dependencies. | ||
* | ||
@@ -483,7 +482,7 @@ * This is useful for silencing deprecation warnings that you can’t fix on | ||
* | ||
* **Heads up!** If [[render]] or [[renderSync]] is called without | ||
* [[LegacyFileOptions.file]] or [[LegacyStringOptions.file]], <em>all</em> | ||
* stylesheets it loads will be considered dependencies. Since it doesn’t have | ||
* a path of its own, everything it loads is coming from a load path rather | ||
* than a relative import. | ||
* **Heads up!** If {@link render} or {@link renderSync} is called without | ||
* {@link LegacyFileOptions.file} or {@link LegacyStringOptions.file}, | ||
* <em>all</em> stylesheets it loads will be considered dependencies. Since it | ||
* doesn’t have a path of its own, everything it loads is coming from a load | ||
* path rather than a relative import. | ||
* | ||
@@ -512,6 +511,6 @@ * @defaultValue `false` | ||
* By default, Sass emits warnings and debug messages to standard error, but | ||
* if [[Logger.warn]] or [[Logger.debug]] is set, this will invoke them | ||
* instead. | ||
* if {@link Logger.warn} or {@link Logger.debug} is set, this will invoke | ||
* them instead. | ||
* | ||
* The special value [[Logger.silent]] can be used to easily silence all | ||
* The special value {@link Logger.silent} can be used to easily silence all | ||
* messages. | ||
@@ -526,8 +525,8 @@ * | ||
/** | ||
* If [[file]] is passed without [[data]], Sass will load the stylesheet at | ||
* [[file]] and compile it to CSS. | ||
* If {@link file} is passed without {@link data}, Sass will load the stylesheet | ||
* at {@link file} and compile it to CSS. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that | ||
* [[LegacyAsyncImporter]]s and [[LegacyAsyncFunction]]s aren't passed to | ||
* [[renderSync]]. | ||
* @typeParam sync - This lets the TypeScript checker verify that {@link | ||
* LegacyAsyncImporter}s and {@link LegacyAsyncFunction}s aren't passed to | ||
* {@link renderSync}. | ||
*/ | ||
@@ -563,4 +562,4 @@ export interface LegacyFileOptions<sync extends 'sync' | 'async'> | ||
/** | ||
* See [[LegacyStringOptions.file]] for documentation of passing [[file]] along | ||
* with [[data]]. | ||
* See {@link LegacyStringOptions.file} for documentation of passing {@link | ||
* file} along with {@link data}. | ||
* | ||
@@ -573,13 +572,13 @@ * @category Input | ||
/** | ||
* If [[data]] is passed, Sass will use it as the contents of the stylesheet to | ||
* compile. | ||
* If {@link data} is passed, Sass will use it as the contents of the stylesheet | ||
* to compile. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that | ||
* [[LegacyAsyncImporter]]s and [[LegacyAsyncFunction]]s aren't passed to | ||
* [[renderSync]]. | ||
* @typeParam sync - This lets the TypeScript checker verify that {@link | ||
* LegacyAsyncImporter}s and {@link LegacyAsyncFunction}s aren't passed to | ||
* {@link renderSync}. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[StringOptions]] with [[compile]], [[compileString]], | ||
* [[compileAsync]], and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link StringOptions} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -589,7 +588,7 @@ export interface LegacyStringOptions<sync extends 'sync' | 'async'> | ||
/** | ||
* The contents of the stylesheet to compile. Unless [[file]] is passed as | ||
* The contents of the stylesheet to compile. Unless {@link file} is passed as | ||
* well, the stylesheet’s URL is set to `"stdin"`. | ||
* | ||
* By default, this stylesheet is parsed as SCSS. This can be controlled using | ||
* [[indentedSyntax]]. | ||
* {@link indentedSyntax}. | ||
* | ||
@@ -612,6 +611,6 @@ * @example | ||
/** | ||
* If `file` and [[data]] are both passed, `file` is used as the path of the | ||
* stylesheet for error reporting, but [[data]] is used as the contents of the | ||
* stylesheet. In this case, `file`’s extension is not used to determine the | ||
* syntax of the stylesheet. | ||
* If `file` and {@link data} are both passed, `file` is used as the path of | ||
* the stylesheet for error reporting, but {@link data} is used as the | ||
* contents of the stylesheet. In this case, `file`’s extension is not used to | ||
* determine the syntax of the stylesheet. | ||
* | ||
@@ -623,3 +622,3 @@ * @category Input | ||
/** | ||
* This flag controls whether [[data]] is parsed as the indented syntax or | ||
* This flag controls whether {@link data} is parsed as the indented syntax or | ||
* not. | ||
@@ -645,13 +644,13 @@ * | ||
/** | ||
* Options for [[render]] and [[renderSync]]. This can either be | ||
* [[LegacyFileOptions]] to load a file from disk, or [[LegacyStringOptions]] to | ||
* compile a string of Sass code. | ||
* Options for {@link render} and {@link renderSync}. This can either be {@link | ||
* LegacyFileOptions} to load a file from disk, or {@link LegacyStringOptions} | ||
* to compile a string of Sass code. | ||
* | ||
* See [[LegacySharedOptions]] for options that are shared across both file and | ||
* string inputs. | ||
* See {@link LegacySharedOptions} for options that are shared across both file | ||
* and string inputs. | ||
* | ||
* @category Legacy | ||
* @deprecated This only works with the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[Options]] with [[compile]], [[compileString]], [[compileAsync]], | ||
* and [[compileStringAsync]] instead. | ||
* @deprecated This only works with the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link Options} with {@link compile}, {@link | ||
* compileString}, {@link compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -658,0 +657,0 @@ export type LegacyOptions<sync extends 'sync' | 'async'> = |
/** | ||
* The value of `this` in the context of a [[LegacyImporter]] or | ||
* [[LegacyFunction]] callback. | ||
* The value of `this` in the context of a {@link LegacyImporter} or {@link | ||
* LegacyFunction} callback. | ||
* | ||
* @category Legacy | ||
* @deprecated This is only used by the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[compile]], [[compileString]], [[compileAsync]], and | ||
* [[compileStringAsync]] instead. | ||
* @deprecated This is only used by the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link compile}, {@link compileString}, {@link | ||
* compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
export interface LegacyPluginThis { | ||
/** | ||
* A partial representation of the options passed to [[render]] or | ||
* [[renderSync]]. | ||
* A partial representation of the options passed to {@link render} or {@link | ||
* renderSync}. | ||
*/ | ||
options: { | ||
/** The same [[LegacyPluginThis]] instance that contains this object. */ | ||
/** The same {@link LegacyPluginThis} instance that contains this object. */ | ||
context: LegacyPluginThis; | ||
/** | ||
* The value passed to [[LegacyFileOptions.file]] or | ||
* [[LegacyStringOptions.file]]. | ||
* The value passed to {@link LegacyFileOptions.file} or {@link | ||
* LegacyStringOptions.file}. | ||
*/ | ||
file?: string; | ||
/** The value passed to [[LegacyStringOptions.data]]. */ | ||
/** The value passed to {@link LegacyStringOptions.data}. */ | ||
data?: string; | ||
/** | ||
* The value passed to [[LegacySharedOptions.includePaths]] separated by | ||
* The value passed to {@link LegacySharedOptions.includePaths} separated by | ||
* `";"` on Windows or `":"` on other operating systems. This always | ||
@@ -41,7 +41,8 @@ * includes the current working directory as the first entry. | ||
/** 1 if [[LegacySharedOptions.indentType]] was `"tab"`, 0 otherwise. */ | ||
/** 1 if {@link LegacySharedOptions.indentType} was `"tab"`, 0 otherwise. */ | ||
indentType: 1 | 0; | ||
/** | ||
* The value passed to [[LegacySharedOptions.indentWidth]], or `2` otherwise. | ||
* The value passed to {@link LegacySharedOptions.indentWidth}, or `2` | ||
* otherwise. | ||
*/ | ||
@@ -51,3 +52,3 @@ indentWidth: number; | ||
/** | ||
* The value passed to [[LegacySharedOptions.linefeed]], or `"\n"` | ||
* The value passed to {@link LegacySharedOptions.linefeed}, or `"\n"` | ||
* otherwise. | ||
@@ -57,3 +58,3 @@ */ | ||
/** A partially-constructed [[LegacyResult]] object. */ | ||
/** A partially-constructed {@link LegacyResult} object. */ | ||
result: { | ||
@@ -69,3 +70,3 @@ /** Partial information about the compilation in progress. */ | ||
/** | ||
* [[LegacyFileOptions.file]] if it was passed, otherwise the string | ||
* {@link LegacyFileOptions.file} if it was passed, otherwise the string | ||
* `"data"`. | ||
@@ -72,0 +73,0 @@ */ |
@@ -5,9 +5,9 @@ import {LegacyException} from './exception'; | ||
/** | ||
* The object returned by [[render]] and [[renderSync]] after a successful | ||
* compilation. | ||
* The object returned by {@link render} and {@link renderSync} after a | ||
* successful compilation. | ||
* | ||
* @category Legacy | ||
* @deprecated This is only used by the legacy [[render]] and [[renderSync]] | ||
* APIs. Use [[compile]], [[compileString]], [[compileAsync]], and | ||
* [[compileStringAsync]] instead. | ||
* @deprecated This is only used by the legacy {@link render} and {@link | ||
* renderSync} APIs. Use {@link compile}, {@link compileString}, {@link | ||
* compileAsync}, and {@link compileStringAsync} instead. | ||
*/ | ||
@@ -36,10 +36,10 @@ export interface LegacyResult { | ||
* | ||
* * [[LegacySharedOptions.sourceMap]] is a string; or | ||
* * [[LegacySharedOptions.sourceMap]] is `true` and | ||
* [[LegacySharedOptions.outFile]] is set. | ||
* * {@link LegacySharedOptions.sourceMap} is a string; or | ||
* * {@link LegacySharedOptions.sourceMap} is `true` and | ||
* {@link LegacySharedOptions.outFile} is set. | ||
* | ||
* The source map uses absolute [`file:` | ||
* URLs](https://en.wikipedia.org/wiki/File_URI_scheme) to link to the Sass | ||
* source files, except if the source file comes from | ||
* [[LegacyStringOptions.data]] in which case it lists its URL as `"stdin"`. | ||
* source files, except if the source file comes from {@link | ||
* LegacyStringOptions.data} in which case it lists its URL as `"stdin"`. | ||
* | ||
@@ -63,5 +63,5 @@ * @example | ||
/** | ||
* The absolute path of [[LegacyFileOptions.file]] or | ||
* [[LegacyStringOptions.file]], or `"data"` if [[LegacyStringOptions.file]] | ||
* wasn't set. | ||
* The absolute path of {@link LegacyFileOptions.file} or {@link | ||
* LegacyStringOptions.file}, or `"data"` if {@link | ||
* LegacyStringOptions.file} wasn't set. | ||
*/ | ||
@@ -90,4 +90,4 @@ entry: string; | ||
* An array of the absolute paths of all Sass files loaded during | ||
* compilation. If a stylesheet was loaded from a [[LegacyImporter]] that | ||
* returned the stylesheet’s contents, the raw string of the `@use` or | ||
* compilation. If a stylesheet was loaded from a {@link LegacyImporter} | ||
* that returned the stylesheet’s contents, the raw string of the `@use` or | ||
* `@import` that loaded that stylesheet included in this array. | ||
@@ -103,2 +103,7 @@ */ | ||
* | ||
* **Heads up!** When using the `sass-embedded` npm package, **{@link render} | ||
* is almost always faster than {@link renderSync}**, due to the overhead of | ||
* emulating synchronous messaging with worker threads and concurrent | ||
* compilations being blocked on main thread. | ||
* | ||
* @example | ||
@@ -114,3 +119,3 @@ * | ||
* @category Legacy | ||
* @deprecated Use [[compile]] or [[compileString]] instead. | ||
* @deprecated Use {@link compile} or {@link compileString} instead. | ||
*/ | ||
@@ -122,8 +127,8 @@ export function renderSync(options: LegacyOptions<'sync'>): LegacyResult; | ||
* This function asynchronously compiles a Sass file to CSS, and calls | ||
* `callback` with a [[LegacyResult]] if compilation succeeds or | ||
* [[LegacyException]] if it fails. | ||
* `callback` with a {@link LegacyResult} if compilation succeeds or {@link | ||
* LegacyException} if it fails. | ||
* | ||
* **Heads up!** When using Dart Sass, **[[renderSync]] is almost twice as fast | ||
* as [[render]]** by default, due to the overhead of making the entire | ||
* evaluation process asynchronous. | ||
* **Heads up!** When using the `sass` npm package, **{@link renderSync} is | ||
* almost twice as fast as {@link render}** by default, due to the overhead of | ||
* making the entire evaluation process asynchronous. | ||
* | ||
@@ -141,3 +146,3 @@ * ```js | ||
* @category Legacy | ||
* @deprecated Use [[compileAsync]] or [[compileStringAsync]] instead. | ||
* @deprecated Use {@link compileAsync} or {@link compileStringAsync} instead. | ||
*/ | ||
@@ -144,0 +149,0 @@ export function render( |
@@ -7,4 +7,4 @@ import {SourceSpan} from './source_span'; | ||
/** | ||
* An object that can be passed to [[LegacySharedOptions.logger]] to control how | ||
* Sass emits warnings and debug messages. | ||
* An object that can be passed to {@link LegacySharedOptions.logger} to control | ||
* how Sass emits warnings and debug messages. | ||
* | ||
@@ -74,3 +74,3 @@ * @example | ||
/** | ||
* A namespace for built-in [[Logger]]s. | ||
* A namespace for built-in {@link Logger}s. | ||
* | ||
@@ -82,3 +82,3 @@ * @category Logger | ||
/** | ||
* A [[Logger]] that silently ignores all warnings and debug messages. | ||
* A {@link Logger} that silently ignores all warnings and debug messages. | ||
* | ||
@@ -85,0 +85,0 @@ * @example |
/** | ||
* A specific location within a source file. | ||
* | ||
* This is always associated with a [[SourceSpan]] which indicates *which* file | ||
* it refers to. | ||
* This is always associated with a {@link SourceSpan} which indicates *which* | ||
* file it refers to. | ||
* | ||
@@ -7,0 +7,0 @@ * @category Logger |
@@ -15,5 +15,5 @@ import {SourceLocation} from './source_location'; | ||
* | ||
* If [[start]] and [[end]] refer to the same location, the span has zero | ||
* length and refers to the point immediately after [[start]] and before the | ||
* next character. | ||
* If {@link start} and {@link end} refer to the same location, the span has | ||
* zero length and refers to the point immediately after {@link start} and | ||
* before the next character. | ||
*/ | ||
@@ -20,0 +20,0 @@ end: SourceLocation; |
@@ -35,3 +35,3 @@ import {FileImporter, Importer} from './importer'; | ||
* A callback that implements a custom Sass function. This can be passed to | ||
* [[Options.functions]]. | ||
* {@link Options.functions}. | ||
* | ||
@@ -53,8 +53,8 @@ * ```js | ||
* @typeParam sync - A `CustomFunction<'sync'>` must return synchronously, but | ||
* in return it can be passed to [[compile]] and [[compileString]] in addition | ||
* to [[compileAsync]] and [[compileStringAsync]]. | ||
* in return it can be passed to {@link compile} and {@link compileString} in | ||
* addition to {@link compileAsync} and {@link compileStringAsync}. | ||
* | ||
* A `CustomFunction<'async'>` may either return synchronously or | ||
* asynchronously, but it can only be used with [[compileAsync]] and | ||
* [[compileStringAsync]]. | ||
* asynchronously, but it can only be used with {@link compileAsync} and {@link | ||
* compileStringAsync}. | ||
* | ||
@@ -64,7 +64,7 @@ * @param args - An array of arguments passed by the function's caller. If the | ||
* arguments](https://sass-lang.com/documentation/at-rules/function#taking-arbitrary-arguments), | ||
* the last element will be a [[SassArgumentList]]. | ||
* the last element will be a {@link SassArgumentList}. | ||
* | ||
* @returns The function's result. This may be in the form of a `Promise`, but | ||
* if it is the function may only be passed to [[compileAsync]] and | ||
* [[compileStringAsync]], not [[compile]] or [[compileString]]. | ||
* if it is the function may only be passed to {@link compileAsync} and {@link | ||
* compileStringAsync}, not {@link compile} or {@link compileString}. | ||
* | ||
@@ -84,8 +84,8 @@ * @throws any - This function may throw an error, which the Sass compiler will | ||
/** | ||
* Options that can be passed to [[compile]], [[compileAsync]], | ||
* [[compileString]], or [[compileStringAsync]]. | ||
* Options that can be passed to {@link compile}, {@link compileAsync}, {@link | ||
* compileString}, or {@link compileStringAsync}. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that asynchronous | ||
* [[Importer]]s, [[FileImporter]]s, and [[CustomFunction]]s aren't passed to | ||
* [[compile]] or [[compileString]]. | ||
* {@link Importer}s, {@link FileImporter}s, and {@link CustomFunction}s aren't | ||
* passed to {@link compile} or {@link compileString}. | ||
* | ||
@@ -134,7 +134,7 @@ * @category Options | ||
* rule`](https://sass-lang.com/documentation/at-rules/function) and whose | ||
* values are [[CustomFunction]]s. | ||
* values are {@link CustomFunction}s. | ||
* | ||
* Functions are passed JavaScript representations of [Sass value | ||
* types](https://sass-lang.com/documentation/js-api#value-types), and must | ||
* return the same. | ||
* Functions are passed subclasses of {@link Value}, and must return the same. | ||
* If the return value includes {@link SassCalculation}s they will be | ||
* simplified before being returned. | ||
* | ||
@@ -145,14 +145,14 @@ * When writing custom functions, it's important to make them as user-friendly | ||
* | ||
* * Use `Value.assert*` methods, like [[Value.assertString]], to cast untyped | ||
* `Value` objects to more specific types. For values that were passed | ||
* directly as arguments, pass in the argument name as well. This ensures | ||
* that the user gets good error messages when they pass in the wrong type | ||
* to your function. | ||
* * Use `Value.assert*` methods, like {@link Value.assertString}, to cast | ||
* untyped `Value` objects to more specific types. For values that were | ||
* passed directly as arguments, pass in the argument name as well. This | ||
* ensures that the user gets good error messages when they pass in the | ||
* wrong type to your function. | ||
* | ||
* * Individual classes may have more specific `assert*` methods, like | ||
* [[SassNumber.assertInt]], which should be used when possible. | ||
* * Individual classes may have more specific `assert*` methods, like {@link | ||
* SassNumber.assertInt}, which should be used when possible. | ||
* | ||
* * In Sass, every value counts as a list. Rather than trying to detect the | ||
* [[SassList]] type, you should use [[Value.asList]] to treat all values as | ||
* lists. | ||
* {@link SassList} type, you should use {@link Value.asList} to treat all | ||
* values as lists. | ||
* | ||
@@ -169,5 +169,4 @@ * * When manipulating values like lists, strings, and numbers that have | ||
* indices to index from the end of value. Functions should follow these | ||
* conventions. [[Value.sassIndexToListIndex]] and | ||
* [[SassString.sassIndexToStringIndex]] can be used to do this | ||
* automatically. | ||
* conventions. {@link Value.sassIndexToListIndex} and {@link | ||
* SassString.sassIndexToStringIndex} can be used to do this automatically. | ||
* | ||
@@ -180,5 +179,5 @@ * * String indexes in Sass refer to Unicode code points while JavaScript | ||
* `str-slice("a😊b", 1, 1)` returns `"😊"`. Functions should follow Sass's | ||
* convention. [[SassString.sassIndexToStringIndex]] can be used to do this | ||
* automatically, and the [[SassString.sassLength]] getter can be used to | ||
* access a string's length in code points. | ||
* convention. {@link SassString.sassIndexToStringIndex} can be used to do | ||
* this automatically, and the {@link SassString.sassLength} getter can be | ||
* used to access a string's length in code points. | ||
* | ||
@@ -220,5 +219,6 @@ * @example | ||
* | ||
* - Each [[Importer]] or [[FileImporter]] in [[importers]], in order. | ||
* - Each {@link Importer} or {@link FileImporter} in {@link importers}, in | ||
* order. | ||
* | ||
* - Each load path in [[loadPaths]], in order. | ||
* - Each load path in {@link loadPaths}, in order. | ||
* | ||
@@ -237,3 +237,3 @@ * If none of these return a Sass file, the load fails and Sass throws an | ||
* | ||
* A load path `loadPath` is equivalent to the following [[FileImporter]]: | ||
* A load path `loadPath` is equivalent to the following {@link FileImporter}: | ||
* | ||
@@ -258,6 +258,6 @@ * ```js | ||
* By default, Sass emits warnings and debug messages to standard error, but | ||
* if [[Logger.warn]] or [[Logger.debug]] is set, this will invoke them | ||
* instead. | ||
* if {@link Logger.warn} or {@link Logger.debug} is set, this will invoke | ||
* them instead. | ||
* | ||
* The special value [[Logger.silent]] can be used to easily silence all | ||
* The special value {@link Logger.silent} can be used to easily silence all | ||
* messages. | ||
@@ -272,4 +272,4 @@ * | ||
* by dependencies. A “dependency” is defined as any file that’s loaded | ||
* through [[loadPaths]] or [[importer]]. Stylesheets that are imported | ||
* relative to the entrypoint are not considered dependencies. | ||
* through {@link loadPaths} or {@link importers}. Stylesheets that are | ||
* imported relative to the entrypoint are not considered dependencies. | ||
* | ||
@@ -280,7 +280,7 @@ * This is useful for silencing deprecation warnings that you can’t fix on | ||
* | ||
* **Heads up!** If [[compileString]] or [[compileStringAsync]] is called | ||
* without [[StringWithoutImporter.url]], <em>all</em> stylesheets it loads | ||
* will be considered dependencies. Since it doesn’t have a path of its own, | ||
* everything it loads is coming from a load path rather than a relative | ||
* import. | ||
* **Heads up!** If {@link compileString} or {@link compileStringAsync} is | ||
* called without {@link StringOptionsWithoutImporter.url}, <em>all</em> | ||
* stylesheets it loads will be considered dependencies. Since it doesn’t have | ||
* a path of its own, everything it loads is coming from a load path rather | ||
* than a relative import. | ||
* | ||
@@ -294,3 +294,3 @@ * @defaultValue `false` | ||
* Whether or not Sass should generate a source map. If it does, the source | ||
* map will be available as [[CompileResult.sourceMap]]. | ||
* map will be available as {@link CompileResult.sourceMap}. | ||
* | ||
@@ -310,3 +310,3 @@ * **Heads up!** Sass doesn't automatically add a `sourceMappingURL` comment | ||
* | ||
* This option has no effect if [[sourceMap]] is `false`. | ||
* This option has no effect if {@link sourceMap} is `false`. | ||
* | ||
@@ -319,3 +319,3 @@ * @defaultValue `false` | ||
/** | ||
* The [[OutputStyle]] of the compiled CSS. | ||
* The {@link OutputStyle} of the compiled CSS. | ||
* | ||
@@ -364,11 +364,12 @@ * @example | ||
/** | ||
* Options that can be passed to [[compileString]] or [[compileStringAsync]]. | ||
* Options that can be passed to {@link compileString} or {@link | ||
* compileStringAsync}. | ||
* | ||
* If the [[StringOptionsWithImporter.importer]] field isn't passed, the | ||
* If the {@link StringOptionsWithImporter.importer} field isn't passed, the | ||
* entrypoint file can load files relative to itself if a `file://` URL is | ||
* passed to the [[url]] field. | ||
* passed to the {@link url} field. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that asynchronous | ||
* [[Importer]]s, [[FileImporter]]s, and [[CustomFunction]]s aren't passed to | ||
* [[compile]] or [[compileString]]. | ||
* {@link Importer}s, {@link FileImporter}s, and {@link CustomFunction}s aren't | ||
* passed to {@link compile} or {@link compileString}. | ||
* | ||
@@ -380,3 +381,3 @@ * @category Options | ||
/** | ||
* The [[Syntax]] to use to parse the entrypoint stylesheet. | ||
* The {@link Syntax} to use to parse the entrypoint stylesheet. | ||
* | ||
@@ -392,5 +393,6 @@ * @default `'scss'` | ||
* | ||
* A relative load's URL is first resolved relative to [[url]], then resolved | ||
* to a file on disk if it's a `file://` URL. If it can't be resolved to a | ||
* file on disk, it's then passed to [[importers]] and [[loadPaths]]. | ||
* A relative load's URL is first resolved relative to {@link url}, then | ||
* resolved to a file on disk if it's a `file://` URL. If it can't be resolved | ||
* to a file on disk, it's then passed to {@link importers} and {@link | ||
* loadPaths}. | ||
* | ||
@@ -403,11 +405,12 @@ * @category Input | ||
/** | ||
* Options that can be passed to [[compileString]] or [[compileStringAsync]]. | ||
* Options that can be passed to {@link compileString} or {@link | ||
* compileStringAsync}. | ||
* | ||
* If the [[StringOptionsWithImporter.importer]] field is passed, the entrypoint | ||
* file uses it to load files relative to itself and the [[url]] field is | ||
* mandatory. | ||
* If the {@link StringOptionsWithImporter.importer} field is passed, the | ||
* entrypoint file uses it to load files relative to itself and the {@link url} | ||
* field is mandatory. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that asynchronous | ||
* [[Importer]]s, [[FileImporter]]s, and [[CustomFunction]]s aren't passed to | ||
* [[compile]] or [[compileString]]. | ||
* {@link Importer}s, {@link FileImporter}s, and {@link CustomFunction}s aren't | ||
* passed to {@link compile} or {@link compileString}. | ||
* | ||
@@ -422,5 +425,5 @@ * @category Options | ||
* | ||
* A relative load's URL is first resolved relative to [[url]], then passed to | ||
* [[importer]]. If the importer doesn't recognize it, it's then passed to | ||
* [[importers]] and [[loadPaths]]. | ||
* A relative load's URL is first resolved relative to {@link url}, then | ||
* passed to {@link importer}. If the importer doesn't recognize it, it's then | ||
* passed to {@link importers} and {@link loadPaths}. | ||
* | ||
@@ -433,4 +436,4 @@ * @category Input | ||
* The canonical URL of the entrypoint stylesheet. If this is passed along | ||
* with [[importer]], it's used to resolve relative loads in the entrypoint | ||
* stylesheet. | ||
* with {@link importer}, it's used to resolve relative loads in the | ||
* entrypoint stylesheet. | ||
* | ||
@@ -443,11 +446,12 @@ * @category Input | ||
/** | ||
* Options that can be passed to [[compileString]] or [[compileStringAsync]]. | ||
* Options that can be passed to {@link compileString} or {@link | ||
* compileStringAsync}. | ||
* | ||
* This is a [[StringOptionsWithImporter]] if it has a | ||
* [[StringOptionsWithImporter.importer]] field, and a | ||
* [[StringOptionsWithoutImporter]] otherwise. | ||
* This is a {@link StringOptionsWithImporter} if it has a {@link | ||
* StringOptionsWithImporter.importer} field, and a {@link | ||
* StringOptionsWithoutImporter} otherwise. | ||
* | ||
* @typeParam sync - This lets the TypeScript checker verify that asynchronous | ||
* [[Importer]]s, [[FileImporter]]s, and [[CustomFunction]]s aren't passed to | ||
* [[compile]] or [[compileString]]. | ||
* {@link Importer}s, {@link FileImporter}s, and {@link CustomFunction}s aren't | ||
* passed to {@link compile} or {@link compileString}. | ||
* | ||
@@ -454,0 +458,0 @@ * @category Options |
@@ -5,6 +5,6 @@ /** | ||
* | ||
* This is used as the return value for plugins like [[CustomFunction]], | ||
* [[Importer]], and [[FileImporter]] so that TypeScript enforces that | ||
* asynchronous plugins are only passed to [[compileAsync]] and | ||
* [[compileStringAsync]], not [[compile]] or [[compileString]]. | ||
* This is used as the return value for plugins like {@link CustomFunction}, | ||
* {@link Importer}, and {@link FileImporter} so that TypeScript enforces that | ||
* asynchronous plugins are only passed to {@link compileAsync} and {@link | ||
* compileStringAsync}, not {@link compile} or {@link compileString}. | ||
* | ||
@@ -11,0 +11,0 @@ * @typeParam sync - If this is `'sync'`, this can only be a `T`. If it's |
@@ -11,4 +11,4 @@ import {List, OrderedMap} from 'immutable'; | ||
* An argument list comes from a rest argument. It's distinct from a normal | ||
* [[SassList]] in that it may contain a keyword map as well as the positional | ||
* arguments. | ||
* {@link SassList} in that it may contain a keyword map as well as the | ||
* positional arguments. | ||
* | ||
@@ -23,3 +23,3 @@ * @category Custom Function | ||
* contents of the list. This may be either a plain JavaScript array or an | ||
* immutable [[List]] from the [`immutable` | ||
* immutable {@link List} from the [`immutable` | ||
* package](https://immutable-js.com/). | ||
@@ -29,4 +29,4 @@ * | ||
* whose names should exclude `$`. This can be either a plain JavaScript | ||
* object with argument names as fields, or an immutable [[OrderedMap]] from | ||
* the [`immutable` package](https://immutable-js.com/) | ||
* object with argument names as fields, or an immutable {@link OrderedMap} | ||
* from the [`immutable` package](https://immutable-js.com/) | ||
* | ||
@@ -46,3 +46,3 @@ * @param separator - The separator for this list. Defaults to `','`. | ||
* | ||
* @returns An immutable [[OrderedMap]] from the [`immutable` | ||
* @returns An immutable {@link OrderedMap} from the [`immutable` | ||
* package](https://immutable-js.com/). | ||
@@ -49,0 +49,0 @@ */ |
@@ -15,2 +15,9 @@ import {Value} from './index'; | ||
* | ||
* **Only** `undefined` should be passed to indicate a missing `alpha`. If | ||
* `null` is passed instead, it will be treated as a [missing component] in | ||
* future versions of Dart Sass. See [breaking changes] for details. | ||
* | ||
* [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components | ||
* [breaking changes]: /documentation/breaking-changes/null-alpha | ||
* | ||
* @throws `Error` if `red`, `green`, and `blue` aren't between `0` and | ||
@@ -29,2 +36,9 @@ * `255`, or if `alpha` isn't between `0` and `1`. | ||
* | ||
* **Only** `undefined` should be passed to indicate a missing `alpha`. If | ||
* `null` is passed instead, it will be treated as a [missing component] in | ||
* future versions of Dart Sass. See [breaking changes] for details. | ||
* | ||
* [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components | ||
* [breaking changes]: /documentation/breaking-changes/null-alpha | ||
* | ||
* @throws `Error` if `saturation` or `lightness` aren't between `0` and | ||
@@ -43,2 +57,9 @@ * `100`, or if `alpha` isn't between `0` and `1`. | ||
* | ||
* **Only** `undefined` should be passed to indicate a missing `alpha`. If | ||
* `null` is passed instead, it will be treated as a [missing component] in | ||
* future versions of Dart Sass. See [breaking changes] for details. | ||
* | ||
* [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components | ||
* [breaking changes]: /documentation/breaking-changes/null-alpha | ||
* | ||
* @throws `Error` if `whiteness` or `blackness` aren't between `0` and `100`, | ||
@@ -45,0 +66,0 @@ * or if `alpha` isn't between `0` and `1`. |
@@ -19,5 +19,5 @@ import {Value} from './index'; | ||
* @param callback - The callback that's invoked when this function is called, | ||
* just like for a [[CustomFunction]]. | ||
* just like for a {@link CustomFunction}. | ||
*/ | ||
constructor(signature: string, callback: (args: Value[]) => Value); | ||
} |
import {List, ValueObject} from 'immutable'; | ||
import {SassBoolean} from './boolean'; | ||
import {SassCalculation} from './calculation'; | ||
import {SassColor} from './color'; | ||
@@ -8,2 +9,3 @@ import {SassFunction} from './function'; | ||
import {SassMap} from './map'; | ||
import {SassMixin} from './mixin'; | ||
import {SassNumber} from './number'; | ||
@@ -14,2 +16,9 @@ import {SassString} from './string'; | ||
export {SassBoolean, sassTrue, sassFalse} from './boolean'; | ||
export { | ||
SassCalculation, | ||
CalculationValue, | ||
CalculationOperator, | ||
CalculationOperation, | ||
CalculationInterpolation, | ||
} from './calculation'; | ||
export {SassColor} from './color'; | ||
@@ -19,2 +28,3 @@ export {SassFunction} from './function'; | ||
export {SassMap} from './map'; | ||
export {SassMixin} from './mixin'; | ||
export {SassNumber} from './number'; | ||
@@ -33,4 +43,4 @@ export {SassString} from './string'; | ||
* | ||
* This is passed to and returned by [[CustomFunction]]s, which are passed into | ||
* the Sass implementation using [[Options.functions]]. | ||
* This is passed to and returned by {@link CustomFunction}s, which are passed | ||
* into the Sass implementation using {@link Options.functions}. | ||
* | ||
@@ -48,3 +58,3 @@ * @category Custom Function | ||
* | ||
* @returns An immutable [[List]] from the [`immutable` | ||
* @returns An immutable {@link List} from the [`immutable` | ||
* package](https://immutable-js.com/). | ||
@@ -69,3 +79,3 @@ */ | ||
/** | ||
* Returns JavaScript's `null` value if this is [[sassNull]], and returns | ||
* Returns JavaScript's `null` value if this is {@link sassNull}, and returns | ||
* `this` otherwise. | ||
@@ -85,3 +95,3 @@ */ | ||
* Converts `sassIndex` into a JavaScript-style index into the list returned | ||
* by [[asList]]. | ||
* by {@link asList}. | ||
* | ||
@@ -95,3 +105,3 @@ * Sass indexes are one-based, while JavaScript indexes are zero-based. Sass | ||
* @throws `Error` If `sassIndex` isn't a number, if that number isn't an | ||
* integer, or if that integer isn't a valid index for [[asList]]. | ||
* integer, or if that integer isn't a valid index for {@link asList}. | ||
*/ | ||
@@ -117,5 +127,5 @@ sassIndexToListIndex(sassIndex: Value, name?: string): number; | ||
/** | ||
* Throws if `this` isn't a [[SassBoolean]]. | ||
* Throws if `this` isn't a {@link SassBoolean}. | ||
* | ||
* **Heads up!** Functions should generally use [[isTruthy]] rather than | ||
* **Heads up!** Functions should generally use {@link isTruthy} rather than | ||
* requiring a literal boolean. | ||
@@ -129,3 +139,3 @@ * | ||
/** | ||
* Throws if `this` isn't a [[SassColor]]. | ||
* Throws if `this` isn't a {@link SassCalculation}. | ||
* | ||
@@ -135,6 +145,14 @@ * @param name - The name of the function argument `this` came from (without | ||
*/ | ||
assertCalculation(name?: string): SassCalculation; | ||
/** | ||
* Throws if `this` isn't a {@link SassColor}. | ||
* | ||
* @param name - The name of the function argument `this` came from (without | ||
* the `$`) if it came from an argument. Used for error reporting. | ||
*/ | ||
assertColor(name?: string): SassColor; | ||
/** | ||
* Throws if `this` isn't a [[SassFunction]]. | ||
* Throws if `this` isn't a {@link SassFunction}. | ||
* | ||
@@ -147,3 +165,3 @@ * @param name - The name of the function argument `this` came from (without | ||
/** | ||
* Throws if `this` isn't a [[SassMap]]. | ||
* Throws if `this` isn't a {@link SassMap}. | ||
* | ||
@@ -156,3 +174,3 @@ * @param name - The name of the function argument `this` came from (without | ||
/** | ||
* Throws if `this` isn't a [[SassNumber]]. | ||
* Throws if `this` isn't a {@link SassMixin}. | ||
* | ||
@@ -162,6 +180,14 @@ * @param name - The name of the function argument `this` came from (without | ||
*/ | ||
assertMixin(name?: string): SassMixin; | ||
/** | ||
* Throws if `this` isn't a {@link SassNumber}. | ||
* | ||
* @param name - The name of the function argument `this` came from (without | ||
* the `$`) if it came from an argument. Used for error reporting. | ||
*/ | ||
assertNumber(name?: string): SassNumber; | ||
/** | ||
* Throws if `this` isn't a [[SassString]]. | ||
* Throws if `this` isn't a {@link SassString}. | ||
* | ||
@@ -168,0 +194,0 @@ * @param name - The name of the function argument `this` came from (without |
@@ -24,3 +24,3 @@ import {List} from 'immutable'; | ||
* @param contents - The contents of the list. This may be either a plain | ||
* JavaScript array or an immutable [[List]] from the [`immutable` | ||
* JavaScript array or an immutable {@link List} from the [`immutable` | ||
* package](https://immutable-js.com/). | ||
@@ -27,0 +27,0 @@ * |
@@ -16,3 +16,3 @@ import {OrderedMap} from 'immutable'; | ||
* @param contents - The contents of the map. This is an immutable | ||
* [[OrderedMap]] from the [`immutable` package](https://immutable-js.com/). | ||
* `OrderedMap` from the [`immutable` package](https://immutable-js.com/). | ||
* Defaults to an empty map. | ||
@@ -23,3 +23,3 @@ */ | ||
/** | ||
* Returns the contents of this map as an immutable [[OrderedMap]] from the | ||
* Returns the contents of this map as an immutable {@link OrderedMap} from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
@@ -38,3 +38,3 @@ */ | ||
/** Inherited from [[Value.get]]. */ | ||
/** Inherited from {@link Value.get}. */ | ||
get(index: number): SassList | undefined; | ||
@@ -41,0 +41,0 @@ |
@@ -24,3 +24,3 @@ import {List} from 'immutable'; | ||
* use for the number. This may be either a plain JavaScript array or an | ||
* immutable [[List]] from the [`immutable` | ||
* immutable {@link List} from the [`immutable` | ||
* package](https://immutable-js.com/). | ||
@@ -30,3 +30,3 @@ * | ||
* to use for the number. This may be either a plain JavaScript array or an | ||
* immutable [[List]] from the [`immutable` | ||
* immutable {@link List} from the [`immutable` | ||
* package](https://immutable-js.com/). | ||
@@ -47,8 +47,8 @@ */ | ||
/** Whether [[value]] is an integer according to Sass's equality logic. */ | ||
/** Whether {@link value} is an integer according to Sass's equality logic. */ | ||
get isInt(): boolean; | ||
/** | ||
* If [[value]] is an integer according to [[isInt]], returns [[value]] | ||
* rounded to that integer. If it's not an integer, returns `null`. | ||
* If {@link value} is an integer according to {@link isInt}, returns {@link | ||
* value} rounded to that integer. If it's not an integer, returns `null`. | ||
*/ | ||
@@ -58,3 +58,3 @@ get asInt(): number | null; | ||
/** | ||
* This number's numerator units as an immutable [[List]] from the | ||
* This number's numerator units as an immutable {@link List} from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
@@ -65,3 +65,3 @@ */ | ||
/** | ||
* This number's denominator units as an immutable [[List]] from the | ||
* This number's denominator units as an immutable {@link List} from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
@@ -75,4 +75,4 @@ */ | ||
/** | ||
* If [[value]] is an integer according to [[isInt]], returns it rounded to | ||
* that integer. Otherwise, throws an error. | ||
* If {@link value} is an integer according to {@link isInt}, returns it | ||
* rounded to that integer. Otherwise, throws an error. | ||
* | ||
@@ -85,5 +85,5 @@ * @param name - The name of the function argument `this` came from (without | ||
/** | ||
* Returns [[value]] if it's within `min` and `max`. If [[value]] is equal to | ||
* `min` or `max` according to Sass's equality, returns `min` or `max` | ||
* respectively. Otherwise, throws an error. | ||
* Returns {@link value} if it's within `min` and `max`. If {@link value} is | ||
* equal to `min` or `max` according to Sass's equality, returns `min` or | ||
* `max` respectively. Otherwise, throws an error. | ||
* | ||
@@ -130,8 +130,8 @@ * @param name - The name of the function argument `this` came from (without | ||
* @param newNumerators - The numerator units to convert this number to. This | ||
* may be either a plain JavaScript array or an immutable [[List]] from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
* may be either a plain JavaScript array or an immutable {@link List} from | ||
* the [`immutable` package](https://immutable-js.com/). | ||
* | ||
* @param newDenominators - The denominator units to convert this number to. | ||
* This may be either a plain JavaScript array or an immutable [[List]] from | ||
* the [`immutable` package](https://immutable-js.com/). | ||
* This may be either a plain JavaScript array or an immutable {@link List} | ||
* from the [`immutable` package](https://immutable-js.com/). | ||
* | ||
@@ -166,4 +166,4 @@ * @param name - The name of the function argument `this` came from (without | ||
/** | ||
* Returns [[value]], converted to the units represented by `newNumerators` | ||
* and `newDenominators`. | ||
* Returns {@link value}, converted to the units represented by | ||
* `newNumerators` and `newDenominators`. | ||
* | ||
@@ -174,9 +174,9 @@ * @throws `Error` if this number's units are incompatible with | ||
* | ||
* @param newNumerators - The numerator units to convert [[value]] to. This | ||
* may be either a plain JavaScript array or an immutable [[List]] from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
* @param newNumerators - The numerator units to convert {@link value} to. | ||
* This may be either a plain JavaScript array or an immutable {@link List} | ||
* from the [`immutable` package](https://immutable-js.com/). | ||
* | ||
* @param newDenominators - The denominator units to convert [[value]] to. | ||
* This may be either a plain JavaScript array or an immutable [[List]] from | ||
* the [`immutable` package](https://immutable-js.com/). | ||
* @param newDenominators - The denominator units to convert {@link value} to. | ||
* This may be either a plain JavaScript array or an immutable {@link List} | ||
* from the [`immutable` package](https://immutable-js.com/). | ||
* | ||
@@ -193,3 +193,3 @@ * @param name - The name of the function argument `this` came from (without | ||
/** | ||
* Returns [[value]], converted to the same units as `other`. | ||
* Returns {@link value}, converted to the same units as `other`. | ||
* | ||
@@ -215,3 +215,3 @@ * @throws `Error` if this number's units are incompatible with `other`'s | ||
* | ||
* Unlike [[convert]] this does *not* throw an error if this number is | ||
* Unlike {@link convert} this does *not* throw an error if this number is | ||
* unitless and either `newNumerators` or `newDenominators` are not empty, or | ||
@@ -225,8 +225,8 @@ * vice-versa. Instead, it treats all unitless numbers as convertible to and | ||
* @param newNumerators - The numerator units to convert this number to. This | ||
* may be either a plain JavaScript array or an immutable [[List]] from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
* may be either a plain JavaScript array or an immutable {@link List} from | ||
* the [`immutable` package](https://immutable-js.com/). | ||
* | ||
* @param newDenominators - The denominator units to convert this number to. | ||
* This may be either a plain JavaScript array or an immutable [[List]] from | ||
* the [`immutable` package](https://immutable-js.com/). | ||
* This may be either a plain JavaScript array or an immutable {@link List} | ||
* from the [`immutable` package](https://immutable-js.com/). | ||
* | ||
@@ -246,6 +246,6 @@ * @param name - The name of the function argument `this` came from (without | ||
* | ||
* Unlike [[convertToMatch]] this does *not* throw an error if this number is | ||
* unitless and either `newNumerators` or `newDenominators` are not empty, or | ||
* vice-versa. Instead, it treats all unitless numbers as convertible to and | ||
* from all units without changing the value. | ||
* Unlike {@link convertToMatch} this does *not* throw an error if this number | ||
* is unitless and either `newNumerators` or `newDenominators` are not empty, | ||
* or vice-versa. Instead, it treats all unitless numbers as convertible to | ||
* and from all units without changing the value. | ||
* | ||
@@ -268,9 +268,9 @@ * @throws `Error` if this number's units are incompatible with `other`'s | ||
/** | ||
* Returns [[value]], converted to the units represented by `newNumerators` and | ||
* `newDenominators`. | ||
* Returns {@link value}, converted to the units represented by | ||
* `newNumerators` and `newDenominators`. | ||
* | ||
* Unlike [[convertValue]] this does *not* throw an error if this number is | ||
* unitless and either `newNumerators` or `newDenominators` are not empty, or | ||
* vice-versa. Instead, it treats all unitless numbers as convertible to and | ||
* from all units without changing the value. | ||
* Unlike {@link convertValue} this does *not* throw an error if this number | ||
* is unitless and either `newNumerators` or `newDenominators` are not empty, | ||
* or vice-versa. Instead, it treats all unitless numbers as convertible to | ||
* and from all units without changing the value. | ||
* | ||
@@ -280,9 +280,9 @@ * @throws `Error` if this number's units are incompatible with | ||
* | ||
* @param newNumerators - The numerator units to convert [[value]] to. This | ||
* may be either a plain JavaScript array or an immutable [[List]] from the | ||
* [`immutable` package](https://immutable-js.com/). | ||
* @param newNumerators - The numerator units to convert {@link value} to. | ||
* This may be either a plain JavaScript array or an immutable {@link List} | ||
* from the [`immutable` package](https://immutable-js.com/). | ||
* | ||
* @param newDenominators - The denominator units to convert [[value]] to. | ||
* This may be either a plain JavaScript array or an immutable [[List]] from | ||
* the [`immutable` package](https://immutable-js.com/). | ||
* @param newDenominators - The denominator units to convert {@link value} to. | ||
* This may be either a plain JavaScript array or an immutable {@link List} | ||
* from the [`immutable` package](https://immutable-js.com/). | ||
* | ||
@@ -299,6 +299,6 @@ * @param name - The name of the function argument `this` came from (without | ||
/** | ||
* Returns [[value]], converted to the units represented by `newNumerators` | ||
* and `newDenominators`. | ||
* Returns {@link value}, converted to the units represented by | ||
* `newNumerators` and `newDenominators`. | ||
* | ||
* Unlike [[convertValueToMatch]] this does *not* throw an error if this | ||
* Unlike {@link convertValueToMatch} this does *not* throw an error if this | ||
* number is unitless and either `newNumerators` or `newDenominators` are not | ||
@@ -305,0 +305,0 @@ * empty, or vice-versa. Instead, it treats all unitless numbers as |
@@ -65,3 +65,3 @@ import {Value} from './index'; | ||
/** | ||
* Converts `sassIndex` to a JavaScript index into [[text]]. | ||
* Converts `sassIndex` to a JavaScript index into {@link text}. | ||
* | ||
@@ -68,0 +68,0 @@ * Sass indices are one-based, while JavaScript indices are zero-based. Sass |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
License exception
License(Experimental) Contains an SPDX license exception.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
5163358
10.52%35
16.67%1
-50%5113
10.1%