| import { Schema } from "effect" | |
| import { descending } from "./identifier" | |
| import { statics } from "./schema" | |
| export const SessionID = Schema.String.check(Schema.isStartsWith("ses")).pipe( | |
| Schema.brand("SessionID"), | |
| statics((schema) => { | |
| const create = () => schema.make("ses_" + descending()) | |
| return { | |
| create, | |
| descending: (id?: string) => (id === undefined ? create() : schema.make(id)), | |
| } | |
| }), | |
| ) | |
| export type SessionID = typeof SessionID.Type | |