@@ -81,19 +81,17 @@ class ob {
81
81
82
82
private:
83
83
static void BUILD (BonParsableNode const & node, ob& o) {
84
- KLOG (INF) << node.ss .str () << " " << o.p ;
85
-
86
84
if (!node.nodes .size ())
87
85
o.a = node.ss .str ();
88
86
else
89
87
o.v = node.ss .str ();
90
88
91
89
mkn::kul::String::TRIM (o.a );
92
90
mkn::kul::String::TRIM (o.v );
93
- if (o.v .back () == ' :' )) {
94
- o.v = o.v .substr (0 , o.v .size () - 1 );
95
- mkn::kul::String::TRIM (o.v );
96
- }
91
+ if (o.v .back () == ' :' ) {
92
+ o.v = o.v .substr (0 , o.v .size () - 1 );
93
+ mkn::kul::String::TRIM (o.v );
94
+ }
97
95
98
96
for (auto const & n : node.nodes ) {
99
97
o.c .emplace_back ().p = &o;
@@ -113,15 +111,25 @@ class ob {
113
111
auto vals = mkn::kul::String::ESC_SPLIT (o.a , ' ,' );
114
112
if (o.a .find (" :" ) == std::string::npos) { // list
115
113
116
- for (std:: size_t i = 0 ; i < vals.size (); ++i ) {
117
- auto p = mkn::kul::String::ESC_SPLIT (vals[i ], ' :' );
118
- KLOG (INF) << p[ 0 ];
114
+ if ( vals.size () == 1 ) {
115
+ auto p = mkn::kul::String::ESC_SPLIT (vals[0 ], ' :' );
116
+
119
117
if (p.size () == 1 ) {
120
118
mkn::kul::String::TRIM (p);
121
- n. push_back ( p[0 ]) ;
119
+ n = p[0 ];
122
120
} else
123
121
KEXCEPTION (" FAIL" );
124
- }
122
+
123
+ } else
124
+ for (std::size_t i = 0 ; i < vals.size (); ++i) {
125
+ auto p = mkn::kul::String::ESC_SPLIT (vals[i], ' :' );
126
+
127
+ if (p.size () == 1 ) {
128
+ mkn::kul::String::TRIM (p);
129
+ n.push_back (p[0 ]);
130
+ } else
131
+ KEXCEPTION (" FAIL" );
132
+ }
125
133
} else // map
126
134
for (auto const & v : vals) {
127
135
auto p = mkn::kul::String::ESC_SPLIT (v, ' :' );
@@ -178,11 +186,8 @@ YAML::Node from(std::string const& s) {
178
186
179
187
if (open ) c_check ();
180
188
for (auto const & o : obs) nodes.emplace_back (o.to_yaml ());
181
- auto const ret = YAML::Node (nodes);
182
- YAML::Emitter out;
183
- out << ret;
184
- KLOG (INF) << out.c_str ();
185
- return ret;
189
+ assert (obs.size () == 1 );
190
+ return obs[0 ].to_yaml ();
186
191
}
187
192
188
193
} // namespace bon
0 commit comments