forked from opentiny/tiny-engine
fix(vue-generator): fix globalstate codegen error (#547)
This commit is contained in:
parent
2c478ce391
commit
277be2f11e
|
@ -47,7 +47,7 @@
|
||||||
"fs-extra": "^10.0.1",
|
"fs-extra": "^10.0.1",
|
||||||
"prettier": "^2.6.1",
|
"prettier": "^2.6.1",
|
||||||
"vite": "^4.3.7",
|
"vite": "^4.3.7",
|
||||||
"vite-plugin-static-copy": "^1.0.4",
|
"vite-plugin-static-copy": "^0.16.0",
|
||||||
"vitest": "^1.4.0",
|
"vitest": "^1.4.0",
|
||||||
"winston": "^3.10.0"
|
"winston": "^3.10.0"
|
||||||
},
|
},
|
||||||
|
|
|
@ -44,8 +44,8 @@ function genDependenciesPlugin(options = {}) {
|
||||||
.map((item) => {
|
.map((item) => {
|
||||||
let [key, value] = item
|
let [key, value] = item
|
||||||
|
|
||||||
if (value === '') {
|
if (typeof value === 'string') {
|
||||||
value = "''"
|
value = `'${value}'`
|
||||||
}
|
}
|
||||||
|
|
||||||
if (value && typeof value === 'object') {
|
if (value && typeof value === 'object') {
|
||||||
|
@ -57,19 +57,19 @@ function genDependenciesPlugin(options = {}) {
|
||||||
.join(',')} })`
|
.join(',')} })`
|
||||||
|
|
||||||
const getterExpression = Object.entries(getters)
|
const getterExpression = Object.entries(getters)
|
||||||
.filter((item) => item.value?.type === 'JSFunction')
|
.filter((item) => item[1]?.type === 'JSFunction')
|
||||||
.map(([key, value]) => `${key}: ${value.value}`)
|
.map(([key, value]) => `${key}: ${value.value}`)
|
||||||
.join(',')
|
.join(',')
|
||||||
|
|
||||||
const actionExpressions = Object.entries(actions)
|
const actionExpressions = Object.entries(actions)
|
||||||
.filter((item) => item.value?.type === 'JSFunction')
|
.filter((item) => item[1]?.type === 'JSFunction')
|
||||||
.map(([key, value]) => `${key}: ${value.value}`)
|
.map(([key, value]) => `${key}: ${value.value}`)
|
||||||
.join(',')
|
.join(',')
|
||||||
|
|
||||||
const storeFiles = `
|
const storeFiles = `
|
||||||
${importStatement}
|
${importStatement}
|
||||||
export const ${id} = defineStore({
|
export const ${id} = defineStore({
|
||||||
id: ${id},
|
id: '${id}',
|
||||||
state: ${stateExpression},
|
state: ${stateExpression},
|
||||||
getters: { ${getterExpression} },
|
getters: { ${getterExpression} },
|
||||||
actions: { ${actionExpressions} }
|
actions: { ${actionExpressions} }
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
export { testState } from './testState'
|
|
@ -0,0 +1,27 @@
|
||||||
|
import { defineStore } from 'pinia'
|
||||||
|
export const testState = defineStore({
|
||||||
|
id: 'testState',
|
||||||
|
state: () => ({
|
||||||
|
name: 'testName',
|
||||||
|
license: '',
|
||||||
|
age: 18,
|
||||||
|
food: ['apple', 'orange', 'banana', 19],
|
||||||
|
desc: { description: 'hello world', money: 100, other: '', rest: ['a', 'b', 'c', 20] }
|
||||||
|
}),
|
||||||
|
getters: {
|
||||||
|
getAge: function getAge() {
|
||||||
|
return this.age
|
||||||
|
},
|
||||||
|
getName: function getName() {
|
||||||
|
return this.name
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
setAge: function setAge(age) {
|
||||||
|
this.age = age
|
||||||
|
},
|
||||||
|
setName: function setName(name) {
|
||||||
|
this.name = name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -676,7 +676,43 @@ export const appSchemaDemo01 = {
|
||||||
value: 'function dataHanlder(res){\n return res;\n}'
|
value: 'function dataHanlder(res){\n return res;\n}'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
globalState: [],
|
globalState: [
|
||||||
|
{
|
||||||
|
id: 'testState',
|
||||||
|
state: {
|
||||||
|
name: 'testName',
|
||||||
|
license: '',
|
||||||
|
age: 18,
|
||||||
|
food: ['apple', 'orange', 'banana', 19],
|
||||||
|
desc: {
|
||||||
|
description: 'hello world',
|
||||||
|
money: 100,
|
||||||
|
other: '',
|
||||||
|
rest: ['a', 'b', 'c', 20]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getters: {
|
||||||
|
getAge: {
|
||||||
|
type: 'JSFunction',
|
||||||
|
value: 'function getAge() {\n return this.age \n}'
|
||||||
|
},
|
||||||
|
getName: {
|
||||||
|
type: 'JSFunction',
|
||||||
|
value: 'function getName() {\n return this.name \n}'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
setAge: {
|
||||||
|
type: 'JSFunction',
|
||||||
|
value: 'function setAge(age) {\n this.age = age; \n}'
|
||||||
|
},
|
||||||
|
setName: {
|
||||||
|
type: 'JSFunction',
|
||||||
|
value: 'function setName(name) {\n this.name = name; \n}'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
utils: [
|
utils: [
|
||||||
{
|
{
|
||||||
name: 'axios',
|
name: 'axios',
|
||||||
|
|
Loading…
Reference in New Issue