diff --git a/examples/vue-router/app.js b/examples/vue-router/app.js
index 1054c08..513c34f 100644
--- a/examples/vue-router/app.js
+++ b/examples/vue-router/app.js
@@ -7,7 +7,7 @@ import {
watch
} from 'vue'
import { createRouter, createWebHistory } from 'vue-router'
-import { defaultConfig, createManager, useMeta, useMetainfo } from 'vue-meta'
+import { defaultConfig, createManager, useMeta, useMetainfo, resolveOption } from 'vue-meta'
// import About from './about.vue'
const metaUpdated = 'no'
@@ -31,18 +31,17 @@ const ChildComponent = defineComponent({
const title = props.page[0].toUpperCase() + props.page.slice(1)
console.log('ChildComponent Setup')
- /* useMeta({
+
+ useMeta({
charset: 'utf16',
title,
description: 'Description ' + props.page,
og: {
title: 'Og Title ' + props.page,
},
- }) */
+ })
- return {
- ...toRefs(state)
- }
+ return toRefs(state)
}
})
@@ -101,7 +100,7 @@ const App = {
{ src: 'body-script2.js', to: 'body' },
{ src: 'body-script3.js', to: '#put-it-here' }
],
- esi: {
+ /* esi: {
children: [
{
tag: 'choose',
@@ -138,7 +137,7 @@ const App = {
]
}
]
- }
+ } */
})
setTimeout(() => (meta.title = 'My Updated Title'), 2000)
@@ -206,33 +205,24 @@ const App = {
vue-router
Home
About
-
-
-
+
+
+
+
+
+
+
Inspect Element to see the meta info
`
}
-function decisionMaker5000000 (key, pathSegments, getOptions, getCurrentValue) {
- let theChosenOne
-
- const options = getOptions()
-
- for (const option of options) {
- if (!theChosenOne || theChosenOne.context.vm.uid < option.context.vm.uid) {
- theChosenOne = option
- }
+const decisionMaker5000000 = resolveOption((prevValue, context) => {
+ const { uid = 0 } = context.vm || {}
+ if (!prevValue || prevValue < uid) {
+ return uid
}
-
- console.log(
- key,
- getCurrentValue(),
- options.map(({ value }) => value)
- )
- console.log(theChosenOne.value)
- return theChosenOne.value
-}
+})
const metaManager = createManager({
...defaultConfig,
@@ -243,14 +233,14 @@ const metaManager = createManager({
}
}, decisionMaker5000000)
-/* useMeta(
+useMeta(
{
og: {
something: 'test',
},
},
metaManager
-) */
+) /**/
const router = createRouter({
history: createWebHistory('/vue-router'),
@@ -264,58 +254,3 @@ const app = createApp(App)
app.use(router)
app.use(metaManager)
app.mount('#app')
-
-// old stuff:
-/*
-const { set, remove } = app.$meta().addApp('custom')
-
-set({
- bodyAttrs: {
- class: 'custom-app'
- },
- meta: [
- { charset: 'utf=8' }
- ]
-})
-setTimeout(() => remove(), 3000)
-*/
-/*
-const waitFor = time => new Promise(r => setTimeout(r, time || 1000))
-const o = {
- meta: [{ a: 1 }]
-}
-const ob = Vue.observable(o)
-
-const root = new Vue({
- beforeCreate() {
- this.meta = ob.meta
-
- this.$options.computed = this.$options.computed || {}
- this.$options.computed['$ob'] = () => {
- return { meta: this.meta }
- }
- },
- created() {
- console.log('HERE')
- this.$watch('$ob', (a, b) => {
- console.log('WATCHER', this.$ob.meta[0].a, a.meta[0].a, b.meta[0].a, diff(a, b))
- }, { deep: true })
- },
- render(h) {
- return h('div', null, 'test')
- }
-})
-
-async function main () {
- root.$mount('#app')
- console.log(root)
- await waitFor(500)
-
- root.meta[0].a = 2
- await waitFor(100)
-
- ob.meta[0].a = 3
- await waitFor(100)
-}
-main()
-/**/
diff --git a/examples/webpack.config.js b/examples/webpack.config.js
index 243c8c4..5274430 100644
--- a/examples/webpack.config.js
+++ b/examples/webpack.config.js
@@ -7,7 +7,7 @@ import { VueLoaderPlugin } from 'vue-loader'
// const srcDir = path.join(__dirname, '..', 'src')
export default {
- devtool: 'inline-source-map',
+ devtool: 'source-map',
mode: 'development',
entry: fs.readdirSync(__dirname)
.reduce((entries, dir) => {
diff --git a/jest.config.js b/jest.config.js
index 49c81eb..e11fe33 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -14,7 +14,7 @@ module.exports = {
coverageDirectory: './coverage',
collectCoverageFrom: [
- '**/src/**/*.[tj]s'
+ 'src/**/*.[tj]s'
],
coveragePathIgnorePatterns: [
diff --git a/package.json b/package.json
index 1ed79e0..5d06620 100644
--- a/package.json
+++ b/package.json
@@ -48,40 +48,40 @@
"vue": "next"
},
"devDependencies": {
- "@babel/core": "^7.12.3",
- "@babel/node": "^7.12.1",
- "@babel/preset-env": "^7.12.1",
- "@babel/preset-typescript": "^7.12.1",
- "@nuxtjs/eslint-config-typescript": "^4.0.0",
- "@types/webpack": "^4.41.24",
- "@types/webpack-env": "^1.15.3",
- "@typescript-eslint/eslint-plugin": "^4.6.0",
- "@typescript-eslint/parser": "^4.6.0",
- "@vue/compiler-sfc": "^3.0.2",
- "@vue/server-renderer": "^3.0.2",
- "@vue/server-test-utils": "^1.1.1",
- "@vue/test-utils": "^1.1.1",
+ "@babel/core": "^7.12.10",
+ "@babel/node": "^7.12.10",
+ "@babel/preset-env": "^7.12.11",
+ "@babel/preset-typescript": "^7.12.7",
+ "@nuxtjs/eslint-config-typescript": "^5.0.0",
+ "@types/webpack": "^4.41.26",
+ "@types/webpack-env": "^1.16.0",
+ "@typescript-eslint/eslint-plugin": "^4.13.0",
+ "@typescript-eslint/parser": "^4.13.0",
+ "@vue/compiler-sfc": "^3.0.5",
+ "@vue/server-renderer": "^3.0.5",
+ "@vue/server-test-utils": "^1.1.2",
+ "@vue/test-utils": "^1.1.2",
"@wishy-gift/html-include-chunks-webpack-plugin": "^0.1.5",
- "babel-jest": "^26.6.1",
- "babel-loader": "^8.1.0",
+ "babel-jest": "^26.6.3",
+ "babel-loader": "^8.2.2",
"babel-plugin-dynamic-import-node": "^2.3.3",
"browserstack-local": "^1.4.8",
- "chromedriver": "^86.0.0",
- "codecov": "^3.8.0",
+ "chromedriver": "^87.0.5",
+ "codecov": "^3.8.1",
"consola": "^2.15.0",
- "eslint": "^7.12.1",
- "express-urlrewrite": "^1.3.0",
- "geckodriver": "^1.20.0",
- "html-webpack-plugin": "^4.5.0",
- "jest": "^26.6.1",
- "jest-environment-jsdom": "^26.6.1",
+ "eslint": "^7.18.0",
+ "express-urlrewrite": "^1.4.0",
+ "geckodriver": "^1.21.1",
+ "html-webpack-plugin": "^4.5.1",
+ "jest": "^26.6.3",
+ "jest-environment-jsdom": "^26.6.2",
"jest-environment-jsdom-global": "^2.0.4",
"jsdom": "^16.4.0",
"lodash": "^4.17.20",
"node-env-file": "^0.1.8",
- "puppeteer-core": "^5.4.1",
+ "puppeteer-core": "^5.5.0",
"rimraf": "^3.0.2",
- "rollup": "^2.33.0",
+ "rollup": "^2.36.2",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-json": "^4.0.0",
@@ -89,21 +89,21 @@
"rollup-plugin-replace": "^2.2.0",
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.29.0",
- "selenium-webdriver": "^4.0.0-alpha.7",
- "standard-version": "^9.0.0",
- "tib": "^0.7.4",
- "ts-jest": "^26.4.3",
- "ts-loader": "^8.0.7",
- "ts-node": "^9.0.0",
- "typescript": "^4.0.5",
+ "selenium-webdriver": "^4.0.0-alpha.8",
+ "standard-version": "^9.1.0",
+ "tib": "^0.7.5",
+ "ts-jest": "^26.4.4",
+ "ts-loader": "^8.0.14",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.1.3",
"vue": "^3.0.0",
"vue-jest": "^3.0.7",
"vue-loader": "^16.0.0",
"vue-router": "next",
- "webpack": "^5.3.2",
- "webpack-bundle-analyzer": "^3.9.0",
- "webpack-cli": "^4.1.0",
- "webpack-dev-server": "^3.11.0",
+ "webpack": "^5.15.0",
+ "webpack-bundle-analyzer": "^4.3.0",
+ "webpack-cli": "^4.3.1",
+ "webpack-dev-server": "^3.11.2",
"webpackbar": "^4.0.0"
}
}
diff --git a/src/continuous-object-merge/index.ts b/src/continuous-object-merge/index.ts
deleted file mode 100644
index c93afb7..0000000
--- a/src/continuous-object-merge/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export * from './proxy'
-export * from './remove'
-export * from './set'
-export * from './update'
diff --git a/src/continuous-object-merge/proxy.ts b/src/continuous-object-merge/proxy.ts
deleted file mode 100644
index e6327a5..0000000
--- a/src/continuous-object-merge/proxy.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { markRaw } from 'vue'
-import { isObject } from '@vue/shared'
-import { MetaContext, MetainfoInput, MetainfoProxy, PathSegments } from '../types'
-import { update } from './update'
-import { remove } from './remove'
-
-export function createProxy (target: MetainfoInput, handler: ProxyHandler