Have ideas to improve npm?Join in the discussion! »

wweb

1.2.0 • Public • Published

wweb

wweb synchronizes Web APIs across the server and browser so you can stop writing environment conscious code and focus on building features. wweb exposes the same interfaces around Web APIs location.search -> wweb.search, localStorage -> wweb.localStorage, and document.cookie -> wweb.cookie so you can use them like they were key value stores. wweb assumes that your browser or your users' browsers have web APIs. Finally, wweb supports node all the way back to 6.4.0.

Installation

$ npm install wweb

Usage

const wweb = require('wweb')
 
wweb.redirect('https://myawesomewebsite.com')
// redirects to myawesomewebsite.com, same as window.location = '...'
 
console.log(window.location.search)
// => '?foo=bar'
 
const myQueryParam = wweb.search.get('foo')
// => 'bar'
 
const search = wweb.search.getAll()
// => { foo: 'bar' }
 
wweb.search.remove('foo')
console.log(window.location.search)
// => ''
 
wweb.search.set('foo', 'bar')
wweb.search.set('baz', 'qux')
console.log(window.location.search)
// => '?foo=bar&baz=qux'
 
wweb.search.update({ quux: 'quuz' })
console.log(window.location.search)
// => '?quux=quuz'
 
wweb.search.clear()
console.log(window.location.search)
// => ''
 
console.log(window.document.cookie)
// => 'foo=bar; baz=qux'
 
const myCookie = wweb.cookies.get('foo')
// => 'bar'
 
const cookies = wweb.cookies.getAll()
// => { foo: 'bar', baz: 'qux' }
 
wweb.cookies.remove('foo')
console.log(window.document.cookie)
// => 'baz=qux'
 
wweb.cookies.set('foo', 'bar')
console.log(window.document.cookie)
// => 'foo=bar; baz=qux'
 
wweb.cookies.update({ quux: 'quuz' })
console.log(window.document.cookie)
// => 'quux=quuz'
 
wweb.cookies.clear()
console.log(window.document.cookie)
// => ''
 
wweb.localStorage.update({ foo: 'bar' })
console.log({ ...window.localStorage })
// => { foo: 'bar' }
 
wweb.localStorage.get('foo')
// => 'bar'
 
wweb.localStorage.set('quux', 'quuz')
console.log({ ...window.localStorage })
// => { foo: 'bar', quux: 'quuz' }
 
wweb.localStorage.remove('quux')
console.log({ ...window.localStorage })
// => { foo: 'bar' }
 
wweb.localStorage.clear()
console.log({ ...window.localStorage })
// => {}

API

wweb.redirect(url)

Redirects you to url. Same thing as using window.location = url

Example:

wweb.redirect('https://example.com')

wweb.search.get(name)

Gets a search parameter by name from the search query in the browser or req.query in the server. Returns null if parameter not found

Example:

const foo = wweb.search.get('foo')

wweb.search.getAll(name)

Gets all search parameters in the form of an object.

Example:

const searchObj = wweb.search.getAll()

wweb.search.set(name, value)

Adds or updates a search parameter

Example:

wweb.search.set('foo', 'bar')

wweb.search.update(obj)

Updates entire search to represent obj

Example:

wweb.search.update({ foo: 'bar' })

wweb.search.clear()

Clears the search query

Example:

wweb.search.clear()

wweb.cookie.get(name)

Gets a cookie by name from the document or req.cookies in the server. Returns null if parameter not found

Example:

const foo = wweb.cookie.get('foo')

wweb.cookie.getAll(name)

Gets all cookie names and their values in the form of an object

Example:

const cookieObj = wweb.cookie.getAll()

wweb.cookie.set(name, value, opts)

Adds or updates a cookie. opts

Example:

wweb.cookie.set('foo', 'bar')

wweb.cookie.update(obj)

Updates all cookies in document to represent obj. There is no support for options for this at the moment

Example:

wweb.cookie.update({ foo: 'bar' })

wweb.cookie.clear()

Clears all cookies in document

Example:

wweb.cookie.clear()

wweb.localStorage.get(name)

Gets an item by name in localStorage. Returns null if not found

Example:

const foo = wweb.localStorage.get('foo')

wweb.localStorage.getAll(name)

Gets all items in localStorage in the form of an object

Example:

const store = wweb.localStorage.getAll()

wweb.localStorage.set(name, value)

Adds or updates an item in localStorage

Example:

wweb.localStorage.set('foo', 'bar')

wweb.localStorage.update(obj)

Updates all items in localStorage to represent obj

Example:

wweb.localStorage.update({ foo: 'bar' })

wweb.localStorage.clear()

Clears all items in localStorage

Example:

wweb.localStorage.clear()

Notes

Don't see your favorite web storage mechanism? Raise an issue

License

wweb © richytong

Install

npm i wweb

DownloadsWeekly Downloads

22

Version

1.2.0

License

MIT

Unpacked Size

30.5 kB

Total Files

18

Last publish

Collaborators

  • avatar