+<pre><code class="language-ts"><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">events</span><span class="hl-0">, </span><span class="hl-2">factory</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">"nerdctl"</span><span class="hl-0">;</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">IMAGE_NAME</span><span class="hl-0"> = </span><span class="hl-3">"hello-world"</span><span class="hl-0">;</span><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">CONTAINER_NAME</span><span class="hl-0"> = </span><span class="hl-3">"hello"</span><span class="hl-0">;</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">vm</span><span class="hl-0"> = </span><span class="hl-6">factory</span><span class="hl-0">();</span><br/><span class="hl-1">if</span><span class="hl-0"> (!(</span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">checkVM</span><span class="hl-0">())) {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">initVM</span><span class="hl-0">();</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">on</span><span class="hl-0">(</span><span class="hl-2">events</span><span class="hl-0">.</span><span class="hl-5">IMAGE_PULL_START</span><span class="hl-0">, () </span><span class="hl-4">=></span><span class="hl-0"> {});</span><br/><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">on</span><span class="hl-0">(</span><span class="hl-2">events</span><span class="hl-0">.</span><span class="hl-5">IMAGE_PULL_OUTPUT</span><span class="hl-0">, (</span><span class="hl-2">data</span><span class="hl-0">) </span><span class="hl-4">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-2">console</span><span class="hl-0">.</span><span class="hl-6">log</span><span class="hl-0">(</span><span class="hl-2">data</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">on</span><span class="hl-0">(</span><span class="hl-2">events</span><span class="hl-0">.</span><span class="hl-5">IMAGE_PULL_END</span><span class="hl-0">, (</span><span class="hl-2">data</span><span class="hl-0">) </span><span class="hl-4">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-2">console</span><span class="hl-0">.</span><span class="hl-6">log</span><span class="hl-0">(</span><span class="hl-2">data</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">on</span><span class="hl-0">(</span><span class="hl-2">events</span><span class="hl-0">.</span><span class="hl-5">CONTAINER_RUN_OUTPUT</span><span class="hl-0">, (</span><span class="hl-2">data</span><span class="hl-0">) </span><span class="hl-4">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-2">console</span><span class="hl-0">.</span><span class="hl-6">log</span><span class="hl-0">(</span><span class="hl-2">data</span><span class="hl-0">);</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">pullImage</span><span class="hl-0">(</span><span class="hl-5">IMAGE_NAME</span><span class="hl-0">);</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">images</span><span class="hl-0"> = </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">getImages</span><span class="hl-0">();</span><br/><span class="hl-2">console</span><span class="hl-0">.</span><span class="hl-6">log</span><span class="hl-0">(</span><span class="hl-2">images</span><span class="hl-0">);</span><br/><br/><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">run</span><span class="hl-0">(</span><span class="hl-5">IMAGE_NAME</span><span class="hl-0">, { </span><span class="hl-2">name:</span><span class="hl-0"> </span><span class="hl-5">CONTAINER_NAME</span><span class="hl-0"> });</span><br/><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">stop</span><span class="hl-0">(</span><span class="hl-5">CONTAINER_NAME</span><span class="hl-0">);</span><br/><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-2">vm</span><span class="hl-0">.</span><span class="hl-6">remove</span><span class="hl-0">(</span><span class="hl-5">CONTAINER_NAME</span><span class="hl-0">);</span>
0 commit comments