Skip to content

Instantly share code, notes, and snippets.

@larister
Created October 14, 2018 19:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larister/ab84a296acf8f6cc51e242ea40dd53ac to your computer and use it in GitHub Desktop.
Save larister/ab84a296acf8f6cc51e242ea40dd53ac to your computer and use it in GitHub Desktop.

Wednesday 7th November, 2018

Speakers gist

Would you like to speak on the night? You'll have five minutes to tell us about something: a project, a library, a technique, a story, or anything else about JavaScript, related tech (HTML, CSS, SVG, etc), or the wider world of web.

Please leave a comment below (you can use Markdown if you want) and include:

  • Your name
  • Your main website, if you have one
  • Twitter username, if you have one
  • A sentence or two about your talk
  • Any relevant links
@cassieevans
Copy link

cassieevans commented Nov 6, 2018

Cassie Evans
https://codepen.io/cassie-codes/
twitter @ cassiecodes

I'll be showing off some of my codepens.

@JakeSidSmith
Copy link

Jake 'Sid' Smith
Website: http://jakesidsmith.com
GitHub: https://github.com/jakesidsmith
Twitter: @jakesidsmith

Experimental, type safe, functional, immutable, null propagation / existential property access using ES6 proxies. (wow, what a sentence)

Partially inspired by immer.

const value = doing && doing.this && doing.this.sucks && doing.this.sucks !== undefined ? doing.this.sucks : 'defaultValue';

// So what if we could get
const value = get(obj, (proxy) => proxy.this.rocks, 'defaultValue');
// set
const value = set(obj, (proxy) => proxy.this.rocks, 'newValue');
// or update in a functional, immutable, and type safe way
const value = update(obj, (proxy) => proxy.this.rocks, (previousValue) => ({...previousValue, newKey: 'value'}));

@JakeSidSmith
Copy link

For anyone that's interested, i've now turned what I spoke about at the show 'n' tell into a library! 😃

https://github.com/JakeSidSmith/existential-proxy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment