@swim/scale
@swim/scale implements scale types that map numeric and temporal input domains to interpolated output ranges, with support for continuous domain clamping, domain solving, range unscaling, and interpolation between scales. @swim/scale is part of the @swim/ui framework.
Installation
npm
For an npm-managed project, npm install @swim/scale
to make it a dependency.
TypeScript sources will be installed into node_modules/@swim/scale/main
.
Transpiled JavaScript and TypeScript definition files install into
node_modules/@swim/scale/lib/main
. And a pre-built UMD script can
be found in node_modules/@swim/scale/dist/main/swim-scale.js
.
Browser
Browser applications can load swim-ui.js
—which bundles the @swim/scale
library—along with its swim-core.js
dependency, directly from the swimOS CDN.
<!-- Development -->
<script src="https://cdn.swimos.org/js/latest/swim-core.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-ui.js"></script>
<!-- Production -->
<script src="https://cdn.swimos.org/js/latest/swim-core.min.js"></script>
<script src="https://cdn.swimos.org/js/latest/swim-ui.min.js"></script>
Alternatively, the standalone swim-system.js
script may be loaded
from the swimOS CDN, which bundles @swim/scale together with all other
@swim/system
libraries.
<!-- Development -->
<script src="https://cdn.swimos.org/js/latest/swim-system.js"></script>
<!-- Production -->
<script src="https://cdn.swimos.org/js/latest/swim-system.min.js"></script>
Usage
ES6/TypeScript
@swim/scale can be imported as an ES6 module from TypeScript and other ES6-compatible environments.
import * as scale from "@swim/scale";
CommonJS/Node.js
@swim/scale can also be used as a CommonJS module in Node.js applications.
var scale = require("@swim/scale");
Browser
When loaded by a web browser, the swim-ui.js
script adds all
@swim/scale library exports to the global swim
namespace. The
swim-ui.js
script requires that swim-core.js
has already been loaded.
The swim-system.js
script also adds all @swim/scale library exports
to the global swim
namespace, making it a drop-in replacement for
'swim-core.js' and swim-ui.js
when additional @swim/system
libraries are needed.