Trait kcl_lib::std::kcl_stdlib::KclStdLibFn
source · pub trait KclStdLibFn: StdLibFn {
// Required methods
fn kcl_clone_box(&self) -> Box<dyn KclStdLibFn>;
fn function(&self) -> &FunctionExpression;
fn program(&self) -> &Program;
// Provided method
fn std_lib(&self) -> Box<dyn StdLibFn> { ... }
}
Required Methods§
fn kcl_clone_box(&self) -> Box<dyn KclStdLibFn>
fn function(&self) -> &FunctionExpression
fn program(&self) -> &Program
Provided Methods§
Trait Implementations§
source§impl Clone for Box<dyn KclStdLibFn>
impl Clone for Box<dyn KclStdLibFn>
source§impl<'de> Deserialize<'de> for Box<dyn KclStdLibFn>
impl<'de> Deserialize<'de> for Box<dyn KclStdLibFn>
source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
source§impl JsonSchema for dyn KclStdLibFn
impl JsonSchema for dyn KclStdLibFn
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moresource§impl Serialize for Box<dyn KclStdLibFn>
impl Serialize for Box<dyn KclStdLibFn>
source§impl TS for dyn KclStdLibFn
impl TS for dyn KclStdLibFn
const EXPORT_TO: Option<&'static str> = _
source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Information about types this type depends on.
This is used for resolving imports when exporting to a file.
source§fn transparent() -> bool
fn transparent() -> bool
true
if this is a transparent type, e.g tuples or a list.This is used for resolving imports when using the
export!
macro.source§fn decl() -> String
fn decl() -> String
Declaration of this type, e.g.
interface User { user_id: number, ... }
.
This function will panic if the type has no declaration.source§fn name_with_type_args(args: Vec<String>) -> String
fn name_with_type_args(args: Vec<String>) -> String
Name of this type in TypeScript, with type arguments.
source§fn inline() -> String
fn inline() -> String
Formats this types definition in TypeScript, e.g
{ user_id: number }
.
This function will panic if the type cannot be inlined.source§fn inline_flattened() -> String
fn inline_flattened() -> String
Flatten an type declaration.
This function will panic if the type cannot be flattened.
This function will panic if the type cannot be flattened.
source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
Manually export this type to a file.
The output file can be specified by annotating the type with
#[ts(export_to = ".."]
.
By default, the filename will be derived from the types name. Read moresource§fn export_to(path: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_to(path: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
Manually export this type to a file with a file with the specified path. This
function will ignore the
#[ts(export_to = "..)]
attribute.source§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
Manually generate bindings for this type, returning a
This function does not format the output, even if the
String
.This function does not format the output, even if the
format
feature is enabled.