Skip to content

Instantly share code, notes, and snippets.

View lucashcl's full-sized avatar
🔎

Lucas Cipriano Lima lucashcl

🔎
View GitHub Profile
export class Duration {
private _value: number
private constructor(value: number) {
this._value = value
}
static miliseconds(value: number) {
return new Duration(value)
}
export class ObjectStorage {
private buckets: ObjectStorageBucket[] = []
constructor(public readonly storagePath: string) {
fs.ensureDirSync(storagePath)
}
createBucket(bucketName: string) {
this.buckets.push(new ObjectStorageBucket(this.storagePath, bucketName))
}
getBucket(bucketName: string): ObjectStorageBucket | undefined {
class Result<T> {
private constructor(
private _value?: T,
private _error?: Error
) {}
static success<T>(value: T) {
return new Result(value, undefined)
}
static failure(err: Error) {
return new Result(undefined, err)
@lucashcl
lucashcl / signal.js
Created July 13, 2024 23:36
Joy of code's signal implementation
let subscriber
export function signal(value) {
const subscriptions = new Set()
return {
get value() {
if(subscription) {
subscriptions.add(subscriber)
}
return value