Chalarangelo/30-seconds-of-code

View on GitHub
public/assets/illustrations/ds-binary-search-tree.svg

Summary

Maintainability
Test Coverage
<svg width="800" height="555" viewBox="0 0 800 555" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="298" y="41" width="80" height="80" rx="4" fill="#161632"/>
<path d="M322.926 96.3977C320.975 96.3977 319.233 96.0616 317.699 95.3892C316.174 94.7169 314.967 93.7841 314.077 92.5909C313.196 91.3883 312.723 89.9962 312.656 88.4148H317.116C317.173 89.2765 317.462 90.0246 317.983 90.6591C318.513 91.2841 319.205 91.767 320.057 92.108C320.909 92.4489 321.856 92.6193 322.898 92.6193C324.044 92.6193 325.057 92.4205 325.938 92.0227C326.828 91.625 327.524 91.071 328.026 90.3608C328.527 89.6411 328.778 88.8125 328.778 87.875C328.778 86.8996 328.527 86.0426 328.026 85.304C327.533 84.5559 326.809 83.9687 325.852 83.5426C324.905 83.1165 323.759 82.9034 322.415 82.9034H319.957V79.3239H322.415C323.494 79.3239 324.441 79.1297 325.256 78.7415C326.08 78.3532 326.723 77.8134 327.188 77.1222C327.652 76.4214 327.884 75.6023 327.884 74.6648C327.884 73.7652 327.68 72.9839 327.273 72.321C326.875 71.6487 326.307 71.1231 325.568 70.7443C324.839 70.3655 323.977 70.1761 322.983 70.1761C322.036 70.1761 321.151 70.3513 320.327 70.7017C319.512 71.0426 318.849 71.535 318.338 72.179C317.827 72.8134 317.552 73.5758 317.514 74.4659H313.267C313.314 72.8939 313.778 71.5114 314.659 70.3182C315.549 69.125 316.723 68.1922 318.182 67.5199C319.64 66.8475 321.259 66.5114 323.04 66.5114C324.905 66.5114 326.515 66.8759 327.869 67.6051C329.233 68.3248 330.284 69.286 331.023 70.4886C331.771 71.6913 332.14 73.0076 332.131 74.4375C332.14 76.0663 331.686 77.4489 330.767 78.5852C329.858 79.7216 328.646 80.4839 327.131 80.8722V81.0994C329.063 81.393 330.559 82.16 331.619 83.4006C332.689 84.6411 333.22 86.1799 333.21 88.017C333.22 89.6174 332.775 91.0521 331.875 92.321C330.985 93.59 329.768 94.589 328.224 95.3182C326.681 96.0379 324.915 96.3977 322.926 96.3977ZM348.707 96.483C346.463 96.4735 344.545 95.8816 342.955 94.7074C341.364 93.5331 340.147 91.8239 339.304 89.5795C338.461 87.3352 338.04 84.6316 338.04 81.4688C338.04 78.3153 338.461 75.6212 339.304 73.3864C340.156 71.1515 341.378 69.447 342.969 68.2727C344.569 67.0985 346.482 66.5114 348.707 66.5114C350.933 66.5114 352.841 67.1032 354.432 68.2869C356.023 69.4612 357.24 71.1657 358.082 73.4006C358.935 75.6259 359.361 78.3153 359.361 81.4688C359.361 84.6411 358.939 87.3494 358.097 89.5938C357.254 91.8286 356.037 93.5379 354.446 94.7216C352.855 95.8958 350.942 96.483 348.707 96.483ZM348.707 92.6903C350.677 92.6903 352.216 91.7292 353.324 89.8068C354.441 87.8845 355 85.1051 355 81.4688C355 79.054 354.744 77.0133 354.233 75.3466C353.731 73.6705 353.007 72.4015 352.06 71.5398C351.122 70.6686 350.005 70.233 348.707 70.233C346.747 70.233 345.208 71.1989 344.091 73.1307C342.973 75.0625 342.41 77.8419 342.401 81.4688C342.401 83.893 342.652 85.9432 343.153 87.6193C343.665 89.286 344.389 90.5502 345.327 91.4119C346.264 92.2642 347.391 92.6903 348.707 92.6903Z" fill="#E3E3E8"/>
<rect x="124" y="215" width="80" height="80" rx="4" fill="#161632"/>
<path d="M154.835 240.909V270H150.432V245.312H150.261L143.301 249.858V245.653L150.56 240.909H154.835ZM172.832 270.483C170.588 270.473 168.67 269.882 167.08 268.707C165.489 267.533 164.272 265.824 163.429 263.58C162.586 261.335 162.165 258.632 162.165 255.469C162.165 252.315 162.586 249.621 163.429 247.386C164.281 245.152 165.503 243.447 167.094 242.273C168.694 241.098 170.607 240.511 172.832 240.511C175.058 240.511 176.966 241.103 178.557 242.287C180.148 243.461 181.365 245.166 182.207 247.401C183.06 249.626 183.486 252.315 183.486 255.469C183.486 258.641 183.064 261.349 182.222 263.594C181.379 265.829 180.162 267.538 178.571 268.722C176.98 269.896 175.067 270.483 172.832 270.483ZM172.832 266.69C174.802 266.69 176.341 265.729 177.449 263.807C178.566 261.884 179.125 259.105 179.125 255.469C179.125 253.054 178.869 251.013 178.358 249.347C177.856 247.67 177.132 246.402 176.185 245.54C175.247 244.669 174.13 244.233 172.832 244.233C170.872 244.233 169.333 245.199 168.216 247.131C167.098 249.062 166.535 251.842 166.526 255.469C166.526 257.893 166.777 259.943 167.278 261.619C167.79 263.286 168.514 264.55 169.452 265.412C170.389 266.264 171.516 266.69 172.832 266.69Z" fill="#E3E3E8"/>
<rect x="248" y="339" width="80" height="80" rx="4" fill="#161632"/>
<path d="M279.835 364.909V394H275.432V369.312H275.261L268.301 373.858V369.653L275.56 364.909H279.835ZM297.307 394.398C295.527 394.398 293.926 394.057 292.506 393.375C291.095 392.684 289.968 391.737 289.125 390.534C288.282 389.331 287.832 387.958 287.776 386.415H292.037C292.141 387.665 292.695 388.692 293.699 389.497C294.703 390.302 295.905 390.705 297.307 390.705C298.424 390.705 299.414 390.449 300.276 389.938C301.147 389.417 301.829 388.702 302.321 387.793C302.823 386.884 303.074 385.847 303.074 384.682C303.074 383.498 302.818 382.442 302.307 381.514C301.795 380.586 301.09 379.857 300.19 379.327C299.3 378.796 298.277 378.527 297.122 378.517C296.241 378.517 295.356 378.669 294.466 378.972C293.576 379.275 292.856 379.672 292.307 380.165L288.287 379.568L289.92 364.909H305.915V368.673H293.571L292.648 376.812H292.818C293.386 376.263 294.139 375.804 295.077 375.435C296.024 375.065 297.037 374.881 298.116 374.881C299.887 374.881 301.464 375.302 302.847 376.145C304.239 376.988 305.332 378.138 306.128 379.597C306.933 381.045 307.33 382.712 307.321 384.597C307.33 386.481 306.904 388.162 306.043 389.639C305.19 391.116 304.007 392.281 302.491 393.134C300.986 393.976 299.258 394.398 297.307 394.398Z" fill="#E3E3E8"/>
<rect x="349" y="339" width="80" height="80" rx="4" fill="#161632"/>
<path d="M375.926 394.398C373.975 394.398 372.233 394.062 370.699 393.389C369.174 392.717 367.967 391.784 367.077 390.591C366.196 389.388 365.723 387.996 365.656 386.415H370.116C370.173 387.277 370.462 388.025 370.983 388.659C371.513 389.284 372.205 389.767 373.057 390.108C373.909 390.449 374.856 390.619 375.898 390.619C377.044 390.619 378.057 390.42 378.938 390.023C379.828 389.625 380.524 389.071 381.026 388.361C381.527 387.641 381.778 386.812 381.778 385.875C381.778 384.9 381.527 384.043 381.026 383.304C380.533 382.556 379.809 381.969 378.852 381.543C377.905 381.116 376.759 380.903 375.415 380.903H372.957V377.324H375.415C376.494 377.324 377.441 377.13 378.256 376.741C379.08 376.353 379.723 375.813 380.188 375.122C380.652 374.421 380.884 373.602 380.884 372.665C380.884 371.765 380.68 370.984 380.273 370.321C379.875 369.649 379.307 369.123 378.568 368.744C377.839 368.366 376.977 368.176 375.983 368.176C375.036 368.176 374.151 368.351 373.327 368.702C372.512 369.043 371.849 369.535 371.338 370.179C370.827 370.813 370.552 371.576 370.514 372.466H366.267C366.314 370.894 366.778 369.511 367.659 368.318C368.549 367.125 369.723 366.192 371.182 365.52C372.64 364.848 374.259 364.511 376.04 364.511C377.905 364.511 379.515 364.876 380.869 365.605C382.233 366.325 383.284 367.286 384.023 368.489C384.771 369.691 385.14 371.008 385.131 372.438C385.14 374.066 384.686 375.449 383.767 376.585C382.858 377.722 381.646 378.484 380.131 378.872V379.099C382.063 379.393 383.559 380.16 384.619 381.401C385.689 382.641 386.22 384.18 386.21 386.017C386.22 387.617 385.775 389.052 384.875 390.321C383.985 391.59 382.768 392.589 381.224 393.318C379.681 394.038 377.915 394.398 375.926 394.398ZM401.182 394.398C399.402 394.398 397.801 394.057 396.381 393.375C394.97 392.684 393.843 391.737 393 390.534C392.157 389.331 391.707 387.958 391.651 386.415H395.912C396.016 387.665 396.57 388.692 397.574 389.497C398.578 390.302 399.78 390.705 401.182 390.705C402.299 390.705 403.289 390.449 404.151 389.938C405.022 389.417 405.704 388.702 406.196 387.793C406.698 386.884 406.949 385.847 406.949 384.682C406.949 383.498 406.693 382.442 406.182 381.514C405.67 380.586 404.965 379.857 404.065 379.327C403.175 378.796 402.152 378.527 400.997 378.517C400.116 378.517 399.231 378.669 398.341 378.972C397.451 379.275 396.731 379.672 396.182 380.165L392.162 379.568L393.795 364.909H409.79V368.673H397.446L396.523 376.812H396.693C397.261 376.263 398.014 375.804 398.952 375.435C399.899 375.065 400.912 374.881 401.991 374.881C403.762 374.881 405.339 375.302 406.722 376.145C408.114 376.988 409.207 378.138 410.003 379.597C410.808 381.045 411.205 382.712 411.196 384.597C411.205 386.481 410.779 388.162 409.918 389.639C409.065 391.116 407.882 392.281 406.366 393.134C404.861 393.976 403.133 394.398 401.182 394.398Z" fill="#E3E3E8"/>
<rect x="124" y="463" width="80" height="80" rx="4" fill="#161632"/>
<path d="M155.835 488.909V518H151.432V493.312H151.261L144.301 497.858V493.653L151.56 488.909H155.835ZM163.705 518V514.818L173.548 504.619C174.599 503.511 175.466 502.541 176.148 501.707C176.839 500.865 177.355 500.064 177.696 499.307C178.037 498.549 178.207 497.744 178.207 496.892C178.207 495.926 177.98 495.093 177.526 494.392C177.071 493.682 176.451 493.137 175.665 492.759C174.879 492.37 173.993 492.176 173.009 492.176C171.967 492.176 171.058 492.389 170.281 492.815C169.505 493.241 168.908 493.843 168.491 494.619C168.075 495.396 167.866 496.305 167.866 497.347H163.676C163.676 495.576 164.083 494.027 164.898 492.702C165.712 491.376 166.83 490.348 168.25 489.619C169.67 488.881 171.285 488.511 173.094 488.511C174.921 488.511 176.531 488.876 177.923 489.605C179.325 490.325 180.419 491.31 181.205 492.56C181.991 493.8 182.384 495.202 182.384 496.764C182.384 497.844 182.18 498.9 181.773 499.932C181.375 500.964 180.679 502.115 179.685 503.384C178.69 504.643 177.308 506.172 175.537 507.972L169.756 514.023V514.236H182.852V518H163.705Z" fill="#E3E3E8"/>
<rect x="472" y="215" width="80" height="80" rx="4" fill="#161632"/>
<path d="M486.188 264.318V260.767L498.759 240.909H501.557V246.136H499.781L490.79 260.369V260.597H508.02V264.318H486.188ZM499.98 270V263.239L500.009 261.619V240.909H504.17V270H499.98ZM523.098 270.483C520.854 270.473 518.936 269.882 517.345 268.707C515.754 267.533 514.537 265.824 513.695 263.58C512.852 261.335 512.43 258.632 512.43 255.469C512.43 252.315 512.852 249.621 513.695 247.386C514.547 245.152 515.768 243.447 517.359 242.273C518.96 241.098 520.873 240.511 523.098 240.511C525.323 240.511 527.232 241.103 528.822 242.287C530.413 243.461 531.63 245.166 532.473 247.401C533.325 249.626 533.751 252.315 533.751 255.469C533.751 258.641 533.33 261.349 532.487 263.594C531.644 265.829 530.428 267.538 528.837 268.722C527.246 269.896 525.333 270.483 523.098 270.483ZM523.098 266.69C525.068 266.69 526.607 265.729 527.714 263.807C528.832 261.884 529.391 259.105 529.391 255.469C529.391 253.054 529.135 251.013 528.624 249.347C528.122 247.67 527.397 246.402 526.45 245.54C525.513 244.669 524.395 244.233 523.098 244.233C521.138 244.233 519.599 245.199 518.482 247.131C517.364 249.062 516.801 251.842 516.791 255.469C516.791 257.893 517.042 259.943 517.544 261.619C518.055 263.286 518.78 264.55 519.717 265.412C520.655 266.264 521.782 266.69 523.098 266.69Z" fill="#E3E3E8"/>
<rect x="597" y="339" width="80" height="80" rx="4" fill="#161632"/>
<path d="M623.401 394.398C621.62 394.398 620.02 394.057 618.599 393.375C617.188 392.684 616.062 391.737 615.219 390.534C614.376 389.331 613.926 387.958 613.869 386.415H618.131C618.235 387.665 618.789 388.692 619.793 389.497C620.796 390.302 621.999 390.705 623.401 390.705C624.518 390.705 625.508 390.449 626.369 389.938C627.241 389.417 627.922 388.702 628.415 387.793C628.917 386.884 629.168 385.847 629.168 384.682C629.168 383.498 628.912 382.442 628.401 381.514C627.889 380.586 627.184 379.857 626.284 379.327C625.394 378.796 624.371 378.527 623.216 378.517C622.335 378.517 621.45 378.669 620.56 378.972C619.67 379.275 618.95 379.672 618.401 380.165L614.381 379.568L616.014 364.909H632.009V368.673H619.665L618.741 376.812H618.912C619.48 376.263 620.233 375.804 621.17 375.435C622.117 375.065 623.131 374.881 624.21 374.881C625.981 374.881 627.558 375.302 628.94 376.145C630.332 376.988 631.426 378.138 632.222 379.597C633.027 381.045 633.424 382.712 633.415 384.597C633.424 386.481 632.998 388.162 632.136 389.639C631.284 391.116 630.1 392.281 628.585 393.134C627.08 393.976 625.351 394.398 623.401 394.398ZM648.731 394.483C646.487 394.473 644.569 393.882 642.978 392.707C641.387 391.533 640.17 389.824 639.327 387.58C638.485 385.335 638.063 382.632 638.063 379.469C638.063 376.315 638.485 373.621 639.327 371.386C640.18 369.152 641.401 367.447 642.992 366.273C644.593 365.098 646.505 364.511 648.731 364.511C650.956 364.511 652.864 365.103 654.455 366.287C656.046 367.461 657.263 369.166 658.106 371.401C658.958 373.626 659.384 376.315 659.384 379.469C659.384 382.641 658.963 385.349 658.12 387.594C657.277 389.829 656.06 391.538 654.469 392.722C652.879 393.896 650.966 394.483 648.731 394.483ZM648.731 390.69C650.701 390.69 652.239 389.729 653.347 387.807C654.465 385.884 655.023 383.105 655.023 379.469C655.023 377.054 654.768 375.013 654.256 373.347C653.754 371.67 653.03 370.402 652.083 369.54C651.146 368.669 650.028 368.233 648.731 368.233C646.771 368.233 645.232 369.199 644.114 371.131C642.997 373.062 642.433 375.842 642.424 379.469C642.424 381.893 642.675 383.943 643.177 385.619C643.688 387.286 644.413 388.55 645.35 389.412C646.288 390.264 647.415 390.69 648.731 390.69Z" fill="#E3E3E8"/>
<path d="M377.061 117.939C376.475 117.354 375.525 117.354 374.939 117.939C374.354 118.525 374.354 119.475 374.939 120.061L377.061 117.939ZM475.999 218.999L471.516 202.269L459.269 214.516L475.999 218.999ZM374.939 120.061L465.392 210.514L467.514 208.392L377.061 117.939L374.939 120.061Z" fill="#E3E3E8"/>
<path d="M201.061 290.939C200.475 290.354 199.525 290.354 198.939 290.939C198.354 291.525 198.354 292.475 198.939 293.061L201.061 290.939ZM250 342L245.517 325.27L233.27 337.517L250 342ZM198.939 293.061L239.393 333.515L241.515 331.393L201.061 290.939L198.939 293.061Z" fill="#E3E3E8"/>
<path d="M301.061 120.061C301.646 119.475 301.646 118.525 301.061 117.939C300.475 117.354 299.525 117.354 298.939 117.939L301.061 120.061ZM200.001 218.999L216.731 214.516L204.484 202.269L200.001 218.999ZM298.939 117.939L208.486 208.392L210.608 210.514L301.061 120.061L298.939 117.939Z" fill="#E3E3E8"/>
<path d="M252.061 417.061C252.646 416.475 252.646 415.525 252.061 414.939C251.475 414.354 250.525 414.354 249.939 414.939L252.061 417.061ZM201 466L217.73 461.517L205.483 449.27L201 466ZM249.939 414.939L209.485 455.393L211.607 457.515L252.061 417.061L249.939 414.939Z" fill="#E3E3E8"/>
<path d="M476.061 294.061C476.646 293.475 476.646 292.525 476.061 291.939C475.475 291.354 474.525 291.354 473.939 291.939L476.061 294.061ZM425 343L441.73 338.517L429.483 326.27L425 343ZM473.939 291.939L433.485 332.393L435.607 334.515L476.061 294.061L473.939 291.939Z" fill="#E3E3E8"/>
<path d="M551.061 291.939C550.475 291.354 549.525 291.354 548.939 291.939C548.354 292.525 548.354 293.475 548.939 294.061L551.061 291.939ZM600 343L595.517 326.27L583.27 338.517L600 343ZM548.939 294.061L589.393 334.515L591.515 332.393L551.061 291.939L548.939 294.061Z" fill="#E3E3E8"/>
<path d="M317.003 35V21.9091H318.477V23.9205H318.588C318.849 23.2614 319.304 22.7301 319.952 22.3267C320.605 21.9176 321.344 21.7131 322.168 21.7131C322.293 21.7131 322.432 21.7159 322.585 21.7216C322.739 21.7273 322.866 21.733 322.969 21.7386V23.2812C322.901 23.2699 322.781 23.2528 322.611 23.2301C322.44 23.2074 322.256 23.196 322.057 23.196C321.375 23.196 320.767 23.3409 320.233 23.6307C319.705 23.9148 319.287 24.3097 318.98 24.8153C318.673 25.321 318.52 25.8977 318.52 26.5455V35H317.003ZM330.247 35.2727C329.116 35.2727 328.116 34.9858 327.247 34.4119C326.384 33.8381 325.707 33.0455 325.219 32.0341C324.73 31.017 324.486 29.8437 324.486 28.5142C324.486 27.1733 324.73 25.9943 325.219 24.9773C325.707 23.9545 326.384 23.1591 327.247 22.5909C328.116 22.017 329.116 21.7301 330.247 21.7301C331.378 21.7301 332.375 22.017 333.239 22.5909C334.102 23.1648 334.778 23.9602 335.267 24.9773C335.761 25.9943 336.009 27.1733 336.009 28.5142C336.009 29.8437 335.764 31.017 335.276 32.0341C334.787 33.0455 334.108 33.8381 333.239 34.4119C332.375 34.9858 331.378 35.2727 330.247 35.2727ZM330.247 33.8835C331.156 33.8835 331.926 33.6392 332.557 33.1506C333.188 32.6619 333.665 32.0114 333.989 31.1989C334.318 30.3864 334.483 29.4915 334.483 28.5142C334.483 27.5369 334.318 26.6392 333.989 25.821C333.665 25.0028 333.188 24.3466 332.557 23.8523C331.926 23.358 331.156 23.1108 330.247 23.1108C329.344 23.1108 328.574 23.358 327.938 23.8523C327.307 24.3466 326.827 25.0028 326.497 25.821C326.173 26.6392 326.011 27.5369 326.011 28.5142C326.011 29.4915 326.173 30.3864 326.497 31.1989C326.827 32.0114 327.307 32.6619 327.938 33.1506C328.568 33.6392 329.338 33.8835 330.247 33.8835ZM344.427 35.2727C343.296 35.2727 342.296 34.9858 341.427 34.4119C340.563 33.8381 339.887 33.0455 339.398 32.0341C338.91 31.017 338.665 29.8437 338.665 28.5142C338.665 27.1733 338.91 25.9943 339.398 24.9773C339.887 23.9545 340.563 23.1591 341.427 22.5909C342.296 22.017 343.296 21.7301 344.427 21.7301C345.558 21.7301 346.555 22.017 347.418 22.5909C348.282 23.1648 348.958 23.9602 349.447 24.9773C349.941 25.9943 350.188 27.1733 350.188 28.5142C350.188 29.8437 349.944 31.017 349.455 32.0341C348.967 33.0455 348.288 33.8381 347.418 34.4119C346.555 34.9858 345.558 35.2727 344.427 35.2727ZM344.427 33.8835C345.336 33.8835 346.106 33.6392 346.737 33.1506C347.367 32.6619 347.844 32.0114 348.168 31.1989C348.498 30.3864 348.663 29.4915 348.663 28.5142C348.663 27.5369 348.498 26.6392 348.168 25.821C347.844 25.0028 347.367 24.3466 346.737 23.8523C346.106 23.358 345.336 23.1108 344.427 23.1108C343.523 23.1108 342.754 23.358 342.117 23.8523C341.487 24.3466 341.006 25.0028 340.677 25.821C340.353 26.6392 340.191 27.5369 340.191 28.5142C340.191 29.4915 340.353 30.3864 340.677 31.1989C341.006 32.0114 341.487 32.6619 342.117 33.1506C342.748 33.6392 343.518 33.8835 344.427 33.8835ZM358.675 21.9091V23.2301H352.428V21.9091H358.675ZM354.379 18.7727H355.905V31.5824C355.905 32.1278 355.999 32.5568 356.186 32.8693C356.374 33.1761 356.618 33.3949 356.919 33.5256C357.22 33.6506 357.541 33.7131 357.882 33.7131C358.081 33.7131 358.251 33.7017 358.393 33.679C358.536 33.6506 358.661 33.6222 358.768 33.5938L359.092 34.9659C358.945 35.0227 358.763 35.0739 358.547 35.1193C358.331 35.1705 358.064 35.196 357.746 35.196C357.189 35.196 356.652 35.0739 356.135 34.8295C355.624 34.5852 355.203 34.2216 354.874 33.7386C354.544 33.2557 354.379 32.6562 354.379 31.9403V18.7727Z" fill="#C7C7D1"/>
</svg>