@@ -465,8 +465,9 @@ const func_builtins & value_int_t::get_builtins() const {
465465 double val = static_cast <double >(args.get_pos (0 )->as_int ());
466466 return mk_val<value_float>(val);
467467 }},
468- {" tojson " , tojson},
468+ {" safe " , tojson},
469469 {" string" , tojson},
470+ {" tojson" , tojson},
470471 };
471472 return builtins;
472473}
@@ -485,8 +486,9 @@ const func_builtins & value_float_t::get_builtins() const {
485486 int64_t val = static_cast <int64_t >(args.get_pos (0 )->as_float ());
486487 return mk_val<value_int>(val);
487488 }},
488- {" tojson " , tojson},
489+ {" safe " , tojson},
489490 {" string" , tojson},
491+ {" tojson" , tojson},
490492 };
491493 return builtins;
492494}
@@ -771,6 +773,11 @@ const func_builtins & value_string_t::get_builtins() const {
771773
772774
773775const func_builtins & value_bool_t::get_builtins () const {
776+ static const func_handler tostring = [](const func_args & args) -> value {
777+ args.ensure_vals <value_bool>();
778+ bool val = args.get_pos (0 )->as_bool ();
779+ return mk_val<value_string>(val ? " True" : " False" );
780+ };
774781 static const func_builtins builtins = {
775782 {" default" , default_value},
776783 {" int" , [](const func_args & args) -> value {
@@ -783,11 +790,8 @@ const func_builtins & value_bool_t::get_builtins() const {
783790 bool val = args.get_pos (0 )->as_bool ();
784791 return mk_val<value_float>(val ? 1.0 : 0.0 );
785792 }},
786- {" string" , [](const func_args & args) -> value {
787- args.ensure_vals <value_bool>();
788- bool val = args.get_pos (0 )->as_bool ();
789- return mk_val<value_string>(val ? " True" : " False" );
790- }},
793+ {" safe" , tostring},
794+ {" string" , tostring},
791795 {" tojson" , tojson},
792796 };
793797 return builtins;
@@ -1100,18 +1104,14 @@ const func_builtins & value_object_t::get_builtins() const {
11001104}
11011105
11021106const func_builtins & value_none_t::get_builtins () const {
1107+ static const func_handler tostring = [](const func_args &) -> value {
1108+ return mk_val<value_string>(" None" );
1109+ };
11031110 static const func_builtins builtins = {
11041111 {" default" , default_value},
11051112 {" tojson" , tojson},
1106- {" string" , [](const func_args &) -> value {
1107- return mk_val<value_string>(" None" );
1108- }},
1109- {" safe" , [](const func_args &) -> value {
1110- return mk_val<value_string>(" None" );
1111- }},
1112- {" strip" , [](const func_args &) -> value {
1113- return mk_val<value_string>(" None" );
1114- }},
1113+ {" string" , tostring},
1114+ {" safe" , tostring},
11151115 {" items" , empty_value_fn<value_array>},
11161116 {" map" , empty_value_fn<value_array>},
11171117 {" reject" , empty_value_fn<value_array>},
0 commit comments