@@ -174,9 +174,10 @@ <h1>cooklang-rs playground</h1>
174174
175175 < select id ="parserSelect ">
176176 < option value ="render " selected > Render</ option >
177- < option value ="full " selected > Full parse</ option >
177+ < option value ="full "> Full parse</ option >
178178 < option value ="events "> Events</ option >
179179 < option value ="ast "> AST</ option >
180+ < option value ="stdmeta "> Standard metadata</ option >
180181 </ select >
181182 < div hidden id ="servingscontainer ">
182183 < label for ="servings "> Servings</ label >
@@ -219,7 +220,7 @@ <h1>cooklang-rs playground</h1>
219220 </ main >
220221
221222 < script type ="module ">
222- import init , { State , version } from "./pkg/cooklang_playground.js" ;
223+ import init , { State , version } from "./pkg/cooklang_playground.js" ;
223224
224225 async function run ( ) {
225226 await init ( ) ;
@@ -286,7 +287,13 @@ <h1>cooklang-rs playground</h1>
286287 break ;
287288 }
288289 case "render" : {
289- const { value, error } = state . parse_render ( input , servings . value . length === 0 ? null : servings . valueAsNumber ) ;
290+ const { value, error } = state . parse_render ( input , servings . value . length === 0 ? null : servings . valueAsNumber ) ;
291+ output . innerHTML = value ;
292+ errors . innerHTML = error ;
293+ break ;
294+ }
295+ case "stdmeta" : {
296+ const { value, error } = state . std_metadata ( input ) ;
290297 output . innerHTML = value ;
291298 errors . innerHTML = error ;
292299 break ;
@@ -329,21 +336,19 @@ <h1>cooklang-rs playground</h1>
329336 servings . addEventListener ( "change" , ( ) => parse ( ) ) ;
330337
331338 const extensionsContainer = document . getElementById ( "extensions-container" ) ;
339+
332340 const extensions = [
333- "COMPONENT_MODIFIERS" ,
334- "COMPONENT_ALIAS" ,
335- "ADVANCED_UNITS" ,
336- "MODES" ,
337- "TEMPERATURE" ,
338- "RANGE_VALUES" ,
339- "TIMER_REQUIRES_TIME" ,
340- "INTERMEDIATE_PREPARATIONS" ,
341- "SPECIAL_METADATA" ,
342- ] . forEach ( ( e , i ) => {
343- let bits = 1 << i ;
344- if ( i == 11 ) {
345- bits |= 1 << 1 ;
346- }
341+ [ "COMPONENT_MODIFIERS" , 1 << 1 ] ,
342+ [ "COMPONENT_ALIAS" , 1 << 3 ] ,
343+ [ "ADVANCED_UNITS" , 1 << 5 ] ,
344+ [ "MODES" , 1 << 6 ] ,
345+ [ "TEMPERATURE" , 1 << 7 ] ,
346+ [ "RANGE_VALUES" , 1 << 9 ] ,
347+ [ "TIMER_REQUIRES_TIME" , 1 << 10 ] ,
348+ [ "INTERMEDIATE_PREPARATIONS" , 1 << 11 | 1 << 1 ]
349+ ] ;
350+
351+ extensions . forEach ( ( [ e , bits ] ) => {
347352 const elem = document . createElement ( "input" ) ;
348353 elem . setAttribute ( "type" , "checkbox" ) ;
349354 elem . setAttribute ( "id" , e ) ;
@@ -414,4 +419,4 @@ <h1>cooklang-rs playground</h1>
414419 </ script >
415420</ body >
416421
417- </ html >
422+ </ html >
0 commit comments