specta_typescript/
opaque.rs1use std::borrow::Cow;
2
3use specta::datatype::Reference;
4
5#[derive(PartialEq, Eq, Hash)]
6pub(crate) struct Define(pub(crate) Cow<'static, str>);
7
8#[derive(PartialEq, Eq, Hash)]
9pub(crate) struct Any;
10
11#[derive(PartialEq, Eq, Hash)]
12pub(crate) struct Unknown;
13
14#[derive(PartialEq, Eq, Hash)]
15pub(crate) struct Never;
16
17#[derive(PartialEq, Eq, Hash)]
18pub(crate) struct Number;
19
20#[derive(PartialEq, Eq, Hash)]
21pub(crate) struct BigInt;
22
23pub fn define(raw: impl Into<Cow<'static, str>>) -> Reference {
27 Reference::opaque(Define(raw.into()))
28}