100% if you want composability go with a battle tested solution! That code really just demos how simple working the Result pattern can be.
HN user
DrakeDeaton
There's certainly situations where this pattern creates some tricky ambiguity, but more often than not Result is quite an ergonomic pattern to work with.
In case it's useful for anyone, here is a simple plug-in-play TypeScript version:
```
type Ok<T = void> = T extends undefined ? { ok: true; } : { ok: true; val: T; };
type Err<E extends ResultError = ResultError> = { ok: false; err: E; };
type Result<T = void, E = ResultError> = { ok: true; val: T; } | { ok: false; err: E | ResultError; };
class ResultError extends Error { override name = "ResultError" as const; context?: unknown; constructor (message: string, context?: unknown) { super(message); this.context = context; } }
const ok = <T = void>(val?: T): Ok<T> => ({ ok: true, val: val, } as Ok<T>);
const err = (errType: string, context: unknown = {}): Err<ResultError> => ({ err: new ResultError(errType, context), ok: false, });
```
```
const actionTaker = await op().then(ok).catch(err);
if (result.ok) // handle error
else // use result
```
I will be forever grateful to the developer first introduced to this pattern!
Part of the thinking behind the Barbican's somewhat hidden entrances to the estate and tts maze-like layout was that they would reduce foot traffic, and it totally worked. Not many people use the public estate high-walks as a shortcut to get across the City. This has a wonderful effect wherein you're surrounded by the hustle and bustle of the City, while being just a touch insulated from it.
I lived there for the better part of a year and it completely changed my perspective on living in London. More city-life should be like the Barbican.
Not sure if you're aware, but if you're interested in SEO/AEO marketing, there's very healthy monthly traffic for long-tail searches in this area. Some searches getting towards 100K per month.
Love the idea! Good luck.
looks cool, shareable emulators would be very useful for me. are you planning on supporting capacitor apps?
So the middle ages too had Doordash.
love the idea. hesitant to pay as I don't know if the product is for me. native english speaker. always interested in expanding my vocabulary and a tool that helps me do so using spaced repetition would be quite useful.
This is an example of why codebases with strict typing & clear conventions will benefit the most from copilot.
At StageUp, we're building a ticketed streaming service for the performing arts industry. We are about to receive 250K investment and we're looking for more software engineers to come work at StageUp and help us build this product. We have a highly competent CTO and a well-architected code-base. We have many customers lined up for our service, and we know exactly what we need to be building. This is an opportunity for someone to get in at the ground floor of a company with an exciting trajectory. Please do get in touch if this offer intrigues you!
The skills we're looking for are: Must Have: Public portfolio of work TypeScript (or good with JavaScript) Experience with building RESTful APIs Experience with SQL databases Experience with Single Page Applications, React or Angular or Vue Good to Have: Angular Express.js PostgreSQL, TypeORM SASS Unit/Integration testing using Jest Bonus: Docker, Google Cloud Platform