tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

demo-inputs.js (1652B)


      1 // Curated presentation metadata, never signatures inferred from arbitrary bundles.
      2 // The argument order comes from the published demos beside this site.
      3 export function demoInputLabels(id, definition) {
      4     switch (id) {
      5         case 'functions': return definition === 'add' ? ['Left number', 'Right number'] : ['Number'];
      6         case 'transform-list': return definition === 'double' ? ['Number'] : [];
      7         case 'choices': return ['Number of items'];
      8         case 'language-reference':
      9             if (definition === 'first')
     10                 return ['First value', 'Second value'];
     11             if (definition === 'firstOr')
     12                 return ['Fallback', 'List'];
     13             return ['identity', 'addTwo', 'describe', 'keep', 'local', 'viaWhere', 'copy', 'localCopy', 'checked', 'sequenced'].includes(definition) ? ['Value'] : [];
     14         case 'microscope': return definition === 'same' ? ['First tree', 'Second tree'] : ['Tree to inspect'];
     15         case 'rgb': return ['RGB channels (0–255)'];
     16         case 'shipping': return ['Destination', 'Cart subtotal (cents)', 'Package weight (grams)'];
     17         case 'events': return definition === 'vendorB' ? ['Event [customer refunded totalCents]'] : ['Event [eventName customer totalCents]'];
     18         case 'registration': return ['Name', 'Email', 'Age', 'Terms accepted (t = false, (t t) = true)'];
     19         case 'lexer': return definition === 'scanWhitespace' ? ['Text with leading whitespace'] : ['Text with a lowercase prefix'];
     20         case 'parser': return ['Comma-separated lowercase names'];
     21         case 'migration': return ['Profile [name email]'];
     22         default: return [];
     23     }
     24 }