0.2.1 • Published 22 days ago

unplugin-vue-reactivity-function v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
22 days ago

unplugin-vue-reactivity-function npm

Unit Test

Reactivity Function.

Installation

npm i -D unplugin-vue-reactivity-function
// vite.config.ts
import VueReactivityFunction from 'unplugin-vue-reactivity-function/vite'

export default defineConfig({
  plugins: [
    VueReactivityFunction({
      ignore: ['$fetch'],
    }),
  ],
})

// rollup.config.js
import VueReactivityFunction from 'unplugin-vue-reactivity-function/rollup'

export default {
  plugins: [
    VueReactivityFunction({
      ignore: ['$fetch'],
    }),
  ],
}

// esbuild.config.js
import { build } from 'esbuild'

build({
  plugins: [
    require('unplugin-vue-reactivity-function/esbuild')({
      ignore: ['$fetch'],
    }),
  ],
})

// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require('unplugin-vue-reactivity-function/webpack')({
      ignore: ['$fetch'],
    }),
  ],
}

// vue.config.js
module.exports = {
  configureWebpack: {
    plugins: [
      require('unplugin-vue-reactivity-function/webpack')({
        ignore: ['$fetch'],
      }),
    ],
  },
}

Usage

// ~/store/user.ts
export const useUserStore = defineStore$('user', () => {
  let token = $ref('')
  function login() {
    token = 'TOKEN'
  }

  return {
    token,
    login,
  }
})

// is equivalent to:
export const useUserStore = defineStore('user', () => {
  let token = $ref('')
  function login() {
    token = 'TOKEN'
  }

  return {
    token: $$(token),
    login: $$(login),
  }
})
<script setup lang="tsx">
import { useBase64 } from '@vueuse/core'
import { useUserStore } from '~/store/user'

const { token, login } = $toRefs(useUserStore())
// is equivalent to:
const { token, login } = $(toRefs(useUserStore()))
login()

const text = $inject$('text', token)
// is equivalent to:
const text = $(inject('text', $$(defaultText)))

const { base64 } = $useBase64$(text)
// is equivalent to:
const { base64 } = $(useBase64($$(text)))

provide$('base64', base64)
// is equivalent to:
provide('base64', $$(base64))

const stop = watch$(base64, () => {
  console.log$(base64)
  stop()
})
// is equivalent to:
const stop = watch($$(base64), () => {
  console.log($$(base64))
  stop()
})

defineExpose$({
  base64,
})
// is equivalent to:
defineExpose({
  base64: $$(base64),
})
</script>

Volar

// tsconfig.json
{
  // ...
  "vueCompilerOptions": {
    "plugins": ["unplugin-vue-reactivity-function/volar"],
    "reactivityFunction": {
      "ignore": ["$fetch"]
    }
  }
}

License

MIT License © 2023-PRESENT zhiyuanzmj

0.2.1

22 days ago

0.2.0

24 days ago

0.1.7

6 months ago

0.1.6

6 months ago

0.1.5

6 months ago

0.1.4

6 months ago

0.1.3

6 months ago

0.1.2

6 months ago

0.1.1

6 months ago

0.1.0

6 months ago