Skip to content

(Not) enums on steroids #90

Open
Open
@ssukienn

Description

@ssukienn
  • Your full name: Szymon Sukiennik
  • Target audience (beginner/intermediate/advanced/everyone): intermediate
  • Estimated duration: 15-25 min
  • Keywords: enum-like, dictionary objects, const assertion objects, satisfies, guards, mapped types, reverse mapped types

(Not) enums on steroids

The talk

One-sentence summary

The subjective approach of treating enum-like object dictionaries as an in-memory shared API of application dictionary like state

What's the format — is it a case study, a live coding session, a workshop or something else?

Case-study. Introduction to the problem space, explanation of required TS constructs, going through existing minimal implementation, small living code in playground/IDE to showcase the result.

Tell us more about the talk

  1. Brief introduction to enum shenanigans in TS and how they compile and behave (to later forget about them as they won't be used) vs const assertions.
  2. Brief discussion of problem space for managing dictionary-like state in the API, persistent layer, exposing it to the FE, pitfalls, and where I come from with it
  3. Going through TS constructs important for understanding: conditional types, mapped types, reversed mapped types, const assertion objects, satisfies operator. No deep dives, just enough knowledge
  4. Introducing the approach of creating simple or composite dictionary objects and how to work with them
  5. Limitations & possibilities

You

A few words about yourself

My name is Szymon Sukiennik and I am a software developer with various interests in different areas of the software stack, recently mainly focused on the backend, distributed systems and observability.

How can we find you on social media?

@ssukienn on Twitter or by email

Would you be willing to have a Q/A session after the talk?

Sure

Do you mind if we record the event?

Nope

Is there anything we can help you with?

Review slides, add feedback



Hey! I checked that there is already some similar talk proposal (#88). Not sure how significant the overlap would be here. Though, I use mapped/remapped types only as a tool to achieve typesafe remappings. Otherwise, my talk would focus on a subjective approach of treating enums like data in the project :) I am happy to propose something else if you think it will be too much of a conflict. Cheers!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions