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 Usage
npm install w-js
Browser Usage
wget https://raw.githubusercontent.com/theworkers/W.js/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
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
clearContext, displayViewMixin, JSONSocketConnection, polyfillRequestAnimationFrame, touchEventViewMixin, viewportSize, wrappedContext, ZIndexStack,
HSLGradient, hslToRgb, hsvToRgb, RandomColorSequence, randomHex, rgbToHsl, rgbToHsv
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
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
corsMiddleware, cssPrefixerMiddleware, Geolocate, jadeMiddleware, jsMiddleware, jsMinMiddleware, JSONSocketConnection, liveReload, WebSocketRepeater
redisReferrerStorage, redisSetStorage, redisTimeseriesStorage
addCommas, capitalizeFirstLetter, contains, cssGradientString, domStr, endsWith, hasTld, isValidEmailAddress, join, makeRedisKey, startsWith, trim
npm install w-js --save
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() );
$ grunt build
$ grunt docs
Client-side tests with phantom.js
$ grunt build test-client
Node tests:
$ grunt build test-node
*.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
Include with, for example:
var Geolocate = W.Geolocate();