0.0.4 • Published 1 year ago

vite-plugin-using v0.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

A quick and easy way to start using USING today!

Note: This project is deprecated! The behavior is easily accessible inside of VITE using `esbuild.target: 'es2022' which will be a lot better than this dirty package anyway.

This plugin allows using the upcoming JS keyword using in your code today! It transpiles using and await using to try/finally blocks to get the same effect more easily!

Installation

pnpm add vite-plugin-using

Add to your vite.config.ts

import ViteUsing from 'vite-plugin-using';

export default defineConfig({
  plugins: [ViteUsing()],
});

You will need to polyfill the new @@dispose and @@asyncDispose symbols as such somewhere in your runtime:

Symbol.dispose ??= Symbol('@@dispose');
Symbol.asyncDispose ??= Symbol('@@asyncDispose');

Usage

Just start using!!

class disposable {
  constructor() {}
  [Symbol.dispose]() {
    console.log('disposing')
  }
  [Symbol.asyncDispose]() {
    console.log('async disposing')
  }
}

{
  using obj = new disposable();
  console.log('made one obj');
  await using obj2 = new disposable();
  console.log('made two obj');
  console.log(obj, obj2)
}

Dang That's Cool!

0.0.4

1 year ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago