Skip to content

Commit

Permalink
Merge branch 'update-vue-vapor' of https://github.com/sxzz/js-framewo…
Browse files Browse the repository at this point in the history
…rk-benchmark into sxzz-update-vue-vapor
  • Loading branch information
krausest committed Sep 24, 2024
2 parents 1b7d66c + 8a602a3 commit 212a3bb
Show file tree
Hide file tree
Showing 8 changed files with 512 additions and 1,646 deletions.
751 changes: 242 additions & 509 deletions frameworks/keyed/vue-vapor/package-lock.json

Large diffs are not rendered by default.

7 changes: 3 additions & 4 deletions frameworks/keyed/vue-vapor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@
"preview": "vite preview"
},
"dependencies": {
"vue": "npm:@vue-vapor/vue@latest"
"vue": "https://pkg.pr.new/vuejs/core-vapor/vue@e07eac9"
},
"devDependencies": {
"@vitejs/plugin-vue": "npm:@vue-vapor/vite-plugin-vue@latest",
"vite": "^5.2.9",
"vite-plugin-inspect": "^0.8.5"
"@vitejs/plugin-vue": "https://pkg.pr.new/@vitejs/plugin-vue@d8e849f",
"vite": "^5.4.6"
}
}
918 changes: 0 additions & 918 deletions frameworks/keyed/vue-vapor/pnpm-lock.yaml

This file was deleted.

24 changes: 11 additions & 13 deletions frameworks/keyed/vue-vapor/src/App.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<script setup vapor>
import { ref, shallowRef, triggerRef, watch } from "vue";
import { ref, shallowRef, triggerRef } from "vue";
import { createSelector } from "vue/vapor";
import { buildData } from "./data";
const selected = ref();
Expand Down Expand Up @@ -51,20 +52,11 @@ function swapRows() {
const d998 = _rows[998];
_rows[1] = d998;
_rows[998] = d1;
triggerRef(rows)
triggerRef(rows);
}
}
// Reduce the complexity of `selected` from O(n) to O(1).
function createSelector(source) {
const cache = {}
watch(source, (val, old) => {
if (old != undefined) cache[old].value = false
if (val != undefined) cache[val].value = true
})
return id => (cache[id] ??= shallowRef(false)).value
}
const isSelected = createSelector(selected)
const isSelected = createSelector(selected);
</script>

<template>
Expand Down Expand Up @@ -103,7 +95,13 @@ const isSelected = createSelector(selected)
</div>
<table class="table table-hover table-striped test-data">
<tbody>
<tr v-for="row of rows" :key="row.id" :class="{ danger: isSelected(row.id) }" :data-label="row.label">
<tr
v-for="row of rows"
:key="row.id"
:class="{ danger: isSelected(row.id) }"
:data-label="row.label.value"
v-memo="[row.label.value, row.id === selected]"
>
<td class="col-md-1">{{ row.id }}</td>
<td class="col-md-4">
<a @click="select(row.id)">{{ row.label.value }}</a>
Expand Down
3 changes: 1 addition & 2 deletions frameworks/keyed/vue-vapor/vite.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import Inspect from 'vite-plugin-inspect'

export default defineConfig({
plugins: [vue(), Inspect()],
plugins: [vue()],
build: {
rollupOptions: {
input: "src/main.js",
Expand Down
Loading

0 comments on commit 212a3bb

Please sign in to comment.