common_function/scalars/
json.rs1pub mod json_get;
16mod json_get_rewriter;
17mod json_is;
18mod json_object;
19mod json_object_keys;
20mod json_path_exists;
21mod json_path_match;
22mod json_to_string;
23mod parse_json;
24
25use json_get::{JsonGetBool, JsonGetFloat, JsonGetInt, JsonGetObject, JsonGetString};
26use json_get_rewriter::JsonGetRewriter;
27use json_is::{
28 JsonIsArray, JsonIsBool, JsonIsFloat, JsonIsInt, JsonIsNull, JsonIsObject, JsonIsString,
29};
30use json_to_string::JsonToStringFunction;
31use parse_json::ParseJsonFunction;
32
33use crate::function_registry::FunctionRegistry;
34use crate::scalars::json::json_get::JsonGetWithType;
35
36pub(crate) struct JsonFunction;
37
38impl JsonFunction {
39 pub fn register(registry: &FunctionRegistry) {
40 registry.register_scalar(JsonToStringFunction::default());
41 registry.register_scalar(ParseJsonFunction::default());
42
43 registry.register_scalar(JsonGetInt::default());
44 registry.register_scalar(JsonGetFloat::default());
45 registry.register_scalar(JsonGetString::default());
46 registry.register_scalar(JsonGetBool::default());
47 registry.register_scalar(JsonGetObject::default());
48 registry.register_scalar(JsonGetWithType::default());
49
50 registry.register_scalar(JsonIsNull::default());
51 registry.register_scalar(JsonIsInt::default());
52 registry.register_scalar(JsonIsFloat::default());
53 registry.register_scalar(JsonIsString::default());
54 registry.register_scalar(JsonIsBool::default());
55 registry.register_scalar(JsonIsArray::default());
56 registry.register_scalar(JsonIsObject::default());
57
58 registry.register_scalar(json_object::JsonObjectFunction::default());
59 registry.register_scalar(json_object_keys::JsonObjectKeysFunction::default());
60 registry.register_scalar(json_path_exists::JsonPathExistsFunction::default());
61 registry.register_scalar(json_path_match::JsonPathMatchFunction::default());
62
63 registry.register_function_rewrite(JsonGetRewriter);
64 }
65}