w-js
v4.50.0
Published
A snippets repository and welterweight library used by [The Workers](http://theworkers.net) maintained by [Ross Cairns](http://rosscairns.com/). [The Workers](http://theworkers.net) are a creative coding studio in East London.
Downloads
24
Readme
W.js
A snippets repository and welterweight library used by The Workers maintained by Ross Cairns. The Workers are a creative coding studio in East London.
Node Usagenpm install w-js
Browser Usagewget https://github.com/theworkers/W.js/blob/master/build/W.min.js
Used in:
After Dark,
Where You Are,
Reset,
Bloomberg Connects,
o/o/o/o,
Music To Move To,
Wylde Archive,
Wyldemag,
51 Jay St,
David Newton
Features
Core
bind, call, clone, compose, composeAsync, composePromisers, countedCallbackMixin, cycle, each, eventMixin, extend, first, flatten, flip, interpose, isDefined, isNotOk, isOk, isUndefined, isNotUndefined, last, list, limit, loop, makeReporter, Middleware, negate, Obj, once, partial, partialRight, partition, promise, promiseWrap, range, randomFrom, report, rest, Router, Sequence, sequence, take, TickTimer, Timer, toArray, toPartition, withoutLast
Client
clearContext, displayViewMixin, JSONSocketConnection, polyfillRequestAnimationFrame, touchEventViewMixin, viewportSize, wrappedContext, ZIndexStack,
Color
HSLGradient, hslToRgb, hsvToRgb, RandomColorSequence, randomHex, rgbToHsl, rgbToHsv
Math
add, angleBetween, clamp, clipNormalized, colorStringToHex, colorValuesToHex, distance, dynamicEaseInterpolation, fitScaleRatio, floatToString, getDynamicallyEasedInterpolation, hexStringToColorArray, inRange, isClose, lerp, makeMapInterval, map, MatrixStack, normalize, PI, PI_2, randomBetween, shuffleArray, wrap
Interpolations
backEaseIn, backEaseInOut, backEaseOut, bounceEaseIn, bounceEaseInOut, bounceEaseOut, circularEaseIn, circularEaseInOut, circularEaseOut, cubicEaseIn, cubicEaseInOut, cubicEaseOut, elasticEaseIn, elasticEaseInOut, elasticEaseOut, exponentialEaseIn, exponentialEaseInOut, exponentialEaseOut, linearInterpolatio, quadraticEaseIn, quadraticEaseInOut, quadraticEaseOut, quarticEaseIn, quarticEaseInOut, quarticEaseOut, quinticEaseIn, quinticEaseInOut, quinticEaseOut, sineEaseIn, sineEaseInOut, sineEaseOut
Node
corsMiddleware, cssPrefixerMiddleware, Geolocate, jadeMiddleware, jsMiddleware, jsMinMiddleware, JSONSocketConnection, liveReload, WebSocketRepeater
Redis
redisReferrerStorage, redisSetStorage, redisTimeseriesStorage
String
addCommas, capitalizeFirstLetter, contains, cssGradientString, domStr, endsWith, hasTld, isValidEmailAddress, join, makeRedisKey, startsWith, trim
Util
Node usage
npm install w-js --save
With express
If W.js is included via NPM it can also be served to the client using the provided middleware:
app.get('/js/W.js', W.jsMiddleware() );
app.get('/js/W.min.js', W.jsMinMiddleware() );
Building
$ grunt build
Documentation
$ grunt docs
Testing
Running Tests
Client-side tests with phantom.js
$ grunt build test-client
Node tests:
$ grunt build test-node
Test setup
*.test.js
are run on both node and client (provided test is added to test.html)*.test.client.js
are run client only, provided test is added to test.html*.test.node.js
are run node only
Node and Redis modules
Include with, for example:
var Geolocate = W.Geolocate();