compileScript.spec.ts.snap 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925
  1. // Vitest Snapshot v1
  2. exports[`SFC analyze <script> bindings > auto name inference > basic 1`] = `
  3. "export default {
  4. __name: 'FooBar',
  5. setup(__props) {
  6. const a = 1
  7. return { a }
  8. }
  9. }"
  10. `;
  11. exports[`SFC analyze <script> bindings > auto name inference > do not overwrite manual name (call) 1`] = `
  12. "import { defineComponent } from 'vue'
  13. const __default__ = defineComponent({
  14. name: 'Baz'
  15. })
  16. export default /*#__PURE__*/Object.assign(__default__, {
  17. setup(__props) {
  18. const a = 1
  19. return { a }
  20. }
  21. })"
  22. `;
  23. exports[`SFC analyze <script> bindings > auto name inference > do not overwrite manual name (object) 1`] = `
  24. "const __default__ = {
  25. name: 'Baz'
  26. }
  27. export default /*#__PURE__*/Object.assign(__default__, {
  28. setup(__props) {
  29. const a = 1
  30. return { a }
  31. }
  32. })"
  33. `;
  34. exports[`SFC compile <script setup> > <script> after <script setup> the script content not end with \`\\n\` 1`] = `
  35. "const n = 1
  36. import { x } from './x'
  37. export default {
  38. setup(__props) {
  39. return { n, x }
  40. }
  41. }"
  42. `;
  43. exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script first 1`] = `
  44. "import { x } from './x'
  45. export const n = 1
  46. const __default__ = {}
  47. export default /*#__PURE__*/Object.assign(__default__, {
  48. setup(__props) {
  49. x()
  50. return { n, x }
  51. }
  52. })"
  53. `;
  54. exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script setup first 1`] = `
  55. "export const n = 1
  56. const __default__ = {}
  57. import { x } from './x'
  58. export default /*#__PURE__*/Object.assign(__default__, {
  59. setup(__props) {
  60. x()
  61. return { n, x }
  62. }
  63. })"
  64. `;
  65. exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script setup first, lang="ts", script block content export default 1`] = `
  66. "import { defineComponent as _defineComponent } from 'vue'
  67. const __default__ = {
  68. name: \\"test\\"
  69. }
  70. import { x } from './x'
  71. export default /*#__PURE__*/_defineComponent({
  72. ...__default__,
  73. setup(__props) {
  74. x()
  75. return { x }
  76. }
  77. })"
  78. `;
  79. exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script setup first, named default export 1`] = `
  80. "export const n = 1
  81. const def = {}
  82. const __default__ = def
  83. import { x } from './x'
  84. export default /*#__PURE__*/Object.assign(__default__, {
  85. setup(__props) {
  86. x()
  87. return { n, def, x }
  88. }
  89. })"
  90. `;
  91. exports[`SFC compile <script setup> > <script> and <script setup> co-usage > spaces in ExportDefaultDeclaration node > with many spaces and newline 1`] = `
  92. "import { x } from './x'
  93. export const n = 1
  94. const __default__ = {
  95. some:'option'
  96. }
  97. export default /*#__PURE__*/Object.assign(__default__, {
  98. setup(__props) {
  99. x()
  100. return { n, x }
  101. }
  102. })"
  103. `;
  104. exports[`SFC compile <script setup> > <script> and <script setup> co-usage > spaces in ExportDefaultDeclaration node > with minimal spaces 1`] = `
  105. "import { x } from './x'
  106. export const n = 1
  107. const __default__ = {
  108. some:'option'
  109. }
  110. export default /*#__PURE__*/Object.assign(__default__, {
  111. setup(__props) {
  112. x()
  113. return { n, x }
  114. }
  115. })"
  116. `;
  117. exports[`SFC compile <script setup> > binding analysis for destructure 1`] = `
  118. "export default {
  119. setup(__props) {
  120. const { foo, b: bar, ['x' + 'y']: baz, x: { y, zz: { z }}} = {}
  121. return { foo, bar, baz, y, z }
  122. }
  123. }"
  124. `;
  125. exports[`SFC compile <script setup> > defineEmits() 1`] = `
  126. "export default {
  127. emits: ['foo', 'bar'],
  128. setup(__props, { emit: myEmit }) {
  129. return { myEmit }
  130. }
  131. }"
  132. `;
  133. exports[`SFC compile <script setup> > defineExpose() 1`] = `
  134. "export default {
  135. setup(__props, { expose }) {
  136. expose({ foo: 123 })
  137. return { }
  138. }
  139. }"
  140. `;
  141. exports[`SFC compile <script setup> > defineProps w/ external definition 1`] = `
  142. "import { propsModel } from './props'
  143. export default {
  144. props: propsModel,
  145. setup(__props) {
  146. const props = __props
  147. return { props, propsModel }
  148. }
  149. }"
  150. `;
  151. exports[`SFC compile <script setup> > defineProps w/ leading code 1`] = `
  152. "import { x } from './x'
  153. export default {
  154. props: {},
  155. setup(__props) {
  156. const props = __props
  157. return { props, x }
  158. }
  159. }"
  160. `;
  161. exports[`SFC compile <script setup> > defineProps() 1`] = `
  162. "export default {
  163. props: {
  164. foo: String
  165. },
  166. setup(__props) {
  167. const props = __props
  168. const bar = 1
  169. return { props, bar }
  170. }
  171. }"
  172. `;
  173. exports[`SFC compile <script setup> > defineProps/defineEmits in multi-variable declaration (full removal) 1`] = `
  174. "export default {
  175. props: ['item'],
  176. emits: ['a'],
  177. setup(__props, { emit }) {
  178. const props = __props
  179. return { props, emit }
  180. }
  181. }"
  182. `;
  183. exports[`SFC compile <script setup> > defineProps/defineEmits in multi-variable declaration 1`] = `
  184. "export default {
  185. props: ['item'],
  186. emits: ['a'],
  187. setup(__props, { emit }) {
  188. const props = __props
  189. const a = 1;
  190. return { props, a, emit }
  191. }
  192. }"
  193. `;
  194. exports[`SFC compile <script setup> > dev mode import usage check > TS annotations 1`] = `
  195. "import { defineComponent as _defineComponent } from 'vue'
  196. import { Foo, Baz, Qux, Fred } from './x'
  197. export default /*#__PURE__*/_defineComponent({
  198. setup(__props) {
  199. const a = 1
  200. function b() {}
  201. return { a, b, Baz }
  202. }
  203. })"
  204. `;
  205. exports[`SFC compile <script setup> > dev mode import usage check > attribute expressions 1`] = `
  206. "import { defineComponent as _defineComponent } from 'vue'
  207. import { bar, baz } from './x'
  208. export default /*#__PURE__*/_defineComponent({
  209. setup(__props) {
  210. const cond = true
  211. return { cond, bar, baz }
  212. }
  213. })"
  214. `;
  215. exports[`SFC compile <script setup> > dev mode import usage check > components 1`] = `
  216. "import { defineComponent as _defineComponent } from 'vue'
  217. import { FooBar, FooBaz, FooQux, foo } from './x'
  218. export default /*#__PURE__*/_defineComponent({
  219. setup(__props) {
  220. const fooBar: FooBar = 1
  221. return { fooBar, FooBaz, FooQux, foo }
  222. }
  223. })"
  224. `;
  225. exports[`SFC compile <script setup> > dev mode import usage check > directive 1`] = `
  226. "import { defineComponent as _defineComponent } from 'vue'
  227. import { vMyDir } from './x'
  228. export default /*#__PURE__*/_defineComponent({
  229. setup(__props) {
  230. return { vMyDir }
  231. }
  232. })"
  233. `;
  234. exports[`SFC compile <script setup> > dev mode import usage check > js template string interpolations 1`] = `
  235. "import { defineComponent as _defineComponent } from 'vue'
  236. import { VAR, VAR2, VAR3 } from './x'
  237. export default /*#__PURE__*/_defineComponent({
  238. setup(__props) {
  239. return { VAR, VAR3 }
  240. }
  241. })"
  242. `;
  243. exports[`SFC compile <script setup> > dev mode import usage check > last tag 1`] = `
  244. "import { defineComponent as _defineComponent } from 'vue'
  245. import { FooBaz, Last } from './x'
  246. export default /*#__PURE__*/_defineComponent({
  247. setup(__props) {
  248. return { FooBaz, Last }
  249. }
  250. })"
  251. `;
  252. exports[`SFC compile <script setup> > dev mode import usage check > vue interpolations 1`] = `
  253. "import { defineComponent as _defineComponent } from 'vue'
  254. import { x, y, z, x$y } from './x'
  255. export default /*#__PURE__*/_defineComponent({
  256. setup(__props) {
  257. return { x, z, x$y }
  258. }
  259. })"
  260. `;
  261. exports[`SFC compile <script setup> > errors > should allow defineProps/Emit() referencing imported binding 1`] = `
  262. "import { bar } from './bar'
  263. export default {
  264. props: {
  265. foo: {
  266. default: () => bar
  267. }
  268. },
  269. emits: {
  270. foo: () => bar > 1
  271. },
  272. setup(__props) {
  273. return { bar }
  274. }
  275. }"
  276. `;
  277. exports[`SFC compile <script setup> > errors > should allow defineProps/Emit() referencing scope var 1`] = `
  278. "export default {
  279. props: {
  280. foo: {
  281. default: bar => bar + 1
  282. }
  283. },
  284. emits: {
  285. foo: bar => bar > 1
  286. },
  287. setup(__props) {
  288. const bar = 1
  289. return { bar }
  290. }
  291. }"
  292. `;
  293. exports[`SFC compile <script setup> > imports > import dedupe between <script> and <script setup> 1`] = `
  294. "import { x } from './x'
  295. export default {
  296. setup(__props) {
  297. x()
  298. return { x }
  299. }
  300. }"
  301. `;
  302. exports[`SFC compile <script setup> > imports > should allow defineProps/Emit at the start of imports 1`] = `
  303. "import { ref } from 'vue'
  304. export default {
  305. props: ['foo'],
  306. emits: ['bar'],
  307. setup(__props) {
  308. const r = ref(0)
  309. return { r, ref }
  310. }
  311. }"
  312. `;
  313. exports[`SFC compile <script setup> > imports > should extract comment for import or type declarations 1`] = `
  314. "import a from 'a' // comment
  315. import b from 'b'
  316. export default {
  317. setup(__props) {
  318. return { a, b }
  319. }
  320. }"
  321. `;
  322. exports[`SFC compile <script setup> > imports > should hoist and expose imports 1`] = `
  323. "import { ref } from 'vue'
  324. import 'foo/css'
  325. export default {
  326. setup(__props) {
  327. return { ref }
  328. }
  329. }"
  330. `;
  331. exports[`SFC compile <script setup> > should expose top level declarations 1`] = `
  332. "import { xx } from './x'
  333. let aa = 1
  334. const bb = 2
  335. function cc() {}
  336. class dd {}
  337. import { x } from './x'
  338. export default {
  339. setup(__props) {
  340. let a = 1
  341. const b = 2
  342. function c() {}
  343. class d {}
  344. return { aa, bb, cc, dd, a, b, c, d, xx, x }
  345. }
  346. }"
  347. `;
  348. exports[`SFC compile <script setup> > with TypeScript > const Enum 1`] = `
  349. "import { defineComponent as _defineComponent } from 'vue'
  350. const enum Foo { A = 123 }
  351. export default /*#__PURE__*/_defineComponent({
  352. setup(__props) {
  353. return { Foo }
  354. }
  355. })"
  356. `;
  357. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (exported interface) 1`] = `
  358. "import { defineComponent as _defineComponent } from 'vue'
  359. export interface Emits { (e: 'foo' | 'bar'): void }
  360. export default /*#__PURE__*/_defineComponent({
  361. emits: [\\"foo\\", \\"bar\\"],
  362. setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
  363. return { emit }
  364. }
  365. })"
  366. `;
  367. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (exported type alias) 1`] = `
  368. "import { defineComponent as _defineComponent } from 'vue'
  369. export type Emits = { (e: 'foo' | 'bar'): void }
  370. export default /*#__PURE__*/_defineComponent({
  371. emits: [\\"foo\\", \\"bar\\"],
  372. setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
  373. return { emit }
  374. }
  375. })"
  376. `;
  377. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (interface) 1`] = `
  378. "import { defineComponent as _defineComponent } from 'vue'
  379. interface Emits { (e: 'foo' | 'bar'): void }
  380. export default /*#__PURE__*/_defineComponent({
  381. emits: [\\"foo\\", \\"bar\\"],
  382. setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
  383. return { emit }
  384. }
  385. })"
  386. `;
  387. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (referenced exported function type) 1`] = `
  388. "import { defineComponent as _defineComponent } from 'vue'
  389. export type Emits = (e: 'foo' | 'bar') => void
  390. export default /*#__PURE__*/_defineComponent({
  391. emits: [\\"foo\\", \\"bar\\"],
  392. setup(__props, { emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {
  393. return { emit }
  394. }
  395. })"
  396. `;
  397. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (referenced function type) 1`] = `
  398. "import { defineComponent as _defineComponent } from 'vue'
  399. type Emits = (e: 'foo' | 'bar') => void
  400. export default /*#__PURE__*/_defineComponent({
  401. emits: [\\"foo\\", \\"bar\\"],
  402. setup(__props, { emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {
  403. return { emit }
  404. }
  405. })"
  406. `;
  407. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (type alias) 1`] = `
  408. "import { defineComponent as _defineComponent } from 'vue'
  409. type Emits = { (e: 'foo' | 'bar'): void }
  410. export default /*#__PURE__*/_defineComponent({
  411. emits: [\\"foo\\", \\"bar\\"],
  412. setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
  413. return { emit }
  414. }
  415. })"
  416. `;
  417. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (type literal w/ call signatures) 1`] = `
  418. "import { defineComponent as _defineComponent } from 'vue'
  419. export default /*#__PURE__*/_defineComponent({
  420. emits: [\\"foo\\", \\"bar\\", \\"baz\\"],
  421. setup(__props, { emit }: { emit: ({(e: 'foo' | 'bar'): void; (e: 'baz', id: number): void;}), expose: any, slots: any, attrs: any }) {
  422. return { emit }
  423. }
  424. })"
  425. `;
  426. exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type 1`] = `
  427. "import { defineComponent as _defineComponent } from 'vue'
  428. export default /*#__PURE__*/_defineComponent({
  429. emits: [\\"foo\\", \\"bar\\"],
  430. setup(__props, { emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {
  431. return { emit }
  432. }
  433. })"
  434. `;
  435. exports[`SFC compile <script setup> > with TypeScript > defineProps w/ exported interface 1`] = `
  436. "import { defineComponent as _defineComponent } from 'vue'
  437. export interface Props { x?: number }
  438. export default /*#__PURE__*/_defineComponent({
  439. props: {
  440. x: { type: Number, required: false }
  441. },
  442. setup(__props: any) {
  443. return { }
  444. }
  445. })"
  446. `;
  447. exports[`SFC compile <script setup> > with TypeScript > defineProps w/ exported interface in normal script 1`] = `
  448. "import { defineComponent as _defineComponent } from 'vue'
  449. export interface Props { x?: number }
  450. export default /*#__PURE__*/_defineComponent({
  451. props: {
  452. x: { type: Number, required: false }
  453. },
  454. setup(__props: any) {
  455. return { }
  456. }
  457. })"
  458. `;
  459. exports[`SFC compile <script setup> > with TypeScript > defineProps w/ exported type alias 1`] = `
  460. "import { defineComponent as _defineComponent } from 'vue'
  461. export type Props = { x?: number }
  462. export default /*#__PURE__*/_defineComponent({
  463. props: {
  464. x: { type: Number, required: false }
  465. },
  466. setup(__props: any) {
  467. return { }
  468. }
  469. })"
  470. `;
  471. exports[`SFC compile <script setup> > with TypeScript > defineProps w/ interface 1`] = `
  472. "import { defineComponent as _defineComponent } from 'vue'
  473. interface Props { x?: number }
  474. export default /*#__PURE__*/_defineComponent({
  475. props: {
  476. x: { type: Number, required: false }
  477. },
  478. setup(__props: any) {
  479. return { }
  480. }
  481. })"
  482. `;
  483. exports[`SFC compile <script setup> > with TypeScript > defineProps w/ type 1`] = `
  484. "import { defineComponent as _defineComponent } from 'vue'
  485. interface Test {}
  486. type Alias = number[]
  487. export default /*#__PURE__*/_defineComponent({
  488. props: {
  489. string: { type: String, required: true },
  490. number: { type: Number, required: true },
  491. boolean: { type: Boolean, required: true },
  492. object: { type: Object, required: true },
  493. objectLiteral: { type: Object, required: true },
  494. fn: { type: Function, required: true },
  495. functionRef: { type: Function, required: true },
  496. objectRef: { type: Object, required: true },
  497. dateTime: { type: Date, required: true },
  498. array: { type: Array, required: true },
  499. arrayRef: { type: Array, required: true },
  500. tuple: { type: Array, required: true },
  501. set: { type: Set, required: true },
  502. literal: { type: String, required: true },
  503. optional: { type: null, required: false },
  504. recordRef: { type: Object, required: true },
  505. interface: { type: Object, required: true },
  506. alias: { type: Array, required: true },
  507. method: { type: Function, required: true },
  508. symbol: { type: Symbol, required: true },
  509. union: { type: [String, Number], required: true },
  510. literalUnion: { type: String, required: true },
  511. literalUnionNumber: { type: Number, required: true },
  512. literalUnionMixed: { type: [String, Number, Boolean], required: true },
  513. intersection: { type: Object, required: true },
  514. foo: { type: [Function, null], required: true }
  515. },
  516. setup(__props: any) {
  517. return { }
  518. }
  519. })"
  520. `;
  521. exports[`SFC compile <script setup> > with TypeScript > defineProps w/ type alias 1`] = `
  522. "import { defineComponent as _defineComponent } from 'vue'
  523. type Props = { x?: number }
  524. export default /*#__PURE__*/_defineComponent({
  525. props: {
  526. x: { type: Number, required: false }
  527. },
  528. setup(__props: any) {
  529. return { }
  530. }
  531. })"
  532. `;
  533. exports[`SFC compile <script setup> > with TypeScript > defineProps/Emit w/ runtime options 1`] = `
  534. "import { defineComponent as _defineComponent } from 'vue'
  535. export default /*#__PURE__*/_defineComponent({
  536. props: { foo: String },
  537. emits: ['a', 'b'],
  538. setup(__props, { emit }) {
  539. const props = __props
  540. return { props, emit }
  541. }
  542. })"
  543. `;
  544. exports[`SFC compile <script setup> > with TypeScript > hoist type declarations 1`] = `
  545. "import { defineComponent as _defineComponent } from 'vue'
  546. export interface Foo {}
  547. type Bar = {}
  548. export default /*#__PURE__*/_defineComponent({
  549. setup(__props) {
  550. return { }
  551. }
  552. })"
  553. `;
  554. exports[`SFC compile <script setup> > with TypeScript > import type 1`] = `
  555. "import { defineComponent as _defineComponent } from 'vue'
  556. import type { Foo } from './main.ts'
  557. import { type Bar, Baz } from './main.ts'
  558. export default /*#__PURE__*/_defineComponent({
  559. setup(__props) {
  560. return { Baz }
  561. }
  562. })"
  563. `;
  564. exports[`SFC compile <script setup> > with TypeScript > runtime Enum 1`] = `
  565. "import { defineComponent as _defineComponent } from 'vue'
  566. enum Foo { A = 123 }
  567. export default /*#__PURE__*/_defineComponent({
  568. setup(__props) {
  569. return { Foo }
  570. }
  571. })"
  572. `;
  573. exports[`SFC compile <script setup> > with TypeScript > runtime Enum in normal script 1`] = `
  574. "import { defineComponent as _defineComponent } from 'vue'
  575. enum Foo { A = 123 }
  576. export enum D { D = \\"D\\" }
  577. const enum C { C = \\"C\\" }
  578. enum B { B = \\"B\\" }
  579. export default /*#__PURE__*/_defineComponent({
  580. setup(__props) {
  581. return { D, C, B, Foo }
  582. }
  583. })"
  584. `;
  585. exports[`SFC compile <script setup> > with TypeScript > withDefaults (dynamic) 1`] = `
  586. "import { mergeDefaults as _mergeDefaults, defineComponent as _defineComponent } from 'vue'
  587. import { defaults } from './foo'
  588. export default /*#__PURE__*/_defineComponent({
  589. props: _mergeDefaults({
  590. foo: { type: String, required: false },
  591. bar: { type: Number, required: false },
  592. baz: { type: Boolean, required: true }
  593. }, { ...defaults }),
  594. setup(__props: any) {
  595. const props = __props as {
  596. foo?: string
  597. bar?: number
  598. baz: boolean
  599. }
  600. return { props, defaults }
  601. }
  602. })"
  603. `;
  604. exports[`SFC compile <script setup> > with TypeScript > withDefaults (static) 1`] = `
  605. "import { defineComponent as _defineComponent } from 'vue'
  606. export default /*#__PURE__*/_defineComponent({
  607. props: {
  608. foo: { type: String, required: false, default: 'hi' },
  609. bar: { type: Number, required: false },
  610. baz: { type: Boolean, required: true },
  611. qux: { type: Function, required: false, default() { return 1 } }
  612. },
  613. setup(__props: any) {
  614. const props = __props as { foo: string, bar?: number, baz: boolean, qux(): number }
  615. return { props }
  616. }
  617. })"
  618. `;